> -----Original Message----- > From: Alexander Graf [mailto:ag...@suse.de] > Sent: Monday, June 30, 2014 1:22 PM > To: Stalley, Sean; Peter Crosthwaite > Cc: qemu-devel@nongnu.org > 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: peter.crosthwa...@petalogix.com > >> [mailto:peter.crosthwa...@petalogix.com] On Behalf Of Peter > >> Crosthwaite > >> Sent: Friday, June 27, 2014 6:26 PM > >> To: Stalley, Sean; Alexander Graf > >> Cc: qemu-devel@nongnu.org > >> Subject: Re: [Qemu-devel] Adding memory region without specifying > >> address > >> > >> On Sat, Jun 28, 2014 at 10:29 AM, Stalley, Sean <sean.stal...@intel.com> > 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