Further to my previous comment I am frustrated also by the fact that if we can't get into BIOS before the RAM training is done (as it is now) then we risk having to start from scratch - pull the RAM and pull the CMOS battery. Not a big deal on a test bench but it certainly is when all in a case and your GPU is on an mATX board blocking the battery and the reset pins and you cant get at the CMOS battery without also pulling the GPU. So make a mistake in a BIOS setting and the motherboard won't boot, won't respond to DEL keypresses and you are essentially locked out of BIOS until you do the big teardown reset. SO I asked ChatGPT why it isn't possible (and desirable) for there to to be a small (say 4K) of RAM set aside on the board to read keypresses BEFORE the memory training starts. In that case you could change BIOS settings to default before the memory training caused the issues we and many others are experiencing. Here is my suggestion - MSI should be able to easily adopt it and save us all a load of grief. I don't know if ChatGPT has got it perfectly as I envisaged it but it should be enough to get MSI started !!
# **1. Tiny on-board buffer**
* Reserve **~4KB of EC (Embedded Controller) RAM** or a small area in SPI flash.
* Purpose: store a minimal pre-boot routine and a small keyboard input buffer.
* Requirements: fast enough to detect keypresses before main DDR5 memory is trained.
# **2. EC Pre-Boot Routine**
On power-on:
1. **EC takes control immediately** (before CPU starts memory training).
2. Initialize only the **keyboard interface** and minimal display (or just rely on LEDs).
3. Check for keypresses (DEL/F2/etc.) for a fixed window (e.g., first 2–3 seconds).
# **3. Decision Logic**
* **If key is pressed:**
* EC signals the CPU/BIOS to jump directly into BIOS setup.
* Skip DDR5 training completely for now.
* BIOS can load defaults or safe JEDEC memory settings.
* **If key is not pressed:**
* EC releases control.
* Normal CPU boot proceeds, memory training runs as usual.
# **4. Minimal Safe BIOS Stack**
* When jumping to BIOS, use **EC memory as temporary stack** until DDR5 is initialized.
* Once DDR5 memory training completes or safe default JEDEC speeds are loaded:
* Switch BIOS execution to main RAM.
* All normal BIOS features become available.
# **5. Advantages**
1. **Never locked out of BIOS** — even if RAM settings were previously fatal.
2. **Works with any number of DIMMs** — no need to remove sticks or reset CMOS.
3. **Zero dependency on CPU being able to train memory first.**
4. **Backward-compatible** for normal users — routine only runs if key is pressed.
# **6. Implementation Notes for Manufacturers**
* EC firmware update — minimal code (~2–4KB).
* Keyboard scanning routine — already exists in EC, just needs a pre-boot hook.
* BIOS handoff — existing architecture already supports conditional boot paths; just add a “skip DDR5 training if safe mode requested” flag.
* Could be integrated into a BIOS update — no hardware change needed.