|
From: | Anthony Liguori |
Subject: | Re: [Qemu-devel] [RFC] Memory API |
Date: | Thu, 19 May 2011 11:32:17 -0500 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110424 Lightning/1.0b2 Thunderbird/3.1.10 |
On 05/19/2011 09:40 AM, Avi Kivity wrote:
On 05/19/2011 05:37 PM, Anthony Liguori wrote: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.Think of how a window manager folds windows with priorities onto a flat framebuffer. You do a depth-first walk of the tree. For each child list, you iterate it from the lowest to highest priority, allowing later subregions override earlier subregions.
Okay, but this doesn't explain how you'll let RAM override the VGA mapping since RAM is not represented in the same child list as VGA (RAM is a child of the PMC whereas VGA is a child of ISA/PCI, both of which are at least one level removed from the PMC).
Regards, Anthony Liguori
[Prev in Thread] | Current Thread | [Next in Thread] |