* [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.