[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 05/50] dino: add memory-as property containing a link to the memo
From: |
Mark Cave-Ayland |
Subject: |
[PATCH 05/50] dino: add memory-as property containing a link to the memory address space |
Date: |
Thu, 21 Apr 2022 20:30:15 +0100 |
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
---
hw/hppa/dino.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/hw/hppa/dino.c b/hw/hppa/dino.c
index bc27aad5dc..13b2210462 100644
--- a/hw/hppa/dino.c
+++ b/hw/hppa/dino.c
@@ -17,6 +17,7 @@
#include "hw/irq.h"
#include "hw/pci/pci.h"
#include "hw/pci/pci_bus.h"
+#include "hw/qdev-properties.h"
#include "migration/vmstate.h"
#include "hppa_sys.h"
#include "trace.h"
@@ -124,6 +125,8 @@ struct DinoState {
MemoryRegion pci_mem;
MemoryRegion pci_mem_alias[32];
+ MemoryRegion *memory_as;
+
AddressSpace bm_as;
MemoryRegion bm;
MemoryRegion bm_ram_alias;
@@ -521,6 +524,8 @@ PCIBus *dino_init(MemoryRegion *addr_space,
PCIBus *b;
dev = qdev_new(TYPE_DINO_PCI_HOST_BRIDGE);
+ object_property_set_link(OBJECT(dev), "memory-as", OBJECT(addr_space),
+ &error_fatal);
s = DINO_PCI_HOST_BRIDGE(dev);
s->iar0 = s->iar1 = CPU_HPA + 3;
s->toc_addr = 0xFFFA0030; /* IO_COMMAND of CPU */
@@ -603,10 +608,17 @@ static void dino_pcihost_init(Object *obj)
sysbus_init_mmio(sbd, &s->this_mem);
}
+static Property dino_pcihost_properties[] = {
+ DEFINE_PROP_LINK("memory-as", DinoState, memory_as, TYPE_MEMORY_REGION,
+ MemoryRegion *),
+ DEFINE_PROP_END_OF_LIST(),
+};
+
static void dino_pcihost_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
+ device_class_set_props(dc, dino_pcihost_properties);
dc->vmsd = &vmstate_dino;
}
--
2.20.1
- [PATCH 00/50] hppa: general improvements and tidy-ups, Mark Cave-Ayland, 2022/04/21
- [PATCH 01/50] dino: checkpatch fixes, Mark Cave-Ayland, 2022/04/21
- [PATCH 02/50] dino: move registers from dino_init() to DINO_PCI_BRIDGE init function, Mark Cave-Ayland, 2022/04/21
- [PATCH 03/50] dino: move PCI bus initialisation to dino_pcihost_init(), Mark Cave-Ayland, 2022/04/21
- [PATCH 04/50] dino: move PCI windows initialisation to dino_pcihost_init(), Mark Cave-Ayland, 2022/04/21
- [PATCH 07/50] dino: move PCI bus master address space setup to dino_pcihost_realize(), Mark Cave-Ayland, 2022/04/21
- [PATCH 09/50] dino: use QOM cast instead of directly referencing parent_obj, Mark Cave-Ayland, 2022/04/21
- [PATCH 10/50] dino: return PCIBus from dino_init() using qdev_get_child_bus(), Mark Cave-Ayland, 2022/04/21
- [PATCH 08/50] dino: move initial register configuration to new dino_pcihost_reset() function, Mark Cave-Ayland, 2022/04/21
- [PATCH 06/50] dino: move pci_setup_iommu() to dino_pcihost_init(), Mark Cave-Ayland, 2022/04/21
- [PATCH 05/50] dino: add memory-as property containing a link to the memory address space,
Mark Cave-Ayland <=
- [PATCH 11/50] dino: split declarations from dino.c into dino.h, Mark Cave-Ayland, 2022/04/21
- [PATCH 18/50] dino: remove unused dino_set_timer_irq() IRQ handler, Mark Cave-Ayland, 2022/04/21
- [PATCH 13/50] dino: change dino_init() to return the DINO device instead of PCIBus, Mark Cave-Ayland, 2022/04/21
- [PATCH 12/50] hppa: use new CONFIG_HPPA_GENERIC option instead of CONFIG_DINO to build hppa machine, Mark Cave-Ayland, 2022/04/21
- [PATCH 15/50] dino.h: add defines for DINO IRQ numbers, Mark Cave-Ayland, 2022/04/21
- [PATCH 17/50] dino: wire up serial IRQ using a qdev GPIO in machine.c, Mark Cave-Ayland, 2022/04/21
- [PATCH 20/50] dino: use numerical constant for iar0 and iar1 reset values, Mark Cave-Ayland, 2022/04/21
- [PATCH 16/50] dino: define IRQ inputs as qdev GPIOs, Mark Cave-Ayland, 2022/04/21
- [PATCH 19/50] hppa: move dino_init() from dino.c to machine.c, Mark Cave-Ayland, 2022/04/21
- [PATCH 14/50] machine.c: map DINO device during board configuration, Mark Cave-Ayland, 2022/04/21