qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 7237c7: qapi/machine: Fix an incorrect commen


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] 7237c7: qapi/machine: Fix an incorrect comment of SMPConfi...
Date: Fri, 01 Oct 2021 10:45:09 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 7237c7ce772794d6be10b8b987fe4d02dfd76562
      
https://github.com/qemu/qemu/commit/7237c7ce772794d6be10b8b987fe4d02dfd76562
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M qapi/machine.json

  Log Message:
  -----------
  qapi/machine: Fix an incorrect comment of SMPConfiguration

The explanation of @cores should be "number of cores per die" but
not "number of cores per thread". Let's fix it.

Fixes: 1e63fe685804 ("machine: pass QAPI struct to mc->smp_parse")
Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210929025816.21076-2-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: c2511b1632e109130df524121dfb7d2413216d3c
      
https://github.com/qemu/qemu/commit/c2511b1632e109130df524121dfb7d2413216d3c
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M docs/about/deprecated.rst
    M hw/core/machine.c
    M qemu-options.hx

  Log Message:
  -----------
  machine: Deprecate "parameter=0" SMP configurations

In the SMP configuration, we should either provide a topology
parameter with a reasonable value (greater than zero) or just
omit it and QEMU will compute the missing value.

The users shouldn't provide a configuration with any parameter
of it specified as zero (e.g. -smp 8,sockets=0) which could
possibly cause unexpected results in the -smp parsing. So we
deprecate this kind of configurations since 6.2 by adding the
explicit sanity check.

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210929025816.21076-3-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5d8b5a505571b7927095015c805646f78fc56578
      
https://github.com/qemu/qemu/commit/5d8b5a505571b7927095015c805646f78fc56578
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M hw/core/machine.c
    M hw/i386/pc.c

  Log Message:
  -----------
  machine: Minor refactor/fix for the smp parsers

To pave the way for the functional improvement in later patches,
make some refactor/cleanup for the smp parsers, including using
local maxcpus instead of ms->smp.max_cpus in the calculation,
defaulting dies to 0 initially like other members, cleanup the
sanity check for dies.

We actually also fix a hidden defect by avoiding directly using
the provided *zero value* in the calculation, which could cause
a segment fault (e.g. using dies=0 in the calculation).

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210929025816.21076-4-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9a52b508061163df4dae05e708cd2a9cd790ad04
      
https://github.com/qemu/qemu/commit/9a52b508061163df4dae05e708cd2a9cd790ad04
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M hw/core/machine.c
    M hw/i386/pc.c

  Log Message:
  -----------
  machine: Uniformly use maxcpus to calculate the omitted parameters

We are currently using maxcpus to calculate the omitted sockets
but using cpus to calculate the omitted cores/threads. This makes
cmdlines like:
  -smp cpus=8,maxcpus=16
  -smp cpus=8,cores=4,maxcpus=16
  -smp cpus=8,threads=2,maxcpus=16
work fine but the ones like:
  -smp cpus=8,sockets=2,maxcpus=16
  -smp cpus=8,sockets=2,cores=4,maxcpus=16
  -smp cpus=8,sockets=2,threads=2,maxcpus=16
break the sanity check.

Since we require for a valid config that the product of "sockets * cores
* threads" should equal to the maxcpus, we should uniformly use maxcpus
to calculate their omitted values.

Also the if-branch of "cpus == 0 || sockets == 0" was split into two
branches of "cpus == 0" and "sockets == 0" so that we can clearly read
that we are parsing the configuration with a preference on cpus over
sockets over cores over threads.

Note: change in this patch won't affect any existing working cmdlines
but improves consistency and allows more incomplete configs to be valid.

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta@ionos.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210929025816.21076-5-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7d8c5a39628820f6927b8b70c8f54872f5d1a196
      
https://github.com/qemu/qemu/commit/7d8c5a39628820f6927b8b70c8f54872f5d1a196
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M hw/core/machine.c
    M hw/i386/pc.c
    M qemu-options.hx

  Log Message:
  -----------
  machine: Set the value of cpus to match maxcpus if it's omitted

