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.