qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

qom: make interface types abstract

Interfaces don't have instance, let's make the interface type really
abstract to avoid confusion.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Message-Id: <20181204142023.15982-3-marcandre.lureau@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>

authored by

Marc-André Lureau and committed by
Eduardo Habkost
aa1b35b9 ef240523

+14 -53
+1 -5
include/hw/acpi/acpi_dev_interface.h
··· 25 25 INTERFACE_CHECK(AcpiDeviceIf, (obj), \ 26 26 TYPE_ACPI_DEVICE_IF) 27 27 28 - 29 - typedef struct AcpiDeviceIf { 30 - /* <private> */ 31 - Object Parent; 32 - } AcpiDeviceIf; 28 + typedef struct AcpiDeviceIf AcpiDeviceIf; 33 29 34 30 void acpi_send_event(DeviceState *dev, AcpiEventStatusBits event); 35 31
+1 -4
include/hw/arm/linux-boot-if.h
··· 16 16 #define ARM_LINUX_BOOT_IF(obj) \ 17 17 INTERFACE_CHECK(ARMLinuxBootIf, (obj), TYPE_ARM_LINUX_BOOT_IF) 18 18 19 - typedef struct ARMLinuxBootIf { 20 - /*< private >*/ 21 - Object parent_obj; 22 - } ARMLinuxBootIf; 19 + typedef struct ARMLinuxBootIf ARMLinuxBootIf; 23 20 24 21 typedef struct ARMLinuxBootIfClass { 25 22 /*< private >*/
+1 -3
include/hw/fw-path-provider.h
··· 30 30 #define FW_PATH_PROVIDER(obj) \ 31 31 INTERFACE_CHECK(FWPathProvider, (obj), TYPE_FW_PATH_PROVIDER) 32 32 33 - typedef struct FWPathProvider { 34 - Object parent_obj; 35 - } FWPathProvider; 33 + typedef struct FWPathProvider FWPathProvider; 36 34 37 35 typedef struct FWPathProviderClass { 38 36 InterfaceClass parent_class;
+1 -5
include/hw/hotplug.h
··· 23 23 #define HOTPLUG_HANDLER(obj) \ 24 24 INTERFACE_CHECK(HotplugHandler, (obj), TYPE_HOTPLUG_HANDLER) 25 25 26 - 27 - typedef struct HotplugHandler { 28 - /* <private> */ 29 - Object Parent; 30 - } HotplugHandler; 26 + typedef struct HotplugHandler HotplugHandler; 31 27 32 28 /** 33 29 * hotplug_fn:
+1 -3
include/hw/intc/intc.h
··· 15 15 INTERFACE_CHECK(InterruptStatsProvider, (obj), \ 16 16 TYPE_INTERRUPT_STATS_PROVIDER) 17 17 18 - typedef struct InterruptStatsProvider { 19 - Object parent; 20 - } InterruptStatsProvider; 18 + typedef struct InterruptStatsProvider InterruptStatsProvider; 21 19 22 20 typedef struct InterruptStatsProviderClass { 23 21 InterfaceClass parent;
+1 -3
include/hw/ipmi/ipmi.h
··· 114 114 #define IPMI_INTERFACE_GET_CLASS(class) \ 115 115 OBJECT_GET_CLASS(IPMIInterfaceClass, (class), TYPE_IPMI_INTERFACE) 116 116 117 - typedef struct IPMIInterface { 118 - Object parent; 119 - } IPMIInterface; 117 + typedef struct IPMIInterface IPMIInterface; 120 118 121 119 typedef struct IPMIInterfaceClass { 122 120 InterfaceClass parent;
-4
include/hw/isa/isa.h
··· 43 43 #define ISADMA(obj) \ 44 44 INTERFACE_CHECK(IsaDma, (obj), TYPE_ISADMA) 45 45 46 - struct IsaDma { 47 - Object parent; 48 - }; 49 - 50 46 typedef enum { 51 47 ISADMA_TRANSFER_VERIFY, 52 48 ISADMA_TRANSFER_READ,
+1 -3
include/hw/mem/memory-device.h
··· 25 25 #define MEMORY_DEVICE(obj) \ 26 26 INTERFACE_CHECK(MemoryDeviceState, (obj), TYPE_MEMORY_DEVICE) 27 27 28 - typedef struct MemoryDeviceState { 29 - Object parent_obj; 30 - } MemoryDeviceState; 28 + typedef struct MemoryDeviceState MemoryDeviceState; 31 29 32 30 /** 33 31 * MemoryDeviceClass:
+1 -3
include/hw/nmi.h
··· 34 34 #define NMI(obj) \ 35 35 INTERFACE_CHECK(NMI, (obj), TYPE_NMI) 36 36 37 - typedef struct NMIState { 38 - Object parent_obj; 39 - } NMIState; 37 + typedef struct NMIState NMIState; 40 38 41 39 typedef struct NMIClass { 42 40 InterfaceClass parent_class;
+1 -3
include/hw/stream.h
··· 14 14 #define STREAM_SLAVE(obj) \ 15 15 INTERFACE_CHECK(StreamSlave, (obj), TYPE_STREAM_SLAVE) 16 16 17 - typedef struct StreamSlave { 18 - Object Parent; 19 - } StreamSlave; 17 + typedef struct StreamSlave StreamSlave; 20 18 21 19 typedef void (*StreamCanPushNotifyFn)(void *opaque); 22 20
+1 -3
include/hw/timer/m48t59.h
··· 13 13 #define NVRAM(obj) \ 14 14 INTERFACE_CHECK(Nvram, (obj), TYPE_NVRAM) 15 15 16 - typedef struct Nvram { 17 - Object parent; 18 - } Nvram; 16 + typedef struct Nvram Nvram; 19 17 20 18 typedef struct NvramClass { 21 19 InterfaceClass parent;
+1 -5
include/qom/object_interfaces.h
··· 16 16 INTERFACE_CHECK(UserCreatable, (obj), \ 17 17 TYPE_USER_CREATABLE) 18 18 19 - 20 - typedef struct UserCreatable { 21 - /* <private> */ 22 - Object Parent; 23 - } UserCreatable; 19 + typedef struct UserCreatable UserCreatable; 24 20 25 21 /** 26 22 * UserCreatableClass:
+1 -3
include/sysemu/tpm.h
··· 33 33 #define TPM_IF(obj) \ 34 34 INTERFACE_CHECK(TPMIf, (obj), TYPE_TPM_IF) 35 35 36 - typedef struct TPMIf { 37 - Object parent_obj; 38 - } TPMIf; 36 + typedef struct TPMIf TPMIf; 39 37 40 38 typedef struct TPMIfClass { 41 39 InterfaceClass parent_class;
+1 -3
target/arm/idau.h
··· 38 38 #define IDAU_INTERFACE_GET_CLASS(obj) \ 39 39 OBJECT_GET_CLASS(IDAUInterfaceClass, (obj), TYPE_IDAU_INTERFACE) 40 40 41 - typedef struct IDAUInterface { 42 - Object parent; 43 - } IDAUInterface; 41 + typedef struct IDAUInterface IDAUInterface; 44 42 45 43 #define IREGION_NOTVALID -1 46 44
+1 -3
tests/check-qom-interface.c
··· 23 23 #define TEST_IF(obj) \ 24 24 INTERFACE_CHECK(TestIf, (obj), TYPE_TEST_IF) 25 25 26 - typedef struct TestIf { 27 - Object parent_obj; 28 - } TestIf; 26 + typedef struct TestIf TestIf; 29 27 30 28 typedef struct TestIfClass { 31 29 InterfaceClass parent_class;