On 2013-06-28 20:26, Paolo Bonzini wrote: > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > include/exec/memory.h | 66 > +++++++++++++++++++++++++-------------------------- > 1 file changed, 33 insertions(+), 33 deletions(-) > > diff --git a/include/exec/memory.h b/include/exec/memory.h > index aa7a922..913ac45 100644 > --- a/include/exec/memory.h > +++ b/include/exec/memory.h > @@ -164,6 +164,39 @@ struct MemoryRegion { > NotifierList iommu_notify; > }; > > +typedef struct MemoryListener MemoryListener; > + > +/** > + * MemoryListener: callbacks structure for updates to the physical memory map > + * > + * Allows a component to adjust to changes in the guest-visible memory map. > + * Use with memory_listener_register() and memory_listener_unregister(). > + */ > +struct MemoryListener { > + void (*begin)(MemoryListener *listener); > + void (*commit)(MemoryListener *listener); > + void (*region_add)(MemoryListener *listener, MemoryRegionSection > *section); > + void (*region_del)(MemoryListener *listener, MemoryRegionSection > *section); > + void (*region_nop)(MemoryListener *listener, MemoryRegionSection > *section); > + void (*log_start)(MemoryListener *listener, MemoryRegionSection > *section); > + void (*log_stop)(MemoryListener *listener, MemoryRegionSection *section); > + void (*log_sync)(MemoryListener *listener, MemoryRegionSection *section); > + void (*log_global_start)(MemoryListener *listener); > + void (*log_global_stop)(MemoryListener *listener); > + void (*eventfd_add)(MemoryListener *listener, MemoryRegionSection > *section, > + bool match_data, uint64_t data, EventNotifier *e); > + void (*eventfd_del)(MemoryListener *listener, MemoryRegionSection > *section, > + bool match_data, uint64_t data, EventNotifier *e); > + void (*coalesced_mmio_add)(MemoryListener *listener, MemoryRegionSection > *section, > + hwaddr addr, hwaddr len); > + void (*coalesced_mmio_del)(MemoryListener *listener, MemoryRegionSection > *section, > + hwaddr addr, hwaddr len); > + /* Lower = earlier (during add), later (during del) */ > + unsigned priority; > + AddressSpace *address_space_filter; > + QTAILQ_ENTRY(MemoryListener) link; > +}; > + > /** > * AddressSpace: describes a mapping of addresses to #MemoryRegion objects > */ > @@ -202,39 +235,6 @@ struct MemoryRegionSection { > bool readonly; > }; > > -typedef struct MemoryListener MemoryListener; > - > -/** > - * MemoryListener: callbacks structure for updates to the physical memory map > - * > - * Allows a component to adjust to changes in the guest-visible memory map. > - * Use with memory_listener_register() and memory_listener_unregister(). > - */ > -struct MemoryListener { > - void (*begin)(MemoryListener *listener); > - void (*commit)(MemoryListener *listener); > - void (*region_add)(MemoryListener *listener, MemoryRegionSection > *section); > - void (*region_del)(MemoryListener *listener, MemoryRegionSection > *section); > - void (*region_nop)(MemoryListener *listener, MemoryRegionSection > *section); > - void (*log_start)(MemoryListener *listener, MemoryRegionSection > *section); > - void (*log_stop)(MemoryListener *listener, MemoryRegionSection *section); > - void (*log_sync)(MemoryListener *listener, MemoryRegionSection *section); > - void (*log_global_start)(MemoryListener *listener); > - void (*log_global_stop)(MemoryListener *listener); > - void (*eventfd_add)(MemoryListener *listener, MemoryRegionSection > *section, > - bool match_data, uint64_t data, EventNotifier *e); > - void (*eventfd_del)(MemoryListener *listener, MemoryRegionSection > *section, > - bool match_data, uint64_t data, EventNotifier *e); > - void (*coalesced_mmio_add)(MemoryListener *listener, MemoryRegionSection > *section, > - hwaddr addr, hwaddr len); > - void (*coalesced_mmio_del)(MemoryListener *listener, MemoryRegionSection > *section, > - hwaddr addr, hwaddr len); > - /* Lower = earlier (during add), later (during del) */ > - unsigned priority; > - AddressSpace *address_space_filter; > - QTAILQ_ENTRY(MemoryListener) link; > -}; > - > /** > * memory_region_init: Initialize a memory region > * >
Reviewed-by: Jan Kiszka <jan.kis...@siemens.com> Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux