* fixes:
KVM: x86/mmu: Treat TDP MMU faults as spurious if access is already allowed
KVM: SVM: Allow guest writes to set MSR_AMD64_DE_CFG bits
KVM: x86: Play nice with protected guests in complete_hypercall_exit()
KVM: SVM: Disable AVIC on SNP-enabled system without HvInUseWrAllowed feature
* misc: (66 commits)
KVM: x86: Add information about pending requests to kvm_exit tracepoint
KVM: x86: Add interrupt injection information to the kvm_entry tracepoint
KVM: selftests: Add test case for MMIO during vectoring on x86
KVM: selftests: Add and use a helper function for x86's LIDT
KVM: SVM: Handle event vectoring error in check_emulate_instruction()
KVM: VMX: Handle event vectoring error in check_emulate_instruction()
KVM: x86: Try to unprotect and retry on unhandleable emulation failure
KVM: x86: Add emulation status for unhandleable exception vectoring
KVM: x86: Add function for vectoring error generation
KVM: x86: Use only local variables (no bitmask) to init kvm_cpu_caps
KVM: x86: Explicitly track feature flags that are enabled at runtime
KVM: x86: Explicitly track feature flags that require vendor enabling
KVM: x86: Rename "SF" macro to "SCATTERED_F"
KVM: x86: Pull CPUID capabilities from boot_cpu_data only as needed
KVM: x86: Add a macro for features that are synthesized into boot_cpu_data
KVM: x86: Drop superfluous host XSAVE check when adjusting guest XSAVES caps
KVM: x86: Replace (almost) all guest CPUID feature queries with cpu_caps
KVM: x86: Shuffle code to prepare for dropping guest_cpuid_has()
KVM: x86: Update guest cpu_caps at runtime for dynamic CPUID-based features
KVM: x86: Update OS{XSAVE,PKE} bits in guest CPUID irrespective of host support
...
* mmu:
KVM/x86: add comment to kvm_mmu_do_page_fault()
* svm:
KVM: SVM: Remove redundant TLB flush on guest CR4.PGE change
KVM: SVM: Macrofy SEV=n versions of sev_xxx_guest()
* vcpu_array:
KVM: Drop hack that "manually" informs lockdep of kvm->lock vs. vcpu->mutex
KVM: Don't BUG() the kernel if xa_insert() fails with -EBUSY
Revert "KVM: Fix vcpu_array[0] races"
KVM: Grab vcpu->mutex across installing the vCPU's fd and bumping online_vcpus
KVM: Verify there's at least one online vCPU when iterating over all vCPUs
KVM: Explicitly verify target vCPU is online in kvm_get_vcpu()
* vmx:
KVM: x86: Remove hwapic_irr_update() from kvm_x86_ops
KVM: nVMX: Honor event priority when emulating PI delivery during VM-Enter
KVM: nVMX: Use vmcs01's controls shadow to check for IRQ/NMI windows at VM-Enter
KVM: nVMX: Drop manual vmcs01.GUEST_INTERRUPT_STATUS.RVI check at VM-Enter
KVM: nVMX: Check for pending INIT/SIPI after entering non-root mode
KVM: nVMX: Explicitly update vPPR on successful nested VM-Enter
KVM: VMX: Allow toggling bits in MSR_IA32_RTIT_CTL when enable bit is cleared
KVM: nVMX: Defer SVI update to vmcs01 on EOI when L2 is active w/o VID
KVM: x86: Plumb in the vCPU to kvm_x86_ops.hwapic_isr_update()
With DT properties charge-current-limit-gpios and
charge-current-limit-mapping one can define charge current limits in uA
using up to 32 GPIOs. Add property charge-current-limit-default-microamp
which selects a default charge current limit that must be listed in
charge-current-limit-mapping.
This is helpful when the smallest possible charge current limit is 0uA. The
driver defaults to the smallest possible value at the moment, which
disables charging on probe. With the default its possible to setup a safe
charge current limit.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Dimitri Fedrau <dimitri.fedrau@liebherr.com>
Link: https://lore.kernel.org/r/20241218-default-charge-current-limit-v3-1-b26118cf06b5@liebherr.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>