Message ID | 20200417191022.5247-7-edgar.iglesias@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target-microblaze: Misc configurability #2 | expand |
On Fri, Apr 17, 2020 at 12:13 PM Edgar E. Iglesias <edgar.iglesias@gmail.com> wrote: > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > Add the pvr-user2 property to control the user-defined > PVR1 User2 register. > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > target/microblaze/cpu.c | 2 ++ > target/microblaze/cpu.h | 1 + > 2 files changed, 3 insertions(+) > > diff --git a/target/microblaze/cpu.c b/target/microblaze/cpu.c > index 0759b23a83..d024ec80eb 100644 > --- a/target/microblaze/cpu.c > +++ b/target/microblaze/cpu.c > @@ -196,6 +196,7 @@ static void mb_cpu_realizefn(DeviceState *dev, Error **errp) > (cpu->cfg.pvr == C_PVR_FULL ? PVR0_PVR_FULL_MASK : 0) | > cpu->cfg.pvr_user1; > > + env->pvr.regs[1] = cpu->cfg.pvr_user2; > env->pvr.regs[2] |= (cpu->cfg.use_fpu ? PVR2_USE_FPU_MASK : 0) | > (cpu->cfg.use_fpu > 1 ? PVR2_USE_FPU2_MASK : 0) | > (cpu->cfg.use_hw_mul ? PVR2_USE_HW_MUL_MASK : 0) | > @@ -292,6 +293,7 @@ static Property mb_properties[] = { > DEFINE_PROP_STRING("version", MicroBlazeCPU, cfg.version), > DEFINE_PROP_UINT8("pvr", MicroBlazeCPU, cfg.pvr, C_PVR_FULL), > DEFINE_PROP_UINT8("pvr-user1", MicroBlazeCPU, cfg.pvr_user1, 0), > + DEFINE_PROP_UINT32("pvr-user2", MicroBlazeCPU, cfg.pvr_user2, 0), > DEFINE_PROP_END_OF_LIST(), > }; > > diff --git a/target/microblaze/cpu.h b/target/microblaze/cpu.h > index 7bb5a3d6c6..a31134b65c 100644 > --- a/target/microblaze/cpu.h > +++ b/target/microblaze/cpu.h > @@ -308,6 +308,7 @@ struct MicroBlazeCPU { > bool div_zero_exception; > bool unaligned_exceptions; > uint8_t pvr_user1; > + uint32_t pvr_user2; > char *version; > uint8_t pvr; > } cfg; > -- > 2.20.1 > >
On 4/17/20 9:10 PM, Edgar E. Iglesias wrote: > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > Add the pvr-user2 property to control the user-defined > PVR1 User2 register. > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> Reviewed-by: Luc Michel <luc.michel@greensocs.com> > --- > target/microblaze/cpu.c | 2 ++ > target/microblaze/cpu.h | 1 + > 2 files changed, 3 insertions(+) > > diff --git a/target/microblaze/cpu.c b/target/microblaze/cpu.c > index 0759b23a83..d024ec80eb 100644 > --- a/target/microblaze/cpu.c > +++ b/target/microblaze/cpu.c > @@ -196,6 +196,7 @@ static void mb_cpu_realizefn(DeviceState *dev, Error **errp) > (cpu->cfg.pvr == C_PVR_FULL ? PVR0_PVR_FULL_MASK : 0) | > cpu->cfg.pvr_user1; > > + env->pvr.regs[1] = cpu->cfg.pvr_user2; > env->pvr.regs[2] |= (cpu->cfg.use_fpu ? PVR2_USE_FPU_MASK : 0) | > (cpu->cfg.use_fpu > 1 ? PVR2_USE_FPU2_MASK : 0) | > (cpu->cfg.use_hw_mul ? PVR2_USE_HW_MUL_MASK : 0) | > @@ -292,6 +293,7 @@ static Property mb_properties[] = { > DEFINE_PROP_STRING("version", MicroBlazeCPU, cfg.version), > DEFINE_PROP_UINT8("pvr", MicroBlazeCPU, cfg.pvr, C_PVR_FULL), > DEFINE_PROP_UINT8("pvr-user1", MicroBlazeCPU, cfg.pvr_user1, 0), > + DEFINE_PROP_UINT32("pvr-user2", MicroBlazeCPU, cfg.pvr_user2, 0), > DEFINE_PROP_END_OF_LIST(), > }; > > diff --git a/target/microblaze/cpu.h b/target/microblaze/cpu.h > index 7bb5a3d6c6..a31134b65c 100644 > --- a/target/microblaze/cpu.h > +++ b/target/microblaze/cpu.h > @@ -308,6 +308,7 @@ struct MicroBlazeCPU { > bool div_zero_exception; > bool unaligned_exceptions; > uint8_t pvr_user1; > + uint32_t pvr_user2; > char *version; > uint8_t pvr; > } cfg; >
diff --git a/target/microblaze/cpu.c b/target/microblaze/cpu.c index 0759b23a83..d024ec80eb 100644 --- a/target/microblaze/cpu.c +++ b/target/microblaze/cpu.c @@ -196,6 +196,7 @@ static void mb_cpu_realizefn(DeviceState *dev, Error **errp) (cpu->cfg.pvr == C_PVR_FULL ? PVR0_PVR_FULL_MASK : 0) | cpu->cfg.pvr_user1; + env->pvr.regs[1] = cpu->cfg.pvr_user2; env->pvr.regs[2] |= (cpu->cfg.use_fpu ? PVR2_USE_FPU_MASK : 0) | (cpu->cfg.use_fpu > 1 ? PVR2_USE_FPU2_MASK : 0) | (cpu->cfg.use_hw_mul ? PVR2_USE_HW_MUL_MASK : 0) | @@ -292,6 +293,7 @@ static Property mb_properties[] = { DEFINE_PROP_STRING("version", MicroBlazeCPU, cfg.version), DEFINE_PROP_UINT8("pvr", MicroBlazeCPU, cfg.pvr, C_PVR_FULL), DEFINE_PROP_UINT8("pvr-user1", MicroBlazeCPU, cfg.pvr_user1, 0), + DEFINE_PROP_UINT32("pvr-user2", MicroBlazeCPU, cfg.pvr_user2, 0), DEFINE_PROP_END_OF_LIST(), }; diff --git a/target/microblaze/cpu.h b/target/microblaze/cpu.h index 7bb5a3d6c6..a31134b65c 100644 --- a/target/microblaze/cpu.h +++ b/target/microblaze/cpu.h @@ -308,6 +308,7 @@ struct MicroBlazeCPU { bool div_zero_exception; bool unaligned_exceptions; uint8_t pvr_user1; + uint32_t pvr_user2; char *version; uint8_t pvr; } cfg;