[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 771a13: i386: Unset cannot_destroy_with_objec
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 771a13: i386: Unset cannot_destroy_with_object_finalize_ye... |
Date: |
Thu, 02 Mar 2017 04:30:11 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 771a13e90d24bc3db5ae102cf0da6f645eecf06c
https://github.com/qemu/qemu/commit/771a13e90d24bc3db5ae102cf0da6f645eecf06c
Author: Eduardo Habkost <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M target/i386/cpu.c
Log Message:
-----------
i386: Unset cannot_destroy_with_object_finalize_yet on "host" model
The class is now safe because the assert(kvm_enabled()) line was
removed by commit e435601058e656e6d24e3e87b187e5518f7bf16a.
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: f48c88370399b106ab7ae3fe26aa49f52bb57cce
https://github.com/qemu/qemu/commit/f48c88370399b106ab7ae3fe26aa49f52bb57cce
Author: Eduardo Habkost <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M target/i386/cpu-qom.h
M target/i386/cpu.c
Log Message:
-----------
i386: Add ordering field to CPUClass
Instead of using kvm_enabled to order the "-cpu help" list, use a
new "ordering" field for that.
Message-Id: <address@hidden>
Tested-by: Jiri Denemark <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 44bd8e530661be1d22ae0f461a5c9bdbcc3847ec
https://github.com/qemu/qemu/commit/44bd8e530661be1d22ae0f461a5c9bdbcc3847ec
Author: Eduardo Habkost <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M target/i386/cpu.c
M target/i386/cpu.h
Log Message:
-----------
i386: Rename X86CPU::host_features to X86CPU::max_features
Rename the field and add a small comment to make its purpose
clearer.
Message-Id: <address@hidden>
Tested-by: Jiri Denemark <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: b8d834a00fa3ed4dad7d371e1a00938a126a54a0
https://github.com/qemu/qemu/commit/b8d834a00fa3ed4dad7d371e1a00938a126a54a0
Author: Eduardo Habkost <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M target/i386/cpu.c
Log Message:
-----------
i386: Reorganize and document CPUID initialization steps
CPU runnability checks and CPU model expansion have slightly
different requirements. Document the steps involved in loading a
CPU model and realizing a CPU, so their requirements and purpose
are clearly defined.
This patch doesn't change any implementation. It just add
comments, rename the x86_cpu_load_features() function for clarity
(so it won't be confused with x86_cpu_load_def()), and move
x86_cpu_filter_features() closer to it.
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: a357a65b66a59488f3f5f09298a01df31319c624
https://github.com/qemu/qemu/commit/a357a65b66a59488f3f5f09298a01df31319c624
Author: Eduardo Habkost <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M qapi-schema.json
Log Message:
-----------
qapi-schema: Comment about full expansion of non-migration-safe models
Add a note warning that static expansion may not be 100% accurate
when the CPU model is not migration-safe. This will be the case
on x86 when expansing the "host" CPU model, because there are
"host" features that can't have a migration-safe representation
(e.g. "host-cache-info").
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: c62f2630f8e8765677020ab0a464f94d4ac433b6
https://github.com/qemu/qemu/commit/c62f2630f8e8765677020ab0a464f94d4ac433b6
Author: Eduardo Habkost <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M target/i386/cpu.c
Log Message:
-----------
i386: Create "max" CPU model
Rename the existing "host" CPU model to "max, and set it to
kvm_enabled=false. The new "max" CPU model will be able to enable
all features supported by TCG out of the box, because its logic
is based on x86_cpu_get_supported_feature_word(), which already
works with TCG.
A new KVM-specific "host" class was added, that simply inherits
everything from "max" except the 'ordering' and 'description'
fields.
Message-Id: <address@hidden>
Tested-by: Richard W.M. Jones <address@hidden>
Tested-by: Jiri Denemark <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 6900d1cc8aa6490d40f5ffbb91ada9d5733868f5
https://github.com/qemu/qemu/commit/6900d1cc8aa6490d40f5ffbb91ada9d5733868f5
Author: Eduardo Habkost <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M target/i386/cpu.c
Log Message:
-----------
i386: Make "max" model not use any host CPUID info on TCG
Instead of reporting host CPUID data on "max", use the qemu64 CPU
model as reference to initialize CPUID
vendor/family/model/stepping/model-id.
Message-Id: <address@hidden>
Tested-by: Richard W.M. Jones <address@hidden>
Tested-by: Jiri Denemark <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 0bacd8b3046fbc9bf710619ac3edd4bbca2b40ec
https://github.com/qemu/qemu/commit/0bacd8b3046fbc9bf710619ac3edd4bbca2b40ec
Author: Eduardo Habkost <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M target/i386/cpu-qom.h
M target/i386/cpu.c
Log Message:
-----------
i386: Don't set CPUClass::cpu_def on "max" model
Host CPUID info is used by the "max" CPU model only in KVM mode.
Move the initialization of CPUID data for "max" from class_init
to instance_init, and don't set CPUClass::cpu_def for "max".
Message-Id: <address@hidden>
Tested-by: Richard W.M. Jones <address@hidden>
Tested-by: Jiri Denemark <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 5adbed3088ded43acdfb5da749441c38af671833
https://github.com/qemu/qemu/commit/5adbed3088ded43acdfb5da749441c38af671833
Author: Eduardo Habkost <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M target/i386/cpu-qom.h
M target/i386/cpu.c
Log Message:
-----------
i386: Define static "base" CPU model
The query-cpu-model-expand QMP command needs at least one static
model, to allow the "static" expansion mode to be implemented.
Instead of defining static versions of every CPU model, define a
"base" CPU model that has absolutely no feature flag enabled.
Despite having no CPUID data set at all, "-cpu base" is even a
functional CPU:
* It can boot a Slackware Linux 1.01 image with a Linux 0.99.12
kernel[1].
* It is even possible to boot[2] a modern Fedora x86_64 guest by
manually enabling the following CPU features:
-cpu base,+lm,+msr,+pae,+fpu,+cx8,+cmov,+sse,+sse2,+fxsr
[1] http://www.qemu-advent-calendar.org/2014/#day-1
[2] This is what can be seen in the guest:
address@hidden ~]# cat /proc/cpuinfo
processor : 0
vendor_id : unknown
cpu family : 0
model : 0
model name : 00/00
stepping : 0
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu msr pae cx8 cmov fxsr sse sse2 lm nopl
bugs :
bogomips : 5832.70
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
address@hidden ~]# x86info -v -a
x86info v1.30. Dave Jones 2001-2011
Feedback to <address@hidden>.
No TSC, MHz calculation cannot be performed.
Unknown vendor (0)
MP Table:
Family: 0 Model: 0 Stepping: 0
CPU Model (x86info's best guess):
eax in: 0x00000000, eax = 00000001 ebx = 00000000 ecx = 00000000 edx =
00000000
eax in: 0x00000001, eax = 00000000 ebx = 00000800 ecx = 00000000 edx =
07008161
eax in: 0x80000000, eax = 80000001 ebx = 00000000 ecx = 00000000 edx =
00000000
eax in: 0x80000001, eax = 00000000 ebx = 00000000 ecx = 00000000 edx =
20000000
Feature flags:
fpu Onboard FPU
msr Model-Specific Registers
pae Physical Address Extensions
cx8 CMPXCHG8 instruction
cmov CMOV instruction
fxsr FXSAVE and FXRSTOR instructions
sse SSE support
sse2 SSE2 support
Long NOPs supported: yes
Address sizes : 0 bits physical, 0 bits virtual
0MHz processor (estimate).
running at an estimated 0MHz
address@hidden ~]#
Message-Id: <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
Tested-by: Jiri Denemark <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: f99fd7ca2afd33bb067e78740c4ee5a689494690
https://github.com/qemu/qemu/commit/f99fd7ca2afd33bb067e78740c4ee5a689494690
Author: Eduardo Habkost <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M monitor.c
M target/i386/cpu.c
Log Message:
-----------
i386: Implement query-cpu-model-expansion QMP command
Implement query-cpu-model-expansion for target-i386.
This should meet all the requirements while being simple. In the
case of static expansion, it will use the new "base" CPU model,
and in the case of full expansion, it will keep the original CPU
model name+props, and append extra properties.
A future follow-up should improve the implementation of
type=full, so that it returns more detailed data, including every
writable QOM property in the CPU object.
Cc: address@hidden
Cc: Jiri Denemark <address@hidden>
Message-Id: <address@hidden>
Tested-by: Jiri Denemark <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: b8097deb359bbbd92592b9670adfe9e245b2d0bd
https://github.com/qemu/qemu/commit/b8097deb359bbbd92592b9670adfe9e245b2d0bd
Author: Eduardo Habkost <address@hidden>
Date: 2017-02-27 (Mon, 27 Feb 2017)
Changed paths:
M target/i386/cpu.c
Log Message:
-----------
i386: Improve query-cpu-model-expansion full mode
This keeps the same results on type=static expansion, but make
type=full expansion return every single QOM property on the CPU
object that have a different value from the "base' CPU model,
plus all the CPU feature flag properties.
Cc: Jiri Denemark <address@hidden>
Message-Id: <address@hidden>
Tested-by: Jiri Denemark <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Commit: 666095c852d32df65b5982fcc8c85332979b7fc1
https://github.com/qemu/qemu/commit/666095c852d32df65b5982fcc8c85332979b7fc1
Author: Peter Maydell <address@hidden>
Date: 2017-03-02 (Thu, 02 Mar 2017)
Changed paths:
M monitor.c
M qapi-schema.json
M target/i386/cpu-qom.h
M target/i386/cpu.c
M target/i386/cpu.h
Log Message:
-----------
Merge remote-tracking branch 'remotes/ehabkost/tags/x86-pull-request' into
staging
x86 queue, 2017-02-27
"-cpu max" and query-cpu-model-expansion support for x86. This
should be the last x86 pull request before 2.9 soft freeze.
# gpg: Signature made Mon 27 Feb 2017 16:24:15 GMT
# 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-pull-request:
i386: Improve query-cpu-model-expansion full mode
i386: Implement query-cpu-model-expansion QMP command
i386: Define static "base" CPU model
i386: Don't set CPUClass::cpu_def on "max" model
i386: Make "max" model not use any host CPUID info on TCG
i386: Create "max" CPU model
qapi-schema: Comment about full expansion of non-migration-safe models
i386: Reorganize and document CPUID initialization steps
i386: Rename X86CPU::host_features to X86CPU::max_features
i386: Add ordering field to CPUClass
i386: Unset cannot_destroy_with_object_finalize_yet on "host" model
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/f1d640524d05...666095c852d3
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 771a13: i386: Unset cannot_destroy_with_object_finalize_ye...,
GitHub <=