mirror of https://github.com/xemu-project/xemu.git
x86 and machine queue, 2019-12-20
Bug fix: * Resolve CPU models to v1 by default (Eduardo Habkost) Cleanup: * Remove incorrect numa_mem_supported checks (Igor Mammedov) -----BEGIN PGP SIGNATURE----- iQJIBAABCAAyFiEEWjIv1avE09usz9GqKAeTb5hNxaYFAl39HqYUHGVoYWJrb3N0 QHJlZGhhdC5jb20ACgkQKAeTb5hNxabHeBAAkybU8+JzzqXoG9e16MiQiUQ0vSy9 MFkWIlsD5RCncdlI7s7yyuPUa7GEkJztRxzanvP2BcbMvHHpaM01EgOsZuZfld8Z R6lQaTZdAC4XQFPmD14ccIQ/r8cDUXRfUhasKXq3tNQdXORUw5/T9XHwyn3kvHUT /nEglWdUG0LmRQMQNRpbSgQ4B0jx+RwRg6KLGRm/mqlwiFV8nULLB8IYDMrxHSu3 iY/PAFOMqQbRbbDQ7rK3l7u0TyRTB41FTx8s2eT9Is2V3HZU9P9lbWPQBMnxPwxm VYo/LVO6smZ9gZbyCcPZtOn95ay5gGk+fQ9Twg6/l1tHsK7vmNxn8Z3y+QWEvJ30 BnOJ2Y0RaFNBDrhiIqJu12Lp0nJXMDi96tAS71hqwsJssjzLYSpD/faoKO0vDyR9 RLoumrXLcrgeMopRKsft8ZkJIakHlXc+85AuIMZ9obhcz4liC7r/IbjOqOumKTPN 8feLmzqdldAmh0jvJCfyu1n4qhH4KUPPrFxOvZfuzdWkvSUbcJSkQaPwYxxQaFvo 9jRHwNNF4MTnImgQIw59ao/u6JXVM+4oY5dc+BjeGTefQKuwRRvT/54Z+v7jULwK ZKGlLnCRlYeD/U+67iBIeV2nrRM7pTkcsTWmhX+/u2pwyKpmiA4quG63KmR7dyDK 6HqJez6jOKTEARU= =psTk -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/ehabkost/tags/x86-and-machine-pull-request' into staging x86 and machine queue, 2019-12-20 Bug fix: * Resolve CPU models to v1 by default (Eduardo Habkost) Cleanup: * Remove incorrect numa_mem_supported checks (Igor Mammedov) # gpg: Signature made Fri 20 Dec 2019 19:19:02 GMT # gpg: using RSA key 5A322FD5ABC4D3DBACCFD1AA2807936F984DC5A6 # gpg: issuer "ehabkost@redhat.com" # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" [full] # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6 * remotes/ehabkost/tags/x86-and-machine-pull-request: numa: properly check if numa is supported numa: remove not needed check i386: Resolve CPU models to v1 by default Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
6fb0dae9ef
|
@ -789,7 +789,6 @@ static void sbsa_ref_class_init(ObjectClass *oc, void *data)
|
|||
mc->possible_cpu_arch_ids = sbsa_ref_possible_cpu_arch_ids;
|
||||
mc->cpu_index_to_instance_props = sbsa_ref_cpu_index_to_props;
|
||||
mc->get_default_cpu_node_id = sbsa_ref_get_default_cpu_node_id;
|
||||
mc->numa_mem_supported = true;
|
||||
}
|
||||
|
||||
static const TypeInfo sbsa_ref_info = {
|
||||
|
|
|
@ -843,7 +843,7 @@ static void machine_initfn(Object *obj)
|
|||
NULL);
|
||||
}
|
||||
|
||||
if (mc->numa_mem_supported) {
|
||||
if (mc->cpu_index_to_instance_props && mc->get_default_cpu_node_id) {
|
||||
ms->numa_state = g_new0(NumaState, 1);
|
||||
}
|
||||
|
||||
|
@ -966,7 +966,7 @@ void machine_run_board_init(MachineState *machine)
|
|||
{
|
||||
MachineClass *machine_class = MACHINE_GET_CLASS(machine);
|
||||
|
||||
if (machine_class->numa_mem_supported) {
|
||||
if (machine->numa_state) {
|
||||
numa_complete_configuration(machine);
|
||||
if (machine->numa_state->num_nodes) {
|
||||
machine_numa_finish_cpu_init(machine);
|
||||
|
|
|
@ -83,10 +83,6 @@ static void parse_numa_node(MachineState *ms, NumaNodeOptions *node,
|
|||
return;
|
||||
}
|
||||
|
||||
if (!mc->cpu_index_to_instance_props || !mc->get_default_cpu_node_id) {
|
||||
error_setg(errp, "NUMA is not supported by this machine-type");
|
||||
return;
|
||||
}
|
||||
for (cpus = node->cpus; cpus; cpus = cpus->next) {
|
||||
CpuInstanceProperties props;
|
||||
if (cpus->value >= max_cpus) {
|
||||
|
@ -178,9 +174,8 @@ void parse_numa_distance(MachineState *ms, NumaDistOptions *dist, Error **errp)
|
|||
void set_numa_options(MachineState *ms, NumaOptions *object, Error **errp)
|
||||
{
|
||||
Error *err = NULL;
|
||||
MachineClass *mc = MACHINE_GET_CLASS(ms);
|
||||
|
||||
if (!mc->numa_mem_supported) {
|
||||
if (!ms->numa_state) {
|
||||
error_setg(errp, "NUMA is not supported by this machine-type");
|
||||
goto end;
|
||||
}
|
||||
|
|
|
@ -384,6 +384,14 @@ guarantees must resolve the CPU model aliases using te
|
|||
``alias-of'' field returned by the ``query-cpu-definitions'' QMP
|
||||
command.
|
||||
|
||||
While those guarantees are kept, the return value of
|
||||
``query-cpu-definitions'' will have existing CPU model aliases
|
||||
point to a version that doesn't break runnability guarantees
|
||||
(specifically, version 1 of those CPU models). In future QEMU
|
||||
versions, aliases will point to newer CPU model versions
|
||||
depending on the machine type, so management software must
|
||||
resolve CPU model aliases before starting a virtual machine.
|
||||
|
||||
|
||||
@node Recently removed features
|
||||
@appendix Recently removed features
|
||||
|
|
|
@ -3981,7 +3981,13 @@ static PropValue tcg_default_props[] = {
|
|||
};
|
||||
|
||||
|
||||
X86CPUVersion default_cpu_version = CPU_VERSION_LATEST;
|
||||
/*
|
||||
* We resolve CPU model aliases using -v1 when using "-machine
|
||||
* none", but this is just for compatibility while libvirt isn't
|
||||
* adapted to resolve CPU model versions before creating VMs.
|
||||
* See "Runnability guarantee of CPU models" at * qemu-deprecated.texi.
|
||||
*/
|
||||
X86CPUVersion default_cpu_version = 1;
|
||||
|
||||
void x86_cpu_set_default_version(X86CPUVersion version)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue