qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Adding memory region without specifying address


From: Stalley, Sean
Subject: Re: [Qemu-devel] Adding memory region without specifying address
Date: Mon, 30 Jun 2014 17:53:42 +0000

Thanks for the quick response! Sorry for my belated reply...

> -----Original Message-----
> From: address@hidden
> [mailto:address@hidden On Behalf Of Peter Crosthwaite
> Sent: Friday, June 27, 2014 6:26 PM
> To: Stalley, Sean; Alexander Graf
> Cc: address@hidden
> Subject: Re: [Qemu-devel] Adding memory region without specifying address
> 
> On Sat, Jun 28, 2014 at 10:29 AM, Stalley, Sean <address@hidden> wrote:
> > Hello All,
> >
> >
> >
> > I am working on building a hardware model for QEMU. This model needs a
> > couple memory regions for MMIO.
> >
> > The thing is, I don’t particularly care what the physical address of
> > the memory region is (so long as it doesn’t overlap with any other
> > memory region).
> >
> 
> Curious, what's your mechanism for giving the auto allocated address to the
> guest?
> 

We have one memory space that is fixed. The plan is to put the addresses of the 
automatically allocated locations in the fixed space.

> >
> >
> > I was wondering if QEMU is able to ‘allocate’ a memory region for
> > hardware
> > (IE: I call into something saying I need a memory region X bytes long,
> > and QEMU returns with a pointer to a memory region X bytes long).
> >
> 
> Do you have full control over the memory region you are adding these sub-
> regions too and can you implement a "for-everything" allocator on the machine
> level?
> 

We want to be able to put these sub-regions anywhere in memory-space, so a 
"for-everything" allocator isn't really a good option.

> >
> >
> > Can QEMU do this? was looking at the various flavors of
> > memory_region_add_subregion(), but they all seem to require a hardware
> > offset…
> >
> 
> Alex's addressless -device work may be related but it's more about command
> line usability. Autoallocation of MMIO addresses is a feature there however.

Where is this code located? I have been looking, but I haven’t been able to 
find it yet. Is this called by qdev_device_add()?
I have also been thinking about doing something like what pci_add_capability() 
does for capability descriptors, but this just reserves already allocated space.

 
Thanks,
Sean


reply via email to

[Prev in Thread] Current Thread [Next in Thread]