hw/misc/empty_slot: Move the 'hw/misc' and cover in MAINTAINERS
authorPhilippe Mathieu-Daudé <f4bug@amsat.org>
Mon, 24 Jun 2019 15:17:32 +0000 (17:17 +0200)
committerPhilippe Mathieu-Daudé <f4bug@amsat.org>
Tue, 9 Jun 2020 04:59:44 +0000 (06:59 +0200)
Add an entry for the 'empty_slot' device.

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

MAINTAINERS
hw/core/Makefile.objs
hw/core/empty_slot.c [deleted file]
hw/core/trace-events
hw/mips/malta.c
hw/misc/Makefile.objs
hw/misc/empty_slot.c [new file with mode: 0644]
hw/misc/trace-events
hw/sparc/sun4m.c
include/hw/empty_slot.h [deleted file]
include/hw/misc/empty_slot.h [new file with mode: 0644]

index 6e7890ce8222e688ccaad2e8f20d3b5d0b0c9079..3abe3faa4ee4f3db61feecd8e3e148aef6e8825c 100644 (file)
@@ -1864,6 +1864,13 @@ S: Maintained
 F: include/hw/misc/unimp.h
 F: hw/misc/unimp.c
 
+Empty slot
+M: Artyom Tarasenko <atar4qemu@gmail.com>
+R: Philippe Mathieu-Daudé <f4bug@amsat.org>
+S: Maintained
+F: include/hw/misc/empty_slot.h
+F: hw/misc/empty_slot.c
+
 Standard VGA
 M: Gerd Hoffmann <kraxel@redhat.com>
 S: Maintained
index 1d540ed6e783f17525f8ef2db0d4c11005dd17ce..d8fee8effed77b5c886ff8822f01169651aee0eb 100644 (file)
@@ -24,7 +24,6 @@ common-obj-$(CONFIG_SOFTMMU) += numa.o
 common-obj-$(CONFIG_SOFTMMU) += clock-vmstate.o
 obj-$(CONFIG_SOFTMMU) += machine-qmp-cmds.o
 
-common-obj-$(CONFIG_EMPTY_SLOT) += empty_slot.o
 common-obj-$(CONFIG_XILINX_AXI) += stream.o
 common-obj-$(CONFIG_PTIMER) += ptimer.o
 common-obj-$(CONFIG_FITLOADER) += loader-fit.o
diff --git a/hw/core/empty_slot.c b/hw/core/empty_slot.c
deleted file mode 100644 (file)
index d28f7f9..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * QEMU Empty Slot
- *
- * The empty_slot device emulates known to a bus but not connected devices.
- *
- * Copyright (c) 2010 Artyom Tarasenko
- *
- * This code is licensed under the GNU GPL v2 or (at your option) any later
- * version.
- */
-
-#include "qemu/osdep.h"
-#include "hw/sysbus.h"
-#include "qemu/module.h"
-#include "hw/qdev-properties.h"
-#include "hw/empty_slot.h"
-#include "trace.h"
-
-#define TYPE_EMPTY_SLOT "empty_slot"
-#define EMPTY_SLOT(obj) OBJECT_CHECK(EmptySlot, (obj), TYPE_EMPTY_SLOT)
-
-typedef struct EmptySlot {
-    SysBusDevice parent_obj;
-
-    MemoryRegion iomem;
-    char *name;
-    uint64_t size;
-} EmptySlot;
-
-static uint64_t empty_slot_read(void *opaque, hwaddr addr,
-                                unsigned size)
-{
-    EmptySlot *s = EMPTY_SLOT(opaque);
-
-    trace_empty_slot_write(addr, size << 1, 0, size, s->name);
-
-    return 0;
-}
-
-static void empty_slot_write(void *opaque, hwaddr addr,
-                             uint64_t val, unsigned size)
-{
-    EmptySlot *s = EMPTY_SLOT(opaque);
-
-    trace_empty_slot_write(addr, size << 1, val, size, s->name);
-}
-
-static const MemoryRegionOps empty_slot_ops = {
-    .read = empty_slot_read,
-    .write = empty_slot_write,
-    .endianness = DEVICE_NATIVE_ENDIAN,
-};
-
-void empty_slot_init(hwaddr addr, uint64_t slot_size)
-{
-    if (slot_size > 0) {
-        /* Only empty slots larger than 0 byte need handling. */
-        DeviceState *dev;
-
-        dev = qdev_create(NULL, TYPE_EMPTY_SLOT);
-
-        qdev_prop_set_uint64(dev, "size", slot_size);
-        qdev_init_nofail(dev);
-
-        sysbus_mmio_map_overlap(SYS_BUS_DEVICE(dev), 0, addr, -10000);
-    }
-}
-
-static void empty_slot_realize(DeviceState *dev, Error **errp)
-{
-    EmptySlot *s = EMPTY_SLOT(dev);
-
-    if (s->name == NULL) {
-        s->name = g_strdup("empty-slot");
-    }
-    memory_region_init_io(&s->iomem, OBJECT(s), &empty_slot_ops, s,
-                          s->name, s->size);
-    sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem);
-}
-
-static Property empty_slot_properties[] = {
-    DEFINE_PROP_UINT64("size", EmptySlot, size, 0),
-    DEFINE_PROP_STRING("name", EmptySlot, name),
-    DEFINE_PROP_END_OF_LIST(),
-};
-
-static void empty_slot_class_init(ObjectClass *klass, void *data)
-{
-    DeviceClass *dc = DEVICE_CLASS(klass);
-
-    dc->realize = empty_slot_realize;
-    device_class_set_props(dc, empty_slot_properties);
-}
-
-static const TypeInfo empty_slot_info = {
-    .name          = TYPE_EMPTY_SLOT,
-    .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(EmptySlot),
-    .class_init    = empty_slot_class_init,
-};
-
-static void empty_slot_register_types(void)
-{
-    type_register_static(&empty_slot_info);
-}
-
-type_init(empty_slot_register_types)
index bbb68fb6f0c606aad173af8fd509baeb89a5ebad..1ac60ede6b7e9873f029bcbb9f9216b23a0ec41b 100644 (file)
@@ -34,7 +34,3 @@ clock_disconnect(const char *clk) "'%s'"
 clock_set(const char *clk, uint64_t old, uint64_t new) "'%s', ns=%"PRIu64"->%"PRIu64
 clock_propagate(const char *clk) "'%s'"
 clock_update(const char *clk, const char *src, uint64_t val, int cb) "'%s', src='%s', ns=%"PRIu64", cb=%d"
