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

hw/arm/aspeed: QOM'ify AspeedMachineState

AspeedMachineState seems crippled. We use incorrectly 2
different structures to do the same thing. Merge them
altogether:
- Move AspeedMachine fields to AspeedMachineState
- AspeedMachineState is now QOM
- Remove unused AspeedMachine structure

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-id: 20200623072132.2868-4-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

authored by

Philippe Mathieu-Daudé and committed by
Peter Maydell
888b2b03 612b219a

+8 -11
+7 -4
hw/arm/aspeed.c
··· 33 33 }; 34 34 35 35 struct AspeedMachineState { 36 + /* Private */ 37 + MachineState parent_obj; 38 + /* Public */ 39 + 36 40 AspeedSoCState soc; 37 41 MemoryRegion ram_container; 38 42 MemoryRegion max_ram; 43 + bool mmio_exec; 39 44 }; 40 45 41 46 /* Palmetto hardware value: 0x120CE416 */ ··· 253 258 254 259 static void aspeed_machine_init(MachineState *machine) 255 260 { 256 - AspeedMachineState *bmc; 261 + AspeedMachineState *bmc = ASPEED_MACHINE(machine); 257 262 AspeedMachineClass *amc = ASPEED_MACHINE_GET_CLASS(machine); 258 263 AspeedSoCClass *sc; 259 264 DriveInfo *drive0 = drive_get(IF_MTD, 0, 0); 260 265 ram_addr_t max_ram_size; 261 266 int i; 262 267 NICInfo *nd = &nd_table[0]; 263 - 264 - bmc = g_new0(AspeedMachineState, 1); 265 268 266 269 memory_region_init(&bmc->ram_container, NULL, "aspeed-ram-container", 267 270 4 * GiB); ··· 751 754 }, { 752 755 .name = TYPE_ASPEED_MACHINE, 753 756 .parent = TYPE_MACHINE, 754 - .instance_size = sizeof(AspeedMachine), 757 + .instance_size = sizeof(AspeedMachineState), 755 758 .instance_init = aspeed_machine_instance_init, 756 759 .class_size = sizeof(AspeedMachineClass), 757 760 .class_init = aspeed_machine_class_init,
+1 -7
include/hw/arm/aspeed.h
··· 15 15 16 16 #define TYPE_ASPEED_MACHINE MACHINE_TYPE_NAME("aspeed") 17 17 #define ASPEED_MACHINE(obj) \ 18 - OBJECT_CHECK(AspeedMachine, (obj), TYPE_ASPEED_MACHINE) 19 - 20 - typedef struct AspeedMachine { 21 - MachineState parent_obj; 22 - 23 - bool mmio_exec; 24 - } AspeedMachine; 18 + OBJECT_CHECK(AspeedMachineState, (obj), TYPE_ASPEED_MACHINE) 25 19 26 20 #define ASPEED_MAC0_ON (1 << 0) 27 21 #define ASPEED_MAC1_ON (1 << 1)