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

hw/sparc/sun4m: Use UnimplementedDevice for I/O devices

These devices are not slots on a bus, but real I/O devices
that we do not implement. As the ISDN ROM would be a ROMD
device, also model it as UnimplementedDevice.

Reviewed-by: Artyom Tarasenko <atar4qemu@gmail.com>
Message-Id: <20200510152840.13558-2-f4bug@amsat.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

+8 -4
+1
hw/sparc/Kconfig
··· 5 5 select CS4231 6 6 select ECCMEMCTL 7 7 select EMPTY_SLOT 8 + select UNIMP 8 9 select ESCC 9 10 select ESP 10 11 select FDC
+7 -4
hw/sparc/sun4m.c
··· 47 47 #include "hw/nvram/fw_cfg.h" 48 48 #include "hw/char/escc.h" 49 49 #include "hw/empty_slot.h" 50 + #include "hw/misc/unimp.h" 50 51 #include "hw/irq.h" 51 52 #include "hw/loader.h" 52 53 #include "elf.h" ··· 968 969 } 969 970 970 971 if (hwdef->sx_base) { 971 - empty_slot_init(hwdef->sx_base, 0x2000); 972 + create_unimplemented_device("SUNW,sx", hwdef->sx_base, 0x2000); 972 973 } 973 974 974 975 nvram = m48t59_init(slavio_irq[0], hwdef->nvram_base, 0, 0x2000, 1968, 8); ··· 1031 1032 if (hwdef->dbri_base) { 1032 1033 /* ISDN chip with attached CS4215 audio codec */ 1033 1034 /* prom space */ 1034 - empty_slot_init(hwdef->dbri_base+0x1000, 0x30); 1035 + create_unimplemented_device("SUNW,DBRI.prom", 1036 + hwdef->dbri_base + 0x1000, 0x30); 1035 1037 /* reg space */ 1036 - empty_slot_init(hwdef->dbri_base+0x10000, 0x100); 1038 + create_unimplemented_device("SUNW,DBRI", 1039 + hwdef->dbri_base + 0x10000, 0x100); 1037 1040 } 1038 1041 1039 1042 if (hwdef->bpp_base) { 1040 1043 /* parallel port */ 1041 - empty_slot_init(hwdef->bpp_base, 0x20); 1044 + create_unimplemented_device("SUNW,bpp", hwdef->bpp_base, 0x20); 1042 1045 } 1043 1046 1044 1047 initrd_size = 0;