[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resiz
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resize |
Date: |
Wed, 19 Nov 2014 17:04:23 +0200 |
On Wed, Nov 19, 2014 at 01:58:54PM +0000, Peter Maydell wrote:
> On 17 November 2014 20:08, Michael S. Tsirkin <address@hidden> wrote:
> > Add API to manage on-device RAM.
> > This looks just like regular RAM from migration POV,
> > but has two special properties internally:
> >
> > - it is never exposed to guest
> > - block is sized on migration, making it easier to extend
> > without breaking migration compatibility or wasting
> > virtual memory
> > - callers must specify an upper bound on size
>
> > +/* On-device RAM allocated with g_malloc: supports realloc,
> > + * not accessible to vcpu on kvm.
> > + */
> > +#define RAM_DEVICE (1 << 2)
>
> Does this comment mean "KVM guests cannot access this
> memory, so it's a board bug to attempt to map it into
> guest address space"?.
Yes.
> If so, what breaks?
When memory is reallocated, we don't update KVM.
> Can we have
> an assert or something to catch usage errors if it is
> mapped? Would it be possible to drop the restriction?
Yes, it's definitely possible. It's a bit tricky: we need to tweak a
bunch of page flags on realloc, for example DONT_FORK:
clear them on old pages copy and set on new ones.
So I simply didn't want to bother.
> I'm not convinced about the naming either -- isn't this
> for BIOSes rather than generic on-device scratch RAM
> (which you'd model either with a plain RAM memoryregion
> or with a locally allocated block of memory or array,
> depending on the device semantics)?
>
> thanks
> -- PMM
Hmm I don't exactly see the difference. This RAM is internal to FW CFG
device. Other devices might want to use this too if they keep guest
code in their internal RAM.
I'm fine with changing the name though - what's your
suggestion?
--
MST
- Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resize, (continued)
- Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resize, Peter Maydell, 2014/11/19
- Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resize, Juan Quintela, 2014/11/19
- Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resize, Peter Maydell, 2014/11/19
- Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resize, Juan Quintela, 2014/11/19
- Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resize, Paolo Bonzini, 2014/11/19
- Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resize, Peter Maydell, 2014/11/19
- Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resize, Paolo Bonzini, 2014/11/19
- Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resize, Michael S. Tsirkin, 2014/11/19
- Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resize, Michael S. Tsirkin, 2014/11/19
- Re: [Qemu-devel] [PATCH 2/5] exec: qemu_ram_alloc_device, qemu_ram_resize,
Michael S. Tsirkin <=
[Qemu-devel] [PATCH 4/5] memory: interface to allocate device ram, Michael S. Tsirkin, 2014/11/17
[Qemu-devel] [PATCH 5/5] acpi-build: make ROMs device RAM, make them resizeable, Michael S. Tsirkin, 2014/11/17
[Qemu-devel] [PATCH 3/5] arch_init: support resizing on incoming migration, Michael S. Tsirkin, 2014/11/17
Re: [Qemu-devel] [PATCH 0/5] pc: make ROMs resizeable, Michael S. Tsirkin, 2014/11/17
Re: [Qemu-devel] [PATCH 0/5] pc: make ROMs resizeable, Markus Armbruster, 2014/11/18