[coreboot] Does S3 work on Haswell boards?

Аладышев Константин aladyshev at nicevt.ru
Mon Oct 30 16:49:27 CET 2017


I have problem with S3 mode on Haswell board. Everything is fine if S3 time
is very small (<15 seconds), but if it is longer, coreboot won't resume. It
fails on quick_ram_check.

I've enabled mrc.cache and ME in coreboot. I use ME binary from original
board and MRC.bin from Google Panther.

Log from S3 resume:

"""
Disabling Watchdog reboot... done.
SMBus controller enabled.
Setting up static northbridge registers... done.
Initializing Graphics...
Back from haswell_early_initialization()
Resume from S3 detected.
CPU id(40651) ucode:0000001c Intel(R) Core(TM) i7-4650U CPU @ 1.70GHz
AES supported, TXT supported, VT supported
PCH type: LP Premium, device id: 9c43, rev id 4
Starting UEFI PEI System Agent
CBFS: CBFS_HEADER_ROM_ADDRESS: 0xfffff7d0/0x1000000
CBFS: CBFS location: 0xf00000~0xfff7c0, align: 64
CBFS: Looking for 'mrc.cache' starting from 0xf00000.
CBFS:  - load entry 0xf00000 file name (16 bytes)...
CBFS:  (unmatched file @0xf00000: bootsplash.jpg)
CBFS:  - load entry 0xf187c0 file name (16 bytes)...
CBFS:  (unmatched file @0xf187c0: bootorder)
CBFS:  - load entry 0xf18b80 file name (16 bytes)...
CBFS:  (unmatched file @0xf18b80: cmos_layout.bin)
CBFS:  - load entry 0xf19040 file name (32 bytes)...
CBFS:  (unmatched file @0xf19040: pci8086,0a26.rom)
CBFS:  - load entry 0xf29080 file name (72 bytes)...
CBFS:  (unmatched file @0xf29080: cpu_microcode_blob.bin)
CBFS:  - load entry 0xf2e100 file name (32 bytes)...
CBFS:  (unmatched file @0xf2e100: etc/usb-time-sigatt)
CBFS:  - load entry 0xf2e140 file name (16 bytes)...
CBFS:  (unmatched file @0xf2e140: config)
CBFS:  - load entry 0xf2fa00 file name (16 bytes)...
CBFS:  (unmatched file @0xf2fa00: revision)
CBFS:  - load entry 0xf2fc80 file name (16 bytes)...
CBFS:  (unmatched file @0xf2fc80: )
CBFS:  - load entry 0xf2ff80 file name (76 bytes)...
CBFS:  (unmatched file @0xf2ff80: fallback/romstage)
CBFS:  - load entry 0xf38f00 file name (32 bytes)...
CBFS:  (unmatched file @0xf38f00: fallback/ramstage)
CBFS:  - load entry 0xf4d0c0 file name (32 bytes)...
CBFS:  (unmatched file @0xf4d0c0: fallback/payload)
CBFS:  - load entry 0xf5e8c0 file name (32 bytes)...
CBFS:  (unmatched file @0xf5e8c0: pci8086,1521.rom)
CBFS:  - load entry 0xf6e900 file name (16 bytes)...
CBFS:  (unmatched file @0xf6e900: )
CBFS:  - load entry 0xf9ffc0 file name (40 bytes)...
CBFS:  (unmatched file @0xf9ffc0: mrc.bin)
CBFS:  - load entry 0xfceb40 file name (16 bytes)...
CBFS:  (unmatched file @0xfceb40: )
CBFS:  - load entry 0xfdffc0 file name (40 bytes)...
CBFS: Found file (offset=0xfe0000, len=65536).
find_current_mrc_cache_local: picked entry 0 from cache block
prepare_mrc_cache: at fffe0010, size fe0 checksum 9771
CBFS: CBFS_HEADER_ROM_ADDRESS: 0xfffff7d0/0x1000000
CBFS: CBFS location: 0xf00000~0xfff7c0, align: 64
CBFS: Looking for 'mrc.bin' starting from 0xf00000.
CBFS:  - load entry 0xf00000 file name (16 bytes)...
CBFS:  (unmatched file @0xf00000: bootsplash.jpg)
CBFS:  - load entry 0xf187c0 file name (16 bytes)...
CBFS:  (unmatched file @0xf187c0: bootorder)
CBFS:  - load entry 0xf18b80 file name (16 bytes)...
CBFS:  (unmatched file @0xf18b80: cmos_layout.bin)
CBFS:  - load entry 0xf19040 file name (32 bytes)...
CBFS:  (unmatched file @0xf19040: pci8086,0a26.rom)
CBFS:  - load entry 0xf29080 file name (72 bytes)...
CBFS:  (unmatched file @0xf29080: cpu_microcode_blob.bin)
CBFS:  - load entry 0xf2e100 file name (32 bytes)...
CBFS:  (unmatched file @0xf2e100: etc/usb-time-sigatt)
CBFS:  - load entry 0xf2e140 file name (16 bytes)...
CBFS:  (unmatched file @0xf2e140: config)
CBFS:  - load entry 0xf2fa00 file name (16 bytes)...
CBFS:  (unmatched file @0xf2fa00: revision)
CBFS:  - load entry 0xf2fc80 file name (16 bytes)...
CBFS:  (unmatched file @0xf2fc80: )
CBFS:  - load entry 0xf2ff80 file name (76 bytes)...
CBFS:  (unmatched file @0xf2ff80: fallback/romstage)
CBFS:  - load entry 0xf38f00 file name (32 bytes)...
CBFS:  (unmatched file @0xf38f00: fallback/ramstage)
CBFS:  - load entry 0xf4d0c0 file name (32 bytes)...
CBFS:  (unmatched file @0xf4d0c0: fallback/payload)
CBFS:  - load entry 0xf5e8c0 file name (32 bytes)...
CBFS:  (unmatched file @0xf5e8c0: pci8086,1521.rom)
CBFS:  - load entry 0xf6e900 file name (16 bytes)...
CBFS:  (unmatched file @0xf6e900: )
CBFS:  - load entry 0xf9ffc0 file name (40 bytes)...
CBFS: Found file (offset=0xfa0000, len=191236).
System Agent: Starting up...
System Agent: S3 resume detected
System Agent: Initializing PCH
install_ppi: overwrite GUID {ed097352-9041-445a-80b6-b29d509e8845}
install_ppi: overwrite GUID {908c7f8b-5c48-47fb-8357-f5fd4e235276}
System Agent: Initializing PCH (SMBUS)
System Agent: Initializing PCH (USB)
System Agent: Initializing PCH (SA Init)
System Agent: Initializing PCH (Me UMA)
System Agent: Initializing Memory
System Agent: Done.
Sanity checking heap.
System Agent Version 1.6.1 Build 2
memcfg DDR3 clock 1600 MHz
memcfg channel assignment: A: 0, B  1, C  2
memcfg channel[0] config (00600010):
   ECC inactive
   enhanced interleave mode on
   rank interleave on
   DIMMA 4096 MB width x8 or x32 single rank, selected
   DIMMB 0 MB width x8 or x32 single rank
memcfg channel[1] config (00600000):
   ECC inactive
   enhanced interleave mode on
   rank interleave on
   DIMMA 0 MB width x8 or x32 single rank, selected
   DIMMB 0 MB width x8 or x32 single rank
ME: FW Partition Table      : OK
ME: Bringup Loader Failure  : NO
ME: Firmware Init Complete  : NO
ME: Manufacturing Mode      : YES
ME: Boot Options Present    : NO
ME: Update In Progress      : NO
ME: Current Working State   : Initializing
ME: Current Operation State : Bring up
ME: Current Operation Mode  : Normal
ME: Error Code              : Debug Failure
ME: Progress Phase          : BUP Phase
ME: Power Management Event  : Clean global reset
ME: Progress Phase State    : 0x7b
before quick_ram_check
RAM INIT FAILURE!
""""

It seems like DRAM controller and ME are initialized correctly (like in
normal boot), what can be wrong?

Does S3 work on Haswell boards?




More information about the coreboot mailing list