aboutsummaryrefslogtreecommitdiff
path: root/hw/intc
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2013-09-26 16:18:43 +1000
committerAlexander Graf <agraf@suse.de>2013-10-25 23:25:47 +0200
commit5eb92ccc3f23f958c0d21bed7c22abe6c1f1adda (patch)
treed4d939b0c4278b5a4bf14cb46fc9118b8640b36a /hw/intc
parent5a3d7b23ba41b4884b43b6bc936ea18f999d5c6b (diff)
xics: add cpu_setup callback
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 <aik@ozlabs.ru> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'hw/intc')
-rw-r--r--hw/intc/xics.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/intc/xics.c b/hw/intc/xics.c
index 5ed2618769..1c6e6f5454 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];