tree:
https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-4.19
head: 6e912d0ff604d23a34ef2b97db21c1e00be18da0
commit: fd9a4d32a26b88309fe68b292d38471785fec955 [7/9] BACKPORT: FROMLIST: x86/kvm: Add
definitions for virtual suspend time injection
config: um-x86_64_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-4.19
git checkout fd9a4d32a26b88309fe68b292d38471785fec955
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=um SUBARCH=x86_64 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 errors (new ones prefixed by >>):
49 | #define pgd_page_vaddr(pgd) (pud_page_vaddr((pud_t){ pgd }))
|
In file included from arch/x86/include/asm/pgtable_types.h:322,
from arch/x86/include/asm/pat.h:6,
from arch/x86/include/asm/mtrr.h:27,
from arch/x86/include/asm/kvm_host.h:34,
from include/linux/kvm_host.h:40,
from kernel/time/timekeeping.c:29:
include/asm-generic/pgtable-nop4d.h:52: warning: "__p4d_free_tlb" redefined
52 | #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/memremap.h:7,
from include/linux/mm.h:27,
from kernel/time/timekeeping.c:16:
include/asm-generic/5level-fixup.h:38: note: this is the location of the previous
definition
38 | #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:34,
from include/linux/kvm_host.h:40,
from kernel/time/timekeeping.c:29:
arch/x86/include/asm/pgtable_types.h: In function 'native_make_pud':
arch/x86/include/asm/pgtable_types.h:352:20: error: 'pud_t' {aka 'struct
<anonymous>'} has no member named 'p4d'; did you mean 'pgd'?
352 | return (pud_t) { .p4d.pgd = native_make_pgd(val) };
| ^~~
| pgd
arch/x86/include/asm/pgtable_types.h:352:30: error: incompatible types when
initializing type 'long unsigned int' using type 'pgd_t' {aka 'struct
<anonymous>'}
352 | 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:357:28: error: 'pud_t' {aka 'struct
<anonymous>'} has no member named 'p4d'; did you mean 'pgd'?
357 | return native_pgd_val(pud.p4d.pgd);
| ^~~
| pgd
arch/x86/include/asm/pgtable_types.h:355:45: warning: parameter 'pud' set but
not used [-Wunused-but-set-parameter]
355 | 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:362:34: error: conflicting types for
'pmd_t'
362 | 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:81,
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:11:
arch/um/include/asm/page.h:61:39: note: previous declaration of 'pmd_t' was
here
61 | 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:34,
from include/linux/kvm_host.h:40,
from kernel/time/timekeeping.c:29:
arch/x86/include/asm/pgtable_types.h:516: warning: "pgprot_writecombine"
redefined
516 | #define pgprot_writecombine pgprot_writecombine
|
In file included from arch/um/include/asm/pgtable.h:360,
from include/linux/memremap.h:7,
from include/linux/mm.h:27,
from kernel/time/timekeeping.c:16:
include/asm-generic/pgtable.h:467: note: this is the location of the previous
definition
467 | #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:34,
from include/linux/kvm_host.h:40,
from kernel/time/timekeeping.c:29:
arch/x86/include/asm/pgtable_types.h:519: warning: "pgprot_writethrough"
redefined
519 | #define pgprot_writethrough pgprot_writethrough
|
In file included from arch/um/include/asm/pgtable.h:360,
from include/linux/memremap.h:7,
from include/linux/mm.h:27,
from kernel/time/timekeeping.c:16:
include/asm-generic/pgtable.h:471: note: this is the location of the previous
definition
471 | #define pgprot_writethrough pgprot_noncached
|
In file included from include/linux/kvm_host.h:40,
from kernel/time/timekeeping.c:29:
arch/x86/include/asm/kvm_host.h:439:29: error: 'INTEL_PMC_MAX_GENERIC'
undeclared here (not in a function)
439 | struct kvm_pmc gp_counters[INTEL_PMC_MAX_GENERIC];
| ^~~~~~~~~~~~~~~~~~~~~
arch/x86/include/asm/kvm_host.h:440:32: error: 'INTEL_PMC_MAX_FIXED' undeclared
here (not in a function)
440 | struct kvm_pmc fixed_counters[INTEL_PMC_MAX_FIXED];
| ^~~~~~~~~~~~~~~~~~~
> arch/x86/include/asm/kvm_host.h:579:13: error: field
'user_fpu' has incomplete type
579 | struct fpu user_fpu;
| ^~~~~~~~
> arch/x86/include/asm/kvm_host.h:580:13: error: field
'guest_fpu' has incomplete type
580 | struct fpu guest_fpu;
| ^~~~~~~~~
arch/x86/include/asm/kvm_host.h: In function 'read_msr':
arch/x86/include/asm/kvm_host.h:1415:2: error: implicit declaration of function
'rdmsrl' [-Werror=implicit-function-declaration]
1415 | rdmsrl(msr, value);
| ^~~~~~
arch/x86/include/asm/kvm_host.h: In function 'kvm_cpu_get_apicid':
arch/x86/include/asm/kvm_host.h:1563:9: error: 'BAD_APICID' undeclared (first
use in this function)
1563 | return BAD_APICID;
| ^~~~~~~~~~
arch/x86/include/asm/kvm_host.h:1563:9: note: each undeclared identifier is reported
only once for each function it appears in
cc1: some warnings being treated as errors
vim +/user_fpu +579 arch/x86/include/asm/kvm_host.h
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 426
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 427
struct kvm_pmu {
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 428
unsigned nr_arch_gp_counters;
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 429
unsigned nr_arch_fixed_counters;
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 430
unsigned available_event_types;
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 431
u64 fixed_ctr_ctrl;
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 432
u64 global_ctrl;
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 433
u64 global_status;
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 434
u64 global_ovf_ctrl;
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 435
u64 counter_bitmask[2];
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 436
u64 global_ctrl_mask;
103af0a9878859 arch/x86/include/asm/kvm_host.h Andi Kleen 2013-07-18 437
u64 reserved_bits;
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 438
u8 version;
15c7ad51ad58cb arch/x86/include/asm/kvm_host.h Robert Richter 2012-06-20 @439
struct kvm_pmc gp_counters[INTEL_PMC_MAX_GENERIC];
15c7ad51ad58cb arch/x86/include/asm/kvm_host.h Robert Richter 2012-06-20 440
struct kvm_pmc fixed_counters[INTEL_PMC_MAX_FIXED];
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 441
struct irq_work irq_work;
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 442
u64 reprogram_pmi;
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 443
};
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 444
25462f7f5295e2 arch/x86/include/asm/kvm_host.h Wei Huang 2015-06-19 445
struct kvm_pmu_ops;
25462f7f5295e2 arch/x86/include/asm/kvm_host.h Wei Huang 2015-06-19 446
360b948d88bf30 arch/x86/include/asm/kvm_host.h Paolo Bonzini 2014-02-21 447
enum {
360b948d88bf30 arch/x86/include/asm/kvm_host.h Paolo Bonzini 2014-02-21 448
KVM_DEBUGREG_BP_ENABLED = 1,
c77fb5fe6f031b arch/x86/include/asm/kvm_host.h Paolo Bonzini 2014-02-21 449
KVM_DEBUGREG_WONT_EXIT = 2,
ae561edeb421fb arch/x86/include/asm/kvm_host.h Nadav Amit 2015-04-02 450
KVM_DEBUGREG_RELOAD = 4,
360b948d88bf30 arch/x86/include/asm/kvm_host.h Paolo Bonzini 2014-02-21 451
};
360b948d88bf30 arch/x86/include/asm/kvm_host.h Paolo Bonzini 2014-02-21 452
86fd52701cfae7 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 453
struct kvm_mtrr_range {
86fd52701cfae7 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 454
u64 base;
86fd52701cfae7 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 455
u64 mask;
19efffa244071c arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 456
struct list_head node;
86fd52701cfae7 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 457
};
86fd52701cfae7 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 458
70109e7d9d4ac7 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 459
struct kvm_mtrr {
86fd52701cfae7 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 460
struct kvm_mtrr_range var_ranges[KVM_NR_VAR_MTRR];
70109e7d9d4ac7 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 461
mtrr_type fixed_ranges[KVM_NR_FIXED_MTRR_REGION];
10fac2dc2b3b54 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 462
u64 deftype;
19efffa244071c arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 463
19efffa244071c arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 464
struct list_head head;
70109e7d9d4ac7 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 465
};
70109e7d9d4ac7 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 466
1f4b34f825e8ce arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-30 467
/* Hyper-V SynIC timer */
1f4b34f825e8ce arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-30 468
struct kvm_vcpu_hv_stimer {
1f4b34f825e8ce arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-30 469
struct hrtimer timer;
1f4b34f825e8ce arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-30 470
int index;
3b14b5f77d9468 arch/x86/include/asm/kvm_host.h Vitaly Kuznetsov 2018-11-26 471
union hv_stimer_config config;
1f4b34f825e8ce arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-30 472
u64 count;
1f4b34f825e8ce arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-30 473
u64 exp_time;
1f4b34f825e8ce arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-30 474
struct hv_message msg;
1f4b34f825e8ce arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-30 475
bool msg_pending;
1f4b34f825e8ce arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-30 476
};
1f4b34f825e8ce arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-30 477
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 478
/* Hyper-V synthetic interrupt controller (SynIC)*/
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 479
struct kvm_vcpu_hv_synic {
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 480
u64 version;
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 481
u64 control;
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 482
u64 msg_page;
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 483
u64 evt_page;
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 484
atomic64_t sint[HV_SYNIC_SINT_COUNT];
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 485
atomic_t sint_to_gsi[HV_SYNIC_SINT_COUNT];
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 486
DECLARE_BITMAP(auto_eoi_bitmap, 256);
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 487
DECLARE_BITMAP(vec_bitmap, 256);
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 488
bool active;
efc479e6900c22 arch/x86/include/asm/kvm_host.h Roman Kagan 2017-06-22 489
bool dont_zero_synic_pages;
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 490
};
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 491
e83d58874ba1de arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-07-03 492
/* Hyper-V per vcpu emulation context */
e83d58874ba1de arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-07-03 493
struct kvm_vcpu_hv {
d3457c877b14aa arch/x86/include/asm/kvm_host.h Roman Kagan 2017-07-14 494
u32 vp_index;
e83d58874ba1de arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-07-03 495
u64 hv_vapic;
9eec50b8bbe153 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-09-16 496
s64 runtime_offset;
5c919412fe61c3 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 497
struct kvm_vcpu_hv_synic synic;
db3975717ac5e2 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 498
struct kvm_hyperv_exit exit;
1f4b34f825e8ce arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-30 499
struct kvm_vcpu_hv_stimer stimer[HV_SYNIC_STIMER_COUNT];
1f4b34f825e8ce arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-30 500
DECLARE_BITMAP(stimer_pending_bitmap, HV_SYNIC_STIMER_COUNT);
e2f11f42824bf2 arch/x86/include/asm/kvm_host.h Vitaly Kuznetsov 2018-05-16 501
cpumask_t tlb_lush;
e83d58874ba1de arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-07-03 502
};
e83d58874ba1de arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-07-03 503
ad312c7c79f781 drivers/kvm/x86.h Zhang Xiantao 2007-12-13 504
struct kvm_vcpu_arch {
5fdbf9765b7ba6 include/asm-x86/kvm_host.h Marcelo Tosatti 2008-06-27 505
/*
5fdbf9765b7ba6 include/asm-x86/kvm_host.h Marcelo Tosatti 2008-06-27 506
* rip and regs accesses must go through
5fdbf9765b7ba6 include/asm-x86/kvm_host.h Marcelo Tosatti 2008-06-27 507
* kvm_{register,rip}_{read,write} functions.
5fdbf9765b7ba6 include/asm-x86/kvm_host.h Marcelo Tosatti 2008-06-27 508
*/
5fdbf9765b7ba6 include/asm-x86/kvm_host.h Marcelo Tosatti 2008-06-27 509
unsigned long regs[NR_VCPU_REGS];
5fdbf9765b7ba6 include/asm-x86/kvm_host.h Marcelo Tosatti 2008-06-27 510
u32 regs_avail;
5fdbf9765b7ba6 include/asm-x86/kvm_host.h Marcelo Tosatti 2008-06-27 511
u32 regs_dirty;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 512
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 513
unsigned long cr0;
e8467fda83cdc9 arch/x86/include/asm/kvm_host.h Avi Kivity 2009-12-29 514
unsigned long cr0_guest_owned_bits;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 515
unsigned long cr2;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 516
unsigned long cr3;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 517
unsigned long cr4;
fc78f51938e1ea arch/x86/include/asm/kvm_host.h Avi Kivity 2009-12-07 518
unsigned long cr4_guest_owned_bits;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 519
unsigned long cr8;
b9dd21e104bcd4 arch/x86/include/asm/kvm_host.h Paolo Bonzini 2017-08-23 520
u32 pkru;
1371d90460189d arch/x86/include/asm/kvm_host.h Alexander Graf 2008-11-25 521
u32 hflags;
f6801dff23bd19 arch/x86/include/asm/kvm_host.h Avi Kivity 2010-01-21 522
u64 efer;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 523
u64 apic_base;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 524
struct kvm_lapic *apic; /* kernel irqchip context */
d62caabb41f33d arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 525
bool apicv_active;
e40ff1d6608dd9 arch/x86/include/asm/kvm_host.h Liran Alon 2018-03-21 526
bool load_eoi_exitmap_pending;
6308630bd3dbb6 arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-11-10 527
DECLARE_BITMAP(ioapic_handled_vectors, 256);
413837714232b3 arch/x86/include/asm/kvm_host.h Gleb Natapov 2012-04-19 528
unsigned long apic_attention;
e1035715ef8d31 arch/x86/include/asm/kvm_host.h Gleb Natapov 2009-03-05 529
int32_t apic_arb_prio;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 530
int mp_state;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 531
u64 ia32_misc_enable_msr;
64d6067057d965 arch/x86/include/asm/kvm_host.h Paolo Bonzini 2015-05-07 532
u64 smbase;
52797bf9a875c4 arch/x86/include/asm/kvm_host.h Liran Alon 2017-11-15 533
u64 smi_count;
b209749f528488 include/asm-x86/kvm_host.h Avi Kivity 2007-10-22 534
bool tpr_access_reporting;
203000993de509 arch/x86/include/asm/kvm_host.h Wanpeng Li 2014-12-02 535
u64 ia32_xss;
518e7b94817abe arch/x86/include/asm/kvm_host.h Wanpeng Li 2018-02-28 536
u64 microcode_version;
3a18eabaa71231 arch/x86/include/asm/kvm_host.h Sean Christopherson 2019-03-07 537
u64 arch_capabilities;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 538
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 539
/*
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 540
* Paging state of the vcpu
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 541
*
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 542
* If the vcpu runs in guest mode with two level paging this still saves
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 543
* the paging mode of the l1 guest. This context is always used to
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 544
* handle faults.
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 545
*/
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 546
struct kvm_mmu mmu;
8df25a328a6ca3 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 547
6539e738f65a8f arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 548
/*
6539e738f65a8f arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 549
* Paging state of an L2 guest (used for nested npt)
6539e738f65a8f arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 550
*
6539e738f65a8f arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 551
* This context will save all necessary information to walk page tables
6539e738f65a8f arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 552
* of the an L2 guest. This context is only initialized for page table
6539e738f65a8f arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 553
* walking and not for faulting since we never handle l2 page faults on
6539e738f65a8f arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 554
* the host.
6539e738f65a8f arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 555
*/
6539e738f65a8f arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 556
struct kvm_mmu nested_mmu;
6539e738f65a8f arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 557
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 558
/*
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 559
* Pointer to the mmu context currently used for
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 560
* gva_to_gpa translations.
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 561
*/
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 562
struct kvm_mmu *walk_mmu;
14dfe855f97818 arch/x86/include/asm/kvm_host.h Joerg Roedel 2010-09-10 563
53c07b18787d56 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2011-05-15 564
struct kvm_mmu_memory_cache mmu_pte_list_desc_cache;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 565
struct kvm_mmu_memory_cache mmu_page_cache;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 566
struct kvm_mmu_memory_cache mmu_page_header_cache;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 567
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 568
/*
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 569
* QEMU userspace and the guest each have their own FPU state.
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 570
* In vcpu_run, we switch between the user and guest FPU contexts.
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 571
* While running a VCPU, the VCPU thread will have the guest FPU
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 572
* context.
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 573
*
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 574
* Note that while the PKRU state lives inside the fpu registers,
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 575
* it is switched out separately at VMENTER and VMEXIT time. The
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 576
* "guest_fpu" state here contains the guest FPU context, with the
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 577
* host PRKU bits.
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 578
*/
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 @579
struct fpu user_fpu;
98918833a3e21f arch/x86/include/asm/kvm_host.h Sheng Yang 2010-05-17 @580
struct fpu guest_fpu;
f775b13eedee2f arch/x86/include/asm/kvm_host.h Rik van Riel 2017-11-14 581
2acf923e38fb6a arch/x86/include/asm/kvm_host.h Dexuan Cui 2010-06-10 582
u64 xcr0;
d7876f1be40a16 arch/x86/include/asm/kvm_host.h Paolo Bonzini 2013-10-02 583
u64 guest_supported_xcr0;
4344ee981e2199 arch/x86/include/asm/kvm_host.h Paolo Bonzini 2013-10-02 584
u32 guest_xstate_size;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 585
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 586
struct kvm_pio_request pio;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 587
void *pio_data;
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 588
66fd3f7f901f29 arch/x86/include/asm/kvm_host.h Gleb Natapov 2009-05-11 589
u8 event_exit_inst_len;
66fd3f7f901f29 arch/x86/include/asm/kvm_host.h Gleb Natapov 2009-05-11 590
298101da2f507c drivers/kvm/x86.h Avi Kivity 2007-11-25 591
struct kvm_queued_exception {
298101da2f507c drivers/kvm/x86.h Avi Kivity 2007-11-25 592
bool pending;
664f8e26b00c76 arch/x86/include/asm/kvm_host.h Wanpeng Li 2017-08-24 593
bool injected;
298101da2f507c drivers/kvm/x86.h Avi Kivity 2007-11-25 594
bool has_error_code;
298101da2f507c drivers/kvm/x86.h Avi Kivity 2007-11-25 595
u8 nr;
298101da2f507c drivers/kvm/x86.h Avi Kivity 2007-11-25 596
u32 error_code;
adfe20fb48785d arch/x86/include/asm/kvm_host.h Wanpeng Li 2017-07-13 597
u8 nested_apf;
298101da2f507c drivers/kvm/x86.h Avi Kivity 2007-11-25 598
} exception;
298101da2f507c drivers/kvm/x86.h Avi Kivity 2007-11-25 599
937a7eaef9f083 include/asm-x86/kvm_host.h Avi Kivity 2008-07-03 600
struct kvm_queued_interrupt {
04140b4144cd88 arch/x86/include/asm/kvm_host.h Liran Alon 2018-03-23 601
bool injected;
66fd3f7f901f29 arch/x86/include/asm/kvm_host.h Gleb Natapov 2009-05-11 602
bool soft;
937a7eaef9f083 include/asm-x86/kvm_host.h Avi Kivity 2008-07-03 603
u8 nr;
937a7eaef9f083 include/asm-x86/kvm_host.h Avi Kivity 2008-07-03 604
} interrupt;
937a7eaef9f083 include/asm-x86/kvm_host.h Avi Kivity 2008-07-03 605
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 606
int halt_request; /* real mode on Intel only */
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 607
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 608
int cpuid_nent;
0771671749b59a drivers/kvm/x86.h Dan Kenigsberg 2007-11-21 609
struct kvm_cpuid_entry2 cpuid_entries[KVM_MAX_CPUID_ENTRIES];
5a4f55cde81f16 arch/x86/include/asm/kvm_host.h Eugene Korenevsky 2015-03-29 610
5a4f55cde81f16 arch/x86/include/asm/kvm_host.h Eugene Korenevsky 2015-03-29 611
int maxphyaddr;
5a4f55cde81f16 arch/x86/include/asm/kvm_host.h Eugene Korenevsky 2015-03-29 612
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 613
/* emulate context */
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 614
34c16eecf78ed4 drivers/kvm/x86.h Zhang Xiantao 2007-10-20 615
struct x86_emulate_ctxt emulate_ctxt;
7ae441eac521b2 arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-03-31 616
bool emulate_regs_need_sync_to_vcpu;
7ae441eac521b2 arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-03-31 617
bool emulate_regs_need_sync_from_vcpu;
716d51abff06f4 arch/x86/include/asm/kvm_host.h Gleb Natapov 2012-09-03 618
int (*complete_userspace_io)(struct kvm_vcpu *vcpu);
18068523d3a0b4 include/asm-x86/kvm_host.h Glauber de Oliveira Costa 2008-02-15 619
18068523d3a0b4 include/asm-x86/kvm_host.h Glauber de Oliveira Costa 2008-02-15 620
gpa_t time;
50d0a0f987b83a include/asm-x86/kvm_host.h Gerd Hoffmann 2008-06-03 621
struct pvclock_vcpu_time_info hv_clock;
e48672fa25e879 arch/x86/include/asm/kvm_host.h Zachary Amsden 2010-08-19 622
unsigned int hw_tsc_khz;
0b79459b482e85 arch/x86/include/asm/kvm_host.h Andy Honig 2013-02-20 623
struct gfn_to_hva_cache pv_time;
0b79459b482e85 arch/x86/include/asm/kvm_host.h Andy Honig 2013-02-20 624
bool pv_time_enabled;
51d59c6b422f3f arch/x86/include/asm/kvm_host.h Marcelo Tosatti 2012-08-03 625
/* set guest stopped flag in pvclock flags field */
51d59c6b422f3f arch/x86/include/asm/kvm_host.h Marcelo Tosatti 2012-08-03 626
bool pvclock_set_guest_stopped_request;
c9aaa8957f203b arch/x86/include/asm/kvm_host.h Glauber Costa 2011-07-11 627
c9aaa8957f203b arch/x86/include/asm/kvm_host.h Glauber Costa 2011-07-11 628
struct {
c434092ef8172e arch/x86/include/asm/kvm_host.h Boris Ostrovsky 2019-12-06 629
u8 preempted;
c9aaa8957f203b arch/x86/include/asm/kvm_host.h Glauber Costa 2011-07-11 630
u64 msr_val;
c9aaa8957f203b arch/x86/include/asm/kvm_host.h Glauber Costa 2011-07-11 631
u64 last_steal;
ccfc73e56da7c8 arch/x86/include/asm/kvm_host.h Boris Ostrovsky 2019-12-05 632
struct gfn_to_pfn_cache cache;
c9aaa8957f203b arch/x86/include/asm/kvm_host.h Glauber Costa 2011-07-11 633
} st;
c9aaa8957f203b arch/x86/include/asm/kvm_host.h Glauber Costa 2011-07-11 634
a545ab6a0085e6 arch/x86/include/asm/kvm_host.h Luiz Capitulino 2016-09-07 635
u64 tsc_offset;
1d5f066e0b6327 arch/x86/include/asm/kvm_host.h Zachary Amsden 2010-08-19 636
u64 last_guest_tsc;
6f526ec5383dcd arch/x86/include/asm/kvm_host.h Zachary Amsden 2012-02-03 637
u64 last_host_tsc;
0dd6a6edb0124e arch/x86/include/asm/kvm_host.h Zachary Amsden 2012-02-03 638
u64 tsc_offset_adjustment;
e26101b116a623 arch/x86/include/asm/kvm_host.h Zachary Amsden 2012-02-03 639
u64 this_tsc_nsec;
e26101b116a623 arch/x86/include/asm/kvm_host.h Zachary Amsden 2012-02-03 640
u64 this_tsc_write;
0d3da0d26e3c35 arch/x86/include/asm/kvm_host.h Tomasz Grabiec 2014-06-24 641
u64 this_tsc_generation;
c285545f813d7b arch/x86/include/asm/kvm_host.h Zachary Amsden 2010-09-18 642
bool tsc_catchup;
cc578287e3224d arch/x86/include/asm/kvm_host.h Zachary Amsden 2012-02-03 643
bool tsc_always_catchup;
cc578287e3224d arch/x86/include/asm/kvm_host.h Zachary Amsden 2012-02-03 644
s8 virtual_tsc_shift;
cc578287e3224d arch/x86/include/asm/kvm_host.h Zachary Amsden 2012-02-03 645
u32 virtual_tsc_mult;
cc578287e3224d arch/x86/include/asm/kvm_host.h Zachary Amsden 2012-02-03 646
u32 virtual_tsc_khz;
ba904635d498fe arch/x86/include/asm/kvm_host.h Will Auld 2012-11-29 647
s64 ia32_tsc_adjust_msr;
ad721883e9c5f4 arch/x86/include/asm/kvm_host.h Haozhong Zhang 2015-10-20 648
u64 tsc_scaling_ratio;
3419ffc8e45a53 include/asm-x86/kvm_host.h Sheng Yang 2008-05-15 649
7460fb4a340033 arch/x86/include/asm/kvm_host.h Avi Kivity 2011-09-20 650
atomic_t nmi_queued; /* unprocessed asynchronous NMIs */
7460fb4a340033 arch/x86/include/asm/kvm_host.h Avi Kivity 2011-09-20 651
unsigned nmi_pending; /* NMI queued after currently running handler */
7460fb4a340033 arch/x86/include/asm/kvm_host.h Avi Kivity 2011-09-20 652
bool nmi_injected; /* Trying to inject an NMI this entry */
f077825a8758d7 arch/x86/include/asm/kvm_host.h Paolo Bonzini 2015-04-01 653
bool smi_pending; /* SMI queued after currently running handler */
9ba075a664dff8 include/asm-x86/kvm_host.h Avi Kivity 2008-05-26 654
70109e7d9d4ac7 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2015-06-15 655
struct kvm_mtrr mtrr_state;
7cb060a91c0efc arch/x86/include/asm/kvm_host.h Paolo Bonzini 2014-06-19 656
u64 pat;
42dbaa5a057736 arch/x86/include/asm/kvm_host.h Jan Kiszka 2008-12-15 657
360b948d88bf30 arch/x86/include/asm/kvm_host.h Paolo Bonzini 2014-02-21 658
unsigned switch_db_regs;
42dbaa5a057736 arch/x86/include/asm/kvm_host.h Jan Kiszka 2008-12-15 659
unsigned long db[KVM_NR_DB_REGS];
42dbaa5a057736 arch/x86/include/asm/kvm_host.h Jan Kiszka 2008-12-15 660
unsigned long dr6;
42dbaa5a057736 arch/x86/include/asm/kvm_host.h Jan Kiszka 2008-12-15 661
unsigned long dr7;
42dbaa5a057736 arch/x86/include/asm/kvm_host.h Jan Kiszka 2008-12-15 662
unsigned long eff_db[KVM_NR_DB_REGS];
c863901075a42d arch/x86/include/asm/kvm_host.h Jan Kiszka 2012-09-21 663
unsigned long guest_debug_dr7;
db2336a80489e7 arch/x86/include/asm/kvm_host.h Kyle Huey 2017-03-20 664
u64 msr_platform_info;
db2336a80489e7 arch/x86/include/asm/kvm_host.h Kyle Huey 2017-03-20 665
u64 msr_misc_features_enables;
890ca9aefa78f7 arch/x86/include/asm/kvm_host.h Huang Ying 2009-05-11 666
890ca9aefa78f7 arch/x86/include/asm/kvm_host.h Huang Ying 2009-05-11 667
u64 mcg_cap;
890ca9aefa78f7 arch/x86/include/asm/kvm_host.h Huang Ying 2009-05-11 668
u64 mcg_status;
890ca9aefa78f7 arch/x86/include/asm/kvm_host.h Huang Ying 2009-05-11 669
u64 mcg_ctl;
c45dcc71b794b5 arch/x86/include/asm/kvm_host.h Ashok Raj 2016-06-22 670
u64 mcg_ext_ctl;
890ca9aefa78f7 arch/x86/include/asm/kvm_host.h Huang Ying 2009-05-11 671
u64 *mce_banks;
94fe45da48f921 arch/x86/include/asm/kvm_host.h Jan Kiszka 2009-10-18 672
bebb106a5afa32 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2011-07-12 673
/* Cache MMIO info */
bebb106a5afa32 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2011-07-12 674
u64 mmio_gva;
bebb106a5afa32 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2011-07-12 675
unsigned access;
bebb106a5afa32 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2011-07-12 676
gfn_t mmio_gfn;
56f17dd3fbc44a arch/x86/include/asm/kvm_host.h David Matlack 2014-08-18 677
u64 mmio_gen;
bebb106a5afa32 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2011-07-12 678
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 679
struct kvm_pmu pmu;
f5132b01386b5a arch/x86/include/asm/kvm_host.h Gleb Natapov 2011-11-10 680
94fe45da48f921 arch/x86/include/asm/kvm_host.h Jan Kiszka 2009-10-18 681
/* used for guest single stepping over the given code position */
94fe45da48f921 arch/x86/include/asm/kvm_host.h Jan Kiszka 2009-10-18 682
unsigned long singlestep_rip;
f92653eeb496fe arch/x86/include/asm/kvm_host.h Jan Kiszka 2010-02-23 683
e83d58874ba1de arch/x86/include/asm/kvm_host.h Andrey Smetanin 2015-07-03 684
struct kvm_vcpu_hv hyperv;
f5f48ee15c2ee3 arch/x86/include/asm/kvm_host.h Sheng Yang 2010-06-30 685
f5f48ee15c2ee3 arch/x86/include/asm/kvm_host.h Sheng Yang 2010-06-30 686
cpumask_var_t wbinvd_dirty_mask;
af585b921e5d1e arch/x86/include/asm/kvm_host.h Gleb Natapov 2010-10-14 687
1cb3f3ae5a3855 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2011-09-22 688
unsigned long last_retry_eip;
1cb3f3ae5a3855 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2011-09-22 689
unsigned long last_retry_addr;
1cb3f3ae5a3855 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2011-09-22 690
af585b921e5d1e arch/x86/include/asm/kvm_host.h Gleb Natapov 2010-10-14 691
struct {
af585b921e5d1e arch/x86/include/asm/kvm_host.h Gleb Natapov 2010-10-14 692
bool halted;
af585b921e5d1e arch/x86/include/asm/kvm_host.h Gleb Natapov 2010-10-14 693
gfn_t gfns[roundup_pow_of_two(ASYNC_PF_PER_VCPU)];
344d9588a9df06 arch/x86/include/asm/kvm_host.h Gleb Natapov 2010-10-14 694
struct gfn_to_hva_cache data;
344d9588a9df06 arch/x86/include/asm/kvm_host.h Gleb Natapov 2010-10-14 695
u64 msr_val;
7c90705bf2a373 arch/x86/include/asm/kvm_host.h Gleb Natapov 2010-10-14 696
u32 id;
6adba527420651 arch/x86/include/asm/kvm_host.h Gleb Natapov 2010-10-14 697
bool send_user_only;
1261bfa326f5e9 arch/x86/include/asm/kvm_host.h Wanpeng Li 2017-07-13 698
u32 host_apf_reason;
adfe20fb48785d arch/x86/include/asm/kvm_host.h Wanpeng Li 2017-07-13 699
unsigned long nested_apf_token;
52a5c155cf79f1 arch/x86/include/asm/kvm_host.h Wanpeng Li 2017-07-13 700
bool delivery_as_pf_vmexit;
af585b921e5d1e arch/x86/include/asm/kvm_host.h Gleb Natapov 2010-10-14 701
} apf;
2b036c6b861dc5 arch/x86/include/asm/kvm_host.h Boris Ostrovsky 2012-01-09 702
2b036c6b861dc5 arch/x86/include/asm/kvm_host.h Boris Ostrovsky 2012-01-09 703
/* OSVW MSRs (AMD only) */
2b036c6b861dc5 arch/x86/include/asm/kvm_host.h Boris Ostrovsky 2012-01-09 704
struct {
2b036c6b861dc5 arch/x86/include/asm/kvm_host.h Boris Ostrovsky 2012-01-09 705
u64 length;
2b036c6b861dc5 arch/x86/include/asm/kvm_host.h Boris Ostrovsky 2012-01-09 706
u64 status;
2b036c6b861dc5 arch/x86/include/asm/kvm_host.h Boris Ostrovsky 2012-01-09 707
} osvw;
ae7a2a3fb6f8b7 arch/x86/include/asm/kvm_host.h Michael S. Tsirkin 2012-06-24 708
ae7a2a3fb6f8b7 arch/x86/include/asm/kvm_host.h Michael S. Tsirkin 2012-06-24 709
struct {
ae7a2a3fb6f8b7 arch/x86/include/asm/kvm_host.h Michael S. Tsirkin 2012-06-24 710
u64 msr_val;
ae7a2a3fb6f8b7 arch/x86/include/asm/kvm_host.h Michael S. Tsirkin 2012-06-24 711
struct gfn_to_hva_cache data;
ae7a2a3fb6f8b7 arch/x86/include/asm/kvm_host.h Michael S. Tsirkin 2012-06-24 712
} pv_eoi;
93c05d3ef25275 arch/x86/include/asm/kvm_host.h Xiao Guangrong 2013-01-13 713
2cd3f941867572 arch/x86/include/asm/kvm_host.h Suleiman Souhlal 2021-07-28 714
u64 msr_kvm_poll_control;
2cd3f941867572 arch/x86/include/asm/kvm_host.h Suleiman Souhlal 2021-07-28 715
:::::: The code at line 579 was first introduced by commit
:::::: f775b13eedee2f7f3c6fdd4e90fb79090ce5d339 x86,kvm: move qemu/guest FPU switching out
to vcpu_run
:::::: TO: Rik van Riel <riel(a)redhat.com>
:::::: CC: Radim Krčmář <rkrcmar(a)redhat.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org