[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PULL 41/49] pseries: Move /event-sources construction to spa
From: |
David Gibson |
Subject: |
[Qemu-ppc] [PULL 41/49] pseries: Move /event-sources construction to spapr_build_fdt() |
Date: |
Wed, 26 Oct 2016 22:42:45 +1100 |
The /event-sources device tree node is built from spapr_create_fdt_skel().
As part of consolidating device tree construction to reset time, this moves
it to spapr_build_fdt().
Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Thomas Huth <address@hidden>
Reviewed-by: Michael Roth <address@hidden>
---
hw/ppc/spapr.c | 6 +++---
hw/ppc/spapr_events.c | 21 ++++++++++-----------
include/hw/ppc/spapr.h | 2 +-
3 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 1b61de2..048fb3d 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -328,9 +328,6 @@ static void *spapr_create_fdt_skel(sPAPRMachineState *spapr)
_FDT((fdt_end_node(fdt)));
- /* event-sources */
- spapr_events_fdt_skel(fdt, spapr->check_exception_irq);
-
/* /hypervisor node */
if (kvm_enabled()) {
uint8_t hypercall[16];
@@ -983,6 +980,9 @@ static void *spapr_build_fdt(sPAPRMachineState *spapr,
}
}
+ /* /event-sources */
+ spapr_dt_events(fdt, spapr->check_exception_irq);
+
/* /rtas */
spapr_dt_rtas(spapr, fdt);
diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c
index 6d35345..89aa5a7 100644
--- a/hw/ppc/spapr_events.c
+++ b/hw/ppc/spapr_events.c
@@ -211,23 +211,22 @@ struct hp_log_full {
#define EVENT_MASK_HOTPLUG 0x10000000
#define EVENT_MASK_IO 0x08000000
-void spapr_events_fdt_skel(void *fdt, uint32_t check_exception_irq)
+void spapr_dt_events(void *fdt, uint32_t check_exception_irq)
{
+ int event_sources, epow_events;
uint32_t irq_ranges[] = {cpu_to_be32(check_exception_irq), cpu_to_be32(1)};
uint32_t interrupts[] = {cpu_to_be32(check_exception_irq), 0};
- _FDT((fdt_begin_node(fdt, "event-sources")));
+ _FDT(event_sources = fdt_add_subnode(fdt, 0, "event-sources"));
- _FDT((fdt_property(fdt, "interrupt-controller", NULL, 0)));
- _FDT((fdt_property_cell(fdt, "#interrupt-cells", 2)));
- _FDT((fdt_property(fdt, "interrupt-ranges",
- irq_ranges, sizeof(irq_ranges))));
+ _FDT(fdt_setprop(fdt, event_sources, "interrupt-controller", NULL, 0));
+ _FDT(fdt_setprop_cell(fdt, event_sources, "#interrupt-cells", 2));
+ _FDT(fdt_setprop(fdt, event_sources, "interrupt-ranges",
+ irq_ranges, sizeof(irq_ranges)));
- _FDT((fdt_begin_node(fdt, "epow-events")));
- _FDT((fdt_property(fdt, "interrupts", interrupts, sizeof(interrupts))));
- _FDT((fdt_end_node(fdt)));
-
- _FDT((fdt_end_node(fdt)));
+ _FDT(epow_events = fdt_add_subnode(fdt, event_sources, "epow-events"));
+ _FDT(fdt_setprop(fdt, epow_events, "interrupts",
+ interrupts, sizeof(interrupts)));
}
static void rtas_event_log_queue(int log_type, void *data, bool exception)
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
index 8b8bb97..ae7d1d7 100644
--- a/include/hw/ppc/spapr.h
+++ b/include/hw/ppc/spapr.h
@@ -581,7 +581,7 @@ struct sPAPREventLogEntry {
};
void spapr_events_init(sPAPRMachineState *sm);
-void spapr_events_fdt_skel(void *fdt, uint32_t epow_irq);
+void spapr_dt_events(void *fdt, uint32_t check_exception_irq);
int spapr_h_cas_compose_response(sPAPRMachineState *sm,
target_ulong addr, target_ulong size,
bool cpu_update, bool memory_update);
--
2.7.4
- [Qemu-ppc] [PULL 38/49] pseries: Move construction of /interrupt-controller fdt node, (continued)
- [Qemu-ppc] [PULL 38/49] pseries: Move construction of /interrupt-controller fdt node, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 26/49] ppc/pnv: add a PIR handler to PnvChip, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 40/49] pseries: Consolidate construction of /rtas device tree node, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 43/49] pseries: Consolidate construction of /vdevice device tree node, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 25/49] ppc/pnv: add a core mask to PnvChip, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 44/49] pseries: Remove spapr_create_fdt_skel(), David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 47/49] spapr: add option vector handling in CAS-generated resets, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 28/49] ppc/pnv: add XSCOM infrastructure, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 46/49] spapr_hcall: use spapr_ovec_* interfaces for CAS options, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 49/49] adb: change handler only when recognized, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 41/49] pseries: Move /event-sources construction to spapr_build_fdt(),
David Gibson <=
- [Qemu-ppc] [PULL 23/49] ppc/pnv: add skeleton PowerNV platform, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 30/49] ppc/pnv: add a LPC controller, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 48/49] spapr: improve ibm, architecture-vec-5 property handling, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 45/49] spapr_ovec: initial implementation of option vector helpers, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 01/49] pseries: Update SLOF firmware image to 20161019, David Gibson, 2016/10/26
- [Qemu-ppc] [PULL 22/49] ppc: add skiboot firmware for the pnv platform, David Gibson, 2016/10/26
- Re: [Qemu-ppc] [PULL 00/49] ppc-for-2.8 queue 20161026, Peter Maydell, 2016/10/27