qemu-devel@nongnu.org
[Top] [All Lists]

Re: [Qemu-devel] Updated >2G memory patch

Subject: Re: [Qemu-devel] Updated >2G memory patch
From: Paul Brook
Date: Sat, 29 Sep 2007 23:43:17 +0100
> > Also note that changing variables from int to long have strictly no
> > impact on 32 bits host machines, then won't help emulating more than 2
> > GB of RAM. Another variable type (target_phys_addr_t ?) should be used
> > instead.
>
> This patch should be restricted to 64-bit hosts. I don't think it's
> useful to emulate a 64-bit target with huge amounts of virtual and
> physical address space on a 32-bit host.

IMHO Huge amounts of virtual address space can definitely be useful, even if 
you don't have ram to back it.

Huge amounts of physical address space is less immediately useful, though in 
practice you have to emulate whatever real hardware provides. If you're 
emulating a machine with a 40+ bit physical address space, there's a fair 
chance your guest OS will decide to scatter a relatively small set of 
resources over the whole address space.

I agree there's no point trying to emulate >2G ram on a 32-bit host, but 
physical address space and ram are two very different things.
For example I have a cpu that has a "bitbanded" memory region. This expands 
each bit of real ram to a whole 32-bit word, effectively turning a word 
load/store into an atomic bit operation. Currently it's only used for 
relatively small address ranges, but it's a good example of a situation where 
the physical address space is much larger than ram.

Paul


<Prev in Thread] Current Thread [Next in Thread>