Re: [PATCH v3 3/7] x86/hyper-v: reenlightenment notifications support

kbuild test robot
2018-01-19T10:21:34Z

[-- Attachment #1: Type: text/plain, Size: 25949 bytes --]

Hi Vitaly,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on tip/auto-latest]
[also build test WARNING on v4.15-rc8 next-20180118]
[cannot apply to tip/x86/core kvm/linux-next]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Vitaly-Kuznetsov/x86-kvm-hyperv-stable-clocksorce-for-L2-guests-when-running-nested-KVM-on-Hyper-V/20180119-160814
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.2.0-12) 7.2.1 20171025
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All warnings (new ones prefixed by >>):

In file included from include/linux/kasan.h:17:0,
from include/linux/slab.h:129,
from include/linux/irq.h:26,
from arch/x86/include/asm/hardirq.h:6,
from include/linux/hardirq.h:9,
from include/linux/interrupt.h:13,
from arch/x86/include/asm/mshyperv.h:8,
from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:20,
from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33:
arch/x86/include/asm/pgtable.h: In function 'clone_pgd_range':
arch/x86/include/asm/pgtable.h:1129:9: error: implicit declaration of function 'kernel_to_user_pgdp'; did you mean 'u64_to_user_ptr'? [-Werror=implicit-function-declaration]
memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src),
^~~~~~~~~~~~~~~~~~~
u64_to_user_ptr
arch/x86/include/asm/pgtable.h:1129:9: warning: passing argument 1 of 'memcpy' makes pointer from integer without a cast [-Wint-conversion]
In file included from arch/x86/include/asm/page_32.h:35:0,
from arch/x86/include/asm/page.h:14,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/clocksource.h:13,
from arch/x86/include/asm/vgtod.h:6,
from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:15,
from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33:
include/linux/string.h:332:24: note: expected 'void *' but argument is of type 'int'
__FORTIFY_INLINE void *memcpy(void *p, const void *q, __kernel_size_t size)
^~~~~~
In file included from include/linux/kasan.h:17:0,
from include/linux/slab.h:129,
from include/linux/irq.h:26,
from arch/x86/include/asm/hardirq.h:6,
from include/linux/hardirq.h:9,
from include/linux/interrupt.h:13,
from arch/x86/include/asm/mshyperv.h:8,
from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:20,
from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33:
arch/x86/include/asm/pgtable.h:1129:35: warning: passing argument 2 of 'memcpy' makes pointer from integer without a cast [-Wint-conversion]
memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src),
^~~~~~~~~~~~~~~~~~~
In file included from arch/x86/include/asm/page_32.h:35:0,
from arch/x86/include/asm/page.h:14,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/clocksource.h:13,
from arch/x86/include/asm/vgtod.h:6,
from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:15,
from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33:
include/linux/string.h:332:24: note: expected 'const void *' but argument is of type 'int'
__FORTIFY_INLINE void *memcpy(void *p, const void *q, __kernel_size_t size)
^~~~~~
In file included from arch/x86/include/asm/paravirt_types.h:45:0,
from arch/x86/include/asm/ptrace.h:92,
from arch/x86/include/asm/math_emu.h:5,
from arch/x86/include/asm/processor.h:12,
from arch/x86/include/asm/cpufeature.h:5,
from arch/x86/include/asm/thread_info.h:53,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/clocksource.h:13,
from arch/x86/include/asm/vgtod.h:6,
from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:15,
from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33:
arch/x86/include/asm/pgtable.h: In function 'pte_flags_pkey':
>> arch/x86/include/asm/pgtable_types.h:58:43: warning: left shift count >= width of type [-Wshift-count-overflow]
#define _PAGE_PKEY_BIT0 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT0)
^
>> arch/x86/include/asm/pgtable_types.h:70:26: note: in expansion of macro '_PAGE_PKEY_BIT0'
#define _PAGE_PKEY_MASK (_PAGE_PKEY_BIT0 | \
^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
^~~~~~~~~~~~~~~
arch/x86/include/asm/pgtable_types.h:59:43: warning: left shift count >= width of type [-Wshift-count-overflow]
#define _PAGE_PKEY_BIT1 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT1)
^
>> arch/x86/include/asm/pgtable_types.h:71:5: note: in expansion of macro '_PAGE_PKEY_BIT1'
_PAGE_PKEY_BIT1 | \
^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
^~~~~~~~~~~~~~~
arch/x86/include/asm/pgtable_types.h:60:43: warning: left shift count >= width of type [-Wshift-count-overflow]
#define _PAGE_PKEY_BIT2 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT2)
^
>> arch/x86/include/asm/pgtable_types.h:72:5: note: in expansion of macro '_PAGE_PKEY_BIT2'
_PAGE_PKEY_BIT2 | \
^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
^~~~~~~~~~~~~~~
arch/x86/include/asm/pgtable_types.h:61:43: warning: left shift count >= width of type [-Wshift-count-overflow]
#define _PAGE_PKEY_BIT3 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT3)
^
>> arch/x86/include/asm/pgtable_types.h:73:5: note: in expansion of macro '_PAGE_PKEY_BIT3'
_PAGE_PKEY_BIT3)
^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
^~~~~~~~~~~~~~~
In file included from include/linux/kasan.h:17:0,
from include/linux/slab.h:129,
from include/linux/irq.h:26,
from arch/x86/include/asm/hardirq.h:6,
from include/linux/hardirq.h:9,
from include/linux/interrupt.h:13,
from arch/x86/include/asm/mshyperv.h:8,
from arch/x86//entry/vdso/vdso32/../vclock_gettime.c:20,
from arch/x86//entry/vdso/vdso32/vclock_gettime.c:33:
>> arch/x86/include/asm/pgtable.h:1223:39: warning: right shift count >= width of type [-Wshift-count-overflow]
return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
^~
cc1: some warnings being treated as errors
--
include/linux/kasan.h:31:19: sparse: constant 0xdffffc0000000000UL is so big it is unsigned long long
In file included from include/linux/kasan.h:17:0,
from include/linux/slab.h:129,
from include/linux/irq.h:26,
from arch/x86/include/asm/hardirq.h:6,
from include/linux/hardirq.h:9,
from include/linux/interrupt.h:13,
from arch/x86/include/asm/mshyperv.h:8,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:20,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
arch/x86/include/asm/pgtable.h: In function 'clone_pgd_range':
arch/x86/include/asm/pgtable.h:1129:9: error: implicit declaration of function 'kernel_to_user_pgdp'; did you mean 'u64_to_user_ptr'? [-Werror=implicit-function-declaration]
memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src),
^~~~~~~~~~~~~~~~~~~
u64_to_user_ptr
arch/x86/include/asm/pgtable.h:1129:9: warning: passing argument 1 of 'memcpy' makes pointer from integer without a cast [-Wint-conversion]
In file included from arch/x86/include/asm/page_32.h:35:0,
from arch/x86/include/asm/page.h:14,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/clocksource.h:13,
from arch/x86/include/asm/vgtod.h:6,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
include/linux/string.h:332:24: note: expected 'void *' but argument is of type 'int'
__FORTIFY_INLINE void *memcpy(void *p, const void *q, __kernel_size_t size)
^~~~~~
In file included from include/linux/kasan.h:17:0,
from include/linux/slab.h:129,
from include/linux/irq.h:26,
from arch/x86/include/asm/hardirq.h:6,
from include/linux/hardirq.h:9,
from include/linux/interrupt.h:13,
from arch/x86/include/asm/mshyperv.h:8,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:20,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
arch/x86/include/asm/pgtable.h:1129:35: warning: passing argument 2 of 'memcpy' makes pointer from integer without a cast [-Wint-conversion]
memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src),
^~~~~~~~~~~~~~~~~~~
In file included from arch/x86/include/asm/page_32.h:35:0,
from arch/x86/include/asm/page.h:14,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/clocksource.h:13,
from arch/x86/include/asm/vgtod.h:6,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
include/linux/string.h:332:24: note: expected 'const void *' but argument is of type 'int'
__FORTIFY_INLINE void *memcpy(void *p, const void *q, __kernel_size_t size)
^~~~~~
In file included from arch/x86/include/asm/paravirt_types.h:45:0,
from arch/x86/include/asm/ptrace.h:92,
from arch/x86/include/asm/math_emu.h:5,
from arch/x86/include/asm/processor.h:12,
from arch/x86/include/asm/cpufeature.h:5,
from arch/x86/include/asm/thread_info.h:53,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/clocksource.h:13,
from arch/x86/include/asm/vgtod.h:6,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
arch/x86/include/asm/pgtable.h: In function 'pte_flags_pkey':
>> arch/x86/include/asm/pgtable_types.h:58:43: warning: left shift count >= width of type [-Wshift-count-overflow]
#define _PAGE_PKEY_BIT0 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT0)
^
>> arch/x86/include/asm/pgtable_types.h:70:26: note: in expansion of macro '_PAGE_PKEY_BIT0'
#define _PAGE_PKEY_MASK (_PAGE_PKEY_BIT0 | \
^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
^~~~~~~~~~~~~~~
arch/x86/include/asm/pgtable_types.h:59:43: warning: left shift count >= width of type [-Wshift-count-overflow]
#define _PAGE_PKEY_BIT1 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT1)
^
>> arch/x86/include/asm/pgtable_types.h:71:5: note: in expansion of macro '_PAGE_PKEY_BIT1'
_PAGE_PKEY_BIT1 | \
^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
^~~~~~~~~~~~~~~
arch/x86/include/asm/pgtable_types.h:60:43: warning: left shift count >= width of type [-Wshift-count-overflow]
#define _PAGE_PKEY_BIT2 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT2)
^
>> arch/x86/include/asm/pgtable_types.h:72:5: note: in expansion of macro '_PAGE_PKEY_BIT2'
_PAGE_PKEY_BIT2 | \
^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
^~~~~~~~~~~~~~~
arch/x86/include/asm/pgtable_types.h:61:43: warning: left shift count >= width of type [-Wshift-count-overflow]
#define _PAGE_PKEY_BIT3 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT3)
^
>> arch/x86/include/asm/pgtable_types.h:73:5: note: in expansion of macro '_PAGE_PKEY_BIT3'
_PAGE_PKEY_BIT3)
^~~~~~~~~~~~~~~
>> arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
^~~~~~~~~~~~~~~
In file included from include/linux/kasan.h:17:0,
from include/linux/slab.h:129,
from include/linux/irq.h:26,
from arch/x86/include/asm/hardirq.h:6,
from include/linux/hardirq.h:9,
from include/linux/interrupt.h:13,
from arch/x86/include/asm/mshyperv.h:8,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:20,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
>> arch/x86/include/asm/pgtable.h:1223:39: warning: right shift count >= width of type [-Wshift-count-overflow]
return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
^~
cc1: some warnings being treated as errors

