From: Igor Mammedov <imammedo@redhat.com>
To: Babu Moger <babu.moger@amd.com>
Cc: qemu-devel@nongnu.org, pbonzini@redhat.com, ehabkost@redhat.com,
rth@twiddle.net
Subject: Re: [PATCH v2 1/3] hw/i386: Initialize topo_ids from CpuInstanceProperties
Date: Mon, 13 Jul 2020 11:08:22 +0200 [thread overview]
Message-ID: <20200713110822.5495e1c6@redhat.com> (raw)
In-Reply-To: <159362466108.36204.3751851750959980962.stgit@naples-babu.amd.com>
On Wed, 01 Jul 2020 12:31:01 -0500
Babu Moger <babu.moger@amd.com> wrote:
> This is in preparation to build the apic_id from user
> provided topology information.
>
> Signed-off-by: Babu Moger <babu.moger@amd.com>
> ---
> include/hw/i386/topology.h | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/include/hw/i386/topology.h b/include/hw/i386/topology.h
> index 07239f95f4..7cb21e9c82 100644
> --- a/include/hw/i386/topology.h
> +++ b/include/hw/i386/topology.h
> @@ -40,6 +40,7 @@
>
>
> #include "qemu/bitops.h"
> +#include "qapi/qapi-types-machine.h"
>
> /* APIC IDs can be 32-bit, but beware: APIC IDs > 255 require x2APIC support
> */
> @@ -196,6 +197,24 @@ static inline void x86_topo_ids_from_apicid_epyc(apic_id_t apicid,
> topo_ids->pkg_id = apicid >> apicid_pkg_offset_epyc(topo_info);
> }
>
> +
> +/*
> + * Initialize topo_ids from CpuInstanceProperties
> + * node_id in CpuInstanceProperties(or in CPU device) is a sequential
> + * number, but while building the topology
>we need to separate it for
> + * each socket(mod nodes_per_pkg).
could you clarify a bit more on why this is necessary?
> + */
> +static inline void x86_init_topo_ids(X86CPUTopoInfo *topo_info,
> + CpuInstanceProperties props,
> + X86CPUTopoIDs *topo_ids)
> +{
> + topo_ids->smt_id = props.has_thread_id ? props.thread_id : 0;
> + topo_ids->core_id = props.has_core_id ? props.core_id : 0;
> + topo_ids->die_id = props.has_die_id ? props.die_id : 0;
> + topo_ids->node_id = props.has_node_id ?
> + props.node_id % MAX(topo_info->nodes_per_pkg, 1) : 0;
> + topo_ids->pkg_id = props.has_socket_id ? props.socket_id : 0;
> +}
> /*
> * Make APIC ID for the CPU 'cpu_index'
> *
>
next prev parent reply other threads:[~2020-07-13 9:10 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-01 17:30 [PATCH v2 0/3] Fix couple of issues with AMD topology Babu Moger
2020-07-01 17:31 ` [PATCH v2 1/3] hw/i386: Initialize topo_ids from CpuInstanceProperties Babu Moger
2020-07-13 9:08 ` Igor Mammedov [this message]
2020-07-13 15:02 ` Babu Moger
2020-07-13 16:17 ` Igor Mammedov
2020-07-13 16:43 ` Babu Moger
2020-07-13 17:32 ` Igor Mammedov
2020-07-13 19:30 ` Babu Moger
2020-07-14 16:41 ` Igor Mammedov
2020-07-14 17:26 ` Babu Moger
2020-07-14 18:26 ` Igor Mammedov
2020-07-24 17:05 ` Igor Mammedov
2020-07-27 15:49 ` Babu Moger
2020-07-27 17:14 ` Igor Mammedov
2020-07-27 23:59 ` Babu Moger
2020-07-29 14:12 ` Igor Mammedov
2020-07-29 21:22 ` Babu Moger
2020-07-30 11:27 ` Igor Mammedov
2020-07-01 17:31 ` [PATCH v2 2/3] hw/i386: Build apic_id " Babu Moger
2020-07-13 9:15 ` Igor Mammedov
2020-07-13 15:00 ` Babu Moger
2020-07-01 17:31 ` [PATCH v2 3/3] hw/386: Fix uninitialized memory with -device and CPU hotplug Babu Moger
2020-07-27 16:36 ` Igor Mammedov
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=20200713110822.5495e1c6@redhat.com \
--to=imammedo@redhat.com \
--cc=babu.moger@amd.com \
--cc=ehabkost@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.