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 <manali.shukla@amd.com>
---
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