Hi
I am new to EDK2 and Apollo lake Leaf Hill board.
Booting OS from USB is OK.
But Booting OS from SPI flash is not work.
I want to boot small OS from SPI flash.(MT25QU128ABA)
What am I have to do to booting OS from SPI flash?
==============Debug message=======================
[Bds]OsIndication: 0000000000000000
[Bds]=============Begin Load Options Dumping ...=============
Driver Options:
SysPrep Options:
Boot Options:
Boot0001: Internal UEFI Shell 2.0 0x0001
Boot0000: BootManagerMenuApp 0x0109
Boot0002: Enter Setup 0x0109
PlatformRecovery Options:
PlatformRecovery0000: Default PlatformRecovery 0x0001
[Bds]=============End Load Options Dumping=============
[Bds]BdsWait ...Zzzzzzzzzzzz...
[Bds]BdsWait(1)..Zzzz...
[Bds]Exit the waiting!
PROGRESS CODE: V3051007 I0
[Bds]Stop Hotkey Service!
[Bds]UnregisterKeyNotify: 0011/0000 Success
[Bds]UnregisterKeyNotify: 000C/0000 Success
[Bds]UnregisterKeyNotify: 0000/000D Success
OnReadyToBootCallBack
SetGOPVersionCallback
VbtAddress =0x7AB7CF0C
VbtSize = 0x1600.
VBT data found
VbtFileBuffer->HeaderVbtSize = 0x1506
Executing SMBIOS T14 callback.
BoardInitDxe: GetBoardName - Leaf Hill
B2 Stepping Detected
SmbiosAdd: Smbios type 1 with size 0x85 is added to 32-bit table
SmbiosAdd: Smbios type 1 with size 0x85 is added to 64-bit table
ReadyToBootFunction(#376) - Programming SD Card detect pin as GPI...
UART2 Device Not Found Or OsDbgEnable is Disabled - DBG2 UART2 Base Address Not Updated
S3Ready!
Publish WDAT...
Installing WDAT...
Install WDAT Success
RTD3 SSDT Table found.Uninstalling it
DPTF OnReadyToBoot bDptfEnabled = 0x0
DPTF SSDT Table found.Uninstalling it
SmmInstallProtocolInterface: 6E057ECF-FA99-4F39-95BC-59F9921D17E4 0
SeCReadyToBootEvent ++
BIOS Start Send HECI Message: EndOfPost
HECI SeCMode 0
GetSeCMode successful
GEN_END_OF_POST size is 4
HeciSendwAck () - Start
Start HeciSend
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
Wait for CSE ready, SecControlReg 80161609
CSE ready SecControlReg 80161609
Heci Message Header: 80040007
Message[0] = 00000CFF
Prepare Send Interrupt to CSE: 80848208
Send Interrupt to CSE: 80848209
No More Data Need be sent.End HeciSend
Start HeciReceive
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
Waiting for CSE notify, HostControlReg: 8084840B SecControlReg: 80191609
Waiting for CSE notify, HostControlReg: 8084840B
Get CSE notify, HostControlReg: 8084840B
Disable Interrupt, HostControlReg: 80848408
Check SecControlReg: 80191609
Get Message Header: 80080007
MessageBody[0] = 00008CFF
MessageBody[1] = 00000000
Enable Host to get CSE interrupt: 80848408
get CSE interrupt Enabled: 80848409
Not more data need be receive, end
End HeciReceive
Group =000000FF
Command =0000000C
IsRespone=00000001
Result =00000000
RequestedActions =00000000
InstallProtocolInterface: 16B6109E-194C-440F-94F8-C7CCCCC32DEB 0
HeciSmmReady
gEfiHeciProtocol Has Installed return
HeciSmmHandler SMM_HECI_MESSAGE_END_OF_POST
SmmInstallProtocolInterface: 16B6109E-194C-440F-94F8-C7CCCCC32DEB 0
Begin - End of Post HECI Event
HECI Protocol 0
End - End of Post HECI Event
LockConfig () - Start
HECI SeCStatus 80000255
SecFirmwareStatus.ul: 0x80000255
FATAL ERROR: Set boot script outside SMM after SmmReadyToLock!!!
SeCReadyToBootEvent --
ScOnReadyToBoot() Start
ScOnReadyToBoot() End
Failed to locate DxeCpuInfo Protocol
UpdatePlatformInformation(): calling GetBoardName()
BoardInitDxe: GetBoardName - Leaf Hill
Executing GetImageFwVersion().
BIOS Start Send HECI Message: HeciGetImageFwVerMsg
HECI SeCMode 0
GetSeCMode successful
FW_VER_CMD_REQ size is 0x4, FW_VERSION_CMD_RESP_DATA size is: 0x80
HeciSendwAck () - Start
Start HeciSend
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
Wait for CSE ready, SecControlReg 80191909
CSE ready SecControlReg 80191909
Heci Message Header: 80040007
Message[0] = 00001CFF
Prepare Send Interrupt to CSE: 80868408
Send Interrupt to CSE: 80868409
No More Data Need be sent.End HeciSend
Start HeciReceive
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
Waiting for CSE notify, HostControlReg: 8086860B SecControlReg: 80301909
Waiting for CSE notify, HostControlReg: 8086860B
Get CSE notify, HostControlReg: 8086860B
Disable Interrupt, HostControlReg: 80868608
Check SecControlReg: 80301909
Get Message Header: 80580007
MessageBody[0] = 00009CFF
MessageBody[1] = 00000004
MessageBody[2] = 52505446
MessageBody[3] = 6E616D2E
MessageBody[4] = 00000000
MessageBody[5] = 00010003
MessageBody[6] = 091E0046
MessageBody[7] = 50434D50
MessageBody[8] = 6E616D2E
MessageBody[9] = 00000000
MessageBody[A] = 00010000
MessageBody[B] = 00000000
MessageBody[C] = 50494D53
MessageBody[D] = 6E616D2E
MessageBody[E] = 00000000
MessageBody[F] = 00010003
MessageBody[10] = 08E8003C
MessageBody[11] = 504E5549
MessageBody[12] = 6E616D2E
MessageBody[13] = 00000000
MessageBody[14] = 00000000
MessageBody[15] = 00000000
Enable Host to get CSE interrupt: 80868608
get CSE interrupt Enabled: 80868609
Not more data need be receive, end
End HeciReceive
DumpBuffer 0x7A1AD650
FF
9C
00
00
04
00
00
00
46
54
50
52
2E
6D
61
6E
00
00
00
00
03
00
01
00
46
00
1E
09
50
4D
43
50
2E
6D
61
6E
00
00
00
00
00
00
01
00
00
00
00
00
53
4D
49
50
2E
6D
61
6E
00
00
00
00
03
00
01
00
3C
00
E8
08
49
55
4E
50
2E
6D
61
6E
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
Group =000000FF
Command =0000001C
IsRespone =00000001
Result =00000000
NumModules =00000004
UpdateSeCInformation ++
HECI SeCMode 0
Start HeciSend
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
Wait for CSE ready, SecControlReg 80303009
CSE ready SecControlReg 80303009
Heci Message Header: 80080007
Message[0] = 00000203
Message[1] = 00000000
Prepare Send Interrupt to CSE: 80898608
Send Interrupt to CSE: 80898609
No More Data Need be sent.End HeciSend
Start HeciReceive
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
Waiting for CSE notify, HostControlReg: 8089890B SecControlReg: 80353009
Waiting for CSE notify, HostControlReg: 8089890B
Get CSE notify, HostControlReg: 8089890B
Disable Interrupt, HostControlReg: 80898908
Check SecControlReg: 80353009
Get Message Header: 800D0007
MessageBody[0] = 00008203
MessageBody[1] = 00000000
MessageBody[2] = 10104004
MessageBody[3] = 00000011
Enable Host to get CSE interrupt: 80898908
get CSE interrupt Enabled: 80898909
Not more data need be receive, end
End HeciReceive
HeciGetFwFeatureStateMsg ++
HECI SeCMode 0
Start HeciSend
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
Wait for CSE ready, SecControlReg 80353509
CSE ready SecControlReg 80353509
Heci Message Header: 80080007
Message[0] = 00000203
Message[1] = 00000020
Prepare Send Interrupt to CSE: 808C8908
Send Interrupt to CSE: 808C8909
No More Data Need be sent.End HeciSend
Start HeciReceive
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
Waiting for CSE notify, HostControlReg: 808C8C0B SecControlReg: 803A3509
Waiting for CSE notify, HostControlReg: 808C8C0B
Get CSE notify, HostControlReg: 808C8C0B
Disable Interrupt, HostControlReg: 808C8C08
Check SecControlReg: 803A3509
Get Message Header: 800D0007
MessageBody[0] = 00008203
MessageBody[1] = 00000020
MessageBody[2] = 10104004
MessageBody[3] = 00000011
Enable Host to get CSE interrupt: 808C8C08
get CSE interrupt Enabled: 808C8C09
Not more data need be receive, end
End HeciReceive
HeciGetFwFeatureStateMsg --
HECI SeCMode 0
Start HeciSend
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
Wait for CSE ready, SecControlReg 803A3A09
CSE ready SecControlReg 803A3A09
Heci Message Header: 80080007
Message[0] = 00000203
Message[1] = 0000002B
Prepare Send Interrupt to CSE: 808F8C08
Send Interrupt to CSE: 808F8C09
No More Data Need be sent.End HeciSend
Start HeciReceive
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
CheckAndFixHeciForAccess Entry, For HECI Dev-0
HECI Device's R_HECIMBAR0 = 0x9361D000, R_HECIMBAR1 = 0x0
CheckAndFixHeciForAccess Exit with MBAR
Waiting for CSE notify, HostControlReg: 808F8F0B SecControlReg: 803F3A09
Waiting for CSE notify, HostControlReg: 808F8F0B
Get CSE notify, HostControlReg: 808F8F0B
Disable Interrupt, HostControlReg: 808F8F08
Check SecControlReg: 803F3A09
Get Message Header: 800D0007
MessageBody[0] = 00008203
MessageBody[1] = 0000002B
MessageBody[2] = 00000004
MessageBody[3] = 00000000
Enable Host to get CSE interrupt: 808F8F08
get CSE interrupt Enabled: 808F8F09
Not more data need be receive, end
End HeciReceive
UpdateSeCInformation --
SeCPolicyReadyToBootEvent ++
HECI SeCMode 0
HECI SeCStatus 80000255
SeCPolicyReadyToBootEvent --
FspFindFspHeader
FSP NotifyPhase ReadyToBoot failed, status: 0x80000003
gAddPerfRecordProtocolGuid - Locate protocol failed
POSTCODE=<AD>
POSTCODE=<000000AD>
PROGRESS CODE: V3051001 I0
00: <null string> - Healthy
Memory Previous Current Next
Type Pages Pages Pages
====== ======== ======== ========
09 00000040 00000023 00000040
0A 00000060 0000002D 00000060
00 00001A80 0000184B 00001A80
05 000000F0 0000008A 000000F0
06 00000240 000000F6 00000240
[Bds]Booting Internal UEFI Shell 2.0
[Bds] Expand Fv(5968B09B-6C7E-4356-8720-AC897E800270)/FvFile(7C04A583-9E3E-4F1C-AD65-E05268D0B4D1) -> Fv(5968B09B-6C7E-4356-8720-AC897E800270)/FvFile(7C04A583-9E3E-4F1C-AD65-E05268D0B4D1)
PROGRESS CODE: V3058000 I0
InstallProtocolInterface: 5B1B31A1-9562-11D2-8E3F-00A0C969723B 77132040
Loading driver at 0x00076459000 EntryPoint=0x00076459280
InstallProtocolInterface: BC62157E-3E33-4FEC-9920-2D3B36D750DF 768AA098
ProtectUefiImageCommon - 0x77132040
- 0x0000000076459000 - 0x00000000000E85C0
PROGRESS CODE: V3058001 I0
InstallProtocolInterface: 387477C2-69C7-11D2-8E39-00A0C969723B 77108CA0
InstallProtocolInterface: 752F3136-4E16-4FDC-A22A-E5F46812F4CA 77108A18
InstallProtocolInterface: 6302D008-7F9B-4F30-87AC-60C9FEF5DA4E 764C1C70
UEFI Interactive Shell v2.2
EDK II
UEFI v2.70 (EDK II, 0x00010000)
Mapping table
map: No mapping found.
Press ESC in 5 seconds to skip startup.nsh or any other key to continue.Press ESC in 4 seconds to skip startup.nsh or any other key to continue.Press ESC in 3 seconds to skip startup.nsh or any other key to continue.Press ESC in 2 seconds to skip startup.nsh or any other key to continue.Press ESC in 1 seconds to skip startup.nsh or any other key to continue.
Shell>