mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
![]() * Clean up vCPU targets, always returning generic v8 as the preferred target * Trap forwarding infrastructure for nested virtualization (used for traps that are taken from an L2 guest and are needed by the L1 hypervisor) * FEAT_TLBIRANGE support to only invalidate specific ranges of addresses when collapsing a table PTE to a block PTE. This avoids that the guest refills the TLBs again for addresses that aren't covered by the table PTE. * Fix vPMU issues related to handling of PMUver. * Don't unnecessary align non-stack allocations in the EL2 VA space * Drop HCR_VIRT_EXCP_MASK, which was never used... * Don't use smp_processor_id() in kvm_arch_vcpu_load(), but the cpu parameter instead * Drop redundant call to kvm_set_pfn_accessed() in user_mem_abort() * Remove prototypes without implementations RISC-V: * Zba, Zbs, Zicntr, Zicsr, Zifencei, and Zihpm support for guest * Added ONE_REG interface for SATP mode * Added ONE_REG interface to enable/disable multiple ISA extensions * Improved error codes returned by ONE_REG interfaces * Added KVM_GET_REG_LIST ioctl() implementation for KVM RISC-V * Added get-reg-list selftest for KVM RISC-V s390: * PV crypto passthrough enablement (Tony, Steffen, Viktor, Janosch) Allows a PV guest to use crypto cards. Card access is governed by the firmware and once a crypto queue is "bound" to a PV VM every other entity (PV or not) looses access until it is not bound anymore. Enablement is done via flags when creating the PV VM. * Guest debug fixes (Ilya) x86: * Clean up KVM's handling of Intel architectural events * Intel bugfixes * Add support for SEV-ES DebugSwap, allowing SEV-ES guests to use debug registers and generate/handle #DBs * Clean up LBR virtualization code * Fix a bug where KVM fails to set the target pCPU during an IRTE update * Fix fatal bugs in SEV-ES intrahost migration * Fix a bug where the recent (architecturally correct) change to reinject #BP and skip INT3 broke SEV guests (can't decode INT3 to skip it) * Retry APIC map recalculation if a vCPU is added/enabled * Overhaul emergency reboot code to bring SVM up to par with VMX, tie the "emergency disabling" behavior to KVM actually being loaded, and move all of the logic within KVM * Fix user triggerable WARNs in SVM where KVM incorrectly assumes the TSC ratio MSR cannot diverge from the default when TSC scaling is disabled up related code * Add a framework to allow "caching" feature flags so that KVM can check if the guest can use a feature without needing to search guest CPUID * Rip out the ancient MMU_DEBUG crud and replace the useful bits with CONFIG_KVM_PROVE_MMU * Fix KVM's handling of !visible guest roots to avoid premature triple fault injection * Overhaul KVM's page-track APIs, and KVMGT's usage, to reduce the API surface that is needed by external users (currently only KVMGT), and fix a variety of issues in the process This last item had a silly one-character bug in the topic branch that was sent to me. Because it caused pretty bad selftest failures in some configurations, I decided to squash in the fix. So, while the exact commit ids haven't been in linux-next, the code has (from the kvm-x86 tree). Generic: * Wrap kvm_{gfn,hva}_range.pte in a union to allow mmu_notifier events to pass action specific data without needing to constantly update the main handlers. * Drop unused function declarations Selftests: * Add testcases to x86's sync_regs_test for detecting KVM TOCTOU bugs * Add support for printf() in guest code and covert all guest asserts to use printf-based reporting * Clean up the PMU event filter test and add new testcases * Include x86 selftests in the KVM x86 MAINTAINERS entry -----BEGIN PGP SIGNATURE----- iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmT1m0kUHHBib256aW5p QHJlZGhhdC5jb20ACgkQv/vSX3jHroMNgggAiN7nz6UC423FznuI+yO3TLm8tkx1 CpKh5onqQogVtchH+vrngi97cfOzZb1/AtifY90OWQi31KEWhehkeofcx7G6ERhj 5a9NFADY1xGBsX4exca/VHDxhnzsbDWaWYPXw5vWFWI6erft9Mvy3tp1LwTvOzqM v8X4aWz+g5bmo/DWJf4Wu32tEU6mnxzkrjKU14JmyqQTBawVmJ3RYvHVJ/Agpw+n hRtPAy7FU6XTdkmq/uCT+KUHuJEIK0E/l1js47HFAqSzwdW70UDg14GGo1o4ETxu RjZQmVNvL57yVgi6QU38/A0FWIsWQm5IlaX1Ug6x8pjZPnUKNbo9BY4T1g== =W+4p -----END PGP SIGNATURE----- Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull kvm updates from Paolo Bonzini: "ARM: - Clean up vCPU targets, always returning generic v8 as the preferred target - Trap forwarding infrastructure for nested virtualization (used for traps that are taken from an L2 guest and are needed by the L1 hypervisor) - FEAT_TLBIRANGE support to only invalidate specific ranges of addresses when collapsing a table PTE to a block PTE. This avoids that the guest refills the TLBs again for addresses that aren't covered by the table PTE. - Fix vPMU issues related to handling of PMUver. - Don't unnecessary align non-stack allocations in the EL2 VA space - Drop HCR_VIRT_EXCP_MASK, which was never used... - Don't use smp_processor_id() in kvm_arch_vcpu_load(), but the cpu parameter instead - Drop redundant call to kvm_set_pfn_accessed() in user_mem_abort() - Remove prototypes without implementations RISC-V: - Zba, Zbs, Zicntr, Zicsr, Zifencei, and Zihpm support for guest - Added ONE_REG interface for SATP mode - Added ONE_REG interface to enable/disable multiple ISA extensions - Improved error codes returned by ONE_REG interfaces - Added KVM_GET_REG_LIST ioctl() implementation for KVM RISC-V - Added get-reg-list selftest for KVM RISC-V s390: - PV crypto passthrough enablement (Tony, Steffen, Viktor, Janosch) Allows a PV guest to use crypto cards. Card access is governed by the firmware and once a crypto queue is "bound" to a PV VM every other entity (PV or not) looses access until it is not bound anymore. Enablement is done via flags when creating the PV VM. - Guest debug fixes (Ilya) x86: - Clean up KVM's handling of Intel architectural events - Intel bugfixes - Add support for SEV-ES DebugSwap, allowing SEV-ES guests to use debug registers and generate/handle #DBs - Clean up LBR virtualization code - Fix a bug where KVM fails to set the target pCPU during an IRTE update - Fix fatal bugs in SEV-ES intrahost migration - Fix a bug where the recent (architecturally correct) change to reinject #BP and skip INT3 broke SEV guests (can't decode INT3 to skip it) - Retry APIC map recalculation if a vCPU is added/enabled - Overhaul emergency reboot code to bring SVM up to par with VMX, tie the "emergency disabling" behavior to KVM actually being loaded, and move all of the logic within KVM - Fix user triggerable WARNs in SVM where KVM incorrectly assumes the TSC ratio MSR cannot diverge from the default when TSC scaling is disabled up related code - Add a framework to allow "caching" feature flags so that KVM can check if the guest can use a feature without needing to search guest CPUID - Rip out the ancient MMU_DEBUG crud and replace the useful bits with CONFIG_KVM_PROVE_MMU - Fix KVM's handling of !visible guest roots to avoid premature triple fault injection - Overhaul KVM's page-track APIs, and KVMGT's usage, to reduce the API surface that is needed by external users (currently only KVMGT), and fix a variety of issues in the process Generic: - Wrap kvm_{gfn,hva}_range.pte in a union to allow mmu_notifier events to pass action specific data without needing to constantly update the main handlers. - Drop unused function declarations Selftests: - Add testcases to x86's sync_regs_test for detecting KVM TOCTOU bugs - Add support for printf() in guest code and covert all guest asserts to use printf-based reporting - Clean up the PMU event filter test and add new testcases - Include x86 selftests in the KVM x86 MAINTAINERS entry" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (279 commits) KVM: x86/mmu: Include mmu.h in spte.h KVM: x86/mmu: Use dummy root, backed by zero page, for !visible guest roots KVM: x86/mmu: Disallow guest from using !visible slots for page tables KVM: x86/mmu: Harden TDP MMU iteration against root w/o shadow page KVM: x86/mmu: Harden new PGD against roots without shadow pages KVM: x86/mmu: Add helper to convert root hpa to shadow page drm/i915/gvt: Drop final dependencies on KVM internal details KVM: x86/mmu: Handle KVM bookkeeping in page-track APIs, not callers KVM: x86/mmu: Drop @slot param from exported/external page-track APIs KVM: x86/mmu: Bug the VM if write-tracking is used but not enabled KVM: x86/mmu: Assert that correct locks are held for page write-tracking KVM: x86/mmu: Rename page-track APIs to reflect the new reality KVM: x86/mmu: Drop infrastructure for multiple page-track modes KVM: x86/mmu: Use page-track notifiers iff there are external users KVM: x86/mmu: Move KVM-only page-track declarations to internal header KVM: x86: Remove the unused page-track hook track_flush_slot() drm/i915/gvt: switch from ->track_flush_slot() to ->track_remove_region() KVM: x86: Add a new page-track hook to handle memslot deletion drm/i915/gvt: Don't bother removing write-protection on to-be-deleted slot KVM: x86: Reject memslot MOVE operations if KVMGT is attached ... |
||
---|---|---|
.. | ||
dec | ||
fw | ||
ip32 | ||
mach-ar7 | ||
mach-ath25 | ||
mach-ath79 | ||
mach-au1x00 | ||
mach-bcm47xx | ||
mach-bcm63xx | ||
mach-bmips | ||
mach-cavium-octeon | ||
mach-cobalt | ||
mach-db1x00 | ||
mach-dec | ||
mach-generic | ||
mach-ingenic | ||
mach-ip22 | ||
mach-ip27 | ||
mach-ip28 | ||
mach-ip30 | ||
mach-ip32 | ||
mach-jazz | ||
mach-lantiq | ||
mach-loongson2ef | ||
mach-loongson32 | ||
mach-loongson64 | ||
mach-malta | ||
mach-n64 | ||
mach-pic32 | ||
mach-ralink | ||
mach-rc32434 | ||
mach-rm | ||
mach-sibyte | ||
mach-tx49xx | ||
mips-boards | ||
octeon | ||
pci | ||
sgi | ||
sibyte | ||
sn | ||
txx9 | ||
vdso | ||
xtalk | ||
abi.h | ||
addrspace.h | ||
amon.h | ||
arch_hweight.h | ||
asm-eva.h | ||
asm-offsets.h | ||
asm-prototypes.h | ||
asm.h | ||
asmmacro-32.h | ||
asmmacro-64.h | ||
asmmacro.h | ||
atomic.h | ||
barrier.h | ||
bcache.h | ||
bitops.h | ||
bitrev.h | ||
bmips-spaces.h | ||
bmips.h | ||
bootinfo.h | ||
branch.h | ||
break.h | ||
bug.h | ||
bugs.h | ||
cache.h | ||
cacheflush.h | ||
cacheops.h | ||
cdmm.h | ||
cevt-r4k.h | ||
checksum.h | ||
clocksource.h | ||
cmp.h | ||
cmpxchg.h | ||
compat-signal.h | ||
compat.h | ||
compiler.h | ||
cop2.h | ||
cpu-features.h | ||
cpu-info.h | ||
cpu-type.h | ||
cpu.h | ||
cpufeature.h | ||
debug.h | ||
delay.h | ||
div64.h | ||
dma-direct.h | ||
dma-mapping.h | ||
dma.h | ||
dmi.h | ||
ds1287.h | ||
dsemul.h | ||
dsp.h | ||
edac.h | ||
elf.h | ||
elfcore-compat.h | ||
errno.h | ||
eva.h | ||
exec.h | ||
extable.h | ||
fb.h | ||
fixmap.h | ||
floppy.h | ||
fpregdef.h | ||
fpu_emulator.h | ||
fpu.h | ||
ftrace.h | ||
futex.h | ||
ginvt.h | ||
gio_device.h | ||
gt64120.h | ||
hardirq.h | ||
hazards.h | ||
highmem.h | ||
hpet.h | ||
hugetlb.h | ||
hw_irq.h | ||
i8259.h | ||
idle.h | ||
inst.h | ||
io.h | ||
irq_cpu.h | ||
irq_gt641xx.h | ||
irq_regs.h | ||
irq.h | ||
irqflags.h | ||
isa-rev.h | ||
isadep.h | ||
jazz.h | ||
jazzdma.h | ||
jump_label.h | ||
Kbuild | ||
kdebug.h | ||
kexec.h | ||
kgdb.h | ||
kprobes.h | ||
kvm_host.h | ||
kvm_types.h | ||
linkage.h | ||
local.h | ||
maar.h | ||
machine.h | ||
mc146818-time.h | ||
mc146818rtc.h | ||
mips_mt.h | ||
mips-cm.h | ||
mips-cpc.h | ||
mips-cps.h | ||
mips-gic.h | ||
mips-r2-to-r6-emul.h | ||
mipsmtregs.h | ||
mipsprom.h | ||
mipsregs.h | ||
mmiowb.h | ||
mmu_context.h | ||
mmu.h | ||
mmzone.h | ||
module.h | ||
msa.h | ||
msc01_ic.h | ||
paccess.h | ||
page.h | ||
pci.h | ||
perf_event.h | ||
pgalloc.h | ||
pgtable-32.h | ||
pgtable-64.h | ||
pgtable-bits.h | ||
pgtable.h | ||
pm-cps.h | ||
pm.h | ||
prefetch.h | ||
processor.h | ||
prom.h | ||
ptrace.h | ||
r4k-timer.h | ||
r4kcache.h | ||
reboot.h | ||
reg.h | ||
regdef.h | ||
rtlx.h | ||
seccomp.h | ||
setup.h | ||
sgialib.h | ||
sgiarcs.h | ||
shmparam.h | ||
sigcontext.h | ||
signal.h | ||
sim.h | ||
smp-cps.h | ||
smp-ops.h | ||
smp.h | ||
sni.h | ||
socket.h | ||
sparsemem.h | ||
spinlock_types.h | ||
spinlock.h | ||
spram.h | ||
stackframe.h | ||
stackprotector.h | ||
stacktrace.h | ||
string.h | ||
switch_to.h | ||
sync.h | ||
syscall.h | ||
thread_info.h | ||
time.h | ||
timex.h | ||
tlb.h | ||
tlbdebug.h | ||
tlbex.h | ||
tlbflush.h | ||
tlbmisc.h | ||
topology.h | ||
traps.h | ||
txx9irq.h | ||
txx9pio.h | ||
txx9tmr.h | ||
types.h | ||
uaccess.h | ||
uasm.h | ||
unaligned-emul.h | ||
unistd.h | ||
unroll.h | ||
uprobes.h | ||
vdso.h | ||
vermagic.h | ||
vga.h | ||
vmalloc.h | ||
vpe.h | ||
watch.h | ||
wbflush.h | ||
yamon-dt.h |