mbox

[PULL,v4,00/43] Machine and x86 queue, 2019-07-03

Message ID 20190703180726.31267-1-ehabkost@redhat.com
State New
Headers show

Pull-request

git://github.com/ehabkost/qemu.git tags/machine-next-pull-request

Message

Eduardo Habkost July 3, 2019, 6:06 p.m. UTC
Changes v3 -> v4:
* Fix ppc64 "make check" failure

Changes v2 -> v3:
* Fix "make check" warnings (Igor Mammedov)
* Fix conflicts of "hw/arm: Replace global smp variables with
  machine smp properties" with recent arm changes (Eduardo Habkost)
* x86 versioned CPU models (Eduardo Habkost)
* SnowRidge CPU model (Paul Lai)
* Add deprecation information to query-machines (Eduardo Habkost)

Changes v1 -> v2:
* Fix s390x build failure

The following changes since commit 506179e42112be77bfd071f050b15762d3b2cd43:

  Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.1-20190702' into staging (2019-07-02 18:56:44 +0100)

are available in the Git repository at:

  git://github.com/ehabkost/qemu.git tags/machine-next-pull-request

for you to fetch changes up to 7796c85de813f1a18f2afd747b5332585ef7a4d6:

  tests: use -numa memdev option in tests instead of legacy 'mem' option (2019-07-02 18:59:45 -0300)

----------------------------------------------------------------
Machine and x86 queue, 2019-07-02

* CPU die topology support (Like Xu)
* Deprecation of features (Igor Mammedov):
  * 'mem' parameter of '-numa node' option
  * implict memory distribution between NUMA nodes
  * deprecate -mem-path fallback to anonymous RAM
* x86 versioned CPU models (Eduardo Habkost)
* SnowRidge CPU model (Paul Lai)
* Add deprecation information to query-machines (Eduardo Habkost)
* Other i386 fixes

----------------------------------------------------------------

Queue for Machine Core patches


Alex Bennée (1):
  target/i386: fix feature check in hyperv-stub.c

Eduardo Habkost (15):
  hppa: Delete unused hppa_cpu_list() function
  i386: Don't print warning if phys-bits was set automatically
  i386: Fix signedness of hyperv_spinlock_attempts
  i386: Remove unused host_cpudef variable
  qmp: Add deprecation information to query-machines
  qmp: Add "alias-of" field to query-cpu-definitions
  i386: Add x-force-features option for testing
  i386: Get model-id from CPU object on "-cpu help"
  i386: Register versioned CPU models
  i386: Define -IBRS, -noTSX, -IBRS versions of CPU models
  i386: Replace -noTSX, -IBRS, -IBPB CPU models with aliases
  i386: Make unversioned CPU models be aliases
  docs: Deprecate CPU model runnability guarantees
  i386: Add Cascadelake-Server-v2 CPU model
  numa: Make deprecation warnings conditional on !qtest_enabled()

Igor Mammedov (7):
  pc: fix possible NULL pointer dereference in
    pc_machine_get_device_memory_region_size()
  machine: show if CLI option '-numa node,mem' is supported in QAPI
    schema
  numa: deprecate 'mem' parameter of '-numa node' option
  numa: deprecate implict memory distribution between nodes
  deprecate -mem-path fallback to anonymous RAM
  numa: allow memory-less nodes when using memdev as backend
  tests: use -numa memdev option in tests instead of legacy 'mem' option

