mirror of https://github.com/proxmox/mirror_qemu
target-i386: Inline APIC cpu_env property setting
This prepares for changing the variable type from void*. Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-by: Igor Mammedov <imammedo@redhat.com>master
parent
bdeec80217
commit
449994eb58
|
@ -368,7 +368,6 @@ static const VMStateDescription vmstate_apic_common = {
|
||||||
|
|
||||||
static Property apic_properties_common[] = {
|
static Property apic_properties_common[] = {
|
||||||
DEFINE_PROP_UINT8("id", APICCommonState, id, -1),
|
DEFINE_PROP_UINT8("id", APICCommonState, id, -1),
|
||||||
DEFINE_PROP_PTR("cpu_env", APICCommonState, cpu_env),
|
|
||||||
DEFINE_PROP_BIT("vapic", APICCommonState, vapic_control, VAPIC_ENABLE_BIT,
|
DEFINE_PROP_BIT("vapic", APICCommonState, vapic_control, VAPIC_ENABLE_BIT,
|
||||||
true),
|
true),
|
||||||
DEFINE_PROP_END_OF_LIST(),
|
DEFINE_PROP_END_OF_LIST(),
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
#include "hw/xen.h"
|
#include "hw/xen.h"
|
||||||
#include "hw/sysbus.h"
|
#include "hw/sysbus.h"
|
||||||
|
#include "hw/apic_internal.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* feature flags taken from "Intel Processor Identification and the CPUID
|
/* feature flags taken from "Intel Processor Identification and the CPUID
|
||||||
|
@ -1892,6 +1893,7 @@ static void x86_cpu_apic_init(X86CPU *cpu, Error **errp)
|
||||||
{
|
{
|
||||||
static int apic_mapped;
|
static int apic_mapped;
|
||||||
CPUX86State *env = &cpu->env;
|
CPUX86State *env = &cpu->env;
|
||||||
|
APICCommonState *apic;
|
||||||
const char *apic_type = "apic";
|
const char *apic_type = "apic";
|
||||||
|
|
||||||
if (kvm_irqchip_in_kernel()) {
|
if (kvm_irqchip_in_kernel()) {
|
||||||
|
@ -1910,7 +1912,8 @@ static void x86_cpu_apic_init(X86CPU *cpu, Error **errp)
|
||||||
OBJECT(env->apic_state), NULL);
|
OBJECT(env->apic_state), NULL);
|
||||||
qdev_prop_set_uint8(env->apic_state, "id", env->cpuid_apic_id);
|
qdev_prop_set_uint8(env->apic_state, "id", env->cpuid_apic_id);
|
||||||
/* TODO: convert to link<> */
|
/* TODO: convert to link<> */
|
||||||
qdev_prop_set_ptr(env->apic_state, "cpu_env", env);
|
apic = APIC_COMMON(env->apic_state);
|
||||||
|
apic->cpu_env = env;
|
||||||
|
|
||||||
if (qdev_init(env->apic_state)) {
|
if (qdev_init(env->apic_state)) {
|
||||||
error_setg(errp, "APIC device '%s' could not be initialized",
|
error_setg(errp, "APIC device '%s' could not be initialized",
|
||||||
|
|
Loading…
Reference in New Issue