[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Updated >2G memory patch
From: |
J. Mayer |
Subject: |
Re: [Qemu-devel] Updated >2G memory patch |
Date: |
Sun, 30 Sep 2007 01:16:57 +0200 |
On Sat, 2007-09-29 at 23:43 +0100, Paul Brook wrote:
> > > 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.
My feeling is that if it's restricted to 64 bits host, then it's a patch
for geeks only, that brings no useful feature to the main end-users. In
the real world, most people are still running in 32 bits mode.
> 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 don't agree too much with your opinion, because what I can see is that
PowerPC 64 machines (at least IBM ones) tend to use the 62 bits physical
address space provided by the architecture. If I remember well, there is
at least one PPC64 architecture where the highest bits are used to split
the physical address space between memory, memory-mapped IO,
devices, ...
I'm quite sure there are other 64 bits architecture that have the same
requirement of a huge physical address space, then beeing able to handle
it in Qemu seems to be very useful, much more than trying to emulate a
huge amount of RAM, and is needed in a very near future.
> 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.
I don't see why it would be useless to emulate huge amount of RAM on 32
bits hosts. If you try to register more than a few gigabytes of memory,
there are great chances that the host machine won't have the physical
RAM to handle it at once, so a page swap mechanism will have to be
implemented. Then, I see no difference in using it on a 32 bits hosts or
a 64 bits ones.
Regards.
--
J. Mayer <address@hidden>
Never organized
- [Qemu-devel] Updated >2G memory patch, Blue Swirl, 2007/09/29
- [Qemu-devel] Re: Updated >2G memory patch, Izik Eidus, 2007/09/29
- Re: [Qemu-devel] Updated >2G memory patch, J. Mayer, 2007/09/29
- Re: [Qemu-devel] Updated >2G memory patch, Blue Swirl, 2007/09/30
- Re: [Qemu-devel] Updated >2G memory patch, J. Mayer, 2007/09/30
- Re: [Qemu-devel] Updated >2G memory patch, Avi Kivity, 2007/09/30
- Re: [Qemu-devel] Updated >2G memory patch, Blue Swirl, 2007/09/30