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


Yours sincerely,
WANG Siyuan