mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-22 12:47:25 +00:00
* Eager page splitting optimization for dirty logging, optionally
allowing for a VM to avoid the cost of hugepage splitting in the stage-2
fault path.
* Arm FF-A proxy for pKVM, allowing a pKVM host to safely interact with
services that live in the Secure world. pKVM intervenes on FF-A calls
to guarantee the host doesn't misuse memory donated to the hyp or a
pKVM guest.
* Support for running the split hypervisor with VHE enabled, known as
'hVHE' mode. This is extremely useful for testing the split
hypervisor on VHE-only systems, and paves the way for new use cases
that depend on having two TTBRs available at EL2.
* Generalized framework for configurable ID registers from userspace.
KVM/arm64 currently prevents arbitrary CPU feature set configuration
from userspace, but the intent is to relax this limitation and allow
userspace to select a feature set consistent with the CPU.
* Enable the use of Branch Target Identification (FEAT_BTI) in the
hypervisor.
* Use a separate set of pointer authentication keys for the hypervisor
when running in protected mode, as the host is untrusted at runtime.
* Ensure timer IRQs are consistently released in the init failure
paths.
* Avoid trapping CTR_EL0 on systems with Enhanced Virtualization Traps
(FEAT_EVT), as it is a register commonly read from userspace.
* Erratum workaround for the upcoming AmpereOne part, which has broken
hardware A/D state management.
RISC-V:
* Redirect AMO load/store misaligned traps to KVM guest
* Trap-n-emulate AIA in-kernel irqchip for KVM guest
* Svnapot support for KVM Guest
s390:
* New uvdevice secret API
* CMM selftest and fixes
* fix racy access to target CPU for diag 9c
x86:
* Fix missing/incorrect #GP checks on ENCLS
* Use standard mmu_notifier hooks for handling APIC access page
* Drop now unnecessary TR/TSS load after VM-Exit on AMD
* Print more descriptive information about the status of SEV and SEV-ES during
module load
* Add a test for splitting and reconstituting hugepages during and after
dirty logging
* Add support for CPU pinning in demand paging test
* Add support for AMD PerfMonV2, with a variety of cleanups and minor fixes
included along the way
* Add a "nx_huge_pages=never" option to effectively avoid creating NX hugepage
recovery threads (because nx_huge_pages=off can be toggled at runtime)
* Move handling of PAT out of MTRR code and dedup SVM+VMX code
* Fix output of PIC poll command emulation when there's an interrupt
* Add a maintainer's handbook to document KVM x86 processes, preferred coding
style, testing expectations, etc.
* Misc cleanups, fixes and comments
Generic:
* Miscellaneous bugfixes and cleanups
Selftests:
* Generate dependency files so that partial rebuilds work as expected
-----BEGIN PGP SIGNATURE-----
iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmSgHrIUHHBib256aW5p
QHJlZGhhdC5jb20ACgkQv/vSX3jHroORcAf+KkBlXwQMf+Q0Hy6Mfe0OtkKmh0Ae
6HJ6dsuMfOHhWv5kgukh+qvuGUGzHq+gpVKmZg2yP3h3cLHOLUAYMCDm+rjXyjsk
F4DbnJLfxq43Pe9PHRKFxxSecRcRYCNox0GD5UYL4PLKcH0FyfQrV+HVBK+GI8L3
FDzUcyJkR12Lcj1qf++7fsbzfOshL0AJPmidQCoc6wkLJpUEr/nYUqlI1Kx3YNuQ
LKmxFHS4l4/O/px3GKNDrLWDbrVlwciGIa3GZLS52PZdW3mAqT+cqcPcYK6SW71P
m1vE80VbNELX5q3YSRoOXtedoZ3Pk97LEmz/xQAsJ/jri0Z5Syk0Ok0m/Q==
=AMXp
-----END PGP SIGNATURE-----
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Pull kvm updates from Paolo Bonzini:
"ARM64:
- Eager page splitting optimization for dirty logging, optionally
allowing for a VM to avoid the cost of hugepage splitting in the
stage-2 fault path.
- Arm FF-A proxy for pKVM, allowing a pKVM host to safely interact
with services that live in the Secure world. pKVM intervenes on
FF-A calls to guarantee the host doesn't misuse memory donated to
the hyp or a pKVM guest.
- Support for running the split hypervisor with VHE enabled, known as
'hVHE' mode. This is extremely useful for testing the split
hypervisor on VHE-only systems, and paves the way for new use cases
that depend on having two TTBRs available at EL2.
- Generalized framework for configurable ID registers from userspace.
KVM/arm64 currently prevents arbitrary CPU feature set
configuration from userspace, but the intent is to relax this
limitation and allow userspace to select a feature set consistent
with the CPU.
- Enable the use of Branch Target Identification (FEAT_BTI) in the
hypervisor.
- Use a separate set of pointer authentication keys for the
hypervisor when running in protected mode, as the host is untrusted
at runtime.
- Ensure timer IRQs are consistently released in the init failure
paths.
- Avoid trapping CTR_EL0 on systems with Enhanced Virtualization
Traps (FEAT_EVT), as it is a register commonly read from userspace.
- Erratum workaround for the upcoming AmpereOne part, which has
broken hardware A/D state management.
RISC-V:
- Redirect AMO load/store misaligned traps to KVM guest
- Trap-n-emulate AIA in-kernel irqchip for KVM guest
- Svnapot support for KVM Guest
s390:
- New uvdevice secret API
- CMM selftest and fixes
- fix racy access to target CPU for diag 9c
x86:
- Fix missing/incorrect #GP checks on ENCLS
- Use standard mmu_notifier hooks for handling APIC access page
- Drop now unnecessary TR/TSS load after VM-Exit on AMD
- Print more descriptive information about the status of SEV and
SEV-ES during module load
- Add a test for splitting and reconstituting hugepages during and
after dirty logging
- Add support for CPU pinning in demand paging test
- Add support for AMD PerfMonV2, with a variety of cleanups and minor
fixes included along the way
- Add a "nx_huge_pages=never" option to effectively avoid creating NX
hugepage recovery threads (because nx_huge_pages=off can be toggled
at runtime)
- Move handling of PAT out of MTRR code and dedup SVM+VMX code
- Fix output of PIC poll command emulation when there's an interrupt
- Add a maintainer's handbook to document KVM x86 processes,
preferred coding style, testing expectations, etc.
- Misc cleanups, fixes and comments
Generic:
- Miscellaneous bugfixes and cleanups
Selftests:
- Generate dependency files so that partial rebuilds work as
expected"
* tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (153 commits)
Documentation/process: Add a maintainer handbook for KVM x86
Documentation/process: Add a label for the tip tree handbook's coding style
KVM: arm64: Fix misuse of KVM_ARM_VCPU_POWER_OFF bit index
RISC-V: KVM: Remove unneeded semicolon
RISC-V: KVM: Allow Svnapot extension for Guest/VM
riscv: kvm: define vcpu_sbi_ext_pmu in header
RISC-V: KVM: Expose IMSIC registers as attributes of AIA irqchip
RISC-V: KVM: Add in-kernel virtualization of AIA IMSIC
RISC-V: KVM: Expose APLIC registers as attributes of AIA irqchip
RISC-V: KVM: Add in-kernel emulation of AIA APLIC
RISC-V: KVM: Implement device interface for AIA irqchip
RISC-V: KVM: Skeletal in-kernel AIA irqchip support
RISC-V: KVM: Set kvm_riscv_aia_nr_hgei to zero
RISC-V: KVM: Add APLIC related defines
RISC-V: KVM: Add IMSIC related defines
RISC-V: KVM: Implement guest external interrupt line management
KVM: x86: Remove PRIx* definitions as they are solely for user space
s390/uv: Update query for secret-UVCs
s390/uv: replace scnprintf with sysfs_emit
s390/uvdevice: Add 'Lock Secret Store' UVC
...
|
||
|---|---|---|
| .. | ||
| e820 | ||
| fpu | ||
| numachip | ||
| shared | ||
| trace | ||
| uv | ||
| vdso | ||
| xen | ||
| acenv.h | ||
| acpi.h | ||
| acrn.h | ||
| agp.h | ||
| alternative.h | ||
| amd_hsmp.h | ||
| amd_nb.h | ||
| amd-ibs.h | ||
| apic.h | ||
| apicdef.h | ||
| apm.h | ||
| arch_hweight.h | ||
| archrandom.h | ||
| asm-offsets.h | ||
| asm-prototypes.h | ||
| asm.h | ||
| atomic64_32.h | ||
| atomic64_64.h | ||
| atomic.h | ||
| audit.h | ||
| barrier.h | ||
| bios_ebda.h | ||
| bitops.h | ||
| boot.h | ||
| bootparam_utils.h | ||
| bug.h | ||
| bugs.h | ||
| cache.h | ||
| cacheflush.h | ||
| cacheinfo.h | ||
| ce4100.h | ||
| cfi.h | ||
| checksum_32.h | ||
| checksum_64.h | ||
| checksum.h | ||
| clocksource.h | ||
| cmdline.h | ||
| cmpxchg_32.h | ||
| cmpxchg_64.h | ||
| cmpxchg.h | ||
| coco.h | ||
| compat.h | ||
| cpu_device_id.h | ||
| cpu_entry_area.h | ||
| cpu.h | ||
| cpufeature.h | ||
| cpufeatures.h | ||
| cpuid.h | ||
| cpuidle_haltpoll.h | ||
| cpumask.h | ||
| crash.h | ||
| current.h | ||
| debugreg.h | ||
| delay.h | ||
| desc_defs.h | ||
| desc.h | ||
| device.h | ||
| disabled-features.h | ||
| div64.h | ||
| dma-mapping.h | ||
| dma.h | ||
| dmi.h | ||
| doublefault.h | ||
| dwarf2.h | ||
| edac.h | ||
| efi.h | ||
| elf.h | ||
| elfcore-compat.h | ||
| emergency-restart.h | ||
| emulate_prefix.h | ||
| enclu.h | ||
| entry-common.h | ||
| espfix.h | ||
| exec.h | ||
| extable_fixup_types.h | ||
| extable.h | ||
| fb.h | ||
| fixmap.h | ||
| floppy.h | ||
| frame.h | ||
| fsgsbase.h | ||
| ftrace.h | ||
| futex.h | ||
| gart.h | ||
| GEN-for-each-reg.h | ||
| genapic.h | ||
| geode.h | ||
| gsseg.h | ||
| hardirq.h | ||
| highmem.h | ||
| hpet.h | ||
| hugetlb.h | ||
| hw_breakpoint.h | ||
| hw_irq.h | ||
| hyperv_timer.h | ||
| hyperv-tlfs.h | ||
| hypervisor.h | ||
| i8259.h | ||
| ia32_unistd.h | ||
| ia32.h | ||
| ibt.h | ||
| idtentry.h | ||
| imr.h | ||
| inat_types.h | ||
| inat.h | ||
| init.h | ||
| insn-eval.h | ||
| insn.h | ||
| inst.h | ||
| intel_ds.h | ||
| intel_pconfig.h | ||
| intel_pt.h | ||
| intel_punit_ipc.h | ||
| intel_scu_ipc.h | ||
| intel_telemetry.h | ||
| intel-family.h | ||
| intel-mid.h | ||
| invpcid.h | ||
| io_apic.h | ||
| io_bitmap.h | ||
| io.h | ||
| iomap.h | ||
| iommu.h | ||
| iosf_mbi.h | ||
| irq_remapping.h | ||
| irq_stack.h | ||
| irq_vectors.h | ||
| irq_work.h | ||
| irq.h | ||
| irqdomain.h | ||
| irqflags.h | ||
| ist.h | ||
| jailhouse_para.h | ||
| jump_label.h | ||
| kasan.h | ||
| kaslr.h | ||
| kbdleds.h | ||
| Kbuild | ||
| kdebug.h | ||
| kexec-bzimage64.h | ||
| kexec.h | ||
| kfence.h | ||
| kgdb.h | ||
| kmsan.h | ||
| kprobes.h | ||
| kvm_host.h | ||
| kvm_page_track.h | ||
| kvm_para.h | ||
| kvm_types.h | ||
| kvm_vcpu_regs.h | ||
| kvm-x86-ops.h | ||
| kvm-x86-pmu-ops.h | ||
| kvmclock.h | ||
| linkage.h | ||
| local.h | ||
| mach_timer.h | ||
| mach_traps.h | ||
| math_emu.h | ||
| mc146818rtc.h | ||
| mce.h | ||
| mem_encrypt.h | ||
| memtype.h | ||
| microcode_amd.h | ||
| microcode_intel.h | ||
| microcode.h | ||
| misc.h | ||
| mmconfig.h | ||
| mmu_context.h | ||
| mmu.h | ||
| mmzone_32.h | ||
| mmzone_64.h | ||
| mmzone.h | ||
| module.h | ||
| mpspec_def.h | ||
| mpspec.h | ||
| mshyperv.h | ||
| msi.h | ||
| msr-index.h | ||
| msr-trace.h | ||
| msr.h | ||
| mtrr.h | ||
| mwait.h | ||
| nmi.h | ||
| nops.h | ||
| nospec-branch.h | ||
| numa_32.h | ||
| numa.h | ||
| olpc_ofw.h | ||
| olpc.h | ||
| orc_header.h | ||
| orc_lookup.h | ||
| orc_types.h | ||
| page_32_types.h | ||
| page_32.h | ||
| page_64_types.h | ||
| page_64.h | ||
| page_types.h | ||
| page.h | ||
| paravirt_api_clock.h | ||
| paravirt_types.h | ||
| paravirt.h | ||
| parport.h | ||
| pc-conf-reg.h | ||
| pci_x86.h | ||
| pci-direct.h | ||
| pci-functions.h | ||
| pci.h | ||
| percpu.h | ||
| perf_event_p4.h | ||
| perf_event.h | ||
| pgalloc.h | ||
| pgtable_32_areas.h | ||
| pgtable_32_types.h | ||
| pgtable_32.h | ||
| pgtable_64_types.h | ||
| pgtable_64.h | ||
| pgtable_areas.h | ||
| pgtable_types.h | ||
| pgtable-2level_types.h | ||
| pgtable-2level.h | ||
| pgtable-3level_types.h | ||
| pgtable-3level.h | ||
| pgtable-invert.h | ||
| pgtable.h | ||
| pkeys.h | ||
| pkru.h | ||
| platform_sst_audio.h | ||
| pm-trace.h | ||
| posix_types.h | ||
| preempt.h | ||
| probe_roms.h | ||
| processor-cyrix.h | ||
| processor-flags.h | ||
| processor.h | ||
| prom.h | ||
| proto.h | ||
| pti.h | ||
| ptrace.h | ||
| purgatory.h | ||
| pvclock-abi.h | ||
| pvclock.h | ||
| qrwlock.h | ||
| qspinlock_paravirt.h | ||
| qspinlock.h | ||
| realmode.h | ||
| reboot_fixups.h | ||
| reboot.h | ||
| required-features.h | ||
| resctrl.h | ||
| rmwcc.h | ||
| seccomp.h | ||
| sections.h | ||
| segment.h | ||
| serial.h | ||
| set_memory.h | ||
| setup_arch.h | ||
| setup.h | ||
| sev-common.h | ||
| sev.h | ||
| sgx.h | ||
| shmparam.h | ||
| sigcontext.h | ||
| sigframe.h | ||
| sighandling.h | ||
| signal.h | ||
| simd.h | ||
| smap.h | ||
| smp.h | ||
| softirq_stack.h | ||
| sparsemem.h | ||
| spec-ctrl.h | ||
| special_insns.h | ||
| spinlock_types.h | ||
| spinlock.h | ||
| sta2x11.h | ||
| stackprotector.h | ||
| stacktrace.h | ||
| static_call.h | ||
| string_32.h | ||
| string_64.h | ||
| string.h | ||
| suspend_32.h | ||
| suspend_64.h | ||
| suspend.h | ||
| svm.h | ||
| switch_to.h | ||
| sync_bitops.h | ||
| sync_core.h | ||
| syscall_wrapper.h | ||
| syscall.h | ||
| syscalls.h | ||
| tdx.h | ||
| text-patching.h | ||
| thermal.h | ||
| thread_info.h | ||
| time.h | ||
| timer.h | ||
| timex.h | ||
| tlb.h | ||
| tlbbatch.h | ||
| tlbflush.h | ||
| topology.h | ||
| trace_clock.h | ||
| trap_pf.h | ||
| trapnr.h | ||
| traps.h | ||
| tsc.h | ||
| uaccess_32.h | ||
| uaccess_64.h | ||
| uaccess.h | ||
| umip.h | ||
| unaccepted_memory.h | ||
| unistd.h | ||
| unwind_hints.h | ||
| unwind.h | ||
| uprobes.h | ||
| user32.h | ||
| user_32.h | ||
| user_64.h | ||
| user.h | ||
| vdso.h | ||
| vermagic.h | ||
| vga.h | ||
| vgtod.h | ||
| virtext.h | ||
| vm86.h | ||
| vmalloc.h | ||
| vmware.h | ||
| vmx.h | ||
| vmxfeatures.h | ||
| vsyscall.h | ||
| vvar.h | ||
| word-at-a-time.h | ||
| x86_init.h | ||
| xor_32.h | ||
| xor_64.h | ||
| xor_avx.h | ||
| xor.h | ||