@@ -22,6 +22,7 @@
* THE SOFTWARE.
*/
#include "qemu/osdep.h"
+#include "qemu/bitops.h"
#include "qemu/units.h"
#include "hw/hw.h"
#include "hw/display/vga.h"
@@ -8,6 +8,7 @@
#define PCNET_LOOPTEST_NOCRC 2
#include "exec/memory.h"
+#include "hw/irq.h"
/* BUS CONFIGURATION REGISTERS */
#define BCR_MSRDA 0
@@ -20,12 +20,12 @@
#include "exec/hwaddr.h"
#include "exec/memattrs.h"
#include "exec/ramlist.h"
+#include "qemu/bswap.h"
#include "qemu/queue.h"
#include "qemu/int128.h"
#include "qemu/notify.h"
#include "qom/object.h"
#include "qemu/rcu.h"
-#include "hw/qdev-core.h"
#define RAM_ADDR_INVALID (~(ram_addr_t)0)
@@ -205,6 +205,12 @@ struct MemoryRegionOps {
} impl;
};
+typedef struct MemoryRegionClass {
+ /* private */
+ ObjectClass parent_class;
+} MemoryRegionClass;
+
+
enum IOMMUMemoryRegionAttr {
IOMMU_ATTR_SPAPR_TCE_FD
};
@@ -237,7 +243,7 @@ enum IOMMUMemoryRegionAttr {
*/
typedef struct IOMMUMemoryRegionClass {
/* private */
- struct DeviceClass parent_class;
+ MemoryRegionClass parent_class;
/*
* Return a TLB entry that contains a given address.
@@ -3245,6 +3245,7 @@ void memory_region_init_rom_device(MemoryRegion *mr,
static const TypeInfo memory_region_info = {
.parent = TYPE_OBJECT,
.name = TYPE_MEMORY_REGION,
+ .class_size = sizeof(MemoryRegionClass),
.instance_size = sizeof(MemoryRegion),
.instance_init = memory_region_initfn,
.instance_finalize = memory_region_finalize,