qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC] Memory API


From: Anthony Liguori
Subject: Re: [Qemu-devel] [RFC] Memory API
Date: Fri, 20 May 2011 10:33:14 -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/20/2011 04:01 AM, Avi Kivity wrote:
On 05/19/2011 07:32 PM, Anthony Liguori wrote:
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).

VGA will override RAM.

Memory controller
|
+-- RAM container (prio 0)
|
+-- PCI container (prio 1)
|
+--- vga window

Unless the RAM controller increases it's priority, right? That's how you would implement SMM, by doing priority++?

But if you have:

Memory controller
|
+-- RAM container (prio 0)
|
+-- PCI container (prio 1)
|
+-- PCI-X container (prio 2)
|
+--- vga window

Now you need to do priority = 3?

Jan had mentioned previously about registering a new temporary window. I assume the registration always gets highest_priority++, or do you have to explicitly specify that PCI container gets priority=1?

Regards,

Anthony Liguori







reply via email to

[Prev in Thread] Current Thread [Next in Thread]