[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 1f4357: pc: Use "min-[x]level" on compat_prop
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 1f4357: pc: Use "min-[x]level" on compat_props |
Date: |
Tue, 06 Jun 2017 04:05:43 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 1f43571604da85c62f25f3ba6d275b1b5ea76ca2
https://github.com/qemu/qemu/commit/1f43571604da85c62f25f3ba6d275b1b5ea76ca2
Author: Eduardo Habkost <address@hidden>
Date: 2017-06-05 (Mon, 05 Jun 2017)
Changed paths:
M include/hw/i386/pc.h
M tests/test-x86-cpuid-compat.c
Log Message:
-----------
pc: Use "min-[x]level" on compat_props
Since the automatic cpuid-level code was introduced in commit
c39c0edf9bb3b968ba95484465a50c7b19f4aa3a ("target-i386: Automatically
set level/xlevel/xlevel2 when needed"), the CPU model tables just define
the default CPUID level code (set using "min-level"). Setting
"[x]level" forces CPUID level to a specific value and disable the
automatic-level logic.
But the PC compat code was not updated and the existing "[x]level"
compat properties broke compatibility for people using features that
triggered the auto-level code. To keep previous behavior, we should set
"min-[x]level" instead of "[x]level" on compat_props.
This was not a problem for most cases, because old machine-types don't
have full-cpuid-auto-level enabled. The only common use case it broke
was the CPUID[7] auto-level code, that was already enabled since the
first CPUID[7] feature was introduced (in QEMU 1.4.0).
This causes the regression reported at:
https://bugzilla.redhat.com/show_bug.cgi?id=1454641
Change the PC compat code to use "min-[x]level" instead of "[x]level" on
compat_props, and add new test cases to ensure we don't break this
again.
Reported-by: "Guo, Zhiyi" <address@hidden>
Fixes: c39c0edf9bb ("target-i386: Automatically set level/xlevel/xlevel2 when
needed")
Cc: address@hidden
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: a0ceb640d083ab583d115fbd2ded14c089044ae8
https://github.com/qemu/qemu/commit/a0ceb640d083ab583d115fbd2ded14c089044ae8
Author: Igor Mammedov <address@hidden>
Date: 2017-06-05 (Mon, 05 Jun 2017)
Changed paths:
M hw/arm/virt.c
M hw/i386/pc.c
M hw/ppc/spapr.c
M include/sysemu/numa.h
M numa.c
Log Message:
-----------
numa: consolidate cpu_preplug fixups/checks for pc/arm/spapr
Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Message-Id: <address@hidden>
[ehabkost: Fix indentation]
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 60bed6a30aa8341cbc8fae4bdc53b9eb99d80586
https://github.com/qemu/qemu/commit/60bed6a30aa8341cbc8fae4bdc53b9eb99d80586
Author: Igor Mammedov <address@hidden>
Date: 2017-06-05 (Mon, 05 Jun 2017)
Changed paths:
M hw/core/machine.c
M numa.c
Log Message:
-----------
numa: move default mapping init to machine
there is no need use cpu_index_to_instance_props() for setting
default cpu -> node mapping. Generic machine code can do it
without cpu_index by just enabling already preset defaults
in possible_cpus.
PS:
as bonus it makes one less user of cpu_index_to_instance_props()
Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: d41f3e750d2c06c613cb1b8db7724f0fbc0a2b14
https://github.com/qemu/qemu/commit/d41f3e750d2c06c613cb1b8db7724f0fbc0a2b14
Author: Igor Mammedov <address@hidden>
Date: 2017-06-05 (Mon, 05 Jun 2017)
Changed paths:
M hw/arm/virt-acpi-build.c
M hw/core/machine.c
M hw/i386/acpi-build.c
M hw/i386/pc.c
M numa.c
Log Message:
-----------
numa: make sure that all cpus have has_node_id set if numa is enabled
It fixes/add missing _PXM object for non mapped CPU (x86)
and missing fdt node (virt-arm).
It ensures that possible_cpus contains complete mapping if
numa is enabled by the time machine_init() is executed.
As result non completely mapped CPUs:
1) appear in ACPI/fdt blobs
2) QMP query-hotpluggable-cpus command shows bound nodes for such CPUs
3) allows to drop checks for has_node_id in numa only code,
reducing number of invariants incomplete mapping could produce
4) moves fixup/implicit node init from runtime numa_cpu_pre_plug()
(when CPU object is created) to machine_numa_finish_init() which
helps to fix [1, 2] and make possible_cpus complete source
of numa mapping available even before CPUs are created.
Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: f75cd44de0ec20d72dc9eef5e6e48a8874c40727
https://github.com/qemu/qemu/commit/f75cd44de0ec20d72dc9eef5e6e48a8874c40727
Author: Igor Mammedov <address@hidden>
Date: 2017-06-05 (Mon, 05 Jun 2017)
Changed paths:
M monitor.c
Log Message:
-----------
numa: make hmp 'info numa' fetch numa nodes from qmp_query_cpus() result
HMP command 'info numa' is the last external user that access
CPUState::numa_node field directly. In order to move it to CPU
classes that actually use it, eliminate direct access and use
an alternative approach by using result of qmp_query_cpus(),
which provides topology properties CPU threads are associated
with (including node-id).
Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 15f8b14228b856850df3fa5ba999ad96521f2208
https://github.com/qemu/qemu/commit/15f8b14228b856850df3fa5ba999ad96521f2208
Author: Igor Mammedov <address@hidden>
Date: 2017-06-05 (Mon, 05 Jun 2017)
Changed paths:
M hw/ppc/spapr.c
M hw/ppc/spapr_cpu_core.c
M include/qom/cpu.h
M target/arm/cpu.c
M target/arm/cpu.h
M target/i386/cpu.c
M target/i386/cpu.h
M target/ppc/cpu.h
Log Message:
-----------
numa: move numa_node from CPUState into target specific classes
Move vcpu's associated numa_node field out of generic CPUState
into inherited classes that actually care about cpu<->numa mapping,
i.e: ARMCPU, PowerPCCPU, X86CPU.
Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
[ehabkost: s/CPU is belonging to/CPU belongs to/ on comments]
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 99861ecbc53c705fff5e4ea774f0da1193e81da8
https://github.com/qemu/qemu/commit/99861ecbc53c705fff5e4ea774f0da1193e81da8
Author: Igor Mammedov <address@hidden>
Date: 2017-06-05 (Mon, 05 Jun 2017)
Changed paths:
M hw/ppc/spapr.c
Log Message:
-----------
spapr: cleanup spapr_fixup_cpu_numa_dt() usage
even though spapr_fixup_cpu_numa_dt() has no effect on FDT
if numa is disabled, don't call it uselessly. It makes it
obvious at call sites that function is needed only when numa
is enabled.
Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 37bbcd575745d9bea4f840164e75dd2f40e5ee91
https://github.com/qemu/qemu/commit/37bbcd575745d9bea4f840164e75dd2f40e5ee91
Author: Eduardo Habkost <address@hidden>
Date: 2017-06-05 (Mon, 05 Jun 2017)
Changed paths:
M scripts/qemu.py
Log Message:
-----------
qemu.py: Don't set _popen=None on error/shutdown
Keep the Popen object around to we can query its exit code later.
To keep the existing 'self._popen is None' checks working, add a
is_running() method, that will check if the process is still running.
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: b2b8d986753ceb20437457dfe51dd75285328373
https://github.com/qemu/qemu/commit/b2b8d986753ceb20437457dfe51dd75285328373
Author: Eduardo Habkost <address@hidden>
Date: 2017-06-05 (Mon, 05 Jun 2017)
Changed paths:
M scripts/qemu.py
Log Message:
-----------
qemu.py: Add QEMUMachine.exitcode() method
Allow the exit code of QEMU to be queried by scripts.
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 23ea4f30320bbd36a5d202ee469374ec3c747286
https://github.com/qemu/qemu/commit/23ea4f30320bbd36a5d202ee469374ec3c747286
Author: Eduardo Habkost <address@hidden>
Date: 2017-06-05 (Mon, 05 Jun 2017)
Changed paths:
A scripts/device-crash-test
Log Message:
-----------
scripts: Test script to look for -device crashes
Test code to check if we can crash QEMU using -device. It will
test all accel/machine/device combinations by default, which may
take a few hours (it's more than 90k test cases). There's a "-r"
option that makes it test a random sample of combinations.
The scripts contains a whitelist for: 1) known error messages
that make QEMU exit cleanly; 2) known QEMU crashes.
This is the behavior when the script finds a failure:
* Known clean (exitcode=1) errors generate DEBUG messages
(hidden by default)
* Unknown clean (exitcode=1) errors will generate INFO messages
(visible by default)
* Known crashes generate error messages, but are not fatal
(unless --strict mode is used)
* Unknown crashes generate fatal error messages
Having an updated whitelist of known clean errors is useful to make the
script less verbose and run faster when in --quick mode, but the
whitelist doesn't need to be always up to date.
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: a65afaae0fd6754a80fe8c9aad6a066fe84b537d
https://github.com/qemu/qemu/commit/a65afaae0fd6754a80fe8c9aad6a066fe84b537d
Author: Peter Maydell <address@hidden>
Date: 2017-06-06 (Tue, 06 Jun 2017)
Changed paths:
M hw/arm/virt-acpi-build.c
M hw/arm/virt.c
M hw/core/machine.c
M hw/i386/acpi-build.c
M hw/i386/pc.c
M hw/ppc/spapr.c
M hw/ppc/spapr_cpu_core.c
M include/hw/i386/pc.h
M include/qom/cpu.h
M include/sysemu/numa.h
M monitor.c
M numa.c
A scripts/device-crash-test
M scripts/qemu.py
M target/arm/cpu.c
M target/arm/cpu.h
M target/i386/cpu.c
M target/i386/cpu.h
M target/ppc/cpu.h
M tests/test-x86-cpuid-compat.c
Log Message:
-----------
Merge remote-tracking branch
'remotes/ehabkost/tags/x86-and-machine-pull-request' into staging
x86 and machine queue, 2017-06-05
# gpg: Signature made Mon 05 Jun 2017 19:58:01 BST
# gpg: using RSA key 0x2807936F984DC5A6
# gpg: Good signature from "Eduardo Habkost <address@hidden>"
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6
* remotes/ehabkost/tags/x86-and-machine-pull-request:
scripts: Test script to look for -device crashes
qemu.py: Add QEMUMachine.exitcode() method
qemu.py: Don't set _popen=None on error/shutdown
spapr: cleanup spapr_fixup_cpu_numa_dt() usage
numa: move numa_node from CPUState into target specific classes
numa: make hmp 'info numa' fetch numa nodes from qmp_query_cpus() result
numa: make sure that all cpus have has_node_id set if numa is enabled
numa: move default mapping init to machine
numa: consolidate cpu_preplug fixups/checks for pc/arm/spapr
pc: Use "min-[x]level" on compat_props
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/a0d4aac7467d...a65afaae0fd6
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 1f4357: pc: Use "min-[x]level" on compat_props,
GitHub <=