mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
xen/arm: traps: Avoid using BUG_ON() in _show_registers()
At the moment, _show_registers() is using a BUG_ON() to assert only userspace will run 32-bit code in a 64-bit domain. Such extra precaution is not necessary and could be avoided by only checking the CPU mode to decide whether show_registers_64() or show_reigsters_32() should be called. This has also the nice advantage to avoid nested if in the code. Signed-off-by: Julien Grall <julien.grall@arm.com> Reviewed-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
1 parent
aa2f5aefa8
commit
e04818b46d
1 file changed
+3
-13
+3
-13
@@ -914,21 +914,11 @@ static void _show_registers(const struct cpu_user_regs *regs,
|
||||
|
||||
if ( guest_mode )
|
||||
{
|
||||
if ( is_32bit_domain(v->domain) )
|
||||
if ( psr_mode_is_32bit(regs) )
|
||||
show_registers_32(regs, ctxt, guest_mode, v);
|
||||
#ifdef CONFIG_ARM_64
|
||||
else if ( is_64bit_domain(v->domain) )
|
||||
{
|
||||
if ( psr_mode_is_32bit(regs) )
|
||||
{
|
||||
BUG_ON(!usr_mode(regs));
|
||||
show_registers_32(regs, ctxt, guest_mode, v);
|
||||
}
|
||||
else
|
||||
{
|
||||
show_registers_64(regs, ctxt, guest_mode, v);
|
||||
}
|
||||
}
|
||||
else
|
||||
show_registers_64(regs, ctxt, guest_mode, v);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
|
||||