<br><br><div class="gmail_quote">On Fri, Dec 5, 2008 at 3:08 PM, Marc Jones <span dir="ltr"><<a href="mailto:marcj303@gmail.com">marcj303@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 class="Ih2E3d">On Wed, Dec 3, 2008 at 11:43 AM, Myles Watson <<a href="mailto:mylesgw@gmail.com">mylesgw@gmail.com</a>> wrote:<br>
<br>
> A question before the code:<br>
> 1. Can anyone enumerate all the fixed resources that should be included in<br>
> QEMU?<br>
> Currently I have:<br>
> - DRAM (first 640K and 0xc0000-TOP-768K) Is this necessary?<br>
> - I/O first 0x400 in southbridge<br>
> - VGA 0xa0000-0xc0000<br>
> - APIC at 0xfec00000 and 0xfee00000<br>
> - ROM at 0xfff80000<br>
<br>
</div>This looks normal. You could put the first 0x1000 in the SB IMO.</blockquote><div>I changed it, thanks.<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
><br><div class="Ih2E3d">
> Side note: Only the lowest and highest fixed addresses matter in my code.<br>
> The others get ignored.  I think it's too much pain to try to interleave<br>
> them to use the space between 0xfee00000 and 0xfff80000, for example.<br>
<br>
</div>This is probably ok for a normal system. There is a problem with this<br>
if a device is already setup and should be treated as fixed but if<br>
that is the case it should be seup in the dts....<br>
<div class="Ih2E3d"><br>
>     /* Initialize constraints to maximum size. */<br>
><br>
>     limits.pref.base = 0;<br>
>     limits.pref.limit = 0xfffffffffffffffULL;<br>
>     limits.io.base = 0;<br>
>     limits.io.limit = 0xfffffffffffffffULL;<br>
>     limits.mem.base = 0;<br>
>     limits.mem.limit = 0xfffffffffffffffULL;<br>
<br>
</div>The limit for memory and prefetch should be the same since they are in<br>
the same address space. For mem.base I assume it gets set from TOM<br>
(for K8) somehow?</blockquote><div>The problem comes when they are not in the same address space.  I need to be able to allocate prefetchable memory above 4G.  The way the code works now, you only get separate address spaces if the domain asks for it.  Otherwise they end up in the same space.<br>
<br>Thanks,<br>Myles<br> </div></div><br>