[coreboot] [Rangeley C2000] Can't step when in romstage main function of MohonPeak
郭佳
yunyuaner at gmail.com
Fri Mar 27 11:11:57 CET 2015
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
More information about the coreboot
mailing list