On 01.12.2023 12:48, Julien Grall wrote: > On 01/12/2023 11:37, Simone Ballarin wrote: >> --- a/xen/arch/arm/include/asm/regs.h >> +++ b/xen/arch/arm/include/asm/regs.h >> @@ -48,7 +48,7 @@ static inline bool regs_mode_is_32bit(const struct >> cpu_user_regs *regs) >> >> static inline bool guest_mode(const struct cpu_user_regs *r) >> { >> - unsigned long diff = (char *)guest_cpu_user_regs() - (char *)(r); >> + unsigned long diff = (const uintptr_t)guest_cpu_user_regs() - (const >> uintptr_t)(r); > > NIT: The const should not be necessary here. Am I correct? > >> --- a/xen/arch/x86/include/asm/regs.h >> +++ b/xen/arch/x86/include/asm/regs.h >> @@ -6,7 +6,8 @@ >> >> #define guest_mode(r) >> \ >> ({ >> \ >> - unsigned long diff = (char *)guest_cpu_user_regs() - (char *)(r); >> \ >> + unsigned long diff = (const uintptr_t)guest_cpu_user_regs() - >> \ >> + (const >> uintptr_t(r)); \ > > Was this compiled on x86? Shouldn't the last one be (const uintptr_t)(r))?
And again with the stray const-s dropped and with indentation adjusted. Jan