<div dir="ltr"><p dir="ltr">Hi,</p>
<p dir="ltr">With respect to the auto reset issue, </p><p dir="ltr"><br>
I did detailed memory test on my board and found the following<br>
0xA0000 - 0xBFFFF & 0xE0000 - 0xFFFFF region is not writable and every byte reads as 0xFF.</p>
<p>Coreboot loads Seabios in the address range 0xA0000 to 0x10_0000.</p><p>When I tried to read the memory range through XDP after coreboot decompressed the seabios payload,</p><p> it appeared to be fine.</p><p><br></p><p>When Seabios was executing , it was resetting at or around malloc init.</p><p>Later I introduced WBINVD instruction just before jump to payload, </p><p>XDP which was displaying program code started reading 0xFF.</p><p>This indicates that the  payload loading was happening in cache memory of CPU & executing</p><p>from it.</p><p>Here I conclude that   the memory range 0xA0000 - 0xBFFFF & 0xE0000 - 0xFFFFF is not usable in my board</p><p>& is the cause of seabios failure.</p><p><br></p><p>I tested the same region by booting with bios provided with board & found that the memory range 0xA0000 - 0xBFFFF & 0xE0000 - 0xFFFFF is not usable.</p><p><br></p><p>Can anyone suggest me how to go about this issue. My intention is to boot Win7 successfully.</p><p><br></p><p>Regards,</p><p>N Solanki<br><br><br><br></p>
<div class="gmail_quote">On 18 Mar 2015 20:13, "Kevin O'Connor" <<a href="mailto:kevin@koconnor.net" target="_blank">kevin@koconnor.net</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On Tue, Mar 17, 2015 at 06:42:06PM +0530, Naresh G. Solanki wrote:<br>
> Dear All,<br>
><br>
> I'm trying to port coreboot with seabios payload on Intel Atom E6xx based<br>
> board,<br>
><br>
> The problem I'm facing is during malloc init, the board reboot & keeps on<br>
> rebooting after displaying malloc init debug message.<br>
><br>
> I tried to track it & found that it might probably be due to dummy IDT<br>
> loaded  @seabios entry point (entry_elf)<br>
><br>
> Once it reboot I'm finding that breakpoints set are not working.<br>
> Breakpoints are set through JTAG-XDP.<br>
><br>
> Can anyone give an idea to how to go about this issue.<br>
<br>
SeaBIOS loads a dummy IDT when in 32bit mode, because the code is<br>
never supposed to raise an interrupt (interrupts and NMIs are always<br>
disabled when in 32bit mode).  So, if you're seeing a fault with the<br>
IDT, it likely indicates something is causing a software fault.<br>
<br>
If a fault is ocurring in malloc_init(), then I'd check that the<br>
memory between 0xc0000-0x100000 is fully read/writable.  You could<br>
also try disabling CONFIG_MALLOC_UPPERMEMORY to see if that changes<br>
behavior.  malloc_init() is also called right after self-relocation,<br>
so check that the memory map that coreboot provides is accurate.  You<br>
could also try disabling CONFIG_RELOCATE_INIT to see if that changes<br>
the fault.<br>
<br>
-Kevin<br>
</blockquote></div>
</div>