From: "Andreas Färber" <afaerber@suse.de>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: qemu-devel@nongnu.org, Anthony Liguori <anthony@codemonkey.ws>,
Igor Mammedov <imammedo@redhat.com>,
"kvm@vger.kernel.org list" <kvm@vger.kernel.org>,
Gleb Natapov <gleb@redhat.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Qemu-devel] [PATCH for-1.4 00/12] target-i386: Fix APIC-ID-based topology (v4)
Date: Mon, 21 Jan 2013 13:31:26 +0100 [thread overview]
Message-ID: <50FD351E.7010602@suse.de> (raw)
In-Reply-To: <1358456378-29248-1-git-send-email-ehabkost@redhat.com>
Am 17.01.2013 21:59, schrieb Eduardo Habkost:
> I am hoping to get this bug fixed in 1.4. I didn't get much feedback on the RFC
> I sent last week, though.
>
> Igor argued that APIC ID should be set by the board and not by the CPU itself,
> but I am not doing that because:
> - I want to keep the bug fix simple and isolated as we are past soft freeze
> - I believe the creator of the CPU object shouldn't be forced to provide the
> APIC ID, so the APIC ID is not unnecessarily exposed on the CPU hotplug
> device_add interface in the future
> - The APIC ID _is_ set by the CPU itself (because each CPU package may have
> multiple core/threads, and each core/thread has a different APIC ID). What
> needs to be provided by the board to the CPU package in the future is the
> package ID and the bit width of the core/thread IDs.
>
> Git tree for reference:
> git://github.com/ehabkost/qemu-hacks.git apicid-topology.v5
> https://github.com/ehabkost/qemu-hacks/tree/apicid-topology.v5
>
> Eduardo Habkost (12):
> kvm: Add fake KVM_FEATURE_CLOCKSOURCE_STABLE_BIT for builds withou
> KVM
> target-i386: Don't set any KVM flag by default if KVM is disabled
> pc: Reverse pc_init_pci() compatibility logic
Applied these to qom-cpu (for 1.4, with some typo fixes):
https://github.com/afaerber/qemu-cpu/commits/qom-cpu
For the rest there's either open questions or still ongoing review.
Andreas
> kvm: Create kvm_arch_vcpu_id() function
> target-i386: kvm: Set vcpu_id to APIC ID instead of CPU index
> fw_cfg: Remove FW_CFG_MAX_CPUS from fw_cfg_init()
> target-i386/cpu: Introduce apic_id_for_cpu() function
> cpus.h: Make constant smp_cores/smp_threads available on *-user
> pc: Set fw_cfg data based on APIC ID calculation
> tests: Support target-specific unit tests
> target-i386: Topology & APIC ID utility functions
> pc: Generate APIC IDs according to CPU topology
>
> hw/fw_cfg.c | 1 -
> hw/pc.c | 44 +++++++++++++---
> hw/pc_piix.c | 26 +++++++---
> hw/ppc_newworld.c | 1 +
> hw/ppc_oldworld.c | 1 +
> hw/sun4m.c | 3 ++
> hw/sun4u.c | 1 +
> include/sysemu/cpus.h | 7 +++
> include/sysemu/kvm.h | 4 ++
> kvm-all.c | 2 +-
> target-i386/cpu.c | 52 +++++++++++++++----
> target-i386/cpu.h | 5 +-
> target-i386/kvm.c | 6 +++
> target-i386/topology.h | 133 +++++++++++++++++++++++++++++++++++++++++++++++++
> target-ppc/kvm.c | 5 ++
> target-s390x/kvm.c | 5 ++
> tests/.gitignore | 1 +
> tests/Makefile | 21 +++++++-
> tests/test-x86-cpuid.c | 101 +++++++++++++++++++++++++++++++++++++
> 19 files changed, 391 insertions(+), 28 deletions(-)
> create mode 100644 target-i386/topology.h
> create mode 100644 tests/test-x86-cpuid.c
>
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
prev parent reply other threads:[~2013-01-21 12:31 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1358456378-29248-1-git-send-email-ehabkost@redhat.com>
[not found] ` <1358456378-29248-3-git-send-email-ehabkost@redhat.com>
2013-01-18 10:58 ` [Qemu-devel] [PATCH for-1.4 02/12] target-i386: Don't set any KVM flag by default if KVM is disabled Andreas Färber
2013-01-18 11:00 ` Gleb Natapov
[not found] ` <1358456378-29248-5-git-send-email-ehabkost@redhat.com>
2013-01-18 11:11 ` [Qemu-devel] [PATCH for-1.4 04/12] kvm: Create kvm_arch_vcpu_id() function Andreas Färber
2013-01-18 12:53 ` Eduardo Habkost
2013-01-18 13:03 ` [Qemu-devel] " Andreas Färber
2013-01-18 14:20 ` Eduardo Habkost
2013-01-18 16:11 ` Eric Blake
2013-01-18 16:40 ` [Qemu-devel] " Eduardo Habkost
2013-01-18 17:46 ` Eric Blake
2013-01-21 13:14 ` [Qemu-devel] " Andreas Färber
2013-01-21 14:35 ` Eric Blake
2013-01-22 15:54 ` Eduardo Habkost
[not found] ` <1358456378-29248-2-git-send-email-ehabkost@redhat.com>
[not found] ` <50F92F64.5010809@suse.de>
2013-01-18 11:36 ` [PATCH for-1.4 01/12] kvm: Add fake KVM_FEATURE_CLOCKSOURCE_STABLE_BIT for builds withou KVM Eduardo Habkost
2013-01-18 11:48 ` Gleb Natapov
2013-01-18 12:41 ` Eduardo Habkost
[not found] ` <20130122014335.GA31141@amt.cnet>
2013-01-22 4:59 ` Andreas Färber
2013-01-22 13:42 ` [Qemu-devel] " Eduardo Habkost
2013-01-22 21:37 ` Marcelo Tosatti
2013-01-18 15:49 ` [Qemu-devel] [PATCH for-1.4 00/12] target-i386: Fix APIC-ID-based topology (v4) Eduardo Habkost
[not found] ` <1358456378-29248-4-git-send-email-ehabkost@redhat.com>
2013-01-21 3:39 ` [Qemu-devel] [PATCH for-1.4 03/12] pc: Reverse pc_init_pci() compatibility logic Andreas Färber
2013-01-21 11:02 ` Eduardo Habkost
2013-01-21 12:31 ` Andreas Färber [this message]
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=50FD351E.7010602@suse.de \
--to=afaerber@suse.de \
--cc=anthony@codemonkey.ws \
--cc=ehabkost@redhat.com \
--cc=gleb@redhat.com \
--cc=imammedo@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=mtosatti@redhat.com \
--cc=qemu-devel@nongnu.org \
/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