summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Graf2014-04-07 16:48:42 +0200
committerAlexander Graf2014-04-08 11:20:05 +0200
commit6a2b3d89fa49ec060db646d196864a8fd15c10cf (patch)
tree3057d044d8cb5116608088baa1ff8be28e1493f0
parentPPC: Only enter MSR_POW when no interrupts pending (diff)
downloadqemu-6a2b3d89fa49ec060db646d196864a8fd15c10cf.tar.gz
qemu-6a2b3d89fa49ec060db646d196864a8fd15c10cf.tar.xz
qemu-6a2b3d89fa49ec060db646d196864a8fd15c10cf.zip
ppce500_spin: Initialize struct properly
The spinning struct is in guest endianness, so we need to initialize its variables in guest endianness too. This fixes booting e500 guests with SMP on x86 for me. Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--hw/ppc/ppce500_spin.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/hw/ppc/ppce500_spin.c b/hw/ppc/ppce500_spin.c
index f9fdc8c548..d49f2b8803 100644
--- a/hw/ppc/ppce500_spin.c
+++ b/hw/ppc/ppce500_spin.c
@@ -65,9 +65,9 @@ static void spin_reset(void *opaque)
for (i = 0; i < MAX_CPUS; i++) {
SpinInfo *info = &s->spin[i];
- info->pir = i;
- info->r3 = i;
- info->addr = 1;
+ stl_p(&info->pir, i);
+ stq_p(&info->r3, i);
+ stq_p(&info->addr, 1);
}
}