Like Xu (17):
  hw/boards: Add struct CpuTopology to MachineState
  machine: Refactor smp-related call chains to pass MachineState
  general: Replace global smp variables with smp machine properties
  hw/ppc: Replace global smp variables with machine smp properties
  hw/riscv: Replace global smp variables with machine smp properties
  hw/s390x: Replace global smp variables with machine smp properties
  hw/i386: Replace global smp variables with machine smp properties
  hw/arm: Replace global smp variables with machine smp properties
  hw: Replace global smp variables with MachineState for all remaining
    archs
  vl.c: Replace smp global variables with smp machine properties
  i386: Add die-level cpu topology to x86CPU on PCMachine
  hw/i386: Adjust nr_dies with configured smp_dies for PCMachine
  i386/cpu: Consolidate die-id validity in smp context
  i386: Update new x86_apicid parsing rules with die_offset support
  target/i386: Add CPUID.1F generation support for multi-dies PCMachine
  machine: Refactor smp_parse() in vl.c as MachineClass::smp_parse()
  vl.c: Add -smp, dies=* command line support and update doc

Paul Lai (1):
  i386: Introduce SnowRidge CPU model

Roman Kagan (1):
  i386: make 'hv-spinlocks' a regular uint32 property

Wei Yang (1):
  x86/cpu: use FeatureWordArray to define filtered_features

 qapi/misc.json                             |   16 +-
 qapi/target.json                           |    9 +-
 include/hw/boards.h                        |   27 +-
 include/hw/firmware/smbios.h               |    5 +-
 include/hw/i386/pc.h                       |    8 +-
 include/hw/i386/topology.h                 |   76 +-
 target/hppa/cpu.h                          |    2 -
 target/i386/cpu-qom.h                      |   10 +-
 target/i386/cpu.h                          |   36 +-
 accel/kvm/kvm-all.c                        |    4 +-
 backends/hostmem.c                         |    6 +-
 cpus.c                                     |    6 +-
 exec.c                                     |    3 +-
 gdbstub.c                                  |    4 +
 hw/alpha/dp264.c                           |    1 +
 hw/arm/aspeed.c                            |    2 +-
 hw/arm/fsl-imx6.c                          |    6 +-
 hw/arm/fsl-imx6ul.c                        |    6 +-
 hw/arm/fsl-imx7.c                          |    7 +-
 hw/arm/highbank.c                          |    1 +
 hw/arm/mcimx6ul-evk.c                      |    2 +-
 hw/arm/mcimx7d-sabre.c                     |    2 +-
 hw/arm/raspi.c                             |    4 +-
 hw/arm/realview.c                          |    1 +
 hw/arm/sabrelite.c                         |    2 +-
 hw/arm/sbsa-ref.c                          |    4 +
 hw/arm/vexpress.c                          |   16 +-
 hw/arm/virt.c                              |   11 +-
 hw/arm/xlnx-zynqmp.c                       |   16 +-
 hw/core/machine.c                          |   88 ++
 hw/cpu/core.c                              |    4 +-
 hw/hppa/machine.c                          |    4 +-
 hw/i386/acpi-build.c                       |   13 +-
 hw/i386/kvmvapic.c                         |    7 +-
 hw/i386/pc.c                               |  186 +++-
 hw/i386/pc_piix.c                          |    4 +
 hw/i386/pc_q35.c                           |    4 +
 hw/i386/xen/xen-hvm.c                      |    4 +
 hw/mips/boston.c                           |    2 +-
 hw/mips/mips_malta.c                       |   24 +-
 hw/openrisc/openrisc_sim.c                 |    1 +
 hw/ppc/e500.c                              |    3 +
 hw/ppc/mac_newworld.c                      |    3 +-
 hw/ppc/mac_oldworld.c                      |    3 +-
 hw/ppc/pnv.c                               |    9 +-
 hw/ppc/prep.c                              |    4 +-
 hw/ppc/spapr.c                             |   38 +-
 hw/ppc/spapr_rtas.c                        |    4 +-
 hw/riscv/sifive_e.c                        |    6 +-
 hw/riscv/sifive_plic.c                     |    3 +
 hw/riscv/sifive_u.c                        |    6 +-
 hw/riscv/spike.c                           |    3 +
 hw/riscv/virt.c                            |    1 +
 hw/s390x/s390-virtio-ccw.c                 |    9 +-
 hw/s390x/sclp.c                            |    2 +-
 hw/smbios/smbios.c                         |   26 +-
 hw/sparc/sun4m.c                           |    2 +
 hw/sparc64/sun4u.c                         |    4 +-
 hw/xtensa/sim.c                            |    2 +-
 hw/xtensa/xtfpga.c                         |    1 +
 migration/postcopy-ram.c                   |    8 +-
 monitor/hmp-cmds.c                         |    3 +
 monitor/qmp-cmds.c                         |    2 +-
 numa.c                                     |   36 +-
 target/arm/cpu.c                           |    8 +-
 target/hppa/cpu.c                          |   17 -
 target/i386/cpu.c                          | 1171 ++++++++++----------
 target/i386/hyperv-stub.c                  |    2 +-
 target/i386/kvm.c                          |   12 +
 target/openrisc/sys_helper.c               |    6 +-
 target/s390x/cpu.c                         |    3 +
 target/s390x/excp_helper.c                 |    5 +
 target/s390x/kvm.c                         |   10 +-
 tcg/tcg.c                                  |   13 +-
 tests/bios-tables-test.c                   |   40 +-
 tests/test-x86-cpuid.c                     |   84 +-
 vl.c                                       |   98 +-
 qemu-deprecated.texi                       |   52 +
 qemu-options.hx                            |   17 +-
 tests/acceptance/x86_cpu_model_versions.py |  304 +++++
 80 files changed, 1703 insertions(+), 951 deletions(-)
 create mode 100644 tests/acceptance/x86_cpu_model_versions.py

