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 21:47:29 +0000


> -----Original Message-----
> From: Alexander Graf [mailto:address@hidden
> Sent: Monday, June 30, 2014 1:22 PM
> To: Stalley, Sean; Peter Crosthwaite
> Cc: address@hidden
> Subject: Re: [Qemu-devel] Adding memory region without specifying address
> 
> 
> On 30.06.14 19:53, Stalley, Sean wrote:
> > 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.
> 
> That sounds exactly like what I've been working on. The first incarnation was
> called "platform bus", the second "platform devices", the current work is 
> going
> to be "sysbus hints" - but it's WIP.

Hmm, it sounds very similar. Out of curiosity, is there any relation to Linux 
platform devices?

> 
> >
> >>>
> >>> 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.
> 
> Why not?

I think I misinterpreted the meaning of the term 'full control'.
Right now, the sole purpose of the guest machine is to validate this hardware 
model. I can change the hardware models in the guest as needed (although I hope 
to keep them the same). In that sense, I have full control over the memory 
region. 

> 
> >
> >>>
> >>> 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()?
> 
> It's not upstream yet ;).

Aah, that explains why I couldn't find it :P


It seems like the answer to my initial question, "can qemu add a memory region 
for hardware without being given a specific address" is "Not yet".

Thanks,
Sean 

reply via email to

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