On Tue, Apr 24, 2012 at 10:52:24AM +0300, Gleb Natapov wrote:
On Mon, Apr 23, 2012 at 02:31:15PM +0200, Vasilis
The 440fx spec mentions: "The address range
from the top of main DRAM to 4
Gbytes (top of physical memory space supported by the 440FX PCIset) is normally
mapped to PCI. The PMC forwards all accesses within this address range to PCI."
What we probably want is that the initial memory map creation takes into account
all dimms specified (both populated/unpopulated)
So "-m 1G, -device
dimm,size=1G,populated=true -device dimm,size=1G,populated=false"
would create a system map with top of memory and start of PCI-hole at 2G.
What -m 1G means on this command line? Isn't it redundant?
was redundant with the original concept.
May be we should make -m create non unplaggable,
populated slot starting
at address 0. Ten you config above will specify 3G memory with 2G
populated (first of which is not removable) and 1G unpopulated. PCI hole
starts above 3G.
I agree -m should mean one big unpluggable slot.
So in the new proposal,"-device dimm populated=true" means a hot-removable
that has already been hotplugged.
A question here is when exactly should the initial
hot-add event for this dimm
be played? If the relevant OSPM has not yet been initialized (e.g. acpi_memhotplug
module in a linux guest needs to be loaded), the guest may not see the event.
This is a general issue of course, but with initially populated hot-removable
dimms it may be a bigger issue. Can ospm acpi initialization be detected?
Or maybe you are suggesting "populated=true" is part of initial memory (i.e.
hot-added, but still hot-removable). Though in that case guestOS may use it for
bootmem allocations, making hot-remove more likely to fail at the memory
If memory slot is populated even before OSPM is started BIOS will detect
that by reading mem_sts and will create e820 map appropriately. OSPM
will detect it by evaluating _STA during boot. This is not unique for
memory hot-plug. Any hotpluggable device have the same issue.