sparse warnings: (new ones prefixed by >>)

>> include/linux/kasan.h:31:19: sparse: constant 0xdffffc0000000000UL is so big it is unsigned long long
In file included from include/linux/kasan.h:17:0,
from include/linux/slab.h:129,
from include/linux/irq.h:26,
from arch/x86/include/asm/hardirq.h:6,
from include/linux/hardirq.h:9,
from include/linux/interrupt.h:13,
from arch/x86/include/asm/mshyperv.h:8,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:20,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
arch/x86/include/asm/pgtable.h: In function 'clone_pgd_range':
arch/x86/include/asm/pgtable.h:1129:9: error: implicit declaration of function 'kernel_to_user_pgdp'; did you mean
memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src),
^~~~~~~~~~~~~~~~~~~
u64_to_user_ptr
arch/x86/include/asm/pgtable.h:1129:9: warning: passing argument 1 of 'memcpy' makes pointer from integer without a cast
In file included from arch/x86/include/asm/page_32.h:35:0,
from arch/x86/include/asm/page.h:14,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/clocksource.h:13,
from arch/x86/include/asm/vgtod.h:6,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
include/linux/string.h:332:24: note: expected 'void but argument is of type 'int'
__FORTIFY_INLINE void const void __kernel_size_t size)
^~~~~~
In file included from include/linux/kasan.h:17:0,
from include/linux/slab.h:129,
from include/linux/irq.h:26,
from arch/x86/include/asm/hardirq.h:6,
from include/linux/hardirq.h:9,
from include/linux/interrupt.h:13,
from arch/x86/include/asm/mshyperv.h:8,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:20,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
arch/x86/include/asm/pgtable.h:1129:35: warning: passing argument 2 of 'memcpy' makes pointer from integer without a cast
memcpy(kernel_to_user_pgdp(dst), kernel_to_user_pgdp(src),
^~~~~~~~~~~~~~~~~~~
In file included from arch/x86/include/asm/page_32.h:35:0,
from arch/x86/include/asm/page.h:14,
from arch/x86/include/asm/thread_info.h:12,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/clocksource.h:13,
from arch/x86/include/asm/vgtod.h:6,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
include/linux/string.h:332:24: note: expected 'const void but argument is of type 'int'
__FORTIFY_INLINE void const void __kernel_size_t size)
^~~~~~
In file included from arch/x86/include/asm/paravirt_types.h:45:0,
from arch/x86/include/asm/ptrace.h:92,
from arch/x86/include/asm/math_emu.h:5,
from arch/x86/include/asm/processor.h:12,
from arch/x86/include/asm/cpufeature.h:5,
from arch/x86/include/asm/thread_info.h:53,
from include/linux/thread_info.h:38,
from arch/x86/include/asm/preempt.h:7,
from include/linux/preempt.h:81,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/clocksource.h:13,
from arch/x86/include/asm/vgtod.h:6,
from arch/x86/entry/vdso/vdso32/../vclock_gettime.c:15,
from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:
arch/x86/include/asm/pgtable.h: In function 'pte_flags_pkey':
arch/x86/include/asm/pgtable_types.h:58:43: warning: left shift count >= width of type
#define _PAGE_PKEY_BIT0 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT0)
^
arch/x86/include/asm/pgtable_types.h:70:26: note: in expansion of macro '_PAGE_PKEY_BIT0'
#define _PAGE_PKEY_MASK (_PAGE_PKEY_BIT0 | 89- ^~~~~~~~~~~~~~~
arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
^~~~~~~~~~~~~~~
arch/x86/include/asm/pgtable_types.h:59:43: warning: left shift count >= width of type
#define _PAGE_PKEY_BIT1 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT1)
^
arch/x86/include/asm/pgtable_types.h:71:5: note: in expansion of macro '_PAGE_PKEY_BIT1'
_PAGE_PKEY_BIT1 | 98- ^~~~~~~~~~~~~~~
arch/x86/include/asm/pgtable.h:1223:22: note: in expansion of macro '_PAGE_PKEY_MASK'
return (pte_flags & _PAGE_PKEY_MASK) >> _PAGE_BIT_PKEY_BIT0;
^~~~~~~~~~~~~~~

