On 01.12.2023 14:44, Simone Ballarin wrote:
> On 01/12/23 14:03, Jan Beulich wrote:
>> 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.
>>
>
> I will remove the const in the first parameter and fix the indentation
> in the following way:
>
> unsigned long diff = (uintptr_t)guest_cpu_user_regs() - \
> (const uintptr_t)(r); \
That still looks to be one off, but (supported by the \ placement) possibly
merely an artifact of how your or my mail client is configured. It looks
right at https://lists.xen.org/archives/html/xen-devel/2023-12/msg00057.html.
Jan