From: Igor Mammedov <imammedo@redhat.com>
To: Babu Moger <babu.moger@amd.com>
Cc: ehabkost@redhat.com, mst@redhat.com, qemu-devel@nongnu.org,
pbonzini@redhat.com, rth@twiddle.net
Subject: Re: [PATCH v7 10/13] i386: Introduce use_epyc_apic_id_encoding in X86CPUDefinition
Date: Thu, 12 Mar 2020 13:26:26 +0100 [thread overview]
Message-ID: <20200312132626.3e20f530@redhat.com> (raw)
In-Reply-To: <158396723514.58170.14825482171652019765.stgit@naples-babu.amd.com>
On Wed, 11 Mar 2020 17:53:55 -0500
Babu Moger <babu.moger@amd.com> 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 <babu.moger@amd.com>
Acked-by: Igor Mammedov <imammedo@redhat.com>
> ---
> 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,
>
>
next prev parent reply other threads:[~2020-03-12 12:27 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-11 22:52 [PATCH v7 00/13] APIC ID fixes for AMD EPYC CPU model Babu Moger
2020-03-11 22:52 ` [PATCH v7 01/13] hw/i386: Introduce X86CPUTopoInfo to contain topology info Babu Moger
2020-03-12 11:11 ` Igor Mammedov
2020-03-11 22:52 ` [PATCH v7 02/13] hw/i386: Consolidate topology functions Babu Moger
2020-03-11 22:53 ` [PATCH v7 03/13] machine: Add SMP Sockets in CpuTopology Babu Moger
2020-03-11 22:53 ` [PATCH v7 04/13] hw/i386: Remove unnecessary initialization in x86_cpu_new Babu Moger
2020-03-11 22:53 ` [PATCH v7 05/13] hw/i386: Update structures to save the number of nodes per package Babu Moger
2020-03-11 22:53 ` [PATCH v7 06/13] hw/i386: Rename apicid_from_topo_ids to x86_apicid_from_topo_ids Babu Moger
2020-03-11 22:53 ` [PATCH v7 07/13] hw/386: Add EPYC mode topology decoding functions Babu Moger
2020-03-12 12:39 ` Igor Mammedov
2020-03-12 13:44 ` Babu Moger
2020-06-02 17:18 ` Eduardo Habkost
2020-06-02 17:27 ` Babu Moger
2020-06-02 21:59 ` Babu Moger
2020-06-02 23:01 ` Eduardo Habkost
2020-06-03 0:07 ` Babu Moger
2020-06-03 15:22 ` Babu Moger
2020-06-03 15:31 ` Eduardo Habkost
2020-06-03 15:38 ` Babu Moger
2020-06-03 15:45 ` Eduardo Habkost
2020-06-03 15:49 ` Babu Moger
2020-06-03 21:49 ` Babu Moger
2020-06-15 11:44 ` Dr. David Alan Gilbert
2020-03-11 22:53 ` [PATCH v7 08/13] target/i386: Cleanup and use the EPYC mode topology functions Babu Moger
2020-03-11 22:53 ` [PATCH v7 09/13] hw/i386: Introduce apicid functions inside X86MachineState Babu Moger
2020-03-11 22:53 ` [PATCH v7 10/13] i386: Introduce use_epyc_apic_id_encoding in X86CPUDefinition Babu Moger
2020-03-12 12:26 ` Igor Mammedov [this message]
2020-03-11 22:54 ` [PATCH v7 11/13] hw/i386: Move arch_id decode inside x86_cpus_init Babu Moger
2020-03-12 12:31 ` Igor Mammedov
2020-03-11 22:54 ` [PATCH v7 12/13] target/i386: Enable new apic id encoding for EPYC based cpus models Babu Moger
2020-03-11 22:54 ` [PATCH v7 13/13] i386: Fix pkg_id offset for EPYC cpu models Babu Moger
2020-03-12 16:28 ` [PATCH v7 00/13] APIC ID fixes for AMD EPYC CPU model Babu Moger
2020-03-17 23:22 ` Eduardo Habkost
2020-03-17 23:31 ` Moger, Babu
2020-03-17 23:46 ` Eduardo Habkost
2020-03-18 2:43 ` Moger, Babu
2020-03-18 10:47 ` Igor Mammedov
2020-03-23 15:35 ` Moger, Babu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200312132626.3e20f530@redhat.com \
--to=imammedo@redhat.com \
--cc=babu.moger@amd.com \
--cc=ehabkost@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.