Hi,

I'm debugging with Arium XDP3e debugger on ADI target board(MohonPeak based).
The coreboot.rom can bring target board up successfully in case of XDP
not plugged.
However, when stepping with debugger, the C code main function of romstage can't
be stepped, it always failed and the cpu goes into uncertain state.
The main function of C code is at src/southbridge/intel/fsp_rangeley/romstage.c.
At the time this main function has been called, the Cache as RAM has been setup
by FSP, and the MTRR_PHYSBASE0 is FEF0_0006.
The following is show in debugger:

void main(FSP_INFO_HEADER *fsp_info_header)
45                      {
main:
0008:FFC074E5 55               PUSH        EBP
0008:FFC074E6 89E5             MOV         EBP,ESP
0008:FFC074E8 56               PUSH        ESI
0008:FFC074E9 53               PUSH        EBX
0008:FFC074EA 83E4F0           AND         ESP,fffffff0
0008:FFC074ED 83EC20           SUB         ESP,00000020
46                       uint32_t pm1_cnt;
47                       uint16_t pm1_sts;
48                       uint32_t fd_mask = 0;
0008:FFC074F0 C744241C00000000 MOV         dword ptr [ESP]+1c,00000000

when step line 48: uint32_t fd_mask = 0, the cpu goes into uncertain state.
Since temporary stack has been setup, why should this instruction fail?
You can see the assembly form: MOV dword ptr [ESP] + 1c, 00000000,
The value of [ESP] + 1c is FEF03FDC, it's the cache region, and I can
even modify
this address in debugger's memory window, but it's wired that the
debugger can step
and go through :-(.

BTW: (1) Using the debugger's memory window, I can see Cache as RAM region of
temporary stack are full of A5 5A, is it the correct case?
(2) When using debugger, does the PCH_Straps in SPI Flash descriptor executed as
normal start up case?

Please help me, thanks!

Sincerely,
Hook Guo

-- 
coreboot mailing list: coreboot@coreboot.org
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to