Re: [PATCH v4 2/2] RAM API: Make use of it for x86 PC

2010-12-14 Thread Anthony Liguori

On 12/14/2010 09:16 AM, Alex Williamson wrote:

On Tue, 2010-12-14 at 11:18 +0200, Avi Kivity wrote:
   

On 12/13/2010 11:24 PM, Alex Williamson wrote:
 

Register the actual VM RAM using the new API


@@ -913,14 +913,11 @@ void pc_memory_init(ram_addr_t ram_size,
   /* allocate RAM */
   ram_addr = qemu_ram_alloc(NULL, "pc.ram",
 below_4g_mem_size + above_4g_mem_size);
-cpu_register_physical_memory(0, 0xa, ram_addr);
-cpu_register_physical_memory(0x10,
- below_4g_mem_size - 0x10,
- ram_addr + 0x10);
+ram_register(0, below_4g_mem_size, ram_addr);

   

What's the impact of this?  Won't it conflict with BIOS memory
registration?  What about VGA?
 


There is no "conflict".  Memory registration can punch through previous 
registrations.


And the QEMU SMM code switches the VGA area back and forth between 
memory mapped and normal ram depending on the mode.


This presents no functional change, just structures RAM allocation to 
closer reflect the way things actually work.


Regards,

Anthony Liguori


In terms of patch hygiene, it should be in a separate patch titled
"register 0xa-0x10 as RAM" or something.  It's a much more
drastic change than making use of the new RAM API.
 

As we discussed in the v2 patch, the chipset can selectively switch
regions within this range to point at VGA, ROM, or RAM, but there's
always physical RAM backing the space, even when it's mapping isn't
active.  VGA and ROM will be overlay the RAM mapping.  I'm fine with
splitting this into two patches for debug-ability, but the change is
reflective of following the RAM API and registering all of "RAM".  Maybe
it would be sufficient to make such a note explicit in this commit log?
Thanks,

Alex

   


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/2] RAM API: Make use of it for x86 PC

2010-12-14 Thread Alex Williamson
On Tue, 2010-12-14 at 11:18 +0200, Avi Kivity wrote:
> On 12/13/2010 11:24 PM, Alex Williamson wrote:
> > Register the actual VM RAM using the new API
> >
> >
> > @@ -913,14 +913,11 @@ void pc_memory_init(ram_addr_t ram_size,
> >   /* allocate RAM */
> >   ram_addr = qemu_ram_alloc(NULL, "pc.ram",
> > below_4g_mem_size + above_4g_mem_size);
> > -cpu_register_physical_memory(0, 0xa, ram_addr);
> > -cpu_register_physical_memory(0x10,
> > - below_4g_mem_size - 0x10,
> > - ram_addr + 0x10);
> > +ram_register(0, below_4g_mem_size, ram_addr);
> >
> 
> What's the impact of this?  Won't it conflict with BIOS memory 
> registration?  What about VGA?
> 
> In terms of patch hygiene, it should be in a separate patch titled 
> "register 0xa-0x10 as RAM" or something.  It's a much more 
> drastic change than making use of the new RAM API.

As we discussed in the v2 patch, the chipset can selectively switch
regions within this range to point at VGA, ROM, or RAM, but there's
always physical RAM backing the space, even when it's mapping isn't
active.  VGA and ROM will be overlay the RAM mapping.  I'm fine with
splitting this into two patches for debug-ability, but the change is
reflective of following the RAM API and registering all of "RAM".  Maybe
it would be sufficient to make such a note explicit in this commit log?
Thanks,

Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/2] RAM API: Make use of it for x86 PC

2010-12-14 Thread Avi Kivity

On 12/13/2010 11:24 PM, Alex Williamson wrote:

Register the actual VM RAM using the new API


@@ -913,14 +913,11 @@ void pc_memory_init(ram_addr_t ram_size,
  /* allocate RAM */
  ram_addr = qemu_ram_alloc(NULL, "pc.ram",
below_4g_mem_size + above_4g_mem_size);
-cpu_register_physical_memory(0, 0xa, ram_addr);
-cpu_register_physical_memory(0x10,
- below_4g_mem_size - 0x10,
- ram_addr + 0x10);
+ram_register(0, below_4g_mem_size, ram_addr);



What's the impact of this?  Won't it conflict with BIOS memory 
registration?  What about VGA?


In terms of patch hygiene, it should be in a separate patch titled 
"register 0xa-0x10 as RAM" or something.  It's a much more 
drastic change than making use of the new RAM API.


--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v4 2/2] RAM API: Make use of it for x86 PC

2010-12-13 Thread Alex Williamson
Register the actual VM RAM using the new API

Signed-off-by: Alex Williamson 
---

 hw/pc.c |9 +++--
 1 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/hw/pc.c b/hw/pc.c
index e1b2667..87adca2 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -913,14 +913,11 @@ void pc_memory_init(ram_addr_t ram_size,
 /* allocate RAM */
 ram_addr = qemu_ram_alloc(NULL, "pc.ram",
   below_4g_mem_size + above_4g_mem_size);
-cpu_register_physical_memory(0, 0xa, ram_addr);
-cpu_register_physical_memory(0x10,
- below_4g_mem_size - 0x10,
- ram_addr + 0x10);
+ram_register(0, below_4g_mem_size, ram_addr);
 #if TARGET_PHYS_ADDR_BITS > 32
 if (above_4g_mem_size > 0) {
-cpu_register_physical_memory(0x1ULL, above_4g_mem_size,
- ram_addr + below_4g_mem_size);
+ram_register(0x1ULL, above_4g_mem_size,
+ ram_addr + below_4g_mem_size);
 }
 #endif
 

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html