Skip to content

Commit fe954bc

Browse files
neerajupadhyasean-jc
authored andcommitted
x86/apic: KVM: Move lapic set/clear_vector() helpers to common code
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>
1 parent 3d3a908 commit fe954bc

2 files changed

Lines changed: 10 additions & 10 deletions

File tree

arch/x86/include/asm/apic.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -547,6 +547,16 @@ static __always_inline void apic_set_reg64(void *regs, int reg, u64 val)
547547
*((u64 *) (regs + reg)) = val;
548548
}
549549

550+
static inline void apic_clear_vector(int vec, void *bitmap)
551+
{
552+
clear_bit(APIC_VECTOR_TO_BIT_NUMBER(vec), bitmap + APIC_VECTOR_TO_REG_OFFSET(vec));
553+
}
554+
555+
static inline void apic_set_vector(int vec, void *bitmap)
556+
{
557+
set_bit(APIC_VECTOR_TO_BIT_NUMBER(vec), bitmap + APIC_VECTOR_TO_REG_OFFSET(vec));
558+
}
559+
550560
/*
551561
* Warm reset vector position:
552562
*/

arch/x86/kvm/lapic.h

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -147,16 +147,6 @@ void kvm_lapic_exit(void);
147147

148148
u64 kvm_lapic_readable_reg_mask(struct kvm_lapic *apic);
149149

150-
static inline void apic_clear_vector(int vec, void *bitmap)
151-
{
152-
clear_bit(APIC_VECTOR_TO_BIT_NUMBER(vec), bitmap + APIC_VECTOR_TO_REG_OFFSET(vec));
153-
}
154-
155-
static inline void apic_set_vector(int vec, void *bitmap)
156-
{
157-
set_bit(APIC_VECTOR_TO_BIT_NUMBER(vec), bitmap + APIC_VECTOR_TO_REG_OFFSET(vec));
158-
}
159-
160150
static inline void kvm_lapic_set_irr(int vec, struct kvm_lapic *apic)
161151
{
162152
apic_set_vector(vec, apic->regs + APIC_IRR);

0 commit comments

Comments
 (0)