I am porting the coreboot to a platform with a new AMD APU, which is close to Kabini and Mullins. Now the board can boot Ubuntu and Windows 7. But it failed to boot Windows 8. It crashes at a very early stage, which seems to be Windows bootloader. The debug message of SeaBIOS is attached.
The interrupt routine installed by SeaBIOS still work. We can see handle_13, handle_08, handle_1a are called once in a while. There is no BSOD. There is only a windows logo on the monitor, without progress ring of Windows 8. Even the debug version of windows 8 doesn't help, because it crashes before the image is loaded.
Is there any more way to debug windows 8 bootloader?
Joe
serial output --------------------- ....... ....... handle_08 enter handle_15: a=0000e820 b=00000006 c=00000018 d=534d4150 ds=0000 es=3004 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a25 f=0256 enter handle_13: a=00004200 b=00000000 c=00000000 d=00000080 ds=3024 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a1d f=0256 disk_op d=0x000f98e0 lba=0 buf=0x00030000 count=1 cmd=2 AHCI/0: send cmd ... handle_08 AHCI/0: ... intbits 0x1, status 0x50 ... AHCI/0: ... finished, status 0x50, OK ahci disk read, lba 0, count 1, buf 0x00030000, rc 0 enter handle_13: a=00004200 b=00000000 c=00000000 d=00000080 ds=3204 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a1d f=0256 disk_op d=0x000f98e0 lba=2048 buf=0x00030000 count=16 cmd=2 AHCI/0: send cmd ... AHCI/0: ... intbits 0x1, status 0x50 ... AHCI/0: ... finished, status 0x50, OK ahci disk read, lba 800, count 10, buf 0x00030000, rc 0 enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a39 f=0256 handle_08 enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a39 f=0256 enter handle_13: a=00004200 b=00000000 c=00000000 d=00000080 ds=3804 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a1d f=0256 disk_op d=0x000f98e0 lba=7166912 buf=0x00030000 count=64 cmd=2 AHCI/0: send cmd ... handle_08 AHCI/0: ... intbits 0x1, status 0x50 ... AHCI/0: ... finished, status 0x50, OK ahci disk read, lba 6d5bc0, count 40, buf 0x00030000, rc 0 enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a39 f=0256 enter handle_13: a=00004200 b=00000000 c=00000000 d=00000080 ds=3204 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a1d f=0256 disk_op d=0x000f98e0 lba=31249832 buf=0x00030000 count=16 cmd=2 AHCI/0: send cmd ... handle_08 AHCI/0: ... intbits 0x1, status 0x50 ... AHCI/0: ... finished, status 0x50, OK ahci disk read, lba 1dcd5a8, count 10, buf 0x00030000, rc 0 enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a39 f=0256 enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a39 f=0256 enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a39 f=0256 handle_08 enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a39 f=0256 enter handle_1a: a=00000200 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a39 f=0256 enter handle_1a: a=00000400 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a39 f=0256 enter handle_1a: a=00000000 b=00000000 c=00000000 d=00000000 ds=0000 es=0000 ss=9000 si=00000000 di=00000000 bp=00000000 sp=0000ffd6 cs=2000 ip=0a39 f=0256 handle_08 agesawrapper_amdinitmmio() entry agesawrapper_amdinitmmio() returned AGESA_SUCCESS
coreboot-4.0-6798-gdd6d81f-dirty Thu Mar 19 20:02:01 CST 2015 starting... BSP Family_Model: cpu_init_detectedx = 00000000 agesawrapper_amdinitreset() entry AmdCreateStruct, 188, InterfaceParams->StdHeader.HeapBasePtr=400000 Fch OEM config in INIT RESET Done agesawrapper_amdinitreset() returned AGESA_SUCCESS Got past agesawrapper_amdinitreset agesawrapper_amdinitearly() entry AmdCreateStruct, 188, InterfaceParams->StdHeader.HeapBasePtr=400000 AmdInitEarly, 239, &EarlyParams->StdHeader=400290 AmdInitEarly, 247, EarlyParams->StdHeader=0 AmdInitEarly, 273, EarlyParams->StdHeader=0 AmdInitEarly, 283, EarlyParams->StdHeader=0 AmdInitEarly, 297, EarlyParams->StdHeader=0 GnbGetScsDataCZ, 183:PspDir=ff860000