Comments

Eduardo Habkost July 3, 2019, 6:49 p.m. UTC | #1
It looks like this conflicts with commit 374f63f6810a ("Merge
remote-tracking branch 'remotes/armbru/tags/pull-monitor-2019-07-02-v2'
into staging"), and I'll have to manually fix the conflicts and
send a new pull request.

I've learned a lesson here: if queueing a series that touches too
many files (like the SMP refactor included in this pull request),
never wait more than 2 days to send a pull request.


On Wed, Jul 03, 2019 at 03:06:43PM -0300, Eduardo Habkost wrote:
> Changes v3 -> v4:
> * Fix ppc64 "make check" failure
> 
> Changes v2 -> v3:
> * Fix "make check" warnings (Igor Mammedov)
> * Fix conflicts of "hw/arm: Replace global smp variables with
>   machine smp properties" with recent arm changes (Eduardo Habkost)
> * x86 versioned CPU models (Eduardo Habkost)
> * SnowRidge CPU model (Paul Lai)
> * Add deprecation information to query-machines (Eduardo Habkost)
> 
> Changes v1 -> v2:
> * Fix s390x build failure
> 
> The following changes since commit 506179e42112be77bfd071f050b15762d3b2cd43:
> 
>   Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.1-20190702' into staging (2019-07-02 18:56:44 +0100)
> 
> are available in the Git repository at:
> 
>   git://github.com/ehabkost/qemu.git tags/machine-next-pull-request
> 
> for you to fetch changes up to 7796c85de813f1a18f2afd747b5332585ef7a4d6:
> 
>   tests: use -numa memdev option in tests instead of legacy 'mem' option (2019-07-02 18:59:45 -0300)
> 
> ----------------------------------------------------------------
> Machine and x86 queue, 2019-07-02
> 
> * CPU die topology support (Like Xu)
> * Deprecation of features (Igor Mammedov):
>   * 'mem' parameter of '-numa node' option
>   * implict memory distribution between NUMA nodes
>   * deprecate -mem-path fallback to anonymous RAM
> * x86 versioned CPU models (Eduardo Habkost)
> * SnowRidge CPU model (Paul Lai)
> * Add deprecation information to query-machines (Eduardo Habkost)
> * Other i386 fixes
> 
> ----------------------------------------------------------------
> 
> Queue for Machine Core patches
> 
> 
> Alex Bennée (1):
>   target/i386: fix feature check in hyperv-stub.c
> 
> Eduardo Habkost (15):
>   hppa: Delete unused hppa_cpu_list() function
>   i386: Don't print warning if phys-bits was set automatically
>   i386: Fix signedness of hyperv_spinlock_attempts
>   i386: Remove unused host_cpudef variable
>   qmp: Add deprecation information to query-machines
>   qmp: Add "alias-of" field to query-cpu-definitions
>   i386: Add x-force-features option for testing
>   i386: Get model-id from CPU object on "-cpu help"
>   i386: Register versioned CPU models
>   i386: Define -IBRS, -noTSX, -IBRS versions of CPU models
>   i386: Replace -noTSX, -IBRS, -IBPB CPU models with aliases
>   i386: Make unversioned CPU models be aliases
>   docs: Deprecate CPU model runnability guarantees
>   i386: Add Cascadelake-Server-v2 CPU model
>   numa: Make deprecation warnings conditional on !qtest_enabled()
> 
> Igor Mammedov (7):
>   pc: fix possible NULL pointer dereference in
>     pc_machine_get_device_memory_region_size()
>   machine: show if CLI option '-numa node,mem' is supported in QAPI
>     schema
>   numa: deprecate 'mem' parameter of '-numa node' option
>   numa: deprecate implict memory distribution between nodes
>   deprecate -mem-path fallback to anonymous RAM
>   numa: allow memory-less nodes when using memdev as backend
>   tests: use -numa memdev option in tests instead of legacy 'mem' option
> 
> Like Xu (17):
>   hw/boards: Add struct CpuTopology to MachineState
>   machine: Refactor smp-related call chains to pass MachineState
>   general: Replace global smp variables with smp machine properties
>   hw/ppc: Replace global smp variables with machine smp properties
>   hw/riscv: Replace global smp variables with machine smp properties
>   hw/s390x: Replace global smp variables with machine smp properties
>   hw/i386: Replace global smp variables with machine smp properties
>   hw/arm: Replace global smp variables with machine smp properties
>   hw: Replace global smp variables with MachineState for all remaining
>     archs
>   vl.c: Replace smp global variables with smp machine properties
>   i386: Add die-level cpu topology to x86CPU on PCMachine
>   hw/i386: Adjust nr_dies with configured smp_dies for PCMachine
>   i386/cpu: Consolidate die-id validity in smp context
>   i386: Update new x86_apicid parsing rules with die_offset support
>   target/i386: Add CPUID.1F generation support for multi-dies PCMachine
>   machine: Refactor smp_parse() in vl.c as MachineClass::smp_parse()
>   vl.c: Add -smp, dies=* command line support and update doc
> 
> Paul Lai (1):
>   i386: Introduce SnowRidge CPU model
> 
> Roman Kagan (1):
>   i386: make 'hv-spinlocks' a regular uint32 property
> 
> Wei Yang (1):
>   x86/cpu: use FeatureWordArray to define filtered_features
> 
>  qapi/misc.json                             |   16 +-
>  qapi/target.json                           |    9 +-
>  include/hw/boards.h                        |   27 +-
>  include/hw/firmware/smbios.h               |    5 +-
>  include/hw/i386/pc.h                       |    8 +-
>  include/hw/i386/topology.h                 |   76 +-
>  target/hppa/cpu.h                          |    2 -
>  target/i386/cpu-qom.h                      |   10 +-
>  target/i386/cpu.h                          |   36 +-
>  accel/kvm/kvm-all.c                        |    4 +-
>  backends/hostmem.c                         |    6 +-
>  cpus.c                                     |    6 +-
>  exec.c                                     |    3 +-
>  gdbstub.c                                  |    4 +
>  hw/alpha/dp264.c                           |    1 +
>  hw/arm/aspeed.c                            |    2 +-
>  hw/arm/fsl-imx6.c                          |    6 +-
>  hw/arm/fsl-imx6ul.c                        |    6 +-
>  hw/arm/fsl-imx7.c                          |    7 +-
>  hw/arm/highbank.c                          |    1 +
>  hw/arm/mcimx6ul-evk.c                      |    2 +-
>  hw/arm/mcimx7d-sabre.c                     |    2 +-
>  hw/arm/raspi.c                             |    4 +-
>  hw/arm/realview.c                          |    1 +
>  hw/arm/sabrelite.c                         |    2 +-
>  hw/arm/sbsa-ref.c                          |    4 +
>  hw/arm/vexpress.c                          |   16 +-
>  hw/arm/virt.c                              |   11 +-
>  hw/arm/xlnx-zynqmp.c                       |   16 +-
>  hw/core/machine.c                          |   88 ++
>  hw/cpu/core.c                              |    4 +-
>  hw/hppa/machine.c                          |    4 +-
>  hw/i386/acpi-build.c                       |   13 +-
>  hw/i386/kvmvapic.c                         |    7 +-
>  hw/i386/pc.c                               |  186 +++-
>  hw/i386/pc_piix.c                          |    4 +
>  hw/i386/pc_q35.c                           |    4 +
>  hw/i386/xen/xen-hvm.c                      |    4 +
>  hw/mips/boston.c                           |    2 +-
>  hw/mips/mips_malta.c                       |   24 +-
>  hw/openrisc/openrisc_sim.c                 |    1 +
>  hw/ppc/e500.c                              |    3 +
>  hw/ppc/mac_newworld.c                      |    3 +-
>  hw/ppc/mac_oldworld.c                      |    3 +-
>  hw/ppc/pnv.c                               |    9 +-
>  hw/ppc/prep.c                              |    4 +-
>  hw/ppc/spapr.c                             |   38 +-
>  hw/ppc/spapr_rtas.c                        |    4 +-
>  hw/riscv/sifive_e.c                        |    6 +-
>  hw/riscv/sifive_plic.c                     |    3 +
>  hw/riscv/sifive_u.c                        |    6 +-
>  hw/riscv/spike.c                           |    3 +
>  hw/riscv/virt.c                            |    1 +
>  hw/s390x/s390-virtio-ccw.c                 |    9 +-
>  hw/s390x/sclp.c                            |    2 +-
>  hw/smbios/smbios.c                         |   26 +-
>  hw/sparc/sun4m.c                           |    2 +
>  hw/sparc64/sun4u.c                         |    4 +-
>  hw/xtensa/sim.c                            |    2 +-
>  hw/xtensa/xtfpga.c                         |    1 +
>  migration/postcopy-ram.c                   |    8 +-
>  monitor/hmp-cmds.c                         |    3 +
>  monitor/qmp-cmds.c                         |    2 +-
>  numa.c                                     |   36 +-
>  target/arm/cpu.c                           |    8 +-
>  target/hppa/cpu.c                          |   17 -
>  target/i386/cpu.c                          | 1171 ++++++++++----------
>  target/i386/hyperv-stub.c                  |    2 +-
>  target/i386/kvm.c                          |   12 +
>  target/openrisc/sys_helper.c               |    6 +-
>  target/s390x/cpu.c                         |    3 +
>  target/s390x/excp_helper.c                 |    5 +
>  target/s390x/kvm.c                         |   10 +-
>  tcg/tcg.c                                  |   13 +-
>  tests/bios-tables-test.c                   |   40 +-
>  tests/test-x86-cpuid.c                     |   84 +-
>  vl.c                                       |   98 +-
>  qemu-deprecated.texi                       |   52 +
>  qemu-options.hx                            |   17 +-
>  tests/acceptance/x86_cpu_model_versions.py |  304 +++++
>  80 files changed, 1703 insertions(+), 951 deletions(-)
>  create mode 100644 tests/acceptance/x86_cpu_model_versions.py
> 
> -- 
> 2.18.0.rc1.1.g3f1ff2140
>