On 2/26/2016 2:31 PM, Jan Beulich wrote: >>>> On 26.02.16 at 13:20, wrote: >> On 2/26/2016 2:14 PM, Razvan Cojocaru wrote: >>> On 02/26/2016 02:05 PM, Corneliu ZUZU wrote: >>>> On 2/26/2016 1:56 PM, Jan Beulich wrote: >>>>>>>> On 26.02.16 at 12:07, wrote: >>>>>> --- a/xen/include/asm-x86/altp2m.h >>>>>> +++ b/xen/include/asm-x86/altp2m.h >>>>>> @@ -15,8 +15,8 @@ >>>>>> * this program; If not, see . >>>>>> */ >>>>>> -#ifndef _X86_ALTP2M_H >>>>>> -#define _X86_ALTP2M_H >>>>>> +#ifndef __ASM_X86_ALTP2M_H >>>>>> +#define __ASM_X86_ALTP2M_H >>>>> Unrelated change? (No need to undo, but please don't mix such >>>>> into patches especially when they are quite large already anyway.) >>>> Noted. >>>> >>>>>> @@ -33,5 +33,9 @@ void altp2m_vcpu_initialise(struct vcpu *v); >>>>>> void altp2m_vcpu_destroy(struct vcpu *v); >>>>>> void altp2m_vcpu_reset(struct vcpu *v); >>>>>> -#endif /* _X86_ALTP2M_H */ >>>>>> +static inline uint16_t altp2m_vcpu_idx(struct vcpu *v) >>>>> const >>>> 'const', as in: >>>> >>>> +static inline const uint16_t altp2m_vcpu_idx(struct vcpu *v) >>> Since there's no functional difference between returning const uint6_t >>> and plain uint16_t, I assume that Jan meant "const struct vcpu *v". >> I thought the functional difference would be when calling: >> >> uint16_t idx = altp2m_vcpu_idx(v); // => can subsequently modify idx >> const uint16_t idx = altp2m_vcpu_idx(v); // => cannot subsequently >> modify idx (unless const is casted to non-const) > That's correct, but for this the return type of the function doesn't > matter. In fact I'd expect the compiler to warn about a meaningless > modifier placed on a function return type. > > Jan > > I find having static inline const uint16_t altp2m_vcpu_idx(struct vcpu *v) and subsequently writing uint16_t idx = altp2m_vcpu_idx(v); instead of const uint16_t idx = altp2m_vcpu_idx(v); without the compiler throwing at least a warning counter-intuitive. Reminds me of something Linus said in an email: "it would be *stupid* for a C compiler to do anything but what we assume it does". Noted, will change to 'const struct vcpu *v'. Corneliu.