Re: [Xen-devel] [PATCH 4/5] x86/fixmap: add a predicate for usermode fixmaps

Jeremy Fitzhardinge
2009-10-06T18:48:21Z

On 10/06/09 03:23, Jan Beulich wrote:
>>>> Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> 06.10.09 02:50 >>>
>>>>
>> --- a/arch/x86/include/asm/fixmap.h
>> +++ b/arch/x86/include/asm/fixmap.h
>> @@ -181,6 +181,24 @@ static inline void __set_fixmap(enum fixed_addresses idx,
>>
>> extern void __this_fixmap_does_not_exist(void);
>>
>> +static inline bool user_fixmap(enum fixed_addresses fixmap)
>> +{
>> + switch (fixmap) {
>> +#ifdef CONFIG_X86_32
>> + case FIX_HOLE ... FIX_VDSO:
>> +#else
>> + case VSYSCALL_LAST_PAGE ... VSYSCALL_HPET:
>> +#ifdef CONFIG_PARAVIRT_CLOCK_VSYSCALL
>> + case FIX_PVCLOCK_TIME_INFO:
>> +#endif
>> +#endif
>> + return true;
>> +
>> + default:
>>
> Isn't that nested #ifdef rather meant to be successive to the 32-/64-bit
> one?
>

No, because 32-bit doesn't support vsyscall at present. But I've been
meaning to add a CONFIG_X86_VSYSCALL to make all the vsyscall stuff
conditional on, so if/when 32-bit vsyscall gets done its easy to turn it
all on.

J