tree:
https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 0769575e1b1930cc8a6eb33f51e316ab8d586908
commit: 0769575e1b1930cc8a6eb33f51e316ab8d586908 [12/12] Revert "FIXUP: BACKPORT:
FROMLIST: x86/kvm: Add definitions for virtual suspend time injection"
config: um-i386_defconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
git remote add chrome-os
https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.4
git checkout 0769575e1b1930cc8a6eb33f51e316ab8d586908
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=um SUBARCH=i386 SHELL=/bin/bash kernel/time/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>):
In file included from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/pgtable-nop4d-hack.h:27:19: note: previous definition of
'pgd_none' was here
27 | static inline int pgd_none(pgd_t pgd) { return 0; }
| ^~~~~~~~
In file included from arch/x86/include/asm/pgtable_types.h:321,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
include/asm-generic/pgtable-nop4d.h:23:19: error: conflicting types for
'pgd_bad'
23 | static inline int pgd_bad(pgd_t pgd) { return 0; }
| ^~~~~~~
In file included from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/pgtable-nop4d-hack.h:28:19: note: previous definition of
'pgd_bad' was here
28 | static inline int pgd_bad(pgd_t pgd) { return 0; }
| ^~~~~~~
In file included from arch/x86/include/asm/pgtable_types.h:321,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
include/asm-generic/pgtable-nop4d.h:24:19: error: conflicting types for
'pgd_present'
24 | static inline int pgd_present(pgd_t pgd) { return 1; }
| ^~~~~~~~~~~
In file included from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/pgtable-nop4d-hack.h:29:19: note: previous definition of
'pgd_present' was here
29 | static inline int pgd_present(pgd_t pgd) { return 1; }
| ^~~~~~~~~~~
In file included from arch/x86/include/asm/pgtable_types.h:321,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
include/asm-generic/pgtable-nop4d.h:25:20: error: conflicting types for
'pgd_clear'
25 | static inline void pgd_clear(pgd_t *pgd) { }
| ^~~~~~~~~
In file included from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/pgtable-nop4d-hack.h:30:20: note: previous definition of
'pgd_clear' was here
30 | static inline void pgd_clear(pgd_t *pgd) { }
| ^~~~~~~~~
In file included from arch/x86/include/asm/pgtable_types.h:321,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
include/asm-generic/pgtable-nop4d.h:26: warning: "p4d_ERROR" redefined
26 | #define p4d_ERROR(p4d) (pgd_ERROR((p4d).pgd))
|
In file included from include/asm-generic/pgtable-nop4d-hack.h:6,
from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/5level-fixup.h:40: note: this is the location of the previous
definition
40 | #define p4d_ERROR(p4d) do { } while (0)
|
In file included from arch/x86/include/asm/pgtable_types.h:321,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
include/asm-generic/pgtable-nop4d.h:28: warning: "pgd_populate" redefined
28 | #define pgd_populate(mm, pgd, p4d) do { } while (0)
|
In file included from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/pgtable-nop4d-hack.h:33: note: this is the location of the previous
definition
33 | #define pgd_populate(mm, pgd, pud) do { } while (0)
|
In file included from arch/x86/include/asm/pgtable_types.h:321,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
> include/asm-generic/pgtable-nop4d.h:29: warning:
"pgd_populate_safe" redefined
29 | #define pgd_populate_safe(mm,
pgd, p4d) do { } while (0)
|
In file included from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/pgtable-nop4d-hack.h:34: note: this is the location of the previous
definition
34 | #define pgd_populate_safe(mm, pgd, pud) do { } while (0)
|
In file included from arch/x86/include/asm/pgtable_types.h:321,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
include/asm-generic/pgtable-nop4d.h:34: warning: "set_pgd" redefined
34 | #define set_pgd(pgdptr, pgdval) set_p4d((p4d_t *)(pgdptr), (p4d_t) { pgdval })
|
In file included from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/pgtable-nop4d-hack.h:39: note: this is the location of the previous
definition
39 | #define set_pgd(pgdptr, pgdval) set_pud((pud_t *)(pgdptr), (pud_t) { pgdval })
|
In file included from include/asm-generic/pgtable-nop4d-hack.h:6,
from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/pgtable-nop4d.h:36:39: error: expected ')' before
'*' token
36 | static inline p4d_t *p4d_offset(pgd_t *pgd, unsigned long address)
| ^
include/asm-generic/5level-fixup.h:21:34: note: in definition of macro
'p4d_offset'
21 | #define p4d_offset(pgd, start) (pgd)
| ^~~
In file included from arch/x86/include/asm/pgtable_types.h:321,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
include/asm-generic/pgtable-nop4d.h:41: warning: "p4d_val" redefined
41 | #define p4d_val(x) (pgd_val((x).pgd))
|
In file included from include/asm-generic/pgtable-nop4d-hack.h:6,
from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/5level-fixup.h:42: note: this is the location of the previous
definition
42 | #define p4d_val(p4d) pgd_val(p4d)
|
In file included from arch/x86/include/asm/pgtable_types.h:321,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
include/asm-generic/pgtable-nop4d.h:42: warning: "__p4d" redefined
42 | #define __p4d(x) ((p4d_t) { __pgd(x) })
|
In file included from include/asm-generic/pgtable-nop4d-hack.h:6,
from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/5level-fixup.h:48: note: this is the location of the previous
definition
48 | #define __p4d(x) __pgd(x)
|
In file included from arch/x86/include/asm/pgtable_types.h:321,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
include/asm-generic/pgtable-nop4d.h:44: warning: "pgd_page" redefined
44 | #define pgd_page(pgd) (p4d_page((p4d_t){ pgd }))
|
In file included from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/pgtable-nop4d-hack.h:49: note: this is the location of the previous
definition
49 | #define pgd_page(pgd) (pud_page((pud_t){ pgd }))
|
In file included from arch/x86/include/asm/pgtable_types.h:321,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
include/asm-generic/pgtable-nop4d.h:45: warning: "pgd_page_vaddr" redefined
45 | #define pgd_page_vaddr(pgd) (p4d_page_vaddr((p4d_t){ pgd }))
--
from kernel/time/timekeeping.c:11:
include/asm-generic/pgtable-nop4d-hack.h:50: note: this is the location of the previous
definition
50 | #define pgd_page_vaddr(pgd) (pud_page_vaddr((pud_t){ pgd }))
|
In file included from arch/x86/include/asm/pgtable_types.h:321,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
include/asm-generic/pgtable-nop4d.h:53: warning: "__p4d_free_tlb" redefined
53 | #define __p4d_free_tlb(tlb, x, a) do { } while (0)
|
In file included from include/asm-generic/pgtable-nop4d-hack.h:6,
from include/asm-generic/pgtable-nopud.h:8,
from arch/um/include/asm/pgtable-3level.h:11,
from arch/um/include/asm/pgtable.h:25,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/5level-fixup.h:54: note: this is the location of the previous
definition
54 | #define __p4d_free_tlb(tlb, x, addr) do { } while (0)
|
In file included from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
arch/x86/include/asm/pgtable_types.h: In function 'native_make_pud':
arch/x86/include/asm/pgtable_types.h:351:20: error: 'pud_t' {aka 'struct
<anonymous>'} has no member named 'p4d'; did you mean 'pgd'?
351 | return (pud_t) { .p4d.pgd = native_make_pgd(val) };
| ^~~
| pgd
arch/x86/include/asm/pgtable_types.h:351:30: error: incompatible types when
initializing type 'long unsigned int' using type 'pgd_t' {aka 'struct
<anonymous>'}
351 | return (pud_t) { .p4d.pgd = native_make_pgd(val) };
| ^~~~~~~~~~~~~~~
arch/x86/include/asm/pgtable_types.h: In function 'native_pud_val':
arch/x86/include/asm/pgtable_types.h:356:28: error: 'pud_t' {aka 'struct
<anonymous>'} has no member named 'p4d'; did you mean 'pgd'?
356 | return native_pgd_val(pud.p4d.pgd);
| ^~~
| pgd
arch/x86/include/asm/pgtable_types.h:354:45: warning: parameter 'pud' set but
not used [-Wunused-but-set-parameter]
354 | static inline pudval_t native_pud_val(pud_t pud)
| ~~~~~~^~~
arch/x86/include/asm/pgtable_types.h: At top level:
arch/x86/include/asm/pgtable_types.h:361:34: error: conflicting types for
'pmd_t'
361 | typedef struct { pmdval_t pmd; } pmd_t;
| ^~~~~
In file included from arch/um/include/asm/thread_info.h:15,
from include/linux/thread_info.h:39,
from include/asm-generic/preempt.h:5,
from ./arch/um/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:78,
from include/linux/spinlock.h:51,
from include/linux/seqlock.h:36,
from include/linux/time.h:6,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/clocksource.h:13,
from include/linux/timekeeper_internal.h:10,
from kernel/time/timekeeping.c:6:
arch/um/include/asm/page.h:38:39: note: previous declaration of 'pmd_t' was
here
38 | typedef struct { unsigned long pmd; } pmd_t;
| ^~~~~
In file included from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
arch/x86/include/asm/pgtable_types.h:515: warning: "pgprot_writecombine"
redefined
515 | #define pgprot_writecombine pgprot_writecombine
|
In file included from arch/um/include/asm/pgtable.h:363,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/pgtable.h:505: note: this is the location of the previous
definition
505 | #define pgprot_writecombine pgprot_noncached
|
In file included from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:31,
from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
arch/x86/include/asm/pgtable_types.h:518: warning: "pgprot_writethrough"
redefined
518 | #define pgprot_writethrough pgprot_writethrough
|
In file included from arch/um/include/asm/pgtable.h:363,
from include/linux/mm.h:99,
from kernel/time/timekeeping.c:11:
include/asm-generic/pgtable.h:509: note: this is the location of the previous
definition
509 | #define pgprot_writethrough pgprot_noncached
|
In file included from include/linux/kvm_host.h:37,
from kernel/time/timekeeping.c:25:
arch/x86/include/asm/kvm_host.h:474:29: error: 'INTEL_PMC_MAX_GENERIC'
undeclared here (not in a function)
474 | struct kvm_pmc gp_counters[INTEL_PMC_MAX_GENERIC];
| ^~~~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/kvm_host.h:475:32: error: 'INTEL_PMC_MAX_FIXED' undeclared
here (not in a function)
475 | struct kvm_pmc fixed_counters[INTEL_PMC_MAX_FIXED];
| ^~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/kvm_host.h: In function 'kvm_irq_is_postable':
> arch/x86/include/asm/kvm_host.h:1628:32: error:
'APIC_DM_FIXED' undeclared (first use in this function)
1628 | return
(irq->delivery_mode == APIC_DM_FIXED ||
| ^~~~~~~~~~~~~
arch/x86/include/asm/kvm_host.h:1628:32: note: each undeclared identifier is reported
only once for each function it appears in
> arch/x86/include/asm/kvm_host.h:1629:25: error:
'APIC_DM_LOWEST' undeclared (first use in this function)
1629 |
irq->delivery_mode == APIC_DM_LOWEST);
| ^~~~~~~~~~~~~~
arch/x86/include/asm/kvm_host.h: In function 'kvm_cpu_get_apicid':
arch/x86/include/asm/kvm_host.h:1652:9: error: 'BAD_APICID' undeclared (first
use in this function)
1652 | return BAD_APICID;
| ^~~~~~~~~~
In file included from include/vdso/const.h:5,
from include/linux/const.h:4,
from include/uapi/linux/kernel.h:6,
from include/linux/cache.h:5,
from include/linux/time.h:5,
from include/uapi/linux/timex.h:56,
from include/linux/timex.h:56,
from include/linux/clocksource.h:13,
from include/linux/timekeeper_internal.h:10,
from kernel/time/timekeeping.c:6:
include/linux/kvm_host.h: In function 'kvm_is_error_hva':
arch/x86/include/asm/page_32_types.h:17:32: error: 'CONFIG_PAGE_OFFSETUL'
undeclared (first use in this function)
17 | #define __PAGE_OFFSET_BASE _AC(CONFIG_PAGE_OFFSET, UL)
| ^~~~~~~~~~~~~~~~~~
include/uapi/linux/const.h:20:20: note: in definition of macro '__AC'
20 | #define __AC(X,Y) (X##Y)
| ^
arch/x86/include/asm/page_32_types.h:17:28: note: in expansion of macro '_AC'
17 | #define __PAGE_OFFSET_BASE _AC(CONFIG_PAGE_OFFSET, UL)
| ^~~
arch/x86/include/asm/page_32_types.h:18:24: note: in expansion of macro
'__PAGE_OFFSET_BASE'
18 | #define __PAGE_OFFSET __PAGE_OFFSET_BASE
| ^~~~~~~~~~~~~~~~~~
arch/x86/include/asm/page_types.h:36:38: note: in expansion of macro
'__PAGE_OFFSET'
36 | #define PAGE_OFFSET ((unsigned long)__PAGE_OFFSET)
| ^~~~~~~~~~~~~
include/linux/kvm_host.h:127:17: note: in expansion of macro 'PAGE_OFFSET'
127 | return addr >= PAGE_OFFSET;
| ^~~~~~~~~~~
vim +/APIC_DM_FIXED +1628 arch/x86/include/asm/kvm_host.h
f5132b01386b5a Gleb Natapov 2011-11-10 1618
8feb4a04dc7560 Feng Wu 2015-09-18 1619 bool kvm_intr_is_single_vcpu(struct
kvm *kvm, struct kvm_lapic_irq *irq,
8feb4a04dc7560 Feng Wu 2015-09-18 1620 struct kvm_vcpu
**dest_vcpu);
8feb4a04dc7560 Feng Wu 2015-09-18 1621
3713131345fbea Radim Krčmář 2016-07-12 1622 void kvm_set_msi_irq(struct kvm
*kvm, struct kvm_kernel_irq_routing_entry *e,
d84f1e0755ba1e Feng Wu 2015-09-18 1623 struct kvm_lapic_irq *irq);
197a4f4b063e4e Paolo Bonzini 2015-11-04 1624
fdcf756213756c Alexander Graf 2019-09-05 1625 static inline bool
kvm_irq_is_postable(struct kvm_lapic_irq *irq)
fdcf756213756c Alexander Graf 2019-09-05 1626 {
fdcf756213756c Alexander Graf 2019-09-05 1627 /* We can only post Fixed and
LowPrio IRQs */
4cbb69b45cad0f Suravee Suthikulpanit 2020-04-07 @1628 return (irq->delivery_mode ==
APIC_DM_FIXED ||
4cbb69b45cad0f Suravee Suthikulpanit 2020-04-07 @1629 irq->delivery_mode ==
APIC_DM_LOWEST);
fdcf756213756c Alexander Graf 2019-09-05 1630 }
fdcf756213756c Alexander Graf 2019-09-05 1631
:::::: The code at line 1628 was first introduced by commit
:::::: 4cbb69b45cad0f7c85726fa0cd5b309da0d5bee7 KVM: x86: Fixes posted interrupt check for
IRQs delivery modes
:::::: TO: Suravee Suthikulpanit <suravee.suthikulpanit(a)amd.com>
:::::: CC: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org