mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 06:31:58 +02:00
KVM VMX change for 6.13
- Remove __invept()'s unused @gpa param, which was left behind when KVM
dropped code for invalidating a specific GPA (Intel never officially
documented support for single-address INVEPT; presumably pre-production
CPUs supported it at some point).
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEKTobbabEP7vbhhN9OlYIJqCjN/0FAmczqIYACgkQOlYIJqCj
N/1hJg//fxOBC74PXNtAuLFXnqxDVf06541SQcyxPGspFiaeSDFcaLbu6avRdPuI
QchkX7yCAPZ3N8BAnJxva0XqLAyhuPlAFeeXeqYfFUF6Wzrzbn2fp4SGEI2tklKe
TKINdjNxU+0sx/O+BWtJopBz0JpDyvL6paRNW4uvlra6NS3w9ppS3ju+tx8+cBeF
ez53Dn0lCtvGJL54sp0isB/WrkXSGM5lzpnyEJ1tCRcSuT4eNSn7ZMXHiS7sUQIj
2nog4nh8v454LdA+nvrqUz6/nVGURyWU9FVTbfOWrbivEFPADlNKEYx8iaiw9mEV
g9rEJ/bJPpacsnC1e/kiBh+X68LulK3Vrf9mwlQwMYfrQQPRS7hQvNvNfpmP0AVM
/H9YFXLkDH2LXoqckTZMtT208mp8VEZlCSVt0z0Di6aVmSbubkCwEOPDBGbWB1Y1
B4UdLX/ooJFQhCnMB5wfOdcTLQaOmnpHN44qde0tdRv6yRBEj1AEd4QkGbPrtjxI
JBCISdCtc/Q36HWgUDHR56TA+Q1G5KYVzpHQ4VUhf5hoUFVrojQeUcrEnLogUjbO
E/L/L5UiOJJGnpVhMILs0eUjPVq68kIjMgTeuAnAAVuZZxhMlbuwf5L0LFIZTo9p
eLrMWuY4wVmxaHtezJpm2gQIm8ZZPlPBO/F21wFvKKs5UxoLu7g=
=n8HN
-----END PGP SIGNATURE-----
Merge tag 'kvm-x86-vmx-6.13' of https://github.com/kvm-x86/linux into HEAD
KVM VMX change for 6.13
- Remove __invept()'s unused @gpa param, which was left behind when KVM
dropped code for invalidating a specific GPA (Intel never officially
documented support for single-address INVEPT; presumably pre-production
CPUs supported it at some point).
This commit is contained in:
commit
ef6fdc0e4c
|
|
@ -481,10 +481,9 @@ noinline void invvpid_error(unsigned long ext, u16 vpid, gva_t gva)
|
|||
ext, vpid, gva);
|
||||
}
|
||||
|
||||
noinline void invept_error(unsigned long ext, u64 eptp, gpa_t gpa)
|
||||
noinline void invept_error(unsigned long ext, u64 eptp)
|
||||
{
|
||||
vmx_insn_failed("invept failed: ext=0x%lx eptp=%llx gpa=0x%llx\n",
|
||||
ext, eptp, gpa);
|
||||
vmx_insn_failed("invept failed: ext=0x%lx eptp=%llx\n", ext, eptp);
|
||||
}
|
||||
|
||||
static DEFINE_PER_CPU(struct vmcs *, vmxarea);
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ void vmwrite_error(unsigned long field, unsigned long value);
|
|||
void vmclear_error(struct vmcs *vmcs, u64 phys_addr);
|
||||
void vmptrld_error(struct vmcs *vmcs, u64 phys_addr);
|
||||
void invvpid_error(unsigned long ext, u16 vpid, gva_t gva);
|
||||
void invept_error(unsigned long ext, u64 eptp, gpa_t gpa);
|
||||
void invept_error(unsigned long ext, u64 eptp);
|
||||
|
||||
#ifndef CONFIG_CC_HAS_ASM_GOTO_OUTPUT
|
||||
/*
|
||||
|
|
@ -312,13 +312,13 @@ static inline void __invvpid(unsigned long ext, u16 vpid, gva_t gva)
|
|||
vmx_asm2(invvpid, "r"(ext), "m"(operand), ext, vpid, gva);
|
||||
}
|
||||
|
||||
static inline void __invept(unsigned long ext, u64 eptp, gpa_t gpa)
|
||||
static inline void __invept(unsigned long ext, u64 eptp)
|
||||
{
|
||||
struct {
|
||||
u64 eptp, gpa;
|
||||
} operand = {eptp, gpa};
|
||||
|
||||
vmx_asm2(invept, "r"(ext), "m"(operand), ext, eptp, gpa);
|
||||
u64 eptp;
|
||||
u64 reserved_0;
|
||||
} operand = { eptp, 0 };
|
||||
vmx_asm2(invept, "r"(ext), "m"(operand), ext, eptp);
|
||||
}
|
||||
|
||||
static inline void vpid_sync_vcpu_single(int vpid)
|
||||
|
|
@ -355,13 +355,13 @@ static inline void vpid_sync_vcpu_addr(int vpid, gva_t addr)
|
|||
|
||||
static inline void ept_sync_global(void)
|
||||
{
|
||||
__invept(VMX_EPT_EXTENT_GLOBAL, 0, 0);
|
||||
__invept(VMX_EPT_EXTENT_GLOBAL, 0);
|
||||
}
|
||||
|
||||
static inline void ept_sync_context(u64 eptp)
|
||||
{
|
||||
if (cpu_has_vmx_invept_context())
|
||||
__invept(VMX_EPT_EXTENT_CONTEXT, eptp, 0);
|
||||
__invept(VMX_EPT_EXTENT_CONTEXT, eptp);
|
||||
else
|
||||
ept_sync_global();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user