@@ -38,6 +38,7 @@
#include "ide.h"
#include "loader.h"
#include "elf.h"
+#include "kvm.h"
#define MAX_IDE_BUS 2
#define VGA_BIOS_SIZE 65536
@@ -134,6 +135,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);
@@ -38,6 +38,7 @@
#include "ide.h"
#include "loader.h"
#include "elf.h"
+#include "kvm.h"
#define MAX_IDE_BUS 2
#define VGA_BIOS_SIZE 65536
@@ -162,6 +163,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,
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 <agraf@suse.de> --- hw/ppc_newworld.c | 4 ++++ hw/ppc_oldworld.c | 4 ++++ 2 files changed, 8 insertions(+), 0 deletions(-)