[coreboot] Does S3 work on Haswell boards?

Zoran Stojsavljevic zoran.stojsavljevic at gmail.com
Tue Oct 31 08:18:33 CET 2017


Hello Kostja,

Since presently I am not in Munich/Germany (I am in front of my HSW
notebook in my apartment in Belgrade), I have limited abilities to test
your question, since I do not have native/bare metal Fedora on my SSD (I
have in safe box HDD with dual boot: WIN10 and Fedora 26 in Munich).

Here, I have my notebook (HP EliteBook 840 G1) with SSD, bare metal WIN10
64 PRO and VMWare reader with Fedora 26 VM. IT is based on HSW i5-4300:
[user at 192 ~]$ dmesg | grep 4300
[    0.097524] smpboot: CPU0: Intel(R) Core(TM) i5-4300U CPU @ 1.90GHz
(family: 0x6, model: 0x45, stepping: 0x1)
[user at 192 ~]$

Here is the pointer to ark.intel.com for this CPU:
https://ark.intel.com/products/76308/Intel-Core-i5-4300U-Processor-3M-Cache-up-to-2_90-GHz

The current BSP used is UEFI: BIOS 01.39 Rev.A (08 Nov 2016) -> sp77791.exe
(12.7 MB)
_______

Being in WIN10, suspend works when I simply press <F3>, but resume works
ONLY while I press muse buttons - keyboard <ANY KEY> does not work,
although it should?!

I did several attempts to suspend and resume using Fedora 26 VM, but I did
not have success. I do remember that this does work with my bare metal
Fedora 26:
Kernel used for Fedora26 VM: uname -r -> 4.13.9-200.fc26.x86_64 .

I would strongly suggest to use two methods to check S3 on Linux bare metal:
[1] To use systemctl suspend and systemctl resume commands;
[2] To install on your HSW platform the following package:
http://www.linuxfromscratch.org/blfs/view/cvs/general/pm-utils.html
      so you can try the following two commands: pm-suspend and
pm-hibernate (wakeup should work using keyboard/mouse)!

First, you should do all these tests with UEFI BIOS for your platform,
record the results, and then switch to Coreboot, than repeat all use cases,
and cross compare.

If you do, please, post your kernel version and results here.

Hope this helps.

Best Regards,
Zoran Stojsavljevic
_______

On Mon, Oct 30, 2017 at 4:49 PM, Аладышев Константин <aladyshev at nicevt.ru>
wrote:

> 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?
>
>
> --
> coreboot mailing list: coreboot at coreboot.org
> https://mail.coreboot.org/mailman/listinfo/coreboot
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot/attachments/20171031/998e27e4/attachment.html>


More information about the coreboot mailing list