summaryrefslogtreecommitdiff
path: root/target-ppc/translate_init.c
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2014-06-04 22:50:49 +1000
committerAlexander Graf <agraf@suse.de>2014-06-16 13:24:43 +0200
commit768167abb91ba59a5395c18d18f5c6f82c16e58f (patch)
tree1503b8ca45f1f8cda0e2d532af6a2bcf2ef6305d /target-ppc/translate_init.c
parente61716aa9a4f7745e3fc0be3f1613f1eef4b47f9 (diff)
downloadqemu-768167abb91ba59a5395c18d18f5c6f82c16e58f.tar.gz
qemu-768167abb91ba59a5395c18d18f5c6f82c16e58f.tar.bz2
qemu-768167abb91ba59a5395c18d18f5c6f82c16e58f.zip
target-ppc: Move POWER8 TCE Address control (TAR) to a helper
This moves TAR SPR to a helper. Later this helper will be called from generalized init_proc_book3s_64(). Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Tom Musta <tommusta@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-ppc/translate_init.c')
-rw-r--r--target-ppc/translate_init.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index 615189453c..6e36d2dfe1 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -7530,6 +7530,14 @@ static void gen_spr_book3s_purr(CPUPPCState *env)
#endif
}
+static void gen_spr_power8_tce_address_control(CPUPPCState *env)
+{
+ spr_register(env, SPR_TAR, "TAR",
+ &spr_read_generic, &spr_write_generic,
+ &spr_read_generic, &spr_write_generic,
+ 0x00000000);
+}
+
static void init_proc_book3s_64(CPUPPCState *env, int version)
{
gen_spr_ne_601(env);
@@ -7940,11 +7948,7 @@ static void init_proc_POWER8(CPUPPCState *env)
/* inherit P7 */
init_proc_POWER7(env);
- /* P8 supports the TAR */
- spr_register(env, SPR_TAR, "TAR",
- &spr_read_generic, &spr_write_generic,
- &spr_read_generic, &spr_write_generic,
- 0x00000000);
+ gen_spr_power8_tce_address_control(env);
}
POWERPC_FAMILY(POWER8)(ObjectClass *oc, void *data)