Currently we directly calculate the omitted cpus based on the given
incomplete collection of parameters. This makes some cmdlines like:
  -smp maxcpus=16
  -smp sockets=2,maxcpus=16
  -smp sockets=2,dies=2,maxcpus=16
  -smp sockets=2,cores=4,maxcpus=16
not work. We should probably set the value of cpus to match maxcpus
if it's omitted, which will make above configs start to work.

So the calculation logic of cpus/maxcpus after this patch will be:
When both maxcpus and cpus are omitted, maxcpus will be calculated
from the given parameters and cpus will be set equal to maxcpus.
When only one of maxcpus and cpus is given then the omitted one
will be set to its counterpart's value. Both maxcpus and cpus may
be specified, but maxcpus must be equal to or greater than cpus.

Note: change in this patch won't affect any existing working cmdlines
but allows more incomplete configs to be valid.

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210929025816.21076-6-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 52082d3ba4e81bf9df23d3cd5ddfb2a620e9b267
      
https://github.com/qemu/qemu/commit/52082d3ba4e81bf9df23d3cd5ddfb2a620e9b267
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M hw/core/machine.c
    M hw/i386/pc.c

  Log Message:
  -----------
  machine: Improve the error reporting of smp parsing

We have two requirements for a valid SMP configuration:
the product of "sockets * cores * threads" must represent all the
possible cpus, i.e., max_cpus, and then must include the initially
present cpus, i.e., smp_cpus.

So we only need to ensure 1) "sockets * cores * threads == maxcpus"
at first and then ensure 2) "maxcpus >= cpus". With a reasonable
order of the sanity check, we can simplify the error reporting code.
When reporting an error message we also report the exact value of
each topology member to make users easily see what's going on.

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta@ionos.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210929025816.21076-7-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: afc8e9aaa7915ebfe1af8eba6994a38b3e556ba9
      
https://github.com/qemu/qemu/commit/afc8e9aaa7915ebfe1af8eba6994a38b3e556ba9
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M tests/qtest/numa-test.c

  Log Message:
  -----------
  qtest/numa-test: Use detailed -smp CLIs in pc_dynamic_cpu_cfg

Since commit 80d7835749 (qemu-options: rewrite help for -smp options),
the preference of sockets/cores in -smp parsing is considered liable
to change, and actually we are going to change it in a coming commit.
So it'll be more stable to use detailed -smp CLIs in testing if we
have strong dependency on the parsing results.

pc_dynamic_cpu_cfg currently assumes/needs that there will be 2 CPU
sockets with "-smp 2". To avoid breaking the test because of parsing
logic change, now explicitly use "-smp 2,sockets=2".

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210929025816.21076-8-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: bbb0c0ec6da8a739b02fbff941b44afc5513d6e4
      
https://github.com/qemu/qemu/commit/bbb0c0ec6da8a739b02fbff941b44afc5513d6e4
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M tests/qtest/numa-test.c

  Log Message:
  -----------
  qtest/numa-test: Use detailed -smp CLIs in test_def_cpu_split

Since commit 80d7835749 (qemu-options: rewrite help for -smp options),
the preference of sockets/cores in -smp parsing is considered liable
to change, and actually we are going to change it in a coming commit.
So it'll be more stable to use detailed -smp CLIs in the testcases
that have strong dependency on the parsing results.

Currently, test_def_cpu_split use "-smp 8" and will get 8 CPU sockets
based on current parsing rule. But if we change to prefer cores over
sockets we will get one CPU socket with 8 cores, and this testcase
will not get expected numa set by default on x86_64 (Ok on aarch64).

So now explicitly use "-smp 8,sockets=8" to avoid affect from parsing
logic change.

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210929025816.21076-9-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 4a0af2930a4e4f64ce551152fdb4b9e7be106408
      
