Feature #461
open
Replacing Haswell mrc.bin blob with free software
Added by akjuxr3 akjuxr3 over 1 year ago.
Updated 5 months ago.
Category:
chipset configuration
Affected hardware:
All Haswell mainboards
Description
Currently in case of the ability to run as less amount of closed source software as possible and still have Microcode updates the reduced Intel ME with disabled bit in IFD and the lga1155 or the mobile versions of those cpus are the only option for x86_64 out there.
The next cpu generation (Haswell) inside for example T440p and W541 require the binary blob mrc.bin
Are there any plans of replacing the Haswell mrc.bin with free software? Or have the x86_64 platform be given up when the goal is to run just free software and the people should move to aarch64 or risc-v?
akjuxr3 akjuxr3 wrote:
Currently in case of the ability to run as less amount of closed source software as possible and still have Microcode updates the reduced Intel ME with disabled bit in IFD and the lga1155 or the mobile versions of those cpus are the only option for x86_64 out there.
The next cpu generation (Haswell) inside for example T440p and W541 require the binary blob mrc.bin
Are there any plans of replacing the Haswell mrc.bin with free software? Or have the x86_64 platform be given up when the goal is to run just free software and the people should move to aarch64 or risc-v?
Already being worked on, refer to https://review.coreboot.org/q/topic:haswell-nri
Already being worked on, refer to https://review.coreboot.org/q/topic:haswell-nri
Great! Have missed this before. When the pending patches (currently most of them are currently from 07.2022) get merged, this feature-request can be closed.
- Category set to board support
- Assignee set to Angel Pons
- Affected hardware set to T440p and other
Already being worked on, refer to https://review.coreboot.org/q/topic:haswell-nri
Great to see active work on this. Lets hope it get merged soon. There are many great features planed like for example:
"One of my future plans (automatic RAM overclocking) would try the highest possible frequency and, if training cannot succeed, slow down the MPLL to the next available frequency."
- Category changed from board support to chipset configuration
- Status changed from New to In Progress
- Start date changed from 02/16/2023 to 04/01/2020
- % Done changed from 0 to 30
- Related links updated (diff)
- Affected hardware changed from T440p and other to All Haswell mainboards
Current state of the meme magic (Haswell NRI)¶
Done¶
Implemented internally in the giant bowl of spaghetti, but in need to clean up the code before publishing¶
- 1D margin centering algorithms (used for various training steps)
- Setting non-training command rate (to 1N or 2N, we currently remain at 3T) and LCT (Late Command Training)
- 2D margin centering algorithms (used for various training steps)
- Power training (optimisation meme magic to reduce power consumption)
- TAT (Turnaround Training, a performance improvement)
- The raminit console (a half-arsed thing that allows playing around with settings over UART/usbdebug)
Not implemented or not working yet¶
- Broadwell support (I once got a Broadwell ULT system to boot without MRC, but I had to commit unspeakable horrors to the already messy codebase)
- Properly programming some registers about DIMM energy (doesn't seem to be required, but the logic to program these is horribly convoluted and I haven't felt like figuring out how it works)
- Automatic overclocking support (will require redesigning how the MPLL handling works, because it currently stinks)
TL;DR¶
- With what's currently submitted, choosing Haswell NRI in menuconfig WILL NOT BOOT. It says "NOT WORKING" in the prompt.
- Current top of tree (what you should use if you want to try Haswell NRI) is https://review.coreboot.org/81948
- With the aforementioned changes from Gerrit, booting should work. S3 resume should also work, but please test in advance.
- BACK UP YOUR STUFF! I will NOT be held responsible by any data losses arising from the use of the current state of Haswell NRI.
- Because not all training steps are ready yet, performance and power consumption are not optimal. Fix is to finish upstreaming them.
- Also, do NOT try to overclock the RAM under any circumstances. You will only make your system much more unstable for no reason.
Also available in: Atom
PDF