All of lore.kernel.org
 help / color / mirror / Atom feed
* [p2pmem:remap_pages_cache 1/6] arch/x86/mm/init_32.c:253:1: error: conflicting types for 'kernel_physical_mapping_init'
@ 2019-10-12  0:36 kbuild test robot
  0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2019-10-12  0:36 UTC (permalink / raw)
  To: kbuild-all

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

tree:   https://github.com/sbates130272/linux-p2pmem.git remap_pages_cache
head:   6b6b28881f17f808a7440cf8e7e96802998e5c25
commit: 63564a7b18d94844d8cab40e3de1f7e9bfa96b30 [1/6] x86/mm: Thread pgprot_t through init_memory_mapping()
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
reproduce:
        git checkout 63564a7b18d94844d8cab40e3de1f7e9bfa96b30
        # save the attached .config to linux build tree
        make ARCH=i386 

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

All errors (new ones prefixed by >>):

>> arch/x86/mm/init_32.c:253:1: error: conflicting types for 'kernel_physical_mapping_init'
    kernel_physical_mapping_init(unsigned long start,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from arch/x86/mm/init_32.c:56:0:
   arch/x86/mm/mm_internal.h:13:15: note: previous declaration of 'kernel_physical_mapping_init' was here
    unsigned long kernel_physical_mapping_init(unsigned long start,
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

vim +/kernel_physical_mapping_init +253 arch/x86/mm/init_32.c

^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  246  
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  247  /*
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  248   * This maps the physical memory to kernel virtual address space, a total
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  249   * of max_low_pfn pages, by creating page tables starting from address
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  250   * PAGE_OFFSET:
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  251   */
e53fb04fce6d24 arch/x86/mm/init_32.c Pekka Enberg        2009-03-05  252  unsigned long __init
e53fb04fce6d24 arch/x86/mm/init_32.c Pekka Enberg        2009-03-05 @253  kernel_physical_mapping_init(unsigned long start,
e53fb04fce6d24 arch/x86/mm/init_32.c Pekka Enberg        2009-03-05  254  			     unsigned long end,
e53fb04fce6d24 arch/x86/mm/init_32.c Pekka Enberg        2009-03-05  255  			     unsigned long page_size_mask)
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  256  {
e53fb04fce6d24 arch/x86/mm/init_32.c Pekka Enberg        2009-03-05  257  	int use_pse = page_size_mask == (1<<PG_LEVEL_2M);
c1fd1b43831fa2 arch/x86/mm/init_32.c Pekka Enberg        2010-02-24  258  	unsigned long last_map_addr = end;
e53fb04fce6d24 arch/x86/mm/init_32.c Pekka Enberg        2009-03-05  259  	unsigned long start_pfn, end_pfn;
e7179853e7552b arch/x86/mm/init_32.c Pekka Enberg        2009-03-05  260  	pgd_t *pgd_base = swapper_pg_dir;
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  261  	int pgd_idx, pmd_idx, pte_ofs;
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  262  	unsigned long pfn;
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  263  	pgd_t *pgd;
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  264  	pmd_t *pmd;
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  265  	pte_t *pte;
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  266  	unsigned pages_2m, pages_4k;
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  267  	int mapping_iter;
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  268  
e53fb04fce6d24 arch/x86/mm/init_32.c Pekka Enberg        2009-03-05  269  	start_pfn = start >> PAGE_SHIFT;
e53fb04fce6d24 arch/x86/mm/init_32.c Pekka Enberg        2009-03-05  270  	end_pfn = end >> PAGE_SHIFT;
e53fb04fce6d24 arch/x86/mm/init_32.c Pekka Enberg        2009-03-05  271  
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  272  	/*
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  273  	 * First iteration will setup identity mapping using large/small pages
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  274  	 * based on use_pse, with other attributes same as set by
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  275  	 * the early code in head_32.S
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  276  	 *
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  277  	 * Second iteration will setup the appropriate attributes (NX, GLOBAL..)
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  278  	 * as desired for the kernel identity mapping.
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  279  	 *
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  280  	 * This two pass mechanism conforms to the TLB app note which says:
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  281  	 *
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  282  	 *     "Software should not write to a paging-structure entry in a way
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  283  	 *      that would change, for any linear address, both the page size
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  284  	 *      and either the page frame or attributes."
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  285  	 */
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  286  	mapping_iter = 1;
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  287  
16bf92261b1b6c arch/x86/mm/init_32.c Borislav Petkov     2016-03-29  288  	if (!boot_cpu_has(X86_FEATURE_PSE))
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  289  		use_pse = 0;
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  290  
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  291  repeat:
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  292  	pages_2m = pages_4k = 0;
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  293  	pfn = start_pfn;
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  294  	pgd_idx = pgd_index((pfn<<PAGE_SHIFT) + PAGE_OFFSET);
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  295  	pgd = pgd_base + pgd_idx;
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  296  	for (; pgd_idx < PTRS_PER_PGD; pgd++, pgd_idx++) {
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  297  		pmd = one_md_table_init(pgd);
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  298  
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  299  		if (pfn >= end_pfn)
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  300  			continue;
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  301  #ifdef CONFIG_X86_PAE
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  302  		pmd_idx = pmd_index((pfn<<PAGE_SHIFT) + PAGE_OFFSET);
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  303  		pmd += pmd_idx;
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  304  #else
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  305  		pmd_idx = 0;
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  306  #endif
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  307  		for (; pmd_idx < PTRS_PER_PMD && pfn < end_pfn;
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  308  		     pmd++, pmd_idx++) {
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  309  			unsigned int addr = pfn * PAGE_SIZE + PAGE_OFFSET;
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  310  
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  311  			/*
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  312  			 * Map with big pages if possible, otherwise
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  313  			 * create normal page tables:
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  314  			 */
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  315  			if (use_pse) {
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  316  				unsigned int addr2;
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  317  				pgprot_t prot = PAGE_KERNEL_LARGE;
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  318  				/*
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  319  				 * first pass will use the same initial
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  320  				 * identity mapping attribute + _PAGE_PSE.
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  321  				 */
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  322  				pgprot_t init_prot =
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  323  					__pgprot(PTE_IDENT_ATTR |
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  324  						 _PAGE_PSE);
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  325  
960ddb4fe7832b arch/x86/mm/init_32.c Yinghai Lu          2012-11-16  326  				pfn &= PMD_MASK >> PAGE_SHIFT;
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  327  				addr2 = (pfn + PTRS_PER_PTE-1) * PAGE_SIZE +
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  328  					PAGE_OFFSET + PAGE_SIZE-1;
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  329  
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  330  				if (is_kernel_text(addr) ||
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  331  				    is_kernel_text(addr2))
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  332  					prot = PAGE_KERNEL_LARGE_EXEC;
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  333  
ce0c0e50f94e8c arch/x86/mm/init_32.c Andi Kleen          2008-05-02  334  				pages_2m++;
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  335  				if (mapping_iter == 1)
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  336  					set_pmd(pmd, pfn_pmd(pfn, init_prot));
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  337  				else
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  338  					set_pmd(pmd, pfn_pmd(pfn, prot));
b239fb2501117b arch/i386/mm/init.c   Jeremy Fitzhardinge 2007-05-02  339  
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  340  				pfn += PTRS_PER_PTE;
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  341  				continue;
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  342  			}
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  343  			pte = one_page_table_init(pmd);
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  344  
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  345  			pte_ofs = pte_index((pfn<<PAGE_SHIFT) + PAGE_OFFSET);
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  346  			pte += pte_ofs;
a04ad82d0bff4b arch/x86/mm/init_32.c Yinghai Lu          2008-06-29  347  			for (; pte_ofs < PTRS_PER_PTE && pfn < end_pfn;
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  348  			     pte++, pfn++, pte_ofs++, addr += PAGE_SIZE) {
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  349  				pgprot_t prot = PAGE_KERNEL;
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  350  				/*
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  351  				 * first pass will use the same initial
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  352  				 * identity mapping attribute.
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  353  				 */
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  354  				pgprot_t init_prot = __pgprot(PTE_IDENT_ATTR);
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  355  
8550eb99821b3f arch/x86/mm/init_32.c Ingo Molnar         2008-01-30  356  				if (is_kernel_text(addr))
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  357  					prot = PAGE_KERNEL_EXEC;
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  358  
ce0c0e50f94e8c arch/x86/mm/init_32.c Andi Kleen          2008-05-02  359  				pages_4k++;
c1fd1b43831fa2 arch/x86/mm/init_32.c Pekka Enberg        2010-02-24  360  				if (mapping_iter == 1) {
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  361  					set_pte(pte, pfn_pte(pfn, init_prot));
c1fd1b43831fa2 arch/x86/mm/init_32.c Pekka Enberg        2010-02-24  362  					last_map_addr = (pfn << PAGE_SHIFT) + PAGE_SIZE;
c1fd1b43831fa2 arch/x86/mm/init_32.c Pekka Enberg        2010-02-24  363  				} else
f3f20de87c03a9 arch/x86/mm/init_32.c Jeremy Fitzhardinge 2008-01-30  364  					set_pte(pte, pfn_pte(pfn, prot));
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  365  			}
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  366  		}
^1da177e4c3f41 arch/i386/mm/init.c   Linus Torvalds      2005-04-16  367  	}
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  368  	if (mapping_iter == 1) {
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  369  		/*
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  370  		 * update direct mapping page count only in the first
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  371  		 * iteration.
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  372  		 */
ce0c0e50f94e8c arch/x86/mm/init_32.c Andi Kleen          2008-05-02  373  		update_page_count(PG_LEVEL_2M, pages_2m);
ce0c0e50f94e8c arch/x86/mm/init_32.c Andi Kleen          2008-05-02  374  		update_page_count(PG_LEVEL_4K, pages_4k);
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  375  
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  376  		/*
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  377  		 * local global flush tlb, which will flush the previous
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  378  		 * mappings present in both small and large page TLB's.
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  379  		 */
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  380  		__flush_tlb_all();
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  381  
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  382  		/*
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  383  		 * Second iteration will set the actual desired PTE attributes.
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  384  		 */
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  385  		mapping_iter = 2;
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  386  		goto repeat;
a2699e477b8e6b arch/x86/mm/init_32.c Suresh Siddha       2008-09-23  387  	}
c1fd1b43831fa2 arch/x86/mm/init_32.c Pekka Enberg        2010-02-24  388  	return last_map_addr;
ae531c26c5c2a2 arch/x86/mm/init_32.c Arjan van de Ven    2008-04-24  389  }
ae531c26c5c2a2 arch/x86/mm/init_32.c Arjan van de Ven    2008-04-24  390  

:::::: The code@line 253 was first introduced by commit
:::::: e53fb04fce6d246ebed755b904ed1b0b814a754c x86: unify kernel_physical_mapping_init() function signatures

:::::: TO: Pekka Enberg <penberg@cs.helsinki.fi>
:::::: CC: Ingo Molnar <mingo@elte.hu>

---
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: 7207 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-10-12  0:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-10-12  0:36 [p2pmem:remap_pages_cache 1/6] arch/x86/mm/init_32.c:253:1: error: conflicting types for 'kernel_physical_mapping_init' kbuild 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.