https://github.com/qemu/qemu/commit/4a0af2930a4e4f64ce551152fdb4b9e7be106408
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M hw/arm/virt.c
    M hw/core/machine.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/ppc/spapr.c
    M hw/s390x/s390-virtio-ccw.c
    M include/hw/boards.h
    M qemu-options.hx

  Log Message:
  -----------
  machine: Prefer cores over sockets in smp parsing since 6.2

In the real SMP hardware topology world, it's much more likely that
we have high cores-per-socket counts and few sockets totally. While
the current preference of sockets over cores in smp parsing results
in a virtual cpu topology with low cores-per-sockets counts and a
large number of sockets, which is just contrary to the real world.

Given that it is better to make the virtual cpu topology be more
reflective of the real world and also for the sake of compatibility,
we start to prefer cores over sockets over threads in smp parsing
since machine type 6.2 for different arches.

In this patch, a boolean "smp_prefer_sockets" is added, and we only
enable the old preference on older machines and enable the new one
since type 6.2 for all arches by using the machine compat mechanism.

Suggested-by: Daniel P. Berrange <berrange@redhat.com>
Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta@ionos.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210929025816.21076-10-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 69fc28a78dbff2d3414bbafce38320b4433ed583
      
https://github.com/qemu/qemu/commit/69fc28a78dbff2d3414bbafce38320b4433ed583
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M hw/core/machine.c

  Log Message:
  -----------
  machine: Use ms instead of global current_machine in sanity-check

In the sanity-check of smp_cpus and max_cpus against mc in function
machine_set_smp(), we are now using ms->smp.max_cpus for the check
but using current_machine->smp.max_cpus in the error message.
Tweak this by uniformly using the local ms.

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta@ionos.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210929025816.21076-11-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 003f230e37d724ac52004d7f8270159da105780f
      
https://github.com/qemu/qemu/commit/003f230e37d724ac52004d7f8270159da105780f
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M hw/core/machine.c
    M include/hw/boards.h

  Log Message:
  -----------
  machine: Tweak the order of topology members in struct CpuTopology

Now that all the possible topology parameters are integrated in struct
CpuTopology, tweak the order of topology members to be "cpus/sockets/
dies/cores/threads/maxcpus" for readability and consistency. We also
tweak the comment by adding explanation of dies parameter.

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta@ionos.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20210929025816.21076-12-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e4a97a893bcd7511aba812969d1fa6fe42dc1931
      
https://github.com/qemu/qemu/commit/e4a97a893bcd7511aba812969d1fa6fe42dc1931
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M hw/core/machine.c
    M hw/i386/pc.c
    M include/hw/boards.h

  Log Message:
  -----------
  machine: Make smp_parse generic enough for all arches

Currently the only difference between smp_parse and pc_smp_parse
is the support of dies parameter and the related error reporting.
With some arch compat variables like "bool dies_supported", we can
make smp_parse generic enough for all arches and the PC specific
one can be removed.

Making smp_parse() generic enough can reduce code duplication and
ease the code maintenance, and also allows extending the topology
with more arch specific members (e.g., clusters) in the future.

Suggested-by: Andrew Jones <drjones@redhat.com>
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210929025816.21076-13-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7687b2b3edc3f29ad58e8d6593d5c10dde406c34
      
https://github.com/qemu/qemu/commit/7687b2b3edc3f29ad58e8d6593d5c10dde406c34
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M hw/core/machine.c
    M include/hw/boards.h

  Log Message:
  -----------
  machine: Remove smp_parse callback from MachineClass

Now we have a generic smp parser for all arches, and there will
not be any other arch specific ones, so let's remove the callback
from MachineClass and call the parser directly.

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210929025816.21076-14-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 2b52619994ab48504c5fc0d32a1af24159405ce0
      
https://github.com/qemu/qemu/commit/2b52619994ab48504c5fc0d32a1af24159405ce0
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M hw/arm/virt.c
    M hw/core/machine.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/ppc/spapr.c
    M hw/s390x/s390-virtio-ccw.c
    M include/hw/boards.h

  Log Message:
  -----------
  machine: Move smp_prefer_sockets to struct SMPCompatProps

