summaryrefslogtreecommitdiff
path: root/target-ppc
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2016-03-02 21:19:21 +0100
committerDavid Gibson <david@gibson.dropbear.id.au>2016-03-16 09:55:05 +1100
commit1e440cbc99d810ac8153619e6fbee3d7dfaf1893 (patch)
treebe11fc834b2227b3e3397082cce58aedb8fd757a /target-ppc
parentd6f1445fafa8dcb578c90e7b475fd4728abd99da (diff)
downloadqemu-1e440cbc99d810ac8153619e6fbee3d7dfaf1893.tar.gz
ppc: Fix migration of the TAR SPR
The TAR special purpose register currently does not get migrated under KVM because it does not get synchronized with the kernel. Use spr_register_kvm() instead of spr_register() to fix this issue. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'target-ppc')
-rw-r--r--target-ppc/translate_init.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index f72148cc22..48a163511c 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -7714,10 +7714,10 @@ static void spr_write_tar(DisasContext *ctx, int sprn, int gprn)
static void gen_spr_power8_tce_address_control(CPUPPCState *env)
{
- spr_register(env, SPR_TAR, "TAR",
- &spr_read_tar, &spr_write_tar,
- &spr_read_generic, &spr_write_generic,
- 0x00000000);
+ spr_register_kvm(env, SPR_TAR, "TAR",
+ &spr_read_tar, &spr_write_tar,
+ &spr_read_generic, &spr_write_generic,
+ KVM_REG_PPC_TAR, 0x00000000);
}
static void spr_read_tm(DisasContext *ctx, int gprn, int sprn)