vim +58 arch/x86/include/asm/pgtable_types.h

8d19c99fa Jeremy Fitzhardinge 2009-02-08 41
8d19c99fa Jeremy Fitzhardinge 2009-02-08 42 #define _PAGE_PRESENT (_AT(pteval_t, 1) << _PAGE_BIT_PRESENT)
8d19c99fa Jeremy Fitzhardinge 2009-02-08 43 #define _PAGE_RW (_AT(pteval_t, 1) << _PAGE_BIT_RW)
8d19c99fa Jeremy Fitzhardinge 2009-02-08 44 #define _PAGE_USER (_AT(pteval_t, 1) << _PAGE_BIT_USER)
8d19c99fa Jeremy Fitzhardinge 2009-02-08 45 #define _PAGE_PWT (_AT(pteval_t, 1) << _PAGE_BIT_PWT)
8d19c99fa Jeremy Fitzhardinge 2009-02-08 46 #define _PAGE_PCD (_AT(pteval_t, 1) << _PAGE_BIT_PCD)
8d19c99fa Jeremy Fitzhardinge 2009-02-08 47 #define _PAGE_ACCESSED (_AT(pteval_t, 1) << _PAGE_BIT_ACCESSED)
8d19c99fa Jeremy Fitzhardinge 2009-02-08 48 #define _PAGE_DIRTY (_AT(pteval_t, 1) << _PAGE_BIT_DIRTY)
8d19c99fa Jeremy Fitzhardinge 2009-02-08 49 #define _PAGE_PSE (_AT(pteval_t, 1) << _PAGE_BIT_PSE)
8d19c99fa Jeremy Fitzhardinge 2009-02-08 50 #define _PAGE_GLOBAL (_AT(pteval_t, 1) << _PAGE_BIT_GLOBAL)
c46a7c817 Mel Gorman 2014-06-04 51 #define _PAGE_SOFTW1 (_AT(pteval_t, 1) << _PAGE_BIT_SOFTW1)
f955371ca David Vrabel 2014-01-07 52 #define _PAGE_SOFTW2 (_AT(pteval_t, 1) << _PAGE_BIT_SOFTW2)
8d19c99fa Jeremy Fitzhardinge 2009-02-08 53 #define _PAGE_PAT (_AT(pteval_t, 1) << _PAGE_BIT_PAT)
8d19c99fa Jeremy Fitzhardinge 2009-02-08 54 #define _PAGE_PAT_LARGE (_AT(pteval_t, 1) << _PAGE_BIT_PAT_LARGE)
8d19c99fa Jeremy Fitzhardinge 2009-02-08 55 #define _PAGE_SPECIAL (_AT(pteval_t, 1) << _PAGE_BIT_SPECIAL)
8d19c99fa Jeremy Fitzhardinge 2009-02-08 56 #define _PAGE_CPA_TEST (_AT(pteval_t, 1) << _PAGE_BIT_CPA_TEST)
5c1d90f51 Dave Hansen 2016-02-12 57 #ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS
5c1d90f51 Dave Hansen 2016-02-12 @58 #define _PAGE_PKEY_BIT0 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT0)
5c1d90f51 Dave Hansen 2016-02-12 59 #define _PAGE_PKEY_BIT1 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT1)
5c1d90f51 Dave Hansen 2016-02-12 60 #define _PAGE_PKEY_BIT2 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT2)
5c1d90f51 Dave Hansen 2016-02-12 61 #define _PAGE_PKEY_BIT3 (_AT(pteval_t, 1) << _PAGE_BIT_PKEY_BIT3)
5c1d90f51 Dave Hansen 2016-02-12 62 #else
5c1d90f51 Dave Hansen 2016-02-12 63 #define _PAGE_PKEY_BIT0 (_AT(pteval_t, 0))
5c1d90f51 Dave Hansen 2016-02-12 64 #define _PAGE_PKEY_BIT1 (_AT(pteval_t, 0))
5c1d90f51 Dave Hansen 2016-02-12 65 #define _PAGE_PKEY_BIT2 (_AT(pteval_t, 0))
5c1d90f51 Dave Hansen 2016-02-12 66 #define _PAGE_PKEY_BIT3 (_AT(pteval_t, 0))
5c1d90f51 Dave Hansen 2016-02-12 67 #endif
8d19c99fa Jeremy Fitzhardinge 2009-02-08 68 #define __HAVE_ARCH_PTE_SPECIAL
8d19c99fa Jeremy Fitzhardinge 2009-02-08 69
019132ff3 Dave Hansen 2016-02-12 @70 #define _PAGE_PKEY_MASK (_PAGE_PKEY_BIT0 | \
019132ff3 Dave Hansen 2016-02-12 @71 _PAGE_PKEY_BIT1 | \
019132ff3 Dave Hansen 2016-02-12 @72 _PAGE_PKEY_BIT2 | \
019132ff3 Dave Hansen 2016-02-12 @73 _PAGE_PKEY_BIT3)
019132ff3 Dave Hansen 2016-02-12 74

:::::: The code at line 58 was first introduced by commit
:::::: 5c1d90f51027e197e1299ab1235a2fed78910905 x86/mm/pkeys: Add PTE bits for storing protection key

:::::: TO: Dave Hansen <dave.hansen@linux.intel.com>
:::::: CC: Ingo Molnar <mingo@kernel.org>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 62394 bytes --]

[-- Attachment #3: Type: text/plain, Size: 169 bytes --]