qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Like Xu <like.xu@linux.intel.com>
To: qemu-trivial@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Eduardo Habkost <ehabkost@redhat.com>,
	qemu-devel@nongnu.org,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Alistair Francis <alistair23@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>
Subject: [Qemu-devel] [PATCH v3 00/10] Refactor cpu topo into machine properties
Date: Sun, 19 May 2019 04:54:18 +0800	[thread overview]
Message-ID: <20190518205428.90532-1-like.xu@linux.intel.com> (raw)

This patch series make existing cores/threads/sockets into machine
properties and get rid of global smp_* variables they use currently.

The purpose of getting rid of globals is disentangle layer violations and
let's do it one step at a time by replacing the smp_foo with qdev_get_machine()
as few calls as possible and delay other related refactoring efforts.

==changelog==

v3:

- rephrase commit messages
- s/of/of present/ for CpuTopology comment
- drop reduanct arguments such as cpu_type
- use ms instead of macs in migration context
- rebase to commit 1b46b4daa6

v2: https://patchwork.ozlabs.org/cover/1095727/

- pass MachineState via call chain with trivial fixups
- replace smp_cpus directly at places if it's only used once
- s/topo/smp/ and drop smp_ prefix inside CpuTopology structure
- add more commit messages to explaining what patch does
- fix Patchew build failure for xen usage
- use macs rather than ms in migration context for MigrationState
- cleanup unrelated and redundant changes
- spilt OpenRISC and RISC-V related patches

v1: https://patchwork.kernel.org/cover/10876667/

Like Xu (10):
  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

 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/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/vexpress.c            | 16 +++++++-----
 hw/arm/virt.c                | 10 ++++++--
 hw/arm/xlnx-zynqmp.c         | 16 +++++++-----
 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                 | 33 ++++++++++++++----------
 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               | 37 ++++++++++++++++++--------
 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             |  2 ++
 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 +
 include/hw/boards.h          | 19 ++++++++++++--
 include/hw/firmware/smbios.h |  5 ++--
 include/hw/i386/pc.h         |  2 +-
 migration/postcopy-ram.c     |  8 +++++-
 numa.c                       |  1 +
 qmp.c                        |  2 +-
 target/arm/cpu.c             |  8 +++++-
 target/i386/cpu.c            |  4 ++-
 target/openrisc/sys_helper.c |  6 ++++-
 target/s390x/cpu.c           |  3 +++
 target/s390x/excp_helper.c   |  5 ++++
 tcg/tcg.c                    | 13 +++++++++-
 vl.c                         | 50 +++++++++++++++++++-----------------
 59 files changed, 301 insertions(+), 141 deletions(-)

-- 
2.21.0



             reply	other threads:[~2019-05-19 12:59 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-18 20:54 Like Xu [this message]
2019-05-18 20:54 ` [Qemu-devel] [PATCH v3 01/10] hw/boards: Add struct CpuTopology to MachineState Like Xu
2019-05-18 20:54 ` [Qemu-devel] [PATCH v3 02/10] machine: Refactor smp-related call chains to pass MachineState Like Xu
2019-05-18 20:54 ` [Qemu-devel] [PATCH v3 03/10] general: Replace global smp variables with smp machine properties Like Xu
2019-05-18 20:54 ` [Qemu-devel] [PATCH v3 04/10] hw/ppc: Replace global smp variables with machine smp properties Like Xu
2019-06-06  2:52   ` Eduardo Habkost
2019-06-06  2:54     ` Eduardo Habkost
2019-06-06  3:07       ` David Gibson
2019-06-06  8:20         ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2019-06-06  8:37           ` Like Xu
2019-05-18 20:54 ` [Qemu-devel] [PATCH v3 05/10] hw/riscv: " Like Xu
2019-05-20 21:45   ` Alistair Francis
2019-06-20 14:52   ` Eduardo Habkost
2019-06-21  0:53     ` Like Xu
2019-05-18 20:54 ` [Qemu-devel] [PATCH v3 06/10] hw/s390x: " Like Xu
2019-06-06  2:56   ` Eduardo Habkost
2019-06-06  7:07     ` [Qemu-devel] [qemu-s390x] " Christian Borntraeger
2019-06-06  7:56     ` [Qemu-devel] " Cornelia Huck
2019-06-28 18:33   ` [Qemu-devel] [PATCH] fixup! " Eduardo Habkost
2019-06-28 23:04     ` no-reply
2019-05-18 20:54 ` [Qemu-devel] [PATCH v3 07/10] hw/i386: " Like Xu
2019-06-06  2:57   ` Eduardo Habkost
2019-05-18 20:54 ` [Qemu-devel] [PATCH v3 08/10] hw/arm: " Like Xu
2019-06-06  2:58   ` Eduardo Habkost
2019-05-18 20:54 ` [Qemu-devel] [PATCH v3 09/10] hw: Replace global smp variables with MachineState for all remaining archs Like Xu
2019-06-06  3:00   ` Eduardo Habkost
2019-05-18 20:54 ` [Qemu-devel] [PATCH v3 10/10] vl.c: Replace smp global variables with smp machine properties Like Xu
2019-06-06  3:00   ` Eduardo Habkost
2019-05-26 13:51 ` [Qemu-devel] [PATCH v3 00/10] Refactor cpu topo into " Like Xu
2019-05-29  0:37   ` Like Xu
2019-06-06  3:02 ` Eduardo Habkost
2019-06-07 21:25 ` Eduardo Habkost

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190518205428.90532-1-like.xu@linux.intel.com \
    --to=like.xu@linux.intel.com \
    --cc=alistair23@gmail.com \
    --cc=dgilbert@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).