Now we have a common structure SMPCompatProps used to store information
about SMP compatibility stuff, so we can also move smp_prefer_sockets
there for cleaner code.

No functional change intended.

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210929025816.21076-15-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e7f944bb94a375e8ee7469ffa535ea6e11ce59e1
      
https://github.com/qemu/qemu/commit/e7f944bb94a375e8ee7469ffa535ea6e11ce59e1
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M hw/core/machine.c

  Log Message:
  -----------
  machine: Use g_autoptr in machine_set_smp

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 8bdfec393a2ac67df9cecc0983d130db4a6bba58
      
https://github.com/qemu/qemu/commit/8bdfec393a2ac67df9cecc0983d130db4a6bba58
  Author: Yanan Wang <wangyanan55@huawei.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M hw/core/machine.c

  Log Message:
  -----------
  machine: Put all sanity-check in the generic SMP parser

Put both sanity-check of the input SMP configuration and sanity-check
of the output SMP configuration uniformly in the generic parser. Then
machine_set_smp() will become cleaner, also all the invalid scenarios
can be tested only by calling the parser.

Signed-off-by: Yanan Wang <wangyanan55@huawei.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta@ionos.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210929025816.21076-16-wangyanan55@huawei.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 988f7b8bfeffbf521814d1e48c321f7674277512
      
https://github.com/qemu/qemu/commit/988f7b8bfeffbf521814d1e48c321f7674277512
  Author: Vitaly Kuznetsov <vkuznets@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/kvm/kvm.c

  Log Message:
  -----------
  i386: Support KVM_CAP_ENFORCE_PV_FEATURE_CPUID

By default, KVM allows the guest to use all currently supported PV features
even when they were not announced in guest visible CPUIDs. Introduce a new
"kvm-pv-enforce-cpuid" flag to limit the supported feature set to the
exposed features. The feature is supported by Linux >= 5.10 and is not
enabled by default in QEMU.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20210902093530.345756-4-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 70367f091777419f42e5f68f4206deb641335877
      
https://github.com/qemu/qemu/commit/70367f091777419f42e5f68f4206deb641335877
  Author: Vitaly Kuznetsov <vkuznets@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M docs/hyperv.txt
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/kvm/kvm.c

  Log Message:
  -----------
  i386: Support KVM_CAP_HYPERV_ENFORCE_CPUID

By default, KVM allows the guest to use all currently supported Hyper-V
enlightenments when Hyper-V CPUID interface was exposed, regardless of if
some features were not announced in guest visible CPUIDs. hv-enforce-cpuid
feature alters this behavior and only allows the guest to use exposed
Hyper-V enlightenments. The feature is supported by Linux >= 5.14 and is
not enabled by default in QEMU.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20210902093530.345756-5-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 050716292a63f4969b32cac32b85774521738ef5
      
https://github.com/qemu/qemu/commit/050716292a63f4969b32cac32b85774521738ef5
  Author: Vitaly Kuznetsov <vkuznets@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M target/i386/kvm/kvm.c

  Log Message:
  -----------
  i386: Move HV_APIC_ACCESS_RECOMMENDED bit setting to hyperv_fill_cpuids()

In preparation to enabling Hyper-V + APICv/AVIC move
HV_APIC_ACCESS_RECOMMENDED setting out of kvm_hyperv_properties[]: the
'real' feature bit for the vAPIC features is HV_APIC_ACCESS_AVAILABLE,
HV_APIC_ACCESS_RECOMMENDED is a recommendation to use the feature which
we may not always want to give.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20210902093530.345756-6-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e1f9a8e8c90ae54387922e33e5ac4fd759747d01
      
https://github.com/qemu/qemu/commit/e1f9a8e8c90ae54387922e33e5ac4fd759747d01
  Author: Vitaly Kuznetsov <vkuznets@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M docs/hyperv.txt
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/kvm/hyperv-proto.h
    M target/i386/kvm/kvm.c

  Log Message:
  -----------
  i386: Implement pseudo 'hv-avic' ('hv-apicv') enlightenment

