[coreboot] Google Panther: coreboot has to wait for Intel’s ME (Management Engine)
Berth-Olof Bergman
bo.bergman at winzenttech.com
Tue Apr 28 08:22:32 CEST 2015
That’s truly amazing! So the FSP + coreboot part only takes a quarter of a second? Intel FSP must be on steroids!!
The total boot time is the sum of components time, so if you fix that problem you will have close to a quarter of second boot time!! Can we see a video clip of that boot?
> 27 apr 2015 kl. 22:42 skrev Duncan Laurie <dlaurie at chromium.org>:
>
> On Mon, Apr 27, 2015 at 12:29 PM, Matt DeVillier <matt.devillier at gmail.com <mailto:matt.devillier at gmail.com>> wrote:
> On 4/26/2015 3:03 AM, Paul Menzel wrote:
>> Dear coreboot folks,
>>
>>
>> looking at the time stamps of the Intel Haswell device Google Panther,
>> which Matt DeVillier thankfully uploaded to the board status repository
>> [1], it looks odd that it took around a quarter of a second, from after
>> the SeaBIOS payload was decompressed to starting the payload. This is
>> almost half of the whole boot time.
>>
>> […]
>> 90:load payload 233,302 (216)
>> 15:starting LZMA decompress (ignore for x86) 233,415 (113)
>> 16:finished LZMA decompress (ignore for x86) 250,327 (16,912)
>> 99:selfboot jump 493,712 (243,384)
>>
>> Thanks to Aaron Durbin’s analysis of the code path, the finalize in line
>> 138 of `src/southbridge/intel/lynxpoint/smi.c` calls
>> `intel_me_mbp_clear()` in line 589 of
>> `src/southbridge/intel/lynxpoint/me_9.x.c`.
>>
>> $ more src/southbridge/intel/lynxpoint/me_9.x.c # line 589
>> […]
>> #if CONFIG_ME_MBP_CLEAR_LATE
>> /* Wait for ME MBP Cleared indicator */
>> intel_me_mbp_clear(PCH_ME_DEV);
>> #endif
>> […]
>>
>> The issue is even described in the Kconfig option description of
>> `ME_MBP_CLEAR_LATE` and the commit message of commit 3d299c4b (lynxpoint
>> me: add support for mbp clear wait in finalize step) [2] adding this
>> option.
>>
>> $ more src/southbridge/intel/lynxpoint/Kconfig
>> […]
>> config ME_MBP_CLEAR_LATE
>> bool "Defer wait for ME MBP Cleared"
>> default y
>> help
>> If you set this option to y, the Management Engine driver
>> will defer waiting for the MBP Cleared indicator until the
>> finalize step. This can speed up boot time if the ME takes
>> a long time to indicate this status.
>> […]
>>
>> I guess there is no way to get fixed ME BLOBs from Intel. I heard the ME
>> BLOB has been fixed for newer Intel devices.
>
> The ME firmware that ships with Panther is 9.5.13.1706. I've also tested 9.5.41.1904 (what I'm using in the firmware referenced above) and 9.5.45.1922 (which I just came across today) - all display the same behavior in terms of time needed to report MBP cleared. The 9.6 series ME firmware is also for Haswell/Lynxpoint, but I'm unsure if it's compatible with systems shipped with ME 9.5. Since I have an external programmer, I suppose I could always give it a try :) The 10.0 series ME firmware is for Broadwell and is more likely to contain the fix, but less likely to be compatible with Haswell/LP.
>
> -Matt
>
>
>
>
> Unfortunately the wait for ME MBP to clear is even worse on Broadwell, but with ME10 there is a (gross) boot flow to avoid it thanks to some new commands that do not need acknowledgement:
>
> http://review.coreboot.org/gitweb?p=coreboot.git;a=commit;h=c99681f4f23ddacd64fddbedf060f6443d008090 <http://review.coreboot.org/gitweb?p=coreboot.git;a=commit;h=c99681f4f23ddacd64fddbedf060f6443d008090>
>
> -duncan
>
>> Thanks,
>>
>> Paul
>>
>>
>> [1] http://review.coreboot.org/gitweb?p=board-status.git;a=commitdiff;h=3926f95b143b74c0762516df0bdf250c1dd8ba32#patch4 <http://review.coreboot.org/gitweb?p=board-status.git;a=commitdiff;h=3926f95b143b74c0762516df0bdf250c1dd8ba32#patch4>
>> [2] http://review.coreboot.org/4375 <http://review.coreboot.org/4375>
>>
>>
>
>
> --
> coreboot mailing list: coreboot at coreboot.org <mailto:coreboot at coreboot.org>
> http://www.coreboot.org/mailman/listinfo/coreboot <http://www.coreboot.org/mailman/listinfo/coreboot>
>
> --
> coreboot mailing list: coreboot at coreboot.org
> http://www.coreboot.org/mailman/listinfo/coreboot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20150428/57c04cd7/attachment.html>
More information about the coreboot
mailing list