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?
Zheng
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