[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [PATCH V10 7/9] hw/misc/pvpanic: preparing for adding configu
From: |
Peng Hao |
Subject: |
[Qemu-arm] [PATCH V10 7/9] hw/misc/pvpanic: preparing for adding configure interface |
Date: |
Wed, 28 Nov 2018 20:12:50 +0800 |
Prepare for pvpanic-mmio configure interface.
Signed-off-by: Peng Hao <address@hidden>
---
hw/arm/sysbus-fdt.c | 2 ++
hw/arm/virt.c | 2 ++
hw/misc/pvpanic.c | 11 +++++++++--
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/hw/arm/sysbus-fdt.c b/hw/arm/sysbus-fdt.c
index ad698d4..34577f3 100644
--- a/hw/arm/sysbus-fdt.c
+++ b/hw/arm/sysbus-fdt.c
@@ -38,6 +38,7 @@
#include "hw/vfio/vfio-amd-xgbe.h"
#include "hw/display/ramfb.h"
#include "hw/arm/fdt.h"
+#include "hw/misc/pvpanic.h"
/*
* internal struct that contains the information to create dynamic
@@ -459,6 +460,7 @@ static const BindingEntry bindings[] = {
VFIO_PLATFORM_BINDING("amd,xgbe-seattle-v1a", add_amd_xgbe_fdt_node),
#endif
TYPE_BINDING(TYPE_RAMFB_DEVICE, no_fdt_node),
+ TYPE_BINDING(TYPE_PVPANIC_MMIO, no_fdt_node),
TYPE_BINDING("", NULL), /* last element */
};
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index f2cb5de..1fd5941 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -59,6 +59,7 @@
#include "qapi/visitor.h"
#include "standard-headers/linux/input.h"
#include "hw/arm/smmuv3.h"
+#include "hw/misc/pvpanic.h"
#define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \
static void virt_##major##_##minor##_class_init(ObjectClass *oc, \
@@ -1783,6 +1784,7 @@ static void virt_machine_class_init(ObjectClass *oc, void
*data)
machine_class_allow_dynamic_sysbus_dev(mc, TYPE_VFIO_CALXEDA_XGMAC);
machine_class_allow_dynamic_sysbus_dev(mc, TYPE_VFIO_AMD_XGBE);
machine_class_allow_dynamic_sysbus_dev(mc, TYPE_RAMFB_DEVICE);
+ machine_class_allow_dynamic_sysbus_dev(mc, TYPE_PVPANIC_MMIO);
machine_class_allow_dynamic_sysbus_dev(mc, TYPE_VFIO_PLATFORM);
mc->block_default_type = IF_VIRTIO;
mc->no_cdrom = 1;
diff --git a/hw/misc/pvpanic.c b/hw/misc/pvpanic.c
index c9382a8..b6b5c89 100644
--- a/hw/misc/pvpanic.c
+++ b/hw/misc/pvpanic.c
@@ -67,7 +67,7 @@ typedef struct PVPanicISAState {
typedef struct PVPanicMMIOState {
SysBusDevice parent_obj;
/*<private>*/
-
+ uint32_t base;
/* public */
MemoryRegion mr;
} PVPanicMMIOState;
@@ -151,10 +151,17 @@ static void pvpanic_mmio_initfn(Object *obj)
sysbus_init_mmio(sbd, &s->mr);
}
+static Property pvpanic_mmio_properties[] = {
+ DEFINE_PROP_UINT32("mmio", PVPanicMMIOState, base, 0x09070000),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
static void pvpanic_mmio_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
-
+
+ dc->user_creatable = true;
+ dc->props = pvpanic_mmio_properties;
set_bit(DEVICE_CATEGORY_MISC, dc->categories);
}
--
1.8.3.1
- [Qemu-arm] [PATCH V10 2/9] hw/misc/pvpanic: Cosmetic renaming, (continued)
- [Qemu-arm] [PATCH V10 2/9] hw/misc/pvpanic: Cosmetic renaming, Peng Hao, 2018/11/27
- [Qemu-arm] [PATCH V10 3/9] hw/misc/pvpanic: Add the MMIO interface, Peng Hao, 2018/11/27
- [Qemu-arm] [PATCH V10 5/9] hw/arm/virt: add pvpanic device in virt acpi table, Peng Hao, 2018/11/27
- [Qemu-arm] [PATCH V10 6/9] hw/misc/pvpanic: add configure query interface, Peng Hao, 2018/11/27
- [Qemu-arm] [PATCH V10 9/9] pvpanic : update pvpanic document, Peng Hao, 2018/11/27
- [Qemu-arm] [PATCH V10 7/9] hw/misc/pvpanic: preparing for adding configure interface,
Peng Hao <=
[Qemu-arm] [PATCH V10 8/9] hw/misc/pvpanic: realize the configure interface, Peng Hao, 2018/11/27