aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2014-04-07 16:48:42 +0200
committerAlexander Graf <agraf@suse.de>2014-04-08 11:20:05 +0200
commit6a2b3d89fa49ec060db646d196864a8fd15c10cf (patch)
tree3057d044d8cb5116608088baa1ff8be28e1493f0
parent05edc26c61d416831822b3186df099e8e21745b9 (diff)
downloadqemu-6a2b3d89fa49ec060db646d196864a8fd15c10cf.zip
qemu-6a2b3d89fa49ec060db646d196864a8fd15c10cf.tar.gz
qemu-6a2b3d89fa49ec060db646d196864a8fd15c10cf.tar.bz2
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 f9fdc8c..d49f2b8 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);
}
}