All of lore.kernel.org
 help / color / mirror / Atom feed
* arch/riscv/kernel/head.S:72: Error: illegal operands `li a1,CONFIG_PAGE_OFFSET'
@ 2021-01-22  3:15 ` kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-01-22  3:15 UTC (permalink / raw)
  To: Atish Patra
  Cc: kbuild-all, clang-built-linux, linux-kernel, Palmer Dabbelt, Anup Patel

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

Hi Atish,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   9f29bd8b2e7132b409178d1367dae1813017bd0e
commit: e557793799c5a8406afb08aa170509619f7eac36 RISC-V: Fix maximum allowed phsyical memory for RV32
date:   6 days ago
config: riscv-randconfig-r002-20210122 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project bd3a387ee76f58caa0d7901f3f84e9bb3d006f27)
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
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e557793799c5a8406afb08aa170509619f7eac36
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout e557793799c5a8406afb08aa170509619f7eac36
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 

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

All errors (new ones prefixed by >>):

   arch/riscv/kernel/head.S: Assembler messages:
>> arch/riscv/kernel/head.S:72: Error: illegal operands `li a1,CONFIG_PAGE_OFFSET'
   clang-12: error: assembler command failed with exit code 1 (use -v to see invocation)
--
   In file included from arch/riscv/kernel/soc.c:7:
   In file included from include/linux/pgtable.h:6:
   In file included from arch/riscv/include/asm/pgtable.h:64:
>> arch/riscv/include/asm/pgtable-64.h:70:9: error: use of undeclared identifier 'UL'
           return pfn_to_page(pud_val(pud) >> _PAGE_PFN_SHIFT);
                  ^
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
                            ^
   arch/riscv/include/asm/pgtable.h:26:27: note: expanded from macro 'VMALLOC_START'
   #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)
                             ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/soc.c:7:
   In file included from include/linux/pgtable.h:6:
   In file included from arch/riscv/include/asm/pgtable.h:64:
>> arch/riscv/include/asm/pgtable-64.h:70:9: error: use of undeclared identifier 'UL'
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:24:27: note: expanded from macro 'VMALLOC_SIZE'
   #define VMALLOC_SIZE     (KERN_VIRT_SIZE >> 1)
                             ^
   arch/riscv/include/asm/page.h:36:26: note: expanded from macro 'KERN_VIRT_SIZE'
   #define KERN_VIRT_SIZE (-PAGE_OFFSET)
                            ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/soc.c:7:
   In file included from include/linux/pgtable.h:6:
>> arch/riscv/include/asm/pgtable.h:181:9: error: use of undeclared identifier 'UL'
           return pfn_to_page(pmd_val(pmd) >> _PAGE_PFN_SHIFT);
                  ^
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
                            ^
   arch/riscv/include/asm/pgtable.h:26:27: note: expanded from macro 'VMALLOC_START'
   #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)
                             ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/soc.c:7:
   In file included from include/linux/pgtable.h:6:
>> arch/riscv/include/asm/pgtable.h:181:9: error: use of undeclared identifier 'UL'
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:24:27: note: expanded from macro 'VMALLOC_SIZE'
   #define VMALLOC_SIZE     (KERN_VIRT_SIZE >> 1)
                             ^
   arch/riscv/include/asm/page.h:36:26: note: expanded from macro 'KERN_VIRT_SIZE'
   #define KERN_VIRT_SIZE (-PAGE_OFFSET)
                            ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   4 errors generated.
--
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:15:
   In file included from include/linux/pgtable.h:6:
   In file included from arch/riscv/include/asm/pgtable.h:64:
>> arch/riscv/include/asm/pgtable-64.h:70:9: error: use of undeclared identifier 'UL'
           return pfn_to_page(pud_val(pud) >> _PAGE_PFN_SHIFT);
                  ^
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
                            ^
   arch/riscv/include/asm/pgtable.h:26:27: note: expanded from macro 'VMALLOC_START'
   #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)
                             ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:15:
   In file included from include/linux/pgtable.h:6:
   In file included from arch/riscv/include/asm/pgtable.h:64:
>> arch/riscv/include/asm/pgtable-64.h:70:9: error: use of undeclared identifier 'UL'
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:24:27: note: expanded from macro 'VMALLOC_SIZE'
   #define VMALLOC_SIZE     (KERN_VIRT_SIZE >> 1)
                             ^
   arch/riscv/include/asm/page.h:36:26: note: expanded from macro 'KERN_VIRT_SIZE'
   #define KERN_VIRT_SIZE (-PAGE_OFFSET)
                            ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:15:
   In file included from include/linux/pgtable.h:6:
>> arch/riscv/include/asm/pgtable.h:181:9: error: use of undeclared identifier 'UL'
           return pfn_to_page(pmd_val(pmd) >> _PAGE_PFN_SHIFT);
                  ^
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
                            ^
   arch/riscv/include/asm/pgtable.h:26:27: note: expanded from macro 'VMALLOC_START'
   #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)
                             ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:15:
   In file included from include/linux/pgtable.h:6:
>> arch/riscv/include/asm/pgtable.h:181:9: error: use of undeclared identifier 'UL'
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:24:27: note: expanded from macro 'VMALLOC_SIZE'
   #define VMALLOC_SIZE     (KERN_VIRT_SIZE >> 1)
                             ^
   arch/riscv/include/asm/page.h:36:26: note: expanded from macro 'KERN_VIRT_SIZE'
   #define KERN_VIRT_SIZE (-PAGE_OFFSET)
                            ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:149:
>> include/asm-generic/io.h:556:9: error: use of undeclared identifier 'UL'
           return inb(addr);
                  ^
   arch/riscv/include/asm/io.h:55:65: note: expanded from macro 'inb'
   #define inb(c)          ({ u8  __v; __io_pbr(); __v = readb_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
                                                                           ^
   arch/riscv/include/asm/io.h:30:38: note: expanded from macro 'PCI_IOBASE'
   #define PCI_IOBASE              ((void __iomem *)PCI_IO_START)
                                                    ^
   arch/riscv/include/asm/pgtable.h:51:27: note: expanded from macro 'PCI_IO_START'
   #define PCI_IO_START     (PCI_IO_END - PCI_IO_SIZE)
                             ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
                            ^
   arch/riscv/include/asm/pgtable.h:26:27: note: expanded from macro 'VMALLOC_START'
   #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)
                             ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:149:
>> include/asm-generic/io.h:556:9: error: use of undeclared identifier 'UL'
   arch/riscv/include/asm/io.h:55:65: note: expanded from macro 'inb'
   #define inb(c)          ({ u8  __v; __io_pbr(); __v = readb_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
                                                                           ^
   arch/riscv/include/asm/io.h:30:38: note: expanded from macro 'PCI_IOBASE'
   #define PCI_IOBASE              ((void __iomem *)PCI_IO_START)
                                                    ^
   arch/riscv/include/asm/pgtable.h:51:27: note: expanded from macro 'PCI_IO_START'
   #define PCI_IO_START     (PCI_IO_END - PCI_IO_SIZE)
                             ^
   note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:24:27: note: expanded from macro 'VMALLOC_SIZE'
   #define VMALLOC_SIZE     (KERN_VIRT_SIZE >> 1)
                             ^
   arch/riscv/include/asm/page.h:36:26: note: expanded from macro 'KERN_VIRT_SIZE'
   #define KERN_VIRT_SIZE (-PAGE_OFFSET)
                            ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:149:
   include/asm-generic/io.h:564:9: error: use of undeclared identifier 'UL'
           return inw(addr);
                  ^
   arch/riscv/include/asm/io.h:56:65: note: expanded from macro 'inw'
   #define inw(c)          ({ u16 __v; __io_pbr(); __v = readw_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
                                                                           ^
   arch/riscv/include/asm/io.h:30:38: note: expanded from macro 'PCI_IOBASE'
   #define PCI_IOBASE              ((void __iomem *)PCI_IO_START)
                                                    ^
   arch/riscv/include/asm/pgtable.h:51:27: note: expanded from macro 'PCI_IO_START'
   #define PCI_IO_START     (PCI_IO_END - PCI_IO_SIZE)
                             ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
                            ^
   arch/riscv/include/asm/pgtable.h:26:27: note: expanded from macro 'VMALLOC_START'
   #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)
                             ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:149:
   include/asm-generic/io.h:564:9: error: use of undeclared identifier 'UL'
   arch/riscv/include/asm/io.h:56:65: note: expanded from macro 'inw'
   #define inw(c)          ({ u16 __v; __io_pbr(); __v = readw_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
                                                                           ^
   arch/riscv/include/asm/io.h:30:38: note: expanded from macro 'PCI_IOBASE'
   #define PCI_IOBASE              ((void __iomem *)PCI_IO_START)
                                                    ^
   arch/riscv/include/asm/pgtable.h:51:27: note: expanded from macro 'PCI_IO_START'
   #define PCI_IO_START     (PCI_IO_END - PCI_IO_SIZE)
                             ^
   note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:24:27: note: expanded from macro 'VMALLOC_SIZE'
   #define VMALLOC_SIZE     (KERN_VIRT_SIZE >> 1)
                             ^
   arch/riscv/include/asm/page.h:36:26: note: expanded from macro 'KERN_VIRT_SIZE'
   #define KERN_VIRT_SIZE (-PAGE_OFFSET)
                            ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:149:
   include/asm-generic/io.h:572:9: error: use of undeclared identifier 'UL'
           return inl(addr);
                  ^
   arch/riscv/include/asm/io.h:57:65: note: expanded from macro 'inl'
   #define inl(c)          ({ u32 __v; __io_pbr(); __v = readl_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
                                                                           ^
   arch/riscv/include/asm/io.h:30:38: note: expanded from macro 'PCI_IOBASE'
   #define PCI_IOBASE              ((void __iomem *)PCI_IO_START)
                                                    ^
   arch/riscv/include/asm/pgtable.h:51:27: note: expanded from macro 'PCI_IO_START'
   #define PCI_IO_START     (PCI_IO_END - PCI_IO_SIZE)
                             ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
..


vim +72 arch/riscv/kernel/head.S

0f327f2aaad6a873 Atish Patra 2019-06-06   67  
e011995e826f85fb Atish Patra 2020-03-17   68  .align 2
e011995e826f85fb Atish Patra 2020-03-17   69  #ifdef CONFIG_MMU
e011995e826f85fb Atish Patra 2020-03-17   70  relocate:
e011995e826f85fb Atish Patra 2020-03-17   71  	/* Relocate return address */
e011995e826f85fb Atish Patra 2020-03-17  @72  	li a1, PAGE_OFFSET
e011995e826f85fb Atish Patra 2020-03-17   73  	la a2, _start
e011995e826f85fb Atish Patra 2020-03-17   74  	sub a1, a1, a2
e011995e826f85fb Atish Patra 2020-03-17   75  	add ra, ra, a1
e011995e826f85fb Atish Patra 2020-03-17   76  
e011995e826f85fb Atish Patra 2020-03-17   77  	/* Point stvec to virtual address of intruction after satp write */
e011995e826f85fb Atish Patra 2020-03-17   78  	la a2, 1f
e011995e826f85fb Atish Patra 2020-03-17   79  	add a2, a2, a1
e011995e826f85fb Atish Patra 2020-03-17   80  	csrw CSR_TVEC, a2
e011995e826f85fb Atish Patra 2020-03-17   81  
e011995e826f85fb Atish Patra 2020-03-17   82  	/* Compute satp for kernel page tables, but don't load it yet */
e011995e826f85fb Atish Patra 2020-03-17   83  	srl a2, a0, PAGE_SHIFT
e011995e826f85fb Atish Patra 2020-03-17   84  	li a1, SATP_MODE
e011995e826f85fb Atish Patra 2020-03-17   85  	or a2, a2, a1
e011995e826f85fb Atish Patra 2020-03-17   86  
e011995e826f85fb Atish Patra 2020-03-17   87  	/*
e011995e826f85fb Atish Patra 2020-03-17   88  	 * Load trampoline page directory, which will cause us to trap to
e011995e826f85fb Atish Patra 2020-03-17   89  	 * stvec if VA != PA, or simply fall through if VA == PA.  We need a
e011995e826f85fb Atish Patra 2020-03-17   90  	 * full fence here because setup_vm() just wrote these PTEs and we need
e011995e826f85fb Atish Patra 2020-03-17   91  	 * to ensure the new translations are in use.
e011995e826f85fb Atish Patra 2020-03-17   92  	 */
e011995e826f85fb Atish Patra 2020-03-17   93  	la a0, trampoline_pg_dir
e011995e826f85fb Atish Patra 2020-03-17   94  	srl a0, a0, PAGE_SHIFT
e011995e826f85fb Atish Patra 2020-03-17   95  	or a0, a0, a1
e011995e826f85fb Atish Patra 2020-03-17   96  	sfence.vma
e011995e826f85fb Atish Patra 2020-03-17   97  	csrw CSR_SATP, a0
e011995e826f85fb Atish Patra 2020-03-17   98  .align 2
e011995e826f85fb Atish Patra 2020-03-17   99  1:
76d4467a97bd8c4b Qiu Wenbo   2020-08-13  100  	/* Set trap vector to spin forever to help debug */
76d4467a97bd8c4b Qiu Wenbo   2020-08-13  101  	la a0, .Lsecondary_park
e011995e826f85fb Atish Patra 2020-03-17  102  	csrw CSR_TVEC, a0
e011995e826f85fb Atish Patra 2020-03-17  103  
e011995e826f85fb Atish Patra 2020-03-17  104  	/* Reload the global pointer */
e011995e826f85fb Atish Patra 2020-03-17  105  .option push
e011995e826f85fb Atish Patra 2020-03-17  106  .option norelax
e011995e826f85fb Atish Patra 2020-03-17  107  	la gp, __global_pointer$
e011995e826f85fb Atish Patra 2020-03-17  108  .option pop
e011995e826f85fb Atish Patra 2020-03-17  109  
e011995e826f85fb Atish Patra 2020-03-17  110  	/*
e011995e826f85fb Atish Patra 2020-03-17  111  	 * Switch to kernel page tables.  A full fence is necessary in order to
e011995e826f85fb Atish Patra 2020-03-17  112  	 * avoid using the trampoline translations, which are only correct for
e011995e826f85fb Atish Patra 2020-03-17  113  	 * the first superpage.  Fetching the fence is guarnteed to work
e011995e826f85fb Atish Patra 2020-03-17  114  	 * because that first superpage is translated the same way.
e011995e826f85fb Atish Patra 2020-03-17  115  	 */
e011995e826f85fb Atish Patra 2020-03-17  116  	csrw CSR_SATP, a2
e011995e826f85fb Atish Patra 2020-03-17  117  	sfence.vma
e011995e826f85fb Atish Patra 2020-03-17  118  
e011995e826f85fb Atish Patra 2020-03-17  119  	ret
e011995e826f85fb Atish Patra 2020-03-17  120  #endif /* CONFIG_MMU */
e011995e826f85fb Atish Patra 2020-03-17  121  #ifdef CONFIG_SMP
cfafe260137418d0 Atish Patra 2020-03-17  122  	.global secondary_start_sbi
cfafe260137418d0 Atish Patra 2020-03-17  123  secondary_start_sbi:
cfafe260137418d0 Atish Patra 2020-03-17  124  	/* Mask all interrupts */
cfafe260137418d0 Atish Patra 2020-03-17  125  	csrw CSR_IE, zero
cfafe260137418d0 Atish Patra 2020-03-17  126  	csrw CSR_IP, zero
cfafe260137418d0 Atish Patra 2020-03-17  127  
cfafe260137418d0 Atish Patra 2020-03-17  128  	/* Load the global pointer */
cfafe260137418d0 Atish Patra 2020-03-17  129  	.option push
cfafe260137418d0 Atish Patra 2020-03-17  130  	.option norelax
cfafe260137418d0 Atish Patra 2020-03-17  131  		la gp, __global_pointer$
cfafe260137418d0 Atish Patra 2020-03-17  132  	.option pop
cfafe260137418d0 Atish Patra 2020-03-17  133  
cfafe260137418d0 Atish Patra 2020-03-17  134  	/*
cfafe260137418d0 Atish Patra 2020-03-17  135  	 * Disable FPU to detect illegal usage of
cfafe260137418d0 Atish Patra 2020-03-17  136  	 * floating point in kernel space
cfafe260137418d0 Atish Patra 2020-03-17  137  	 */
cfafe260137418d0 Atish Patra 2020-03-17  138  	li t0, SR_FS
cfafe260137418d0 Atish Patra 2020-03-17  139  	csrc CSR_STATUS, t0
cfafe260137418d0 Atish Patra 2020-03-17  140  
e011995e826f85fb Atish Patra 2020-03-17  141  	/* Set trap vector to spin forever to help debug */
e011995e826f85fb Atish Patra 2020-03-17  142  	la a3, .Lsecondary_park
e011995e826f85fb Atish Patra 2020-03-17  143  	csrw CSR_TVEC, a3
e011995e826f85fb Atish Patra 2020-03-17  144  
e011995e826f85fb Atish Patra 2020-03-17  145  	slli a3, a0, LGREG
cfafe260137418d0 Atish Patra 2020-03-17  146  	la a4, __cpu_up_stack_pointer
cfafe260137418d0 Atish Patra 2020-03-17  147  	la a5, __cpu_up_task_pointer
cfafe260137418d0 Atish Patra 2020-03-17  148  	add a4, a3, a4
cfafe260137418d0 Atish Patra 2020-03-17  149  	add a5, a3, a5
cfafe260137418d0 Atish Patra 2020-03-17  150  	REG_L sp, (a4)
cfafe260137418d0 Atish Patra 2020-03-17  151  	REG_L tp, (a5)
cfafe260137418d0 Atish Patra 2020-03-17  152  
e011995e826f85fb Atish Patra 2020-03-17  153  	.global secondary_start_common
e011995e826f85fb Atish Patra 2020-03-17  154  secondary_start_common:
e011995e826f85fb Atish Patra 2020-03-17  155  

:::::: The code at line 72 was first introduced by commit
:::::: e011995e826f85fbe55dc7d4ce649461163d1052 RISC-V: Move relocate and few other functions out of __init

:::::: TO: Atish Patra <atish.patra@wdc.com>
:::::: CC: Palmer Dabbelt <palmerdabbelt@google.com>

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

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* arch/riscv/kernel/head.S:72: Error: illegal operands `li a1, CONFIG_PAGE_OFFSET'
@ 2021-01-22  3:15 ` kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-01-22  3:15 UTC (permalink / raw)
  To: kbuild-all

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

Hi Atish,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   9f29bd8b2e7132b409178d1367dae1813017bd0e
commit: e557793799c5a8406afb08aa170509619f7eac36 RISC-V: Fix maximum allowed phsyical memory for RV32
date:   6 days ago
config: riscv-randconfig-r002-20210122 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project bd3a387ee76f58caa0d7901f3f84e9bb3d006f27)
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
        # install riscv cross compiling tool for clang build
        # apt-get install binutils-riscv64-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e557793799c5a8406afb08aa170509619f7eac36
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout e557793799c5a8406afb08aa170509619f7eac36
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv 

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

All errors (new ones prefixed by >>):

   arch/riscv/kernel/head.S: Assembler messages:
>> arch/riscv/kernel/head.S:72: Error: illegal operands `li a1,CONFIG_PAGE_OFFSET'
   clang-12: error: assembler command failed with exit code 1 (use -v to see invocation)