-
-# empty_slot.c
-empty_slot_read(uint64_t addr, unsigned width, uint64_t value, unsigned size, const char *name) "rd addr:0x%04"PRIx64" data:0x%0*"PRIx64" size %u [%s]"
-empty_slot_write(uint64_t addr, unsigned width, uint64_t value, unsigned size, const char *name) "wr addr:0x%04"PRIx64" data:0x%0*"PRIx64" size %u [%s]"
index 636c95d1fe0d62f70e75f8b4670cf07c40cc57a5..c973c76b2a5aaa66bab39ca1cdd3b1ea033b849a 100644 (file)
@@ -52,7 +52,7 @@
 #include "sysemu/runstate.h"
 #include "qapi/error.h"
 #include "qemu/error-report.h"
-#include "hw/empty_slot.h"
+#include "hw/misc/empty_slot.h"
 #include "sysemu/kvm.h"
 #include "hw/semihosting/semihost.h"
 #include "hw/mips/cps.h"
index 60a9d80b742603d2ca3310b56a1833529ad67756..5aaca8a039e3a4ae81907d18c5cf0678efc0c7c4 100644 (file)
@@ -10,6 +10,7 @@ common-obj-$(CONFIG_EDU) += edu.o
 common-obj-$(CONFIG_PCA9552) += pca9552.o
 
 common-obj-$(CONFIG_UNIMP) += unimp.o
+common-obj-$(CONFIG_EMPTY_SLOT) += empty_slot.o
 common-obj-$(CONFIG_FW_CFG_DMA) += vmcoreinfo.o
 
 # ARM devices
