From dc702288a3604ce8f788a5b9c7a19fad6d1aa50b Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Wed, 2 Dec 2009 23:20:29 +0100 Subject: [PATCH] targe-ppc: Sync CPU state for KVM Some recent change made PPC guests always start at address 0x0 because env isn't synced to kvm_state on first bootup. I'm not sure if this is the correct bugfix, but at least it makes PPC boot again with KVM enabled. Signed-off-by: Alexander Graf Signed-off-by: Aurelien Jarno --- hw/ppc_newworld.c | 4 ++++ hw/ppc_oldworld.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c index 7579ddd340..b29a7bc103 100644 --- a/hw/ppc_newworld.c +++ b/hw/ppc_newworld.c @@ -39,6 +39,7 @@ #include "ide.h" #include "loader.h" #include "elf.h" +#include "kvm.h" #define MAX_IDE_BUS 2 #define VGA_BIOS_SIZE 65536 @@ -135,6 +136,9 @@ static void ppc_core99_init (ram_addr_t ram_size, envs[i] = env; } + /* Make sure all register sets take effect */ + cpu_synchronize_state(env); + /* allocate RAM */ ram_offset = qemu_ram_alloc(ram_size); cpu_register_physical_memory(0, ram_size, ram_offset); diff --git a/hw/ppc_oldworld.c b/hw/ppc_oldworld.c index 32fd03a900..c90b151487 100644 --- a/hw/ppc_oldworld.c +++ b/hw/ppc_oldworld.c @@ -39,6 +39,7 @@ #include "ide.h" #include "loader.h" #include "elf.h" +#include "kvm.h" #define MAX_IDE_BUS 2 #define VGA_BIOS_SIZE 65536 @@ -163,6 +164,9 @@ static void ppc_heathrow_init (ram_addr_t ram_size, envs[i] = env; } + /* Make sure all register sets take effect */ + cpu_synchronize_state(env); + /* allocate RAM */ if (ram_size > (2047 << 20)) { fprintf(stderr,