--
   In file included from arch/riscv/kernel/soc.c:7:
   In file included from include/linux/pgtable.h:6:
   In file included from arch/riscv/include/asm/pgtable.h:64:
>> arch/riscv/include/asm/pgtable-64.h:70:9: error: use of undeclared identifier 'UL'
           return pfn_to_page(pud_val(pud) >> _PAGE_PFN_SHIFT);
                  ^
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
                            ^
   arch/riscv/include/asm/pgtable.h:26:27: note: expanded from macro 'VMALLOC_START'
   #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)
                             ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/soc.c:7:
   In file included from include/linux/pgtable.h:6:
   In file included from arch/riscv/include/asm/pgtable.h:64:
>> arch/riscv/include/asm/pgtable-64.h:70:9: error: use of undeclared identifier 'UL'
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:24:27: note: expanded from macro 'VMALLOC_SIZE'
   #define VMALLOC_SIZE     (KERN_VIRT_SIZE >> 1)
                             ^
   arch/riscv/include/asm/page.h:36:26: note: expanded from macro 'KERN_VIRT_SIZE'
   #define KERN_VIRT_SIZE (-PAGE_OFFSET)
                            ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/soc.c:7:
   In file included from include/linux/pgtable.h:6:
>> arch/riscv/include/asm/pgtable.h:181:9: error: use of undeclared identifier 'UL'
           return pfn_to_page(pmd_val(pmd) >> _PAGE_PFN_SHIFT);
                  ^
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
                            ^
   arch/riscv/include/asm/pgtable.h:26:27: note: expanded from macro 'VMALLOC_START'
   #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)
                             ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/soc.c:7:
   In file included from include/linux/pgtable.h:6:
>> arch/riscv/include/asm/pgtable.h:181:9: error: use of undeclared identifier 'UL'
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:24:27: note: expanded from macro 'VMALLOC_SIZE'
   #define VMALLOC_SIZE     (KERN_VIRT_SIZE >> 1)
                             ^
   arch/riscv/include/asm/page.h:36:26: note: expanded from macro 'KERN_VIRT_SIZE'
   #define KERN_VIRT_SIZE (-PAGE_OFFSET)
                            ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   4 errors generated.
--
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:15:
   In file included from include/linux/pgtable.h:6:
   In file included from arch/riscv/include/asm/pgtable.h:64:
>> arch/riscv/include/asm/pgtable-64.h:70:9: error: use of undeclared identifier 'UL'
           return pfn_to_page(pud_val(pud) >> _PAGE_PFN_SHIFT);
                  ^
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
                            ^
   arch/riscv/include/asm/pgtable.h:26:27: note: expanded from macro 'VMALLOC_START'
   #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)
                             ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:15:
   In file included from include/linux/pgtable.h:6:
   In file included from arch/riscv/include/asm/pgtable.h:64:
>> arch/riscv/include/asm/pgtable-64.h:70:9: error: use of undeclared identifier 'UL'
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:24:27: note: expanded from macro 'VMALLOC_SIZE'
   #define VMALLOC_SIZE     (KERN_VIRT_SIZE >> 1)
                             ^
   arch/riscv/include/asm/page.h:36:26: note: expanded from macro 'KERN_VIRT_SIZE'
   #define KERN_VIRT_SIZE (-PAGE_OFFSET)
                            ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:15:
   In file included from include/linux/pgtable.h:6:
>> arch/riscv/include/asm/pgtable.h:181:9: error: use of undeclared identifier 'UL'
           return pfn_to_page(pmd_val(pmd) >> _PAGE_PFN_SHIFT);
                  ^
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
                            ^
   arch/riscv/include/asm/pgtable.h:26:27: note: expanded from macro 'VMALLOC_START'
   #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)
                             ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:15:
   In file included from include/linux/pgtable.h:6:
>> arch/riscv/include/asm/pgtable.h:181:9: error: use of undeclared identifier 'UL'
   include/asm-generic/memory_model.h:82:21: note: expanded from macro 'pfn_to_page'
   #define pfn_to_page __pfn_to_page
                       ^
   include/asm-generic/memory_model.h:54:29: note: expanded from macro '__pfn_to_page'
   #define __pfn_to_page(pfn)      (vmemmap + (pfn))
                                    ^
   arch/riscv/include/asm/pgtable.h:47:34: note: expanded from macro 'vmemmap'
   #define vmemmap         ((struct page *)VMEMMAP_START)
                                           ^
   note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:24:27: note: expanded from macro 'VMALLOC_SIZE'
   #define VMALLOC_SIZE     (KERN_VIRT_SIZE >> 1)
                             ^
   arch/riscv/include/asm/page.h:36:26: note: expanded from macro 'KERN_VIRT_SIZE'
   #define KERN_VIRT_SIZE (-PAGE_OFFSET)
                            ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:149:
>> include/asm-generic/io.h:556:9: error: use of undeclared identifier 'UL'
           return inb(addr);
                  ^
   arch/riscv/include/asm/io.h:55:65: note: expanded from macro 'inb'
   #define inb(c)          ({ u8  __v; __io_pbr(); __v = readb_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
                                                                           ^
   arch/riscv/include/asm/io.h:30:38: note: expanded from macro 'PCI_IOBASE'
   #define PCI_IOBASE              ((void __iomem *)PCI_IO_START)
                                                    ^
   arch/riscv/include/asm/pgtable.h:51:27: note: expanded from macro 'PCI_IO_START'
   #define PCI_IO_START     (PCI_IO_END - PCI_IO_SIZE)
                             ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
                            ^
   arch/riscv/include/asm/pgtable.h:26:27: note: expanded from macro 'VMALLOC_START'
   #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)
                             ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:149:
>> include/asm-generic/io.h:556:9: error: use of undeclared identifier 'UL'
   arch/riscv/include/asm/io.h:55:65: note: expanded from macro 'inb'
   #define inb(c)          ({ u8  __v; __io_pbr(); __v = readb_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
                                                                           ^
   arch/riscv/include/asm/io.h:30:38: note: expanded from macro 'PCI_IOBASE'
   #define PCI_IOBASE              ((void __iomem *)PCI_IO_START)
                                                    ^
   arch/riscv/include/asm/pgtable.h:51:27: note: expanded from macro 'PCI_IO_START'
   #define PCI_IO_START     (PCI_IO_END - PCI_IO_SIZE)
                             ^
   note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:24:27: note: expanded from macro 'VMALLOC_SIZE'
   #define VMALLOC_SIZE     (KERN_VIRT_SIZE >> 1)
                             ^
   arch/riscv/include/asm/page.h:36:26: note: expanded from macro 'KERN_VIRT_SIZE'
   #define KERN_VIRT_SIZE (-PAGE_OFFSET)
                            ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:149:
   include/asm-generic/io.h:564:9: error: use of undeclared identifier 'UL'
           return inw(addr);
                  ^
   arch/riscv/include/asm/io.h:56:65: note: expanded from macro 'inw'
   #define inw(c)          ({ u16 __v; __io_pbr(); __v = readw_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
                                                                           ^
   arch/riscv/include/asm/io.h:30:38: note: expanded from macro 'PCI_IOBASE'
   #define PCI_IOBASE              ((void __iomem *)PCI_IO_START)
                                                    ^
   arch/riscv/include/asm/pgtable.h:51:27: note: expanded from macro 'PCI_IO_START'
   #define PCI_IO_START     (PCI_IO_END - PCI_IO_SIZE)
                             ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
                            ^
   arch/riscv/include/asm/pgtable.h:26:27: note: expanded from macro 'VMALLOC_START'
   #define VMALLOC_START    (PAGE_OFFSET - VMALLOC_SIZE)
                             ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:149:
   include/asm-generic/io.h:564:9: error: use of undeclared identifier 'UL'
   arch/riscv/include/asm/io.h:56:65: note: expanded from macro 'inw'
   #define inw(c)          ({ u16 __v; __io_pbr(); __v = readw_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
                                                                           ^
   arch/riscv/include/asm/io.h:30:38: note: expanded from macro 'PCI_IOBASE'
   #define PCI_IOBASE              ((void __iomem *)PCI_IO_START)
                                                    ^
   arch/riscv/include/asm/pgtable.h:51:27: note: expanded from macro 'PCI_IO_START'
   #define PCI_IO_START     (PCI_IO_END - PCI_IO_SIZE)
                             ^
   note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:24:27: note: expanded from macro 'VMALLOC_SIZE'
   #define VMALLOC_SIZE     (KERN_VIRT_SIZE >> 1)
                             ^
   arch/riscv/include/asm/page.h:36:26: note: expanded from macro 'KERN_VIRT_SIZE'
   #define KERN_VIRT_SIZE (-PAGE_OFFSET)
                            ^
   arch/riscv/include/asm/page.h:34:46: note: expanded from macro 'PAGE_OFFSET'
   #define PAGE_OFFSET             _AC(CONFIG_PAGE_OFFSET, UL)
                                                           ^
   In file included from arch/riscv/kernel/irq.c:8:
   In file included from include/linux/interrupt.h:11:
   In file included from include/linux/hardirq.h:10:
   In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
   In file included from include/asm-generic/hardirq.h:17:
   In file included from include/linux/irq.h:20:
   In file included from include/linux/io.h:13:
   In file included from arch/riscv/include/asm/io.h:149:
   include/asm-generic/io.h:572:9: error: use of undeclared identifier 'UL'
           return inl(addr);
                  ^
   arch/riscv/include/asm/io.h:57:65: note: expanded from macro 'inl'
   #define inl(c)          ({ u32 __v; __io_pbr(); __v = readl_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
                                                                           ^
   arch/riscv/include/asm/io.h:30:38: note: expanded from macro 'PCI_IOBASE'
   #define PCI_IOBASE              ((void __iomem *)PCI_IO_START)
                                                    ^
   arch/riscv/include/asm/pgtable.h:51:27: note: expanded from macro 'PCI_IO_START'
   #define PCI_IO_START     (PCI_IO_END - PCI_IO_SIZE)
                             ^
   note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
   arch/riscv/include/asm/pgtable.h:41:24: note: expanded from macro 'VMEMMAP_START'
   #define VMEMMAP_START   (VMALLOC_START - VMEMMAP_SIZE)
