Re: [kvm-devel] [Qemu-devel] Re: [PATCH 1/6] Use correct types to enable 2G support

2008-02-01 Thread Anthony Liguori

Ian Jackson wrote:

Anthony Liguori writes ([Qemu-devel] Re: [kvm-devel] [PATCH 1/6] Use correct types to 
enable  2G support):
  
The alternative is to change all the places that assume phys_ram_base + 
PA which I don't like very much.



We would ideally like to do this for Xen, at least in the places we
care about.  (Xen uses less of the qemu tree than KVM, I think.)
  


Support for the map cache in the Xen tree is a rather big change that 
I'm not going to attempt to support it in this patch series.


I'd rather preserve the phys_ram_base + PA assumption because it allows 
us to be able to do support  1 page DMA operations for our virtual IO 
drivers.  If you break the assumption that physically contiguous memory 
in the guest is virtual contiguous memory in the host, things get pretty 
ugly.


Regards,

Anthony Liguori


In Xen, the guest memory is not in general mapped into the host qemu's
address space.

Ian.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
kvm-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kvm-devel
  






Re: [kvm-devel] [Qemu-devel] Re: [PATCH 1/6] Use correct types to enable 2G support

2008-02-01 Thread Daniel P. Berrange
On Fri, Feb 01, 2008 at 11:53:02AM -0600, Anthony Liguori wrote:
 Ian Jackson wrote:
  Anthony Liguori writes ([Qemu-devel] Re: [kvm-devel] [PATCH 1/6] Use 
  correct types to enable  2G support):

  The alternative is to change all the places that assume phys_ram_base + 
  PA which I don't like very much.
  
 
  We would ideally like to do this for Xen, at least in the places we
  care about.  (Xen uses less of the qemu tree than KVM, I think.)

 
 Support for the map cache in the Xen tree is a rather big change that 
 I'm not going to attempt to support it in this patch series.
 
 I'd rather preserve the phys_ram_base + PA assumption because it allows 
 us to be able to do support  1 page DMA operations for our virtual IO 
 drivers.  If you break the assumption that physically contiguous memory 
 in the guest is virtual contiguous memory in the host, things get pretty 
 ugly.

Well Xen i386 has no choice but to use the map cache, since PAE lets 
i386 guests have as much as 100 GB of memory  there's no way you can
map that into QEMU's 32-bit userspace. So if virt IO has a dependancy
on contigious memory access in QEMU its not going to play nice with
Xen.

Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-   Perl modules: http://search.cpan.org/~danberr/  -=|
|=-   Projects: http://freshmeat.net/~danielpb/   -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 




Re: [kvm-devel] [Qemu-devel] Re: [PATCH 1/6] Use correct types to enable 2G support

2008-02-01 Thread Anthony Liguori

Daniel P. Berrange wrote:

On Fri, Feb 01, 2008 at 11:53:02AM -0600, Anthony Liguori wrote:
  

Ian Jackson wrote:


Anthony Liguori writes ([Qemu-devel] Re: [kvm-devel] [PATCH 1/6] Use correct types to 
enable  2G support):
  
  
The alternative is to change all the places that assume phys_ram_base + 
PA which I don't like very much.



We would ideally like to do this for Xen, at least in the places we
care about.  (Xen uses less of the qemu tree than KVM, I think.)
  
  
Support for the map cache in the Xen tree is a rather big change that 
I'm not going to attempt to support it in this patch series.


I'd rather preserve the phys_ram_base + PA assumption because it allows 
us to be able to do support  1 page DMA operations for our virtual IO 
drivers.  If you break the assumption that physically contiguous memory 
in the guest is virtual contiguous memory in the host, things get pretty 
ugly.



Well Xen i386 has no choice but to use the map cache, since PAE lets 
i386 guests have as much as 100 GB of memory  there's no way you can

map that into QEMU's 32-bit userspace. So if virt IO has a dependancy
on contigious memory access in QEMU its not going to play nice with
Xen.
  


For KVM (and it sounds like QEMU), we're just making the statement that 
32-bit hosts cannot support  2GB guests.  I know that's a regression 
for Xen but in all fairness, I did raise this as an objection when the 
map cache was first introduced :-)


virtio could still be made to work with map cache.  You would just have 
to change it to be able to map more than one page contiguously.  As I 
mentioned though, it just starts getting ugly.


Regards,

Anthony Liguori


Dan.
  






Re: [kvm-devel] [Qemu-devel] Re: [PATCH 1/6] Use correct types to enable 2G support

2008-02-01 Thread Paul Brook
 virtio could still be made to work with map cache.  You would just have
 to change it to be able to map more than one page contiguously.  As I
 mentioned though, it just starts getting ugly.

That's why you should be using the cpu_physical_memory_rw routines :-)

Anything that assume large linear accesses (Currently only some of the 
embedded LCD controllers) is going to break as soon as you start introducing 
IOMMUs. There have been several threads on this list about having a sane DMA 
infrastructure.

Paul