[coreboot] Suspend-to-RAM on Thinkpad X230

Gert Menke gert at menke.ac
Mon Mar 13 20:03:01 CET 2017

Okay, just a short update:
I tried moving the mrc.cache file to the end of the cbfs, so it is now 
on the 4MB chip instead of the 8MB chip:

# ifdtool -f /dev/fd/1 coreboot.rom
File coreboot.rom is 12582912 bytes
00000000:00000fff fd
00500000:00bfffff bios
00003000:004fffff me
00001000:00002fff gbe
Wrote layout to /dev/fd/1

# cbfstool coreboot.rom print
Name                           Offset     Type         Size
cbfs master header             0x0        cbfs header  32
fallback/romstage              0x80       stage        76932
cpu_microcode_blob.bin         0x12d80    microcode    22528
config                         0x18600    raw          889
revision                       0x189c0    raw          576
cmos.default                   0x18c40    cmos_default 256
cmos_layout.bin                0x18d80    cmos_layout  1952
fallback/dsdt.aml              0x19580    raw          13404
payload_config                 0x1ca40    raw          1581
payload_revision               0x1d0c0    raw          235
etc/ps2-keyboard-spinup        0x1d200    raw          8
(empty)                        0x1d240    null         76952
fallback/ramstage              0x2ff00    stage        89707
pci8086,0166.rom               0x45dc0    optionrom    65536
img/coreinfo                   0x55e40    payload      101144
img/nvramcui                   0x6e980    payload      108220
fallback/payload               0x89080    payload      62989
img/tint                       0x98700    payload      61192
img/memtest                    0xa7640    payload      180268
(empty)                        0xd36c0    null         3259352
mrc.cache                      0x3ef2c0   mrc_cache    65536
bootblock                      0x3ff300   bootblock    2984

Now I get this:

Updating MRC cache data.
CBFS: 'Master Header Locator' located CBFS at [800100:bfffc0)
CBFS: Locating 'mrc.cache'
CBFS: Found @ offset 3ef2c0 size 10000
find_current_mrc_cache_local: No valid MRC cache found.
flash size 0xc00000 bytes
SF: Detected Opaque HW-sequencing with sector size 0x1000, total 
Need to erase the MRC cache region of 65536 bytes at fffef400
SF: Erase offset/length not multiple of erase size
Finally: write MRC cache update to flash at fffef400
SF: Successfully written 1456 bytes @ 0xbef400
Successfully wrote MRC cache

However, I get the same resume behavior (reboot) as before, and the log 
still says "No valid MRC cache found".
Looks like I need to align the mrc.cache file properly. Going to try 
that next.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: normalreboot.txt
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20170313/da35e3e2/attachment-0002.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: resumereboot.txt
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20170313/da35e3e2/attachment-0003.txt>

More information about the coreboot mailing list