..


vim +72 arch/riscv/kernel/head.S

0f327f2aaad6a873 Atish Patra 2019-06-06   67  
e011995e826f85fb Atish Patra 2020-03-17   68  .align 2
e011995e826f85fb Atish Patra 2020-03-17   69  #ifdef CONFIG_MMU
e011995e826f85fb Atish Patra 2020-03-17   70  relocate:
e011995e826f85fb Atish Patra 2020-03-17   71  	/* Relocate return address */
e011995e826f85fb Atish Patra 2020-03-17  @72  	li a1, PAGE_OFFSET
e011995e826f85fb Atish Patra 2020-03-17   73  	la a2, _start
e011995e826f85fb Atish Patra 2020-03-17   74  	sub a1, a1, a2
e011995e826f85fb Atish Patra 2020-03-17   75  	add ra, ra, a1
e011995e826f85fb Atish Patra 2020-03-17   76  
e011995e826f85fb Atish Patra 2020-03-17   77  	/* Point stvec to virtual address of intruction after satp write */
e011995e826f85fb Atish Patra 2020-03-17   78  	la a2, 1f
e011995e826f85fb Atish Patra 2020-03-17   79  	add a2, a2, a1
e011995e826f85fb Atish Patra 2020-03-17   80  	csrw CSR_TVEC, a2
e011995e826f85fb Atish Patra 2020-03-17   81  
e011995e826f85fb Atish Patra 2020-03-17   82  	/* Compute satp for kernel page tables, but don't load it yet */
e011995e826f85fb Atish Patra 2020-03-17   83  	srl a2, a0, PAGE_SHIFT
e011995e826f85fb Atish Patra 2020-03-17   84  	li a1, SATP_MODE
e011995e826f85fb Atish Patra 2020-03-17   85  	or a2, a2, a1
e011995e826f85fb Atish Patra 2020-03-17   86  
e011995e826f85fb Atish Patra 2020-03-17   87  	/*
e011995e826f85fb Atish Patra 2020-03-17   88  	 * Load trampoline page directory, which will cause us to trap to
e011995e826f85fb Atish Patra 2020-03-17   89  	 * stvec if VA != PA, or simply fall through if VA == PA.  We need a
e011995e826f85fb Atish Patra 2020-03-17   90  	 * full fence here because setup_vm() just wrote these PTEs and we need
e011995e826f85fb Atish Patra 2020-03-17   91  	 * to ensure the new translations are in use.
e011995e826f85fb Atish Patra 2020-03-17   92  	 */
e011995e826f85fb Atish Patra 2020-03-17   93  	la a0, trampoline_pg_dir
e011995e826f85fb Atish Patra 2020-03-17   94  	srl a0, a0, PAGE_SHIFT
e011995e826f85fb Atish Patra 2020-03-17   95  	or a0, a0, a1
e011995e826f85fb Atish Patra 2020-03-17   96  	sfence.vma
e011995e826f85fb Atish Patra 2020-03-17   97  	csrw CSR_SATP, a0
e011995e826f85fb Atish Patra 2020-03-17   98  .align 2
e011995e826f85fb Atish Patra 2020-03-17   99  1:
76d4467a97bd8c4b Qiu Wenbo   2020-08-13  100  	/* Set trap vector to spin forever to help debug */
76d4467a97bd8c4b Qiu Wenbo   2020-08-13  101  	la a0, .Lsecondary_park
e011995e826f85fb Atish Patra 2020-03-17  102  	csrw CSR_TVEC, a0
e011995e826f85fb Atish Patra 2020-03-17  103  
e011995e826f85fb Atish Patra 2020-03-17  104  	/* Reload the global pointer */
e011995e826f85fb Atish Patra 2020-03-17  105  .option push
e011995e826f85fb Atish Patra 2020-03-17  106  .option norelax
e011995e826f85fb Atish Patra 2020-03-17  107  	la gp, __global_pointer$
e011995e826f85fb Atish Patra 2020-03-17  108  .option pop
e011995e826f85fb Atish Patra 2020-03-17  109  
e011995e826f85fb Atish Patra 2020-03-17  110  	/*
e011995e826f85fb Atish Patra 2020-03-17  111  	 * Switch to kernel page tables.  A full fence is necessary in order to
e011995e826f85fb Atish Patra 2020-03-17  112  	 * avoid using the trampoline translations, which are only correct for
e011995e826f85fb Atish Patra 2020-03-17  113  	 * the first superpage.  Fetching the fence is guarnteed to work
e011995e826f85fb Atish Patra 2020-03-17  114  	 * because that first superpage is translated the same way.
e011995e826f85fb Atish Patra 2020-03-17  115  	 */
e011995e826f85fb Atish Patra 2020-03-17  116  	csrw CSR_SATP, a2
e011995e826f85fb Atish Patra 2020-03-17  117  	sfence.vma
e011995e826f85fb Atish Patra 2020-03-17  118  
e011995e826f85fb Atish Patra 2020-03-17  119  	ret
e011995e826f85fb Atish Patra 2020-03-17  120  #endif /* CONFIG_MMU */
e011995e826f85fb Atish Patra 2020-03-17  121  #ifdef CONFIG_SMP
cfafe260137418d0 Atish Patra 2020-03-17  122  	.global secondary_start_sbi
cfafe260137418d0 Atish Patra 2020-03-17  123  secondary_start_sbi:
cfafe260137418d0 Atish Patra 2020-03-17  124  	/* Mask all interrupts */
cfafe260137418d0 Atish Patra 2020-03-17  125  	csrw CSR_IE, zero
cfafe260137418d0 Atish Patra 2020-03-17  126  	csrw CSR_IP, zero
cfafe260137418d0 Atish Patra 2020-03-17  127  
cfafe260137418d0 Atish Patra 2020-03-17  128  	/* Load the global pointer */
cfafe260137418d0 Atish Patra 2020-03-17  129  	.option push
cfafe260137418d0 Atish Patra 2020-03-17  130  	.option norelax
cfafe260137418d0 Atish Patra 2020-03-17  131  		la gp, __global_pointer$
cfafe260137418d0 Atish Patra 2020-03-17  132  	.option pop
cfafe260137418d0 Atish Patra 2020-03-17  133  
cfafe260137418d0 Atish Patra 2020-03-17  134  	/*
cfafe260137418d0 Atish Patra 2020-03-17  135  	 * Disable FPU to detect illegal usage of
cfafe260137418d0 Atish Patra 2020-03-17  136  	 * floating point in kernel space
cfafe260137418d0 Atish Patra 2020-03-17  137  	 */
cfafe260137418d0 Atish Patra 2020-03-17  138  	li t0, SR_FS
cfafe260137418d0 Atish Patra 2020-03-17  139  	csrc CSR_STATUS, t0
cfafe260137418d0 Atish Patra 2020-03-17  140  
e011995e826f85fb Atish Patra 2020-03-17  141  	/* Set trap vector to spin forever to help debug */
e011995e826f85fb Atish Patra 2020-03-17  142  	la a3, .Lsecondary_park
e011995e826f85fb Atish Patra 2020-03-17  143  	csrw CSR_TVEC, a3
e011995e826f85fb Atish Patra 2020-03-17  144  
e011995e826f85fb Atish Patra 2020-03-17  145  	slli a3, a0, LGREG
cfafe260137418d0 Atish Patra 2020-03-17  146  	la a4, __cpu_up_stack_pointer
cfafe260137418d0 Atish Patra 2020-03-17  147  	la a5, __cpu_up_task_pointer
cfafe260137418d0 Atish Patra 2020-03-17  148  	add a4, a3, a4
cfafe260137418d0 Atish Patra 2020-03-17  149  	add a5, a3, a5
cfafe260137418d0 Atish Patra 2020-03-17  150  	REG_L sp, (a4)
cfafe260137418d0 Atish Patra 2020-03-17  151  	REG_L tp, (a5)
cfafe260137418d0 Atish Patra 2020-03-17  152  
e011995e826f85fb Atish Patra 2020-03-17  153  	.global secondary_start_common
e011995e826f85fb Atish Patra 2020-03-17  154  secondary_start_common:
e011995e826f85fb Atish Patra 2020-03-17  155  

:::::: The code at line 72 was first introduced by commit
:::::: e011995e826f85fbe55dc7d4ce649461163d1052 RISC-V: Move relocate and few other functions out of __init

:::::: TO: Atish Patra <atish.patra@wdc.com>
:::::: CC: Palmer Dabbelt <palmerdabbelt@google.com>

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

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-01-22  3:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-22  3:15 arch/riscv/kernel/head.S:72: Error: illegal operands `li a1,CONFIG_PAGE_OFFSET' kernel test robot
2021-01-22  3:15 ` arch/riscv/kernel/head.S:72: Error: illegal operands `li a1, CONFIG_PAGE_OFFSET' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.