[csky-linux:riscv_compat_v6_svpbmt-v6 35/35] arch/riscv/include/asm/pgtable.h:167:35: error: '_PAGE_PMA' undeclared

From: kernel test robot
Date: Thu Feb 10 2022 - 13:35:10 EST


tree: https://github.com/c-sky/csky-linux riscv_compat_v6_svpbmt-v6
head: 54acb36c958fc990cc59889f79c8ddca7386c295
commit: 54acb36c958fc990cc59889f79c8ddca7386c295 [35/35] riscv: xtpbmt: Fixup T-HEAD CPU _PAGE_KERNEL quirks
config: riscv-randconfig-r026-20220209 (https://download.01.org/0day-ci/archive/20220211/202202110244.QjvpBb6X-lkp@xxxxxxxxx/config)
compiler: riscv32-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/c-sky/csky-linux/commit/54acb36c958fc990cc59889f79c8ddca7386c295
git remote add csky-linux https://github.com/c-sky/csky-linux
git fetch --no-tags csky-linux riscv_compat_v6_svpbmt-v6
git checkout 54acb36c958fc990cc59889f79c8ddca7386c295
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=riscv SHELL=/bin/bash arch/riscv/kernel/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All error/warnings (new ones prefixed by >>):

In file included from include/linux/pgtable.h:6,
from arch/riscv/include/asm/io.h:15,
from include/linux/io.h:13,
from include/linux/irq.h:20,
from include/asm-generic/hardirq.h:17,
from ./arch/riscv/include/generated/asm/hardirq.h:1,
from include/linux/hardirq.h:11,
from include/linux/interrupt.h:11,
from arch/riscv/kernel/irq.c:8:
include/asm-generic/io.h: In function 'ioremap':
>> arch/riscv/include/asm/pgtable.h:167:35: error: '_PAGE_PMA' undeclared (first use in this function)
167 | | _PAGE_PMA \
| ^~~~~~~~~
arch/riscv/include/asm/pgtable.h:178:27: note: in expansion of macro '_PAGE_KERNEL'
178 | #define _PAGE_IOREMAP ((_PAGE_KERNEL & ~_PAGE_MTMASK) | _PAGE_IO)
| ^~~~~~~~~~~~
include/asm-generic/io.h:973:41: note: in expansion of macro '_PAGE_IOREMAP'
973 | return ioremap_prot(addr, size, _PAGE_IOREMAP);
| ^~~~~~~~~~~~~
arch/riscv/include/asm/pgtable.h:167:35: note: each undeclared identifier is reported only once for each function it appears in
167 | | _PAGE_PMA \
| ^~~~~~~~~
arch/riscv/include/asm/pgtable.h:178:27: note: in expansion of macro '_PAGE_KERNEL'
178 | #define _PAGE_IOREMAP ((_PAGE_KERNEL & ~_PAGE_MTMASK) | _PAGE_IO)
| ^~~~~~~~~~~~
include/asm-generic/io.h:973:41: note: in expansion of macro '_PAGE_IOREMAP'
973 | return ioremap_prot(addr, size, _PAGE_IOREMAP);
| ^~~~~~~~~~~~~
--
In file included from include/linux/pgtable.h:6,
from include/linux/mm.h:33,
from arch/riscv/kernel/setup.c:12:
include/asm-generic/io.h: In function 'ioremap':
>> arch/riscv/include/asm/pgtable.h:167:35: error: '_PAGE_PMA' undeclared (first use in this function)
167 | | _PAGE_PMA \
| ^~~~~~~~~
arch/riscv/include/asm/pgtable.h:178:27: note: in expansion of macro '_PAGE_KERNEL'
178 | #define _PAGE_IOREMAP ((_PAGE_KERNEL & ~_PAGE_MTMASK) | _PAGE_IO)
| ^~~~~~~~~~~~
include/asm-generic/io.h:973:41: note: in expansion of macro '_PAGE_IOREMAP'
973 | return ioremap_prot(addr, size, _PAGE_IOREMAP);
| ^~~~~~~~~~~~~
arch/riscv/include/asm/pgtable.h:167:35: note: each undeclared identifier is reported only once for each function it appears in
167 | | _PAGE_PMA \
| ^~~~~~~~~
arch/riscv/include/asm/pgtable.h:178:27: note: in expansion of macro '_PAGE_KERNEL'
178 | #define _PAGE_IOREMAP ((_PAGE_KERNEL & ~_PAGE_MTMASK) | _PAGE_IO)
| ^~~~~~~~~~~~
include/asm-generic/io.h:973:41: note: in expansion of macro '_PAGE_IOREMAP'
973 | return ioremap_prot(addr, size, _PAGE_IOREMAP);
| ^~~~~~~~~~~~~
In file included from arch/riscv/include/asm/thread_info.h:11,
from include/linux/thread_info.h:60,
from include/asm-generic/preempt.h:5,
from ./arch/riscv/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:55,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/mm.h:10,
from arch/riscv/kernel/setup.c:12:
arch/riscv/kernel/setup.c: In function 'setup_arch':
>> arch/riscv/include/asm/pgtable.h:167:35: error: '_PAGE_PMA' undeclared (first use in this function)
167 | | _PAGE_PMA \
| ^~~~~~~~~
arch/riscv/include/asm/page.h:80:27: note: in definition of macro 'pgprot_val'
80 | #define pgprot_val(x) ((x).pgprot)
| ^
arch/riscv/include/asm/pgtable.h:170:33: note: in expansion of macro '__pgprot'
170 | #define PAGE_KERNEL __pgprot(_PAGE_KERNEL)
| ^~~~~~~~
arch/riscv/include/asm/pgtable.h:170:42: note: in expansion of macro '_PAGE_KERNEL'
170 | #define PAGE_KERNEL __pgprot(_PAGE_KERNEL)
| ^~~~~~~~~~~~
include/linux/printk.h:418:33: note: in expansion of macro 'PAGE_KERNEL'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
include/linux/printk.h:446:26: note: in expansion of macro 'printk_index_wrap'
446 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
arch/riscv/kernel/setup.c:270:1: note: in expansion of macro 'printk'
270 | printk("%s: _PAGE_KERNEL: 0x%lx\n", __func__, pgprot_val(PAGE_KERNEL));
| ^~~~~~
In file included from include/asm-generic/bug.h:22,
from arch/riscv/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/riscv/kernel/setup.c:12:
>> arch/riscv/kernel/setup.c:271:8: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type 'int' [-Wformat=]
271 | printk("%s: _PAGE_IO: 0x%llx\n", __func__, _PAGE_IO);
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/printk.h:418:25: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~
arch/riscv/kernel/setup.c:271:1: note: in expansion of macro 'printk'
271 | printk("%s: _PAGE_IO: 0x%llx\n", __func__, _PAGE_IO);
| ^~~~~~
arch/riscv/kernel/setup.c:271:28: note: format string is defined here
271 | printk("%s: _PAGE_IO: 0x%llx\n", __func__, _PAGE_IO);
| ~~~^
| |
| long long unsigned int
| %x
In file included from include/asm-generic/bug.h:22,
from arch/riscv/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/mm.h:9,
from arch/riscv/kernel/setup.c:12:
arch/riscv/kernel/setup.c:272:8: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 3 has type 'int' [-Wformat=]
272 | printk("%s: _PAGE_NOCACHE: 0x%llx\n", __func__, _PAGE_NOCACHE);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/printk.h:418:25: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~
arch/riscv/kernel/setup.c:272:1: note: in expansion of macro 'printk'
272 | printk("%s: _PAGE_NOCACHE: 0x%llx\n", __func__, _PAGE_NOCACHE);
| ^~~~~~
arch/riscv/kernel/setup.c:272:33: note: format string is defined here
272 | printk("%s: _PAGE_NOCACHE: 0x%llx\n", __func__, _PAGE_NOCACHE);
| ~~~^
| |
| long long unsigned int
| %x
--
In file included from arch/riscv/include/asm/uaccess.h:12,
from include/linux/uaccess.h:11,
from include/linux/sched/task.h:11,
from include/linux/sched/signal.h:9,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/compat.h:17,
from arch/riscv/kernel/signal.c:9:
include/asm-generic/io.h: In function 'ioremap':
>> arch/riscv/include/asm/pgtable.h:167:35: error: '_PAGE_PMA' undeclared (first use in this function)
167 | | _PAGE_PMA \
| ^~~~~~~~~
arch/riscv/include/asm/pgtable.h:178:27: note: in expansion of macro '_PAGE_KERNEL'
178 | #define _PAGE_IOREMAP ((_PAGE_KERNEL & ~_PAGE_MTMASK) | _PAGE_IO)
| ^~~~~~~~~~~~
include/asm-generic/io.h:973:41: note: in expansion of macro '_PAGE_IOREMAP'
973 | return ioremap_prot(addr, size, _PAGE_IOREMAP);
| ^~~~~~~~~~~~~
arch/riscv/include/asm/pgtable.h:167:35: note: each undeclared identifier is reported only once for each function it appears in
167 | | _PAGE_PMA \
| ^~~~~~~~~
arch/riscv/include/asm/pgtable.h:178:27: note: in expansion of macro '_PAGE_KERNEL'
178 | #define _PAGE_IOREMAP ((_PAGE_KERNEL & ~_PAGE_MTMASK) | _PAGE_IO)
| ^~~~~~~~~~~~
include/asm-generic/io.h:973:41: note: in expansion of macro '_PAGE_IOREMAP'
973 | return ioremap_prot(addr, size, _PAGE_IOREMAP);
| ^~~~~~~~~~~~~
arch/riscv/kernel/signal.c: At top level:
arch/riscv/kernel/signal.c:320:27: warning: no previous prototype for 'do_notify_resume' [-Wmissing-prototypes]
320 | asmlinkage __visible void do_notify_resume(struct pt_regs *regs,
| ^~~~~~~~~~~~~~~~
--
In file included from arch/riscv/include/asm/fixmap.h:55,
from arch/riscv/kernel/patch.c:13:
arch/riscv/kernel/patch.c: In function 'patch_map':
>> arch/riscv/include/asm/pgtable.h:167:35: error: '_PAGE_PMA' undeclared (first use in this function)
167 | | _PAGE_PMA \
| ^~~~~~~~~
include/asm-generic/fixmap.h:77:33: note: in definition of macro '__set_fixmap_offset'
77 | __set_fixmap(idx, phys, flags); \
| ^~~~~
arch/riscv/include/asm/pgtable.h:170:33: note: in expansion of macro '__pgprot'
170 | #define PAGE_KERNEL __pgprot(_PAGE_KERNEL)
| ^~~~~~~~
arch/riscv/include/asm/pgtable.h:170:42: note: in expansion of macro '_PAGE_KERNEL'
170 | #define PAGE_KERNEL __pgprot(_PAGE_KERNEL)
| ^~~~~~~~~~~~
include/asm-generic/fixmap.h:48:28: note: in expansion of macro 'PAGE_KERNEL'
48 | #define FIXMAP_PAGE_NORMAL PAGE_KERNEL
| ^~~~~~~~~~~
include/asm-generic/fixmap.h:83:40: note: in expansion of macro 'FIXMAP_PAGE_NORMAL'
83 | __set_fixmap_offset(idx, phys, FIXMAP_PAGE_NORMAL)
| ^~~~~~~~~~~~~~~~~~
arch/riscv/kernel/patch.c:42:24: note: in expansion of macro 'set_fixmap_offset'
42 | return (void *)set_fixmap_offset(fixmap, page_to_phys(page) +
| ^~~~~~~~~~~~~~~~~
arch/riscv/include/asm/pgtable.h:167:35: note: each undeclared identifier is reported only once for each function it appears in
167 | | _PAGE_PMA \
| ^~~~~~~~~
include/asm-generic/fixmap.h:77:33: note: in definition of macro '__set_fixmap_offset'
77 | __set_fixmap(idx, phys, flags); \
| ^~~~~
arch/riscv/include/asm/pgtable.h:170:33: note: in expansion of macro '__pgprot'
170 | #define PAGE_KERNEL __pgprot(_PAGE_KERNEL)
| ^~~~~~~~
arch/riscv/include/asm/pgtable.h:170:42: note: in expansion of macro '_PAGE_KERNEL'
170 | #define PAGE_KERNEL __pgprot(_PAGE_KERNEL)
| ^~~~~~~~~~~~
include/asm-generic/fixmap.h:48:28: note: in expansion of macro 'PAGE_KERNEL'
48 | #define FIXMAP_PAGE_NORMAL PAGE_KERNEL
| ^~~~~~~~~~~
include/asm-generic/fixmap.h:83:40: note: in expansion of macro 'FIXMAP_PAGE_NORMAL'
83 | __set_fixmap_offset(idx, phys, FIXMAP_PAGE_NORMAL)
| ^~~~~~~~~~~~~~~~~~
arch/riscv/kernel/patch.c:42:24: note: in expansion of macro 'set_fixmap_offset'
42 | return (void *)set_fixmap_offset(fixmap, page_to_phys(page) +
| ^~~~~~~~~~~~~~~~~


vim +/_PAGE_PMA +167 arch/riscv/include/asm/pgtable.h

161
162 #define _PAGE_KERNEL (_PAGE_READ \
163 | _PAGE_WRITE \
164 | _PAGE_PRESENT \
165 | _PAGE_ACCESSED \
166 | _PAGE_DIRTY \
> 167 | _PAGE_PMA \
168 | _PAGE_GLOBAL)
169

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx