From: Benjamin Herrenschmidt <b...@kernel.crashing.org> The Hypervisor can write it. We don't handle that properly yet but at least let's not blow up when it is written.
Signed-off-by: Benjamin Herrenschmidt <b...@kernel.crashing.org> --- target-ppc/translate_init.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c index 2fac6ea58698..28a9c2e73156 100644 --- a/target-ppc/translate_init.c +++ b/target-ppc/translate_init.c @@ -300,6 +300,12 @@ static void spr_write_purr(DisasContext *ctx, int gprn, int sprn) /* Temporary placeholder */ } +__attribute__ ((unused)) +static void spr_write_vtb(DisasContext *ctx, int gprn, int sprn) +{ + /* Temporary placeholder */ +} + #endif #endif @@ -8089,10 +8095,11 @@ static void gen_spr_power8_ebb(CPUPPCState *env) /* Virtual Time Base */ static void gen_spr_vtb(CPUPPCState *env) { - spr_register(env, SPR_VTB, "VTB", - SPR_NOACCESS, SPR_NOACCESS, - &spr_read_tbl, SPR_NOACCESS, - 0x00000000); + spr_register_hv(env, SPR_VTB, "VTB", + SPR_NOACCESS, SPR_NOACCESS, + &spr_read_tbl, SPR_NOACCESS, + &spr_read_tbl, spr_write_vtb, + 0x00000000); } static void gen_spr_power8_fscr(CPUPPCState *env) -- 2.1.4