Change kvm_get_apic_state() to accept APICCommonState pointer directly
instead of DeviceState, eliminating the need for APIC_COMMON() cast
inside the function.

The caller (kvm_get_apic) now performs the cast once, making the code
cleaner and preparing for extended APIC state handling.

No functional change intended.

Signed-off-by: Manali Shukla <[email protected]>
---
 hw/i386/kvm/apic.c         | 3 +--
 target/i386/kvm/kvm.c      | 3 ++-
 target/i386/kvm/kvm_i386.h | 3 ++-
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/hw/i386/kvm/apic.c b/hw/i386/kvm/apic.c
index c1866c3939..9489614bca 100644
--- a/hw/i386/kvm/apic.c
+++ b/hw/i386/kvm/apic.c
@@ -60,9 +60,8 @@ static void kvm_put_apic_state(APICCommonState *s, void *regs)
 
 }
 
-void kvm_get_apic_state(DeviceState *dev, void *kapic)
+void kvm_get_apic_state(APICCommonState *s, void *kapic)
 {
-    APICCommonState *s = APIC_COMMON(dev);
     int i, v;
 
     if (kvm_has_x2apic_api() && s->apicbase & MSR_IA32_APICBASE_EXTD) {
diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index 369626f8c8..ea22aa7180 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -5012,10 +5012,11 @@ static int kvm_get_mp_state(X86CPU *cpu)
 
 static int kvm_get_apic(X86CPU *cpu)
 {
-    DeviceState *apic = cpu->apic_state;
+    APICCommonState *apic;
     struct kvm_lapic_state kapic;
     int ret;
 
+    apic = APIC_COMMON(cpu->apic_state);
     if (apic && kvm_irqchip_in_kernel()) {
         ret = kvm_vcpu_ioctl(CPU(cpu), KVM_GET_LAPIC, &kapic);
         if (ret < 0) {
diff --git a/target/i386/kvm/kvm_i386.h b/target/i386/kvm/kvm_i386.h
index ecf21c2cc1..00f8ae0ee4 100644
--- a/target/i386/kvm/kvm_i386.h
+++ b/target/i386/kvm/kvm_i386.h
@@ -12,6 +12,7 @@
 #define QEMU_KVM_I386_H
 
 #include "system/kvm.h"
+#include "hw/i386/apic_internal.h"
 
 #define KVM_MAX_CPUID_ENTRIES  100
 
@@ -56,7 +57,7 @@ bool kvm_has_adjust_clock_stable(void);
 bool kvm_has_exception_payload(void);
 void kvm_synchronize_all_tsc(void);
 
-void kvm_get_apic_state(DeviceState *d, void *kapic);
+void kvm_get_apic_state(APICCommonState *s, void *kapic);
 void kvm_put_apicbase(X86CPU *cpu, uint64_t value);
 
 bool kvm_has_x2apic_api(void);
-- 
2.43.0


Reply via email to