diff options
author | Alexander Graf <agraf@suse.de> | 2014-04-07 16:48:42 +0200 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2014-04-08 11:20:05 +0200 |
commit | 6a2b3d89fa49ec060db646d196864a8fd15c10cf (patch) | |
tree | 3057d044d8cb5116608088baa1ff8be28e1493f0 /hw/ppc | |
parent | 05edc26c61d416831822b3186df099e8e21745b9 (diff) |
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>
Diffstat (limited to 'hw/ppc')
-rw-r--r-- | hw/ppc/ppce500_spin.c | 6 |
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); } } |