Am 11.09.2012 14:27, schrieb Alexander Graf: > On 09/11/2012 02:23 PM, Andreas Färber wrote: >> For a reference to another object a QOM link<> property would be >> preferred over a static qdev property. > > How does that work? Can we do RPC to other objects to access its CCSR > and/or enumerate the CCSR size? Or maybe even receive its memory api block?
What I had in mind was something like: typedef struct CCSRState { Object *parent; /* or DeviceState or whatever */ MemoryRegion *ccsr_region; } CCSRState; #define CCSR(obj) OBJECT_CHECK(CCSRState, (obj), TYPE_CCSR) MemoryRegion pci_ccsr_region; CCSRState *ccsr = CCSR(pointer_from_link_property_or_path); memory_region_init_alias(&pci_ccsr_region, "pci-ccsr", ccsr->ccsr_region, 0, memory_region_size(ccsr->ccsr_region)); Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg