On Wed, Jan 04, 2012 at 10:32:35PM +0100, Elisenda Cuadros wrote:
Happy New Year to everyone :-)
Kevin, thank you very much for your help.
I changed the code according to your message.
Now "a,b,c,d" appears in the log. I don´t know if this is a good
symptom or not.
What can I do to debug more into this problem? I feel pretty useless...
On 04/01/2012 4:12, Kevin O'Connor wrote:
>On Thu, Dec 29, 2011 at 07:23:44PM +0100, Elisenda Cuadros wrote:
> // Clear low-memory allocations (required by PMM spec).
>+ dprintf(1, "d\n");
> memset((void*)BUILD_STACK_ADDR, 0, BUILD_EBDA_MINIMUM - BUILD_STACK_ADDR);
> dprintf(3, "Jump to int19\n");
Well, since you saw "d", but not "Jump to int19" it would indicate
that it died in the memcpy (I assume your debug level was set to
something higher than 3). That's really strange - I don't know why it
would halt there. You could change the first dprintf to read
dprintf(1, "d addr=%p len=%x\n", (void*)BUILD_STACK_ADDR, BUILD_EBDA_MINIMUM -
If the output makes sense (it should report 0x7000 and 0x89000) and it
is really halting in the memset, then maybe coreboot is mapping
something into the first 1 meg of ram - though that's just a wild