[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v7 10/13] i386: Introduce use_epyc_apic_id_encoding in X86CPU
From: |
Igor Mammedov |
Subject: |
Re: [PATCH v7 10/13] i386: Introduce use_epyc_apic_id_encoding in X86CPUDefinition |
Date: |
Thu, 12 Mar 2020 13:26:26 +0100 |
On Wed, 11 Mar 2020 17:53:55 -0500
Babu Moger <address@hidden> wrote:
> Add a boolean variable use_epyc_apic_id_encoding in X86CPUDefinition.
> This will be set if this cpu model needs to use new EPYC based
> apic id encoding.
>
> Override the handlers with EPYC based handlers if use_epyc_apic_id_encoding
> is set. This will be done in x86_cpus_init.
>
> Signed-off-by: Babu Moger <address@hidden>
Acked-by: Igor Mammedov <address@hidden>
> ---
> target/i386/cpu.c | 16 ++++++++++++++++
> target/i386/cpu.h | 1 +
> 2 files changed, 17 insertions(+)
>
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> index 7361a53166..1e4400df7a 100644
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -1614,6 +1614,10 @@ typedef struct X86CPUDefinition {
> FeatureWordArray features;
> const char *model_id;
> CPUCaches *cache_info;
> +
> + /* Use AMD EPYC encoding for apic id */
> + bool use_epyc_apic_id_encoding;
> +
> /*
> * Definitions for alternative versions of CPU model.
> * List is terminated by item with version == 0.
> @@ -1655,6 +1659,18 @@ static const X86CPUVersionDefinition
> *x86_cpu_def_get_versions(X86CPUDefinition
> return def->versions ?: default_version_list;
> }
>
> +bool cpu_x86_use_epyc_apic_id_encoding(const char *cpu_type)
> +{
> + X86CPUClass *xcc = X86_CPU_CLASS(object_class_by_name(cpu_type));
> +
> + assert(xcc);
> + if (xcc->model && xcc->model->cpudef) {
> + return xcc->model->cpudef->use_epyc_apic_id_encoding;
> + } else {
> + return false;
> + }
> +}
> +
> static CPUCaches epyc_cache_info = {
> .l1d_cache = &(CPUCacheInfo) {
> .type = DATA_CACHE,
> diff --git a/target/i386/cpu.h b/target/i386/cpu.h
> index 7e9e963d78..6e522fcd34 100644
> --- a/target/i386/cpu.h
> +++ b/target/i386/cpu.h
> @@ -1897,6 +1897,7 @@ void cpu_clear_apic_feature(CPUX86State *env);
> void host_cpuid(uint32_t function, uint32_t count,
> uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx);
> void host_vendor_fms(char *vendor, int *family, int *model, int *stepping);
> +bool cpu_x86_use_epyc_apic_id_encoding(const char *cpu_type);
>
> /* helper.c */
> bool x86_cpu_tlb_fill(CPUState *cs, vaddr address, int size,
>
>
- [PATCH v7 03/13] machine: Add SMP Sockets in CpuTopology, (continued)
- [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, 2020/03/11
- [PATCH v7 10/13] i386: Introduce use_epyc_apic_id_encoding in X86CPUDefinition, Babu Moger, 2020/03/11
- Re: [PATCH v7 10/13] i386: Introduce use_epyc_apic_id_encoding in X86CPUDefinition,
Igor Mammedov <=
- [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
- Re: [PATCH v7 00/13] APIC ID fixes for AMD EPYC CPU model, Eduardo Habkost, 2020/03/17
- RE: [PATCH v7 00/13] APIC ID fixes for AMD EPYC CPU model, Moger, Babu, 2020/03/17
- Re: [PATCH v7 00/13] APIC ID fixes for AMD EPYC CPU model, Eduardo Habkost, 2020/03/17
- RE: [PATCH v7 00/13] APIC ID fixes for AMD EPYC CPU model, Moger, Babu, 2020/03/17
- Re: [PATCH v7 00/13] APIC ID fixes for AMD EPYC CPU model, Igor Mammedov, 2020/03/18