diff --git a/hw/ppc_newworld.c b/hw/ppc_newworld.c index 7579ddd3402087cc173f876987a8203ccdb9e6de..b29a7bc103ad9a7a39889c0f5da3b23a8313abb3 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 32fd03a900bcdfaca8c1f3f2bdfdeaacb683c153..c90b1514870024cc99b12e587be4b611b2bb452e 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,