diff --git a/hw/misc/empty_slot.c b/hw/misc/empty_slot.c
new file mode 100644 (file)
index 0000000..54be085
--- /dev/null
@@ -0,0 +1,107 @@
+/*
+ * QEMU Empty Slot
+ *
+ * The empty_slot device emulates known to a bus but not connected devices.
+ *
+ * Copyright (c) 2010 Artyom Tarasenko
+ *
+ * This code is licensed under the GNU GPL v2 or (at your option) any later
+ * version.
+ */
+
+#include "qemu/osdep.h"
+#include "hw/sysbus.h"
+#include "hw/qdev-properties.h"
+#include "hw/misc/empty_slot.h"
+#include "trace.h"
+
+#define TYPE_EMPTY_SLOT "empty_slot"
+#define EMPTY_SLOT(obj) OBJECT_CHECK(EmptySlot, (obj), TYPE_EMPTY_SLOT)
+
+typedef struct EmptySlot {
+    SysBusDevice parent_obj;
+
+    MemoryRegion iomem;
+    char *name;
+    uint64_t size;
+} EmptySlot;
+
+static uint64_t empty_slot_read(void *opaque, hwaddr addr,
+                                unsigned size)
+{
+    EmptySlot *s = EMPTY_SLOT(opaque);
+
+    trace_empty_slot_write(addr, size << 1, 0, size, s->name);
+
+    return 0;
+}
+
+static void empty_slot_write(void *opaque, hwaddr addr,
+                             uint64_t val, unsigned size)
+{
+    EmptySlot *s = EMPTY_SLOT(opaque);
+
+    trace_empty_slot_write(addr, size << 1, val, size, s->name);
+}
+
+static const MemoryRegionOps empty_slot_ops = {
+    .read = empty_slot_read,
+    .write = empty_slot_write,
+    .endianness = DEVICE_NATIVE_ENDIAN,
+};
+
+void empty_slot_init(hwaddr addr, uint64_t slot_size)
+{
+    if (slot_size > 0) {
+        /* Only empty slots larger than 0 byte need handling. */
+        DeviceState *dev;
+
+        dev = qdev_create(NULL, TYPE_EMPTY_SLOT);
+
+        qdev_prop_set_uint64(dev, "size", slot_size);
+        qdev_init_nofail(dev);
+
+        sysbus_mmio_map_overlap(SYS_BUS_DEVICE(dev), 0, addr, -10000);
+    }
+}
+
+static void empty_slot_realize(DeviceState *dev, Error **errp)
+{
+    EmptySlot *s = EMPTY_SLOT(dev);
+
+    if (s->name == NULL) {
+        s->name = g_strdup("empty-slot");
+    }
+    memory_region_init_io(&s->iomem, OBJECT(s), &empty_slot_ops, s,
+                          s->name, s->size);
+    sysbus_init_mmio(SYS_BUS_DEVICE(dev), &s->iomem);
+}
+
+static Property empty_slot_properties[] = {
+    DEFINE_PROP_UINT64("size", EmptySlot, size, 0),
+    DEFINE_PROP_STRING("name", EmptySlot, name),
+    DEFINE_PROP_END_OF_LIST(),
+};
+
+static void empty_slot_class_init(ObjectClass *klass, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(klass);
+
+    dc->realize = empty_slot_realize;
+    device_class_set_props(dc, empty_slot_properties);
+    set_bit(DEVICE_CATEGORY_MISC, dc->categories);
+}
+
+static const TypeInfo empty_slot_info = {
+    .name          = TYPE_EMPTY_SLOT,
+    .parent        = TYPE_SYS_BUS_DEVICE,
+    .instance_size = sizeof(EmptySlot),
+    .class_init    = empty_slot_class_init,
+};
+
+static void empty_slot_register_types(void)
+{
+    type_register_static(&empty_slot_info);
+}
+
+type_init(empty_slot_register_types)
index a5862b2bed11e08f7e3eb3c73684cc51e8259720..0cb4c64ae71466798e878d36f8ec067017f02be5 100644 (file)
@@ -39,6 +39,10 @@ ecc_mem_readl_ecr1(uint32_t ret) "Read event count 2 0x%08x"
 ecc_diag_mem_writeb(uint64_t addr, uint32_t val) "Write diagnostic %"PRId64" = 0x%02x"
 ecc_diag_mem_readb(uint64_t addr, uint32_t ret) "Read diagnostic %"PRId64"= 0x%02x"
 
+# empty_slot.c
+empty_slot_read(uint64_t addr, unsigned width, uint64_t value, unsigned size, const char *name) "rd addr:0x%04"PRIx64" data:0x%0*"PRIx64" size %u [%s]"
+empty_slot_write(uint64_t addr, unsigned width, uint64_t value, unsigned size, const char *name) "wr addr:0x%04"PRIx64" data:0x%0*"PRIx64" size %u [%s]"
+
 # slavio_misc.c
 slavio_misc_update_irq_raise(void) "Raise IRQ"
 slavio_misc_update_irq_lower(void) "Lower IRQ"
index fa3dd7775f98aa5343d9bbcc81a05f1546f40085..a16e667bee8b64b5bf2062ea00e0aa46019d7c7d 100644 (file)
@@ -46,7 +46,7 @@
 #include "hw/nvram/chrp_nvram.h"
 #include "hw/nvram/fw_cfg.h"
 #include "hw/char/escc.h"
-#include "hw/empty_slot.h"
+#include "hw/misc/empty_slot.h"
 #include "hw/misc/unimp.h"
 #include "hw/irq.h"
 #include "hw/loader.h"
diff --git a/include/hw/empty_slot.h b/include/hw/empty_slot.h
deleted file mode 100644 (file)
index cb9a221..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef HW_EMPTY_SLOT_H
-#define HW_EMPTY_SLOT_H
-
-#include "exec/hwaddr.h"
-
-/* empty_slot.c */
-void empty_slot_init(hwaddr addr, uint64_t slot_size);
-
-#endif
diff --git a/include/hw/misc/empty_slot.h b/include/hw/misc/empty_slot.h
new file mode 100644 (file)
index 0000000..b023bc2
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * QEMU Empty Slot
+ *
+ * The empty_slot device emulates known to a bus but not connected devices.
+ *
+ * Copyright (c) 2010 Artyom Tarasenko
+ *
+ * This code is licensed under the GNU GPL v2 or (at your option) any later
+ * version.
+ */
+
+#ifndef HW_EMPTY_SLOT_H
+#define HW_EMPTY_SLOT_H
+
+#include "exec/hwaddr.h"
+
+void empty_slot_init(hwaddr addr, uint64_t slot_size);
+
+#endif