<div dir="ltr"><br><br><div class="gmail_quote">On Thu, Oct 16, 2008 at 1:27 PM, Myles Watson <span dir="ltr"><<a href="mailto:mylesgw@gmail.com">mylesgw@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div dir="ltr"><br><br><div class="gmail_quote"><div><div></div><div class="Wj3C7c">On Thu, Oct 16, 2008 at 1:25 PM, ron minnich <span dir="ltr"><<a href="mailto:rminnich@gmail.com" target="_blank">rminnich@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>On Thu, Oct 16, 2008 at 12:19 PM, Marc Jones <<a href="mailto:marc.jones@amd.com" target="_blank">marc.jones@amd.com</a>> wrote:<br>
<br>
> AH! I see. We shouldn't be running out of the ROM. That will be slow. We<br>
> should copy the VGA BIOS to real memory and run it there.<br>
><br>
> Why are you doing ROM init in stage0? I thought this was well into stage2.<br>
><br>
<br>
</div>So, safety tip: we can't call ANY ROM in stage2 when we're running<br>
doing ROM init.<br>
<br>
And I just realized the problem: we're calling printk and printk is in ROM.<br>
<br>
no printks allowed in pcibios.c unless we move printk to RAM, i.e.<br>
compile printk into stage2.<br>
<br>
What a revolting development this is! Our beautiful "common code in<br>
ROM" idea is going down in flames.<br>
<font color="#888888"></font></blockquote></div></div><div></div></div></div></blockquote><div><br>Wait a second.  The reason this is broken is that the code setting the PCI decode register is in the ROM.  Can we fix this by calling pci_conf1_write_config32 instead?  It looks like it's in RAM.<br>
<br>Myles<br></div></div><br></div>