On 05/19/2011 09:28 AM, Jan Kiszka wrote:
On 2011-05-19 16:25, Anthony Liguori wrote:
On 05/19/2011 09:20 AM, Jan Kiszka wrote:
On 2011-05-19 16:15, Anthony Liguori wrote:
Priorities would be local, so the normal tree would look like this:

   - CPU:0
     - i440fx:0
       - PIIX3:0
         - DeviceA
       - PCI-DeviceB:0

If the i440fx would like to map something different over DeviceA (or
parts of it), it would create a region of prio 1 or higher.

If it's local, then you need a local dispatch table, no?

Not working for the coalescing reason pointed out before. It's also more
handy to rely on the core to do the proper dispatching then write your
own logic over and over again. The core has to deal with overlapping anyway.

So....  do you do:

isa_register_region(ISABus *bus, MemoryRegion *mr, int priority)
{
    chipset_register_region(bus->chipset, mr, priority + 1);
}

I don't really understand how you can fold everything into one table and not allow devices to override their parents using priorities.

Regards,

Anthony Liguori


Jan



Reply via email to