* [tip:x86/apic 1/2] arch/x86/kernel/apic/apic.c:1507:2: error: 'i' undeclared
@ 2018-02-28 23:28 kbuild test robot
2018-02-28 23:31 ` Thomas Gleixner
0 siblings, 1 reply; 3+ messages in thread
From: kbuild test robot @ 2018-02-28 23:28 UTC (permalink / raw)
To: Dou Liyang
Cc: kbuild-all, linux-kernel, tipbuild, Thomas Gleixner, Andy Shevchenko
[-- Attachment #1: Type: text/plain, Size: 8572 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/apic
head: ea5dfef5a890c9e6e47bdddfc23c4a4ba0c1bea1
commit: 2066f4d67e7d9cbe44e451d782cdcc0a0d12e5d3 [1/2] x86/apic: Move pending intr check code into it's own function
config: i386-randconfig-x004-201808 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
git checkout 2066f4d67e7d9cbe44e451d782cdcc0a0d12e5d3
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
arch/x86/kernel/apic/apic.c: In function 'setup_local_APIC':
>> arch/x86/kernel/apic/apic.c:1507:2: error: 'i' undeclared (first use in this function)
i = early_per_cpu(x86_cpu_to_logical_apicid, cpu);
^
arch/x86/kernel/apic/apic.c:1507:2: note: each undeclared identifier is reported only once for each function it appears in
vim +/i +1507 arch/x86/kernel/apic/apic.c
2066f4d6 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-26 1460
0e078e2f arch/x86/kernel/apic_64.c Thomas Gleixner 2008-01-30 1461 /**
0e078e2f arch/x86/kernel/apic_64.c Thomas Gleixner 2008-01-30 1462 * setup_local_APIC - setup the local APIC
0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo 2010-12-09 1463 *
543113d2 arch/x86/kernel/apic/apic.c Dou Liyang 2017-02-07 1464 * Used to setup local APIC while initializing BSP or bringing up APs.
0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo 2010-12-09 1465 * Always called with preemption disabled.
0e078e2f arch/x86/kernel/apic_64.c Thomas Gleixner 2008-01-30 1466 */
b753a2b7 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-14 1467 static void setup_local_APIC(void)
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1468 {
0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo 2010-12-09 1469 int cpu = smp_processor_id();
2066f4d6 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-26 1470 unsigned int value;
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1471
f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1472 if (disable_apic) {
7167d08e arch/x86/kernel/apic/apic.c Henrik Kretzschmar 2011-02-22 1473 disable_ioapic_support();
f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1474 return;
f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1475 }
f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1476
89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1477 #ifdef CONFIG_X86_32
89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1478 /* Pound the ESR really hard over the head with a big hammer - mbligh */
08125d3e arch/x86/kernel/apic.c Ingo Molnar 2009-01-28 1479 if (lapic_is_integrated() && apic->disable_esr) {
89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1480 apic_write(APIC_ESR, 0);
89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1481 apic_write(APIC_ESR, 0);
89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1482 apic_write(APIC_ESR, 0);
89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1483 apic_write(APIC_ESR, 0);
89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1484 }
89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1485 #endif
cdd6c482 arch/x86/kernel/apic/apic.c Ingo Molnar 2009-09-21 1486 perf_events_lapic_init();
89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1487
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1488 /*
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1489 * Double-check whether this APIC is really registered.
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1490 * This is meaningless in clustered apic mode, so we skip it.
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1491 */
c2777f98 arch/x86/kernel/apic/apic.c Daniel Walker 2009-09-12 1492 BUG_ON(!apic->apic_id_registered());
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1493
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1494 /*
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1495 * Intel recommends to set DFR, LDR and TPR before enabling
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1496 * an APIC. See e.g. "AP-388 82489DX User's Manual" (Intel
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1497 * document number 292116). So here it goes...
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1498 */
a5c43296 arch/x86/kernel/apic.c Ingo Molnar 2009-01-28 1499 apic->init_apic_ldr();
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1500
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1501 #ifdef CONFIG_X86_32
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1502 /*
acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1503 * APIC LDR is initialized. If logical_apicid mapping was
acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1504 * initialized during get_smp_config(), make sure it matches the
acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1505 * actual value.
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1506 */
acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 @1507 i = early_per_cpu(x86_cpu_to_logical_apicid, cpu);
acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1508 WARN_ON(i != BAD_APICID && i != logical_smp_processor_id());
acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1509 /* always use the value from LDR */
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1510 early_per_cpu(x86_cpu_to_logical_apicid, cpu) =
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1511 logical_smp_processor_id();
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1512 #endif
6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1513
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1514 /*
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1515 * Set Task Priority to 'accept all'. We never change this
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1516 * later on.
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1517 */
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1518 value = apic_read(APIC_TASKPRI);
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1519 value &= ~APIC_TPRI_MASK;
11a8e778 arch/x86_64/kernel/apic.c Andi Kleen 2006-01-11 1520 apic_write(APIC_TASKPRI, value);
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1521
2066f4d6 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-26 1522 apic_pending_intr_clear();
da7ed9f9 arch/x86_64/kernel/apic.c Vivek Goyal 2006-03-25 1523
da7ed9f9 arch/x86_64/kernel/apic.c Vivek Goyal 2006-03-25 1524 /*
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1525 * Now that we are all set up, enable the APIC
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1526 */
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1527 value = apic_read(APIC_SPIV);
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1528 value &= ~APIC_VECTOR_MASK;
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1529 /*
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1530 * Enable APIC
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1531 */
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1532 value |= APIC_SPIV_APIC_ENABLED;
^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1533
:::::: The code at line 1507 was first introduced by commit
:::::: acb8bc09c6185e4d3d582d0076aaa6a89f19d8c5 x86: Add apic->x86_32_early_logical_apicid()
:::::: TO: Tejun Heo <tj@kernel.org>
:::::: 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: 25512 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [tip:x86/apic 1/2] arch/x86/kernel/apic/apic.c:1507:2: error: 'i' undeclared 2018-02-28 23:28 [tip:x86/apic 1/2] arch/x86/kernel/apic/apic.c:1507:2: error: 'i' undeclared kbuild test robot @ 2018-02-28 23:31 ` Thomas Gleixner 2018-03-01 0:59 ` Dou Liyang 0 siblings, 1 reply; 3+ messages in thread From: Thomas Gleixner @ 2018-02-28 23:31 UTC (permalink / raw) To: kbuild test robot Cc: Dou Liyang, kbuild-all, linux-kernel, tipbuild, Andy Shevchenko Dou, can you please look into that? I zapped the commits from x86/apic for now. Thanks, tglx On Thu, 1 Mar 2018, kbuild test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/apic > head: ea5dfef5a890c9e6e47bdddfc23c4a4ba0c1bea1 > commit: 2066f4d67e7d9cbe44e451d782cdcc0a0d12e5d3 [1/2] x86/apic: Move pending intr check code into it's own function > config: i386-randconfig-x004-201808 (attached as .config) > compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 > reproduce: > git checkout 2066f4d67e7d9cbe44e451d782cdcc0a0d12e5d3 > # save the attached .config to linux build tree > make ARCH=i386 > > All errors (new ones prefixed by >>): > > arch/x86/kernel/apic/apic.c: In function 'setup_local_APIC': > >> arch/x86/kernel/apic/apic.c:1507:2: error: 'i' undeclared (first use in this function) > i = early_per_cpu(x86_cpu_to_logical_apicid, cpu); > ^ > arch/x86/kernel/apic/apic.c:1507:2: note: each undeclared identifier is reported only once for each function it appears in > > vim +/i +1507 arch/x86/kernel/apic/apic.c > > 2066f4d6 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-26 1460 > 0e078e2f arch/x86/kernel/apic_64.c Thomas Gleixner 2008-01-30 1461 /** > 0e078e2f arch/x86/kernel/apic_64.c Thomas Gleixner 2008-01-30 1462 * setup_local_APIC - setup the local APIC > 0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo 2010-12-09 1463 * > 543113d2 arch/x86/kernel/apic/apic.c Dou Liyang 2017-02-07 1464 * Used to setup local APIC while initializing BSP or bringing up APs. > 0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo 2010-12-09 1465 * Always called with preemption disabled. > 0e078e2f arch/x86/kernel/apic_64.c Thomas Gleixner 2008-01-30 1466 */ > b753a2b7 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-14 1467 static void setup_local_APIC(void) > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1468 { > 0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo 2010-12-09 1469 int cpu = smp_processor_id(); > 2066f4d6 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-26 1470 unsigned int value; > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1471 > f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1472 if (disable_apic) { > 7167d08e arch/x86/kernel/apic/apic.c Henrik Kretzschmar 2011-02-22 1473 disable_ioapic_support(); > f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1474 return; > f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1475 } > f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1476 > 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1477 #ifdef CONFIG_X86_32 > 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1478 /* Pound the ESR really hard over the head with a big hammer - mbligh */ > 08125d3e arch/x86/kernel/apic.c Ingo Molnar 2009-01-28 1479 if (lapic_is_integrated() && apic->disable_esr) { > 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1480 apic_write(APIC_ESR, 0); > 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1481 apic_write(APIC_ESR, 0); > 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1482 apic_write(APIC_ESR, 0); > 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1483 apic_write(APIC_ESR, 0); > 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1484 } > 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1485 #endif > cdd6c482 arch/x86/kernel/apic/apic.c Ingo Molnar 2009-09-21 1486 perf_events_lapic_init(); > 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1487 > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1488 /* > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1489 * Double-check whether this APIC is really registered. > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1490 * This is meaningless in clustered apic mode, so we skip it. > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1491 */ > c2777f98 arch/x86/kernel/apic/apic.c Daniel Walker 2009-09-12 1492 BUG_ON(!apic->apic_id_registered()); > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1493 > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1494 /* > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1495 * Intel recommends to set DFR, LDR and TPR before enabling > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1496 * an APIC. See e.g. "AP-388 82489DX User's Manual" (Intel > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1497 * document number 292116). So here it goes... > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1498 */ > a5c43296 arch/x86/kernel/apic.c Ingo Molnar 2009-01-28 1499 apic->init_apic_ldr(); > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1500 > 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1501 #ifdef CONFIG_X86_32 > 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1502 /* > acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1503 * APIC LDR is initialized. If logical_apicid mapping was > acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1504 * initialized during get_smp_config(), make sure it matches the > acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1505 * actual value. > 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1506 */ > acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 @1507 i = early_per_cpu(x86_cpu_to_logical_apicid, cpu); > acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1508 WARN_ON(i != BAD_APICID && i != logical_smp_processor_id()); > acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1509 /* always use the value from LDR */ > 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1510 early_per_cpu(x86_cpu_to_logical_apicid, cpu) = > 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1511 logical_smp_processor_id(); > 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1512 #endif > 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1513 > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1514 /* > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1515 * Set Task Priority to 'accept all'. We never change this > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1516 * later on. > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1517 */ > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1518 value = apic_read(APIC_TASKPRI); > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1519 value &= ~APIC_TPRI_MASK; > 11a8e778 arch/x86_64/kernel/apic.c Andi Kleen 2006-01-11 1520 apic_write(APIC_TASKPRI, value); > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1521 > 2066f4d6 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-26 1522 apic_pending_intr_clear(); > da7ed9f9 arch/x86_64/kernel/apic.c Vivek Goyal 2006-03-25 1523 > da7ed9f9 arch/x86_64/kernel/apic.c Vivek Goyal 2006-03-25 1524 /* > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1525 * Now that we are all set up, enable the APIC > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1526 */ > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1527 value = apic_read(APIC_SPIV); > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1528 value &= ~APIC_VECTOR_MASK; > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1529 /* > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1530 * Enable APIC > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1531 */ > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1532 value |= APIC_SPIV_APIC_ENABLED; > ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1533 > > :::::: The code at line 1507 was first introduced by commit > :::::: acb8bc09c6185e4d3d582d0076aaa6a89f19d8c5 x86: Add apic->x86_32_early_logical_apicid() > > :::::: TO: Tejun Heo <tj@kernel.org> > :::::: CC: Ingo Molnar <mingo@elte.hu> > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation > ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [tip:x86/apic 1/2] arch/x86/kernel/apic/apic.c:1507:2: error: 'i' undeclared 2018-02-28 23:31 ` Thomas Gleixner @ 2018-03-01 0:59 ` Dou Liyang 0 siblings, 0 replies; 3+ messages in thread From: Dou Liyang @ 2018-03-01 0:59 UTC (permalink / raw) To: Thomas Gleixner, kbuild test robot Cc: kbuild-all, linux-kernel, tipbuild, Andy Shevchenko Hi Thomas, At 03/01/2018 07:31 AM, Thomas Gleixner wrote: > Dou, > > can you please look into that? I zapped the commits from x86/apic for now. > OK, and zap them. I will send a new version. > Thanks, > > tglx > > On Thu, 1 Mar 2018, kbuild test robot wrote: > >> tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/apic >> head: ea5dfef5a890c9e6e47bdddfc23c4a4ba0c1bea1 >> commit: 2066f4d67e7d9cbe44e451d782cdcc0a0d12e5d3 [1/2] x86/apic: Move pending intr check code into it's own function >> config: i386-randconfig-x004-201808 (attached as .config) >> compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 >> reproduce: >> git checkout 2066f4d67e7d9cbe44e451d782cdcc0a0d12e5d3 >> # save the attached .config to linux build tree >> make ARCH=i386 >> >> All errors (new ones prefixed by >>): >> >> arch/x86/kernel/apic/apic.c: In function 'setup_local_APIC': >>>> arch/x86/kernel/apic/apic.c:1507:2: error: 'i' undeclared (first use in this function) >> i = early_per_cpu(x86_cpu_to_logical_apicid, cpu); >> ^ Oops, my fault, I didn't consider the 32bit situation. lkp has reported it before, but I ignored it. I am too stupid. I will merge the following changes in the 1th patch ---------------------------->8------------------------------ --- a/arch/x86/kernel/apic/apic.c +++ b/arch/x86/kernel/apic/apic.c @@ -1467,6 +1467,7 @@ static void setup_local_APIC(void) { int cpu = smp_processor_id(); unsigned int value; + int apicid; if (disable_apic) { disable_ioapic_support(); @@ -1503,8 +1504,8 @@ static void setup_local_APIC(void) * initialized during get_smp_config(), make sure it matches the * actual value. */ - i = early_per_cpu(x86_cpu_to_logical_apicid, cpu); - WARN_ON(i != BAD_APICID && i != logical_smp_processor_id()); + apicid = early_per_cpu(x86_cpu_to_logical_apicid, cpu); + WARN_ON(apicid != BAD_APICID && apicid != logical_smp_processor_id()); /* always use the value from LDR */ early_per_cpu(x86_cpu_to_logical_apicid, cpu) = logical_smp_processor_id(); Thanks, dou >> arch/x86/kernel/apic/apic.c:1507:2: note: each undeclared identifier is reported only once for each function it appears in >> >> vim +/i +1507 arch/x86/kernel/apic/apic.c >> >> 2066f4d6 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-26 1460 >> 0e078e2f arch/x86/kernel/apic_64.c Thomas Gleixner 2008-01-30 1461 /** >> 0e078e2f arch/x86/kernel/apic_64.c Thomas Gleixner 2008-01-30 1462 * setup_local_APIC - setup the local APIC >> 0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo 2010-12-09 1463 * >> 543113d2 arch/x86/kernel/apic/apic.c Dou Liyang 2017-02-07 1464 * Used to setup local APIC while initializing BSP or bringing up APs. >> 0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo 2010-12-09 1465 * Always called with preemption disabled. >> 0e078e2f arch/x86/kernel/apic_64.c Thomas Gleixner 2008-01-30 1466 */ >> b753a2b7 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-14 1467 static void setup_local_APIC(void) >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1468 { >> 0aa002fe arch/x86/kernel/apic/apic.c Tejun Heo 2010-12-09 1469 int cpu = smp_processor_id(); >> 2066f4d6 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-26 1470 unsigned int value; >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1471 >> f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1472 if (disable_apic) { >> 7167d08e arch/x86/kernel/apic/apic.c Henrik Kretzschmar 2011-02-22 1473 disable_ioapic_support(); >> f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1474 return; >> f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1475 } >> f1182638 arch/x86/kernel/apic.c Jan Beulich 2009-01-14 1476 >> 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1477 #ifdef CONFIG_X86_32 >> 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1478 /* Pound the ESR really hard over the head with a big hammer - mbligh */ >> 08125d3e arch/x86/kernel/apic.c Ingo Molnar 2009-01-28 1479 if (lapic_is_integrated() && apic->disable_esr) { >> 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1480 apic_write(APIC_ESR, 0); >> 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1481 apic_write(APIC_ESR, 0); >> 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1482 apic_write(APIC_ESR, 0); >> 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1483 apic_write(APIC_ESR, 0); >> 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1484 } >> 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1485 #endif >> cdd6c482 arch/x86/kernel/apic/apic.c Ingo Molnar 2009-09-21 1486 perf_events_lapic_init(); >> 89c38c28 arch/x86/kernel/apic_64.c Cyrill Gorcunov 2008-08-24 1487 >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1488 /* >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1489 * Double-check whether this APIC is really registered. >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1490 * This is meaningless in clustered apic mode, so we skip it. >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1491 */ >> c2777f98 arch/x86/kernel/apic/apic.c Daniel Walker 2009-09-12 1492 BUG_ON(!apic->apic_id_registered()); >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1493 >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1494 /* >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1495 * Intel recommends to set DFR, LDR and TPR before enabling >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1496 * an APIC. See e.g. "AP-388 82489DX User's Manual" (Intel >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1497 * document number 292116). So here it goes... >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1498 */ >> a5c43296 arch/x86/kernel/apic.c Ingo Molnar 2009-01-28 1499 apic->init_apic_ldr(); >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1500 >> 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1501 #ifdef CONFIG_X86_32 >> 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1502 /* >> acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1503 * APIC LDR is initialized. If logical_apicid mapping was >> acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1504 * initialized during get_smp_config(), make sure it matches the >> acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1505 * actual value. >> 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1506 */ >> acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 @1507 i = early_per_cpu(x86_cpu_to_logical_apicid, cpu); >> acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1508 WARN_ON(i != BAD_APICID && i != logical_smp_processor_id()); >> acb8bc09 arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1509 /* always use the value from LDR */ >> 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1510 early_per_cpu(x86_cpu_to_logical_apicid, cpu) = >> 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1511 logical_smp_processor_id(); >> 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1512 #endif >> 6f802c4b arch/x86/kernel/apic/apic.c Tejun Heo 2011-01-23 1513 >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1514 /* >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1515 * Set Task Priority to 'accept all'. We never change this >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1516 * later on. >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1517 */ >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1518 value = apic_read(APIC_TASKPRI); >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1519 value &= ~APIC_TPRI_MASK; >> 11a8e778 arch/x86_64/kernel/apic.c Andi Kleen 2006-01-11 1520 apic_write(APIC_TASKPRI, value); >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1521 >> 2066f4d6 arch/x86/kernel/apic/apic.c Dou Liyang 2018-02-26 1522 apic_pending_intr_clear(); >> da7ed9f9 arch/x86_64/kernel/apic.c Vivek Goyal 2006-03-25 1523 >> da7ed9f9 arch/x86_64/kernel/apic.c Vivek Goyal 2006-03-25 1524 /* >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1525 * Now that we are all set up, enable the APIC >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1526 */ >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1527 value = apic_read(APIC_SPIV); >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1528 value &= ~APIC_VECTOR_MASK; >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1529 /* >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1530 * Enable APIC >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1531 */ >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1532 value |= APIC_SPIV_APIC_ENABLED; >> ^1da177e arch/x86_64/kernel/apic.c Linus Torvalds 2005-04-16 1533 >> >> :::::: The code at line 1507 was first introduced by commit >> :::::: acb8bc09c6185e4d3d582d0076aaa6a89f19d8c5 x86: Add apic->x86_32_early_logical_apicid() >> >> :::::: TO: Tejun Heo <tj@kernel.org> >> :::::: CC: Ingo Molnar <mingo@elte.hu> >> >> --- >> 0-DAY kernel test infrastructure Open Source Technology Center >> https://lists.01.org/pipermail/kbuild-all Intel Corporation >> > > > ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-03-01 0:59 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2018-02-28 23:28 [tip:x86/apic 1/2] arch/x86/kernel/apic/apic.c:1507:2: error: 'i' undeclared kbuild test robot 2018-02-28 23:31 ` Thomas Gleixner 2018-03-01 0:59 ` Dou Liyang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®