On Wed, Dec 3, 2008 at 11:43 AM, Myles Watson mylesgw@gmail.com wrote:
A question before the code:
- Can anyone enumerate all the fixed resources that should be included in
QEMU? Currently I have:
- DRAM (first 640K and 0xc0000-TOP-768K) Is this necessary?
- I/O first 0x400 in southbridge
- VGA 0xa0000-0xc0000
- APIC at 0xfec00000 and 0xfee00000
- ROM at 0xfff80000
This looks normal. You could put the first 0x1000 in the SB IMO.
Side note: Only the lowest and highest fixed addresses matter in my code. The others get ignored. I think it's too much pain to try to interleave them to use the space between 0xfee00000 and 0xfff80000, for example.
This is probably ok for a normal system. There is a problem with this if a device is already setup and should be treated as fixed but if that is the case it should be seup in the dts....
/* Initialize constraints to maximum size. */ limits.pref.base = 0; limits.pref.limit = 0xfffffffffffffffULL; limits.io.base = 0; limits.io.limit = 0xfffffffffffffffULL; limits.mem.base = 0; limits.mem.limit = 0xfffffffffffffffULL;
The limit for memory and prefetch should be the same since they are in the same address space. For mem.base I assume it gets set from TOM (for K8) somehow?
Marc