]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
x86/apic: KVM: Move lapic set/clear_vector() helpers to common code
authorNeeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Wed, 9 Jul 2025 03:32:19 +0000 (09:02 +0530)
committerSean Christopherson <seanjc@google.com>
Thu, 10 Jul 2025 16:44:43 +0000 (09:44 -0700)
Move apic_clear_vector() and apic_set_vector() helper functions to
apic.h in order to reuse them in the Secure AVIC guest APIC driver
in later patches to atomically set/clear vectors in the APIC backing
page.

No functional change intended.

Signed-off-by: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
Acked-by: Sean Christopherson <seanjc@google.com>
Link: https://lore.kernel.org/r/20250709033242.267892-13-Neeraj.Upadhyay@amd.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/include/asm/apic.h
arch/x86/kvm/lapic.h

index b8b5fe875bdeb86d154adb46d9e8434feef15aa0..c6d1c51f71ec452d46933f8cb1f1c0db9d9b0ae1 100644 (file)
@@ -547,6 +547,16 @@ static __always_inline void apic_set_reg64(void *regs, int reg, u64 val)
        *((u64 *) (regs + reg)) = val;
 }
 
+static inline void apic_clear_vector(int vec, void *bitmap)
+{
+       clear_bit(APIC_VECTOR_TO_BIT_NUMBER(vec), bitmap + APIC_VECTOR_TO_REG_OFFSET(vec));
+}
+
+static inline void apic_set_vector(int vec, void *bitmap)
+{
+       set_bit(APIC_VECTOR_TO_BIT_NUMBER(vec), bitmap + APIC_VECTOR_TO_REG_OFFSET(vec));
+}
+
 /*
  * Warm reset vector position:
  */
index 174df69964048023269ac171aa9865fce5dbb51b..31284ec61a6a792bc4a1c7e397552212387c5bce 100644 (file)
@@ -147,16 +147,6 @@ void kvm_lapic_exit(void);
 
 u64 kvm_lapic_readable_reg_mask(struct kvm_lapic *apic);
 
-static inline void apic_clear_vector(int vec, void *bitmap)
-{
-       clear_bit(APIC_VECTOR_TO_BIT_NUMBER(vec), bitmap + APIC_VECTOR_TO_REG_OFFSET(vec));
-}
-
-static inline void apic_set_vector(int vec, void *bitmap)
-{
-       set_bit(APIC_VECTOR_TO_BIT_NUMBER(vec), bitmap + APIC_VECTOR_TO_REG_OFFSET(vec));
-}
-
 static inline void kvm_lapic_set_irr(int vec, struct kvm_lapic *apic)
 {
        apic_set_vector(vec, apic->regs + APIC_IRR);