The enlightenment allows to use Hyper-V SynIC with hardware APICv/AVIC
enabled. Normally, Hyper-V SynIC disables these hardware features and
suggests the guest to use paravirtualized AutoEOI feature. Linux-4.15
gains support for conditional APICv/AVIC disablement, the feature
stays on until the guest tries to use AutoEOI feature with SynIC. With
'HV_DEPRECATING_AEOI_RECOMMENDED' bit exposed, modern enough Windows/
Hyper-V versions should follow the recommendation and not use the
(unwanted) feature.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20210902093530.345756-7-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: af7228b88dbe80ed5d5258b49be8b48ab351a476
      
https://github.com/qemu/qemu/commit/af7228b88dbe80ed5d5258b49be8b48ab351a476
  Author: Vitaly Kuznetsov <vkuznets@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M docs/hyperv.txt
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/kvm/kvm.c

  Log Message:
  -----------
  i386: Make Hyper-V version id configurable

Currently, we hardcode Hyper-V version id (CPUID 0x40000002) to
WS2008R2 and it is known that certain tools in Windows check this. It
seems useful to provide some flexibility by making it possible to change
this info at will. CPUID information is defined in TLFS as:

EAX: Build Number
EBX Bits 31-16: Major Version
    Bits 15-0: Minor Version
ECX Service Pack
EDX Bits 31-24: Service Branch
    Bits 23-0: Service Number

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20210902093530.345756-8-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f701ecec2bbaae2d04985eba87924a7329534e9a
      
https://github.com/qemu/qemu/commit/f701ecec2bbaae2d04985eba87924a7329534e9a
  Author: Vitaly Kuznetsov <vkuznets@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M docs/hyperv.txt
    M hw/i386/pc.c
    M target/i386/cpu.c

  Log Message:
  -----------
  i386: Change the default Hyper-V version to match WS2016

KVM implements some Hyper-V 2016 functions so providing WS2008R2 version
is somewhat incorrect. While generally guests shouldn't care about it
and always check feature bits, it is known that some tools in Windows
actually check version info.

For compatibility reasons make the change for 6.2 machine types only.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20210902093530.345756-9-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: bcfdfae78f111fa3c0f81b2708098a545201bb68
      
https://github.com/qemu/qemu/commit/bcfdfae78f111fa3c0f81b2708098a545201bb68
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    R docs/devel/ci-definitions.rst
    A docs/devel/ci-definitions.rst.inc
    R docs/devel/ci-jobs.rst
    A docs/devel/ci-jobs.rst.inc
    R docs/devel/ci-runners.rst
    A docs/devel/ci-runners.rst.inc
    M docs/devel/ci.rst

  Log Message:
  -----------
  docs: name included files ".rst.inc"

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f9df7aac758fed5cc2fb9210ad0edba79434aeed
      
https://github.com/qemu/qemu/commit/f9df7aac758fed5cc2fb9210ad0edba79434aeed
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M docs/devel/multi-process.rst

  Log Message:
  -----------
  docs: move notes inside the body of the document

Make all documents start with a heading.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 8b8939e44fc8315885598a9e1ee8deeea3b68a96
      
https://github.com/qemu/qemu/commit/8b8939e44fc8315885598a9e1ee8deeea3b68a96
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M docs/devel/build-system.rst

  Log Message:
  -----------
  docs: put "make" information together in build-system.rst

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 768f14f94ec50fe57a3964fff75d8b3456b588b5
      
https://github.com/qemu/qemu/commit/768f14f94ec50fe57a3964fff75d8b3456b588b5
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M docs/devel/qgraph.rst

  Log Message:
  -----------
  docs: reorganize qgraph.rst

Clean up the heading levels to use === --- ~~~, and move the command line
building near to the other execution steps.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: e9adb4ace229dfa742176e9ddb629dbb6a6081bc
      
