<div dir="ltr">Hi All,<div><br></div><div><br></div><div><div class="gmail_signature">I'm trying to port coreboot with seabios payload.</div><div class="gmail_signature">Everything goes fine till the control is transferred to payload.</div><div class="gmail_signature"><br></div><div class="gmail_signature">Since payload is loaded between memory range 0xC_0000 - 0x10_0000.</div><div class="gmail_signature"><br></div><div class="gmail_signature">The problem I was facing was that the board was going to auto reboot mode while executing payload..</div><div class="gmail_signature"><br></div><div class="gmail_signature">Once it reboot then I'm not able  to control the processor through XDP until I manually do CPU reset.</div><div class="gmail_signature"><br></div><div class="gmail_signature">It keeps on rebooting once control is transferred to payload.</div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div><div class="gmail_signature">To find out the cause I did detailed memory test & found out that the</div><div class="gmail_signature">memory range 0xA0000 - 0xBFFFF & 0xE0000 - 0xFFFFF always reads 0xFF.</div><div class="gmail_signature"><br></div><div class="gmail_signature">since payload is loaded in the same region so before jmp_payload, I tried to read this region through XDP & found payload code exist.</div><div class="gmail_signature"><br></div><div class="gmail_signature">so I introduced wbinvd instruction just before jmp_payload & I found that the  XDP started reading 0xFF in the memory range  0xE0000 - 0xFFFFF.</div><div class="gmail_signature"><br></div><div class="gmail_signature">Thus from this I conclude that before the payload was able to execute because of cached copy of it in CPU cache & it didn't really existed in RAM.</div><div class="gmail_signature"><br></div><div class="gmail_signature">Also to enable  memory range 0xE_0000 to 0xF_FFFF  I have followed the guidlines  as per table 15 of the document </div><div class="gmail_signature"><a href="http://www.intel.com/content/www/us/en/intelligent-systems/queens-bay/atom-e6xx-boot-requirements-app-note.html">http://www.intel.com/content/www/us/en/intelligent-systems/queens-bay/atom-e6xx-boot-requirements-app-note.html</a><br></div><div class="gmail_signature"><br></div><div class="gmail_signature">Is that OK.</div><div class="gmail_signature">What I can do to successfully enable the memory range  0xE_0000 to 0xF_FFFF for read write operation so that my payload execution goes undisturbed.</div><div class="gmail_signature"><br></div><div class="gmail_signature">My ultimate aim is to load Windows by Seabios as payload.</div><div class="gmail_signature"><br></div><div class="gmail_signature">Thanks</div><div class="gmail_signature">N Solanki</div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div><div class="gmail_signature"><br></div>
</div></div>