[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] xen: arm: Enclose access to EL2 MMU specific registers under CONFIG_MMU
commit 405c2b4b9971b6ab10d630f81f83c96a550e4811 Author: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx> AuthorDate: Wed Aug 21 13:25:02 2024 +0100 Commit: Julien Grall <jgrall@xxxxxxxxxx> CommitDate: Thu Aug 22 11:06:33 2024 +0100 xen: arm: Enclose access to EL2 MMU specific registers under CONFIG_MMU All the EL2 MMU specific registers are enclosed within CONFIG_MMU. Also, protect vttbr_el2 field of struct reg_ctxt and accesses to it. Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@xxxxxxx> Reviewed-by: Michal Orzel <michal.orzel@xxxxxxx> --- xen/arch/arm/traps.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index aac6c599f8..737f4d65e3 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -720,8 +720,10 @@ struct reg_ctxt { uint32_t ifsr32_el2; #endif +#ifdef CONFIG_MMU /* Hypervisor-side state */ uint64_t vttbr_el2; +#endif }; static const char *mode_string(register_t cpsr) @@ -919,12 +921,16 @@ static void _show_registers(const struct cpu_user_regs *regs, #endif } printk(" VTCR_EL2: %"PRIregister"\n", READ_SYSREG(VTCR_EL2)); +#ifdef CONFIG_MMU printk(" VTTBR_EL2: %016"PRIx64"\n", ctxt->vttbr_el2); +#endif printk("\n"); printk(" SCTLR_EL2: %"PRIregister"\n", READ_SYSREG(SCTLR_EL2)); printk(" HCR_EL2: %"PRIregister"\n", READ_SYSREG(HCR_EL2)); +#ifdef CONFIG_MMU printk(" TTBR0_EL2: %016"PRIx64"\n", READ_SYSREG64(TTBR0_EL2)); +#endif printk("\n"); printk(" ESR_EL2: %"PRIregister"\n", regs->hsr); printk(" HPFAR_EL2: %"PRIregister"\n", READ_SYSREG(HPFAR_EL2)); @@ -956,7 +962,9 @@ void show_registers(const struct cpu_user_regs *regs) if ( guest_mode(regs) && is_32bit_domain(current->domain) ) ctxt.ifsr32_el2 = READ_SYSREG(IFSR32_EL2); #endif +#ifdef CONFIG_MMU ctxt.vttbr_el2 = READ_SYSREG64(VTTBR_EL2); +#endif _show_registers(regs, &ctxt, guest_mode(regs), current); } @@ -979,7 +987,9 @@ void vcpu_show_registers(const struct vcpu *v) ctxt.ifsr32_el2 = v->arch.ifsr; #endif +#ifdef CONFIG_MMU ctxt.vttbr_el2 = v->domain->arch.p2m.vttbr; +#endif _show_registers(&v->arch.cpu_info->guest_cpu_user_regs, &ctxt, 1, v); } -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |