On Fri, 19 Jan 2024 at 20:47, Max Filippov <jcmvb...@gmail.com> wrote: > > Make separation of alternative xtensa memory management options state > explicit. > > Signed-off-by: Max Filippov <jcmvb...@gmail.com> > --- > target/xtensa/cpu.h | 18 +++++++++++++---- > target/xtensa/mmu_helper.c | 40 +++++++++++++++++++------------------- > 2 files changed, 34 insertions(+), 24 deletions(-) > > diff --git a/target/xtensa/cpu.h b/target/xtensa/cpu.h > index 8a423706d8c0..497325466397 100644 > --- a/target/xtensa/cpu.h > +++ b/target/xtensa/cpu.h > @@ -326,11 +326,21 @@ typedef struct xtensa_tlb { > unsigned nrefillentries; > } xtensa_tlb; > > +typedef struct XtensaMMU { > + xtensa_tlb_entry itlb[7][MAX_TLB_WAY_SIZE]; > + xtensa_tlb_entry dtlb[10][MAX_TLB_WAY_SIZE]; > + unsigned autorefill_idx; > +} XtensaMMU; > + > typedef struct xtensa_mpu_entry { > uint32_t vaddr; > uint32_t attr; > } xtensa_mpu_entry; > > +typedef struct XtensaMPU { > + xtensa_mpu_entry fg[MAX_MPU_FOREGROUND_SEGMENTS]; > +} XtensaMPU; > + > typedef struct XtensaGdbReg { > int targno; > unsigned flags; > @@ -526,10 +536,10 @@ struct CPUArchState { > uint32_t exclusive_val; > > #ifndef CONFIG_USER_ONLY > - xtensa_tlb_entry itlb[7][MAX_TLB_WAY_SIZE]; > - xtensa_tlb_entry dtlb[10][MAX_TLB_WAY_SIZE]; > - xtensa_mpu_entry mpu_fg[MAX_MPU_FOREGROUND_SEGMENTS]; > - unsigned autorefill_idx; > + union { > + XtensaMMU mmu; > + XtensaMPU mpu; > + };
Is it really worth having this be a union ? I suspect it will make adding migration/savevm support later more awkward. > bool runstall; > AddressSpace *address_space_er; > MemoryRegion *system_er; Otherwise Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> thanks -- PMM