summaryrefslogtreecommitdiff
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.tar.gz
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);
}
}