Hallo
I have tested coreboot with me_cleaner on a Thinkpad X201i but got stuck loading the payload. More precise, I've applied GNUtoo's patch [1] to coreboot master 25dbc17a. Actually I did not try without the patch. Building coreboot with the full 5MB ME extracted from vendor bios works ok (with a GRUB2 payload). But cleaning the rom image produced by coreboot or building a rom image with a cleaned ME file, both results in not loading the payload. The full coreboot console captured via EHCI is attached to this email. It seems RAM init passes. the log shows:
ME: FW Partition Table : OK ME: Bringup Loader Failure : NO ME: Firmware Init Complete : NO ME: Manufacturing Mode : NO ME: Boot Options Present : NO ME: Update In Progress : NO ME: Current Working State : Recovery ME: Current Operation State : Bring up ME: Current Operation Mode : Normal ME: Error Code : No Error ME: Progress Phase : BUP Phase ME: Power Management Event : Clean Moff->Mx wake ME: Progress Phase State : Sending DID Ack to BIOS
So it seems that cleaning ME was successful, no?
But coreboot finishes with the following output:
BS: BS_WRITE_TABLES times (us): entry 28752 run 329595 exit 23 CBFS: 'Master Header Locator' located CBFS at [500100:7fffc0) CBFS: Locating 'fallback/payload' CBFS: Found @ offset 44940 size 479ea Loading segment from ROM address 0xffd44a78 code (compression=1) New segment dstaddr 0x8200 memsize 0x17844 srcaddr 0xffd44acc filesize 0x83ae Loading segment from ROM address 0xffd44a94 code (compression=1) New segment dstaddr 0x100000 memsize 0xebccc srcaddr 0xffd4ce7a filesize 0x3f5e8 Loading segment from ROM address 0xffd44ab0 Entry Point 0x00008200 Payload being loaded at below 1MiB without region being marked as RAM usable. SELF Payload doesn't target RAM: Failed Segment: 0x100000, 965836 bytes 0. 0000000000000000-0000000000000fff: CONFIGURATION TABLES 1. 00000000bf69e000-00000000bf7fffff: CONFIGURATION TABLES 2. 00000000d0000000-00000000dfffffff: RESERVED Payload not loaded.
I expected it to load a GURB2 payload which worked before applying me_cleaner. Any idea why it does not and how I could fix it?
greets Mono
[1] https://mail.coreboot.org/pipermail/coreboot/2017-March/083798.html