qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Igor Mammedov <imammedo@redhat.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Babu Moger <babu.moger@amd.com>,
	Richard Henderson <rth@twiddle.net>
Subject: [PULL 3/9] hw/i386: Introduce apicid functions inside X86MachineState
Date: Thu,  2 Apr 2020 19:20:45 -0300	[thread overview]
Message-ID: <20200402222051.523093-4-ehabkost@redhat.com> (raw)
In-Reply-To: <20200402222051.523093-1-ehabkost@redhat.com>

From: Babu Moger <babu.moger@amd.com>

Introduce model specific apicid functions inside X86MachineState.
These functions will be loaded from X86CPUDefinition.

Signed-off-by: Babu Moger <babu.moger@amd.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Message-Id: <158396722838.58170.5675998866484476427.stgit@naples-babu.amd.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 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



  parent reply	other threads:[~2020-04-02 22:23 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-02 22:20 [PULL 0/9] x86 queue for -rc2 Eduardo Habkost
2020-04-02 22:20 ` [PULL 1/9] hw/386: Add EPYC mode topology decoding functions Eduardo Habkost
2020-04-02 22:20 ` [PULL 2/9] target/i386: Cleanup and use the EPYC mode topology functions Eduardo Habkost
2020-04-02 22:20 ` Eduardo Habkost [this message]
2020-04-02 22:20 ` [PULL 4/9] i386: Introduce use_epyc_apic_id_encoding in X86CPUDefinition Eduardo Habkost
2020-04-02 22:20 ` [PULL 5/9] hw/i386: Move arch_id decode inside x86_cpus_init Eduardo Habkost
2020-04-02 22:20 ` [PULL 6/9] target/i386: Enable new apic id encoding for EPYC based cpus models Eduardo Habkost
2020-04-02 22:20 ` [PULL 7/9] i386: Fix pkg_id offset for EPYC cpu models Eduardo Habkost
2020-04-02 22:20 ` [PULL 8/9] target/i386: set the CPUID level to 0x14 on old machine-type Eduardo Habkost
2020-04-02 22:20 ` [PULL 9/9] target/i386: Add ARCH_CAPABILITIES related bits into Icelake-Server CPU model Eduardo Habkost
2020-04-03 11:59 ` [PULL 0/9] x86 queue for -rc2 Peter Maydell

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=20200402222051.523093-4-ehabkost@redhat.com \
    --to=ehabkost@redhat.com \
    --cc=babu.moger@amd.com \
    --cc=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).