[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 3/9] hw/i386: Introduce apicid functions inside X86MachineState
From: |
Eduardo Habkost |
Subject: |
[PULL 3/9] hw/i386: Introduce apicid functions inside X86MachineState |
Date: |
Thu, 2 Apr 2020 19:20:45 -0300 |
From: Babu Moger <address@hidden>
Introduce model specific apicid functions inside X86MachineState.
These functions will be loaded from X86CPUDefinition.
Signed-off-by: Babu Moger <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
---
hw/i386/x86.c | 5 +++++
include/hw/i386/x86.h | 9 +++++++++
2 files changed, 14 insertions(+)
diff --git a/hw/i386/x86.c b/hw/i386/x86.c
index 6ca3cf936f..2168fc56c0 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -937,6 +937,11 @@ static void x86_machine_initfn(Object *obj)
x86ms->acpi = ON_OFF_AUTO_AUTO;
x86ms->max_ram_below_4g = 0; /* use default */
x86ms->smp_dies = 1;
+
+ x86ms->apicid_from_cpu_idx = x86_apicid_from_cpu_idx;
+ x86ms->topo_ids_from_apicid = x86_topo_ids_from_apicid;
+ x86ms->apicid_from_topo_ids = x86_apicid_from_topo_ids;
+ x86ms->apicid_pkg_offset = apicid_pkg_offset;
}
static void x86_machine_class_init(ObjectClass *oc, void *data)
diff --git a/include/hw/i386/x86.h b/include/hw/i386/x86.h
index 54af8ab5cf..b522854816 100644
--- a/include/hw/i386/x86.h
+++ b/include/hw/i386/x86.h
@@ -66,6 +66,15 @@ typedef struct {
OnOffAuto smm;
OnOffAuto acpi;
+ /* Apic id specific handlers */
+ uint32_t (*apicid_from_cpu_idx)(X86CPUTopoInfo *topo_info,
+ unsigned cpu_index);
+ void (*topo_ids_from_apicid)(apic_id_t apicid, X86CPUTopoInfo *topo_info,
+ X86CPUTopoIDs *topo_ids);
+ apic_id_t (*apicid_from_topo_ids)(X86CPUTopoInfo *topo_info,
+ const X86CPUTopoIDs *topo_ids);
+ uint32_t (*apicid_pkg_offset)(X86CPUTopoInfo *topo_info);
+
/*
* Address space used by IOAPIC device. All IOAPIC interrupts
* will be translated to MSI messages in the address space.
--
2.24.1
- [PULL 0/9] x86 queue for -rc2, Eduardo Habkost, 2020/04/02
- [PULL 2/9] target/i386: Cleanup and use the EPYC mode topology functions, Eduardo Habkost, 2020/04/02
- [PULL 1/9] hw/386: Add EPYC mode topology decoding functions, Eduardo Habkost, 2020/04/02
- [PULL 3/9] hw/i386: Introduce apicid functions inside X86MachineState,
Eduardo Habkost <=
- [PULL 4/9] i386: Introduce use_epyc_apic_id_encoding in X86CPUDefinition, Eduardo Habkost, 2020/04/02
- [PULL 5/9] hw/i386: Move arch_id decode inside x86_cpus_init, Eduardo Habkost, 2020/04/02
- [PULL 7/9] i386: Fix pkg_id offset for EPYC cpu models, Eduardo Habkost, 2020/04/02
- [PULL 8/9] target/i386: set the CPUID level to 0x14 on old machine-type, Eduardo Habkost, 2020/04/02
- [PULL 6/9] target/i386: Enable new apic id encoding for EPYC based cpus models, Eduardo Habkost, 2020/04/02
- [PULL 9/9] target/i386: Add ARCH_CAPABILITIES related bits into Icelake-Server CPU model, Eduardo Habkost, 2020/04/02
- Re: [PULL 0/9] x86 queue for -rc2, Peter Maydell, 2020/04/03