All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [p2pmem:remap_pages_cache 1/6] arch/x86/mm/init_32.c:253:1: error: conflicting types for 'kernel_physical_mapping_init'
Date: Sat, 12 Oct 2019 08:36:00 +0800	[thread overview]
Message-ID: <201910120818.AjBuECLs%lkp@intel.com> (raw)

[-- 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 --]

                 reply	other threads:[~2019-10-12  0:36 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201910120818.AjBuECLs%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.