[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 17/29] xics: add cpu_setup callback
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PULL 17/29] xics: add cpu_setup callback |
Date: |
Fri, 25 Oct 2013 23:27:42 +0200 |
From: Alexey Kardashevskiy <address@hidden>
This adds a cpu_setup callback to the XICS device class (as XICS-KVM
will do it different), xics_cpu_setup() will call it if it is set.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>
---
hw/intc/xics.c | 5 +++++
include/hw/ppc/xics.h | 1 +
2 files changed, 6 insertions(+)
diff --git a/hw/intc/xics.c b/hw/intc/xics.c
index 5ed2618..1c6e6f5 100644
--- a/hw/intc/xics.c
+++ b/hw/intc/xics.c
@@ -37,9 +37,14 @@ void xics_cpu_setup(XICSState *icp, PowerPCCPU *cpu)
CPUState *cs = CPU(cpu);
CPUPPCState *env = &cpu->env;
ICPState *ss = &icp->ss[cs->cpu_index];
+ XICSStateClass *info = XICS_COMMON_GET_CLASS(icp);
assert(cs->cpu_index < icp->nr_servers);
+ if (info->cpu_setup) {
+ info->cpu_setup(icp, cpu);
+ }
+
switch (PPC_INPUT(env)) {
case PPC_FLAGS_INPUT_POWER7:
ss->output = env->irq_inputs[POWER7_INPUT_INT];
diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h
index 7e702a0..343bba8 100644
--- a/include/hw/ppc/xics.h
+++ b/include/hw/ppc/xics.h
@@ -64,6 +64,7 @@ typedef struct ICSIRQState ICSIRQState;
struct XICSStateClass {
DeviceClass parent_class;
+ void (*cpu_setup)(XICSState *icp, PowerPCCPU *cpu);
void (*set_nr_irqs)(XICSState *icp, uint32_t nr_irqs, Error **errp);
void (*set_nr_servers)(XICSState *icp, uint32_t nr_servers, Error **errp);
};
--
1.8.1.4
- [Qemu-devel] [PULL 03/29] ppc: Add CFAR, DAR and DSISR to the dictionary of printable registers, (continued)
- [Qemu-devel] [PULL 03/29] ppc: Add CFAR, DAR and DSISR to the dictionary of printable registers, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 04/29] target-ppc: Little Endian Correction to Load/Store Vector Element, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 19/29] xics: Implement H_IPOLL, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 11/29] spapr: move cpu_setup after kvmppc_set_papr, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 20/29] xics: Implement H_XIRR_X, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 05/29] PPC: Fix L2CR write accesses, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 10/29] xics: move reset and cpu_setup, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 08/29] spapr-rtas: fix h_rtas parameters reading, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 15/29] xics: add missing const specifiers to TypeInfo, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 12/29] xics: replace fprintf with error_report, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 17/29] xics: add cpu_setup callback,
Alexander Graf <=
- [Qemu-devel] [PULL 13/29] xics: add pre_save/post_load dispatchers, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 14/29] xics: convert init() to realize(), Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 22/29] spapr-pci: enable irqfd for INTx, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 21/29] xics-kvm: enable irqfd for MSI, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 06/29] spapr: increase temporary fdt buffer size, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 16/29] xics: split to xics and xics-common, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 09/29] target-ppc: Add helper for KVM_PPC_RTAS_DEFINE_TOKEN, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 18/29] xics-kvm: Support for in-kernel XICS interrupt controller, Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 23/29] target-ppc: Update slb array with correct index values., Alexander Graf, 2013/10/25
- [Qemu-devel] [PULL 26/29] dump-guest-memory: Check for the correct return value, Alexander Graf, 2013/10/25