Re: [Qemu-devel] [PATCH 14/17] ppc: Add dummy write to VTB
On Mon, Mar 14, 2016 at 05:56:37PM +0100, Cédric Le Goater wrote: > From: Benjamin Herrenschmidt> > 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 AFAICT this should be for 2.7, not 2.6? > --- > 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, > - _read_tbl, SPR_NOACCESS, > - 0x); > +spr_register_hv(env, SPR_VTB, "VTB", > + SPR_NOACCESS, SPR_NOACCESS, > + _read_tbl, SPR_NOACCESS, > + _read_tbl, spr_write_vtb, > + 0x); > } > > static void gen_spr_power8_fscr(CPUPPCState *env) -- David Gibson| I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson signature.asc Description: PGP signature
Re: [Qemu-devel] [PATCH 14/17] ppc: Add dummy write to VTB
On 14.03.2016 17:56, Cédric Le Goater wrote: > From: Benjamin Herrenschmidt> > 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 > --- > 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 */ > +} Why "__attribute__ ((unused))" here (again)? > #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, > - _read_tbl, SPR_NOACCESS, > - 0x); > +spr_register_hv(env, SPR_VTB, "VTB", > + SPR_NOACCESS, SPR_NOACCESS, > + _read_tbl, SPR_NOACCESS, > + _read_tbl, spr_write_vtb, > + 0x); > } I think it would also be possible to use spr_access_nop() for now instead of introducing more dummy functions like spr_write_vtb. Thomas
[Qemu-devel] [PATCH 14/17] ppc: Add dummy write to VTB
From: Benjamin HerrenschmidtThe 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 --- 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, - _read_tbl, SPR_NOACCESS, - 0x); +spr_register_hv(env, SPR_VTB, "VTB", + SPR_NOACCESS, SPR_NOACCESS, + _read_tbl, SPR_NOACCESS, + _read_tbl, spr_write_vtb, + 0x); } static void gen_spr_power8_fscr(CPUPPCState *env) -- 2.1.4