[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v7 09/13] hw/i386: Introduce apicid functions inside X86MachineSt
From: |
Babu Moger |
Subject: |
[PATCH v7 09/13] hw/i386: Introduce apicid functions inside X86MachineState |
Date: |
Wed, 11 Mar 2020 17:53:48 -0500 |
User-agent: |
StGit/unknown-version |
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>
---
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 42834d2319..0a81ab5151 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -911,6 +911,11 @@ static void x86_machine_initfn(Object *obj)
x86ms->smm = 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 22babcb3bb..2643b57629 100644
--- a/include/hw/i386/x86.h
+++ b/include/hw/i386/x86.h
@@ -65,6 +65,15 @@ typedef struct {
OnOffAuto smm;
+ /* 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.
- Re: [PATCH v7 01/13] hw/i386: Introduce X86CPUTopoInfo to contain topology info, (continued)
- [PATCH v7 02/13] hw/i386: Consolidate topology functions, Babu Moger, 2020/03/11
- [PATCH v7 03/13] machine: Add SMP Sockets in CpuTopology, Babu Moger, 2020/03/11
- [PATCH v7 04/13] hw/i386: Remove unnecessary initialization in x86_cpu_new, Babu Moger, 2020/03/11
- [PATCH v7 05/13] hw/i386: Update structures to save the number of nodes per package, Babu Moger, 2020/03/11
- [PATCH v7 06/13] hw/i386: Rename apicid_from_topo_ids to x86_apicid_from_topo_ids, Babu Moger, 2020/03/11
- [PATCH v7 07/13] hw/386: Add EPYC mode topology decoding functions, Babu Moger, 2020/03/11
- [PATCH v7 08/13] target/i386: Cleanup and use the EPYC mode topology functions, Babu Moger, 2020/03/11
- [PATCH v7 09/13] hw/i386: Introduce apicid functions inside X86MachineState,
Babu Moger <=
- [PATCH v7 10/13] i386: Introduce use_epyc_apic_id_encoding in X86CPUDefinition, Babu Moger, 2020/03/11
- [PATCH v7 11/13] hw/i386: Move arch_id decode inside x86_cpus_init, Babu Moger, 2020/03/11
- [PATCH v7 12/13] target/i386: Enable new apic id encoding for EPYC based cpus models, Babu Moger, 2020/03/11
- [PATCH v7 13/13] i386: Fix pkg_id offset for EPYC cpu models, Babu Moger, 2020/03/11
- Re: [PATCH v7 00/13] APIC ID fixes for AMD EPYC CPU model, Babu Moger, 2020/03/12