https://github.com/qemu/qemu/commit/e9adb4ace229dfa742176e9ddb629dbb6a6081bc
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M docs/devel/tcg-plugins.rst

  Log Message:
  -----------
  docs: reorganize tcg-plugins.rst

Clean up the heading levels to use === --- ~~~, and create a new "writing
plugins" section.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9fce3601761779f14d8d1ea32e2b6abf2f704edb
      
https://github.com/qemu/qemu/commit/9fce3601761779f14d8d1ea32e2b6abf2f704edb
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M docs/devel/testing.rst

  Log Message:
  -----------
  docs: move gcov section at the end of testing.rst

gcov testing applies to all tests, not just make check.  Move it
out of the make check section.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 16e79e1b01a698908e14eda3078d4a8e7b1b9c2b
      
https://github.com/qemu/qemu/commit/16e79e1b01a698908e14eda3078d4a8e7b1b9c2b
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M docs/devel/testing.rst

  Log Message:
  -----------
  docs: reorganize testing.rst

Clean up the heading levels to use === --- ~~~ ^^^ '''.  Reorganize the
outline for the Avocado part, and always include headings for the
class names.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5f992102383ed8ed97076548e1c897c7034ed8a4
      
https://github.com/qemu/qemu/commit/5f992102383ed8ed97076548e1c897c7034ed8a4
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-10-01 (Fri, 01 Oct 2021)

  Changed paths:
    M docs/about/deprecated.rst
    M docs/devel/build-system.rst
    R docs/devel/ci-definitions.rst
    A docs/devel/ci-definitions.rst.inc
    R docs/devel/ci-jobs.rst
    A docs/devel/ci-jobs.rst.inc
    R docs/devel/ci-runners.rst
    A docs/devel/ci-runners.rst.inc
    M docs/devel/ci.rst
    M docs/devel/multi-process.rst
    M docs/devel/qgraph.rst
    M docs/devel/tcg-plugins.rst
    M docs/devel/testing.rst
    M docs/hyperv.txt
    M hw/arm/virt.c
    M hw/core/machine.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/ppc/spapr.c
    M hw/s390x/s390-virtio-ccw.c
    M include/hw/boards.h
    M qapi/machine.json
    M qemu-options.hx
    M target/i386/cpu.c
    M target/i386/cpu.h
    M target/i386/kvm/hyperv-proto.h
    M target/i386/kvm/kvm.c
    M tests/qtest/numa-test.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

* -smp cleanpus
* Hyper-V englightenment functionality
* Documentation cleanups

# gpg: Signature made Fri 01 Oct 2021 01:11:00 PM EDT
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]

* remotes/bonzini/tags/for-upstream: (29 commits)
  docs: reorganize testing.rst
  docs: move gcov section at the end of testing.rst
  docs: reorganize tcg-plugins.rst
  docs: reorganize qgraph.rst
  docs: put "make" information together in build-system.rst
  docs: move notes inside the body of the document
  docs: name included files ".rst.inc"
  i386: Change the default Hyper-V version to match WS2016
  i386: Make Hyper-V version id configurable
  i386: Implement pseudo 'hv-avic' ('hv-apicv') enlightenment
  i386: Move HV_APIC_ACCESS_RECOMMENDED bit setting to hyperv_fill_cpuids()
  i386: Support KVM_CAP_HYPERV_ENFORCE_CPUID
  i386: Support KVM_CAP_ENFORCE_PV_FEATURE_CPUID
  machine: Put all sanity-check in the generic SMP parser
  machine: Use g_autoptr in machine_set_smp
  machine: Move smp_prefer_sockets to struct SMPCompatProps
  machine: Remove smp_parse callback from MachineClass
  machine: Make smp_parse generic enough for all arches
  machine: Tweak the order of topology members in struct CpuTopology
  machine: Use ms instead of global current_machine in sanity-check
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/bb4aa8f59e18...5f992102383e



reply via email to

[Prev in Thread] Current Thread [Next in Thread]