All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	qemu-riscv@nongnu.org, "Eduardo Habkost" <ehabkost@redhat.com>,
	"Juan Quintela" <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Greg Kurz" <groug@kaod.org>,
	"Laurent Vivier" <laurent@vivier.eu>,
	qemu-s390x@nongnu.org, qemu-arm@nongnu.org, qemu-ppc@nongnu.org,
	"Claudio Fontana" <cfontana@suse.de>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: [PATCH v5 00/15] cpu: Introduce SysemuCPUOps structure
Date: Thu, 22 Apr 2021 12:46:49 +0200	[thread overview]
Message-ID: <20210422104705.2454166-1-f4bug@amsat.org> (raw)

Missing review: patch #7

Hi,

This series is inspired on Claudio TCG work.

Instead of separate TCG from other accelerators, here we
separate sysemu operations (system VS user).

Patches 1-5 are generic cleanups.
Patches 6-14 move from CPUClass to SysemuCPUOps
Patch   15 restricts SysemuCPUOps to sysemu

Since v4:
- Removed watchpoint patches (need more work) (Richard)
- Merged patch 1 & 7 "Move CPUClass::vmsd to SysemuCPUOps" (Eduardo)
- Reworded cpu_virtio_is_big_endian description (Greg)
- Move write_elf() in target/riscv/cpu.c (rebased on top of 43a965888)
- Added R-b tags

Since v3:
- SysemuCPUOps const (Richard)
- added missing xtensa #ifdef'ry
- added missing aa64/sve #ifdef'ry
- added Laurent R-b

Since v2:
- fixed lm32/unicore32
- remove USER_ONLY ifdef'ry from "cpu.h" (Claudio)

Since v1:
- Name 'sysemu' (Claudio)
- change each field progressively (Richard)

$ git backport-diff
Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respective=
ly

001/15:[----] [--] 'cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from=
_attrs'
002/15:[----] [--] 'cpu: Introduce cpu_virtio_is_big_endian()'
003/15:[----] [--] 'cpu: Directly use cpu_write_elf*() fallback handlers in p=
lace'
004/15:[----] [--] 'cpu: Directly use get_paging_enabled() fallback handlers =
in place'
005/15:[----] [--] 'cpu: Directly use get_memory_mapping() fallback handlers =
in place'
006/15:[----] [-C] 'cpu: Introduce SysemuCPUOps structure'
007/15:[0036] [FC] 'cpu: Move CPUClass::vmsd to SysemuCPUOps'
008/15:[----] [--] 'cpu: Move CPUClass::virtio_is_big_endian to SysemuCPUOps'
009/15:[----] [--] 'cpu: Move CPUClass::get_crash_info to SysemuCPUOps'
010/15:[0004] [FC] 'cpu: Move CPUClass::write_elf* to SysemuCPUOps'
011/15:[----] [--] 'cpu: Move CPUClass::asidx_from_attrs to SysemuCPUOps'
012/15:[----] [-C] 'cpu: Move CPUClass::get_phys_page_debug to SysemuCPUOps'
013/15:[----] [--] 'cpu: Move CPUClass::get_memory_mapping to SysemuCPUOps'
014/15:[----] [--] 'cpu: Move CPUClass::get_paging_enabled to SysemuCPUOps'
015/15:[0003] [FC] 'cpu: Restrict "hw/core/sysemu-cpu-ops.h" to target/cpu.c'

Regards,

Phil.

Supersedes: <20210303214708.1727801-1-f4bug@amsat.org>

Philippe Mathieu-Daud=C3=A9 (15):
  cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from_attrs
  cpu: Introduce cpu_virtio_is_big_endian()
  cpu: Directly use cpu_write_elf*() fallback handlers in place
  cpu: Directly use get_paging_enabled() fallback handlers in place
  cpu: Directly use get_memory_mapping() fallback handlers in place
  cpu: Introduce SysemuCPUOps structure
  cpu: Move CPUClass::vmsd to SysemuCPUOps
  cpu: Move CPUClass::virtio_is_big_endian to SysemuCPUOps
  cpu: Move CPUClass::get_crash_info to SysemuCPUOps
  cpu: Move CPUClass::write_elf* to SysemuCPUOps
  cpu: Move CPUClass::asidx_from_attrs to SysemuCPUOps
  cpu: Move CPUClass::get_phys_page_debug to SysemuCPUOps
  cpu: Move CPUClass::get_memory_mapping to SysemuCPUOps
  cpu: Move CPUClass::get_paging_enabled to SysemuCPUOps
  cpu: Restrict "hw/core/sysemu-cpu-ops.h" to target/cpu.c

 include/hw/core/cpu.h            |  92 ++++++-------------------
 include/hw/core/sysemu-cpu-ops.h |  89 ++++++++++++++++++++++++
 include/migration/vmstate.h      |   2 -
 target/alpha/cpu.h               |   3 +
 target/arm/cpu.h                 |   3 +
 target/avr/cpu.h                 |   1 +
 target/cris/cpu.h                |   3 +
 target/hexagon/cpu.h             |   3 +
 target/hppa/cpu.h                |   3 +
 target/i386/cpu.h                |   3 +
 target/lm32/cpu.h                |   3 +
 target/m68k/cpu.h                |   3 +
 target/microblaze/cpu.h          |   1 +
 target/mips/cpu.h                |   3 +
 target/moxie/cpu.h               |   3 +
 target/nios2/cpu.h               |   1 +
 target/openrisc/cpu.h            |   3 +
 target/ppc/cpu.h                 |   3 +
 target/riscv/cpu.h               |   3 +
 target/rx/cpu.h                  |   1 +
 target/s390x/cpu.h               |   3 +
 target/sh4/cpu.h                 |   3 +
 target/sparc/cpu.h               |   3 +
 target/tricore/cpu.h             |   3 +
 target/unicore32/cpu.h           |   3 +
 target/xtensa/cpu.h              |   3 +
 cpu.c                            |  19 +++---
 hw/core/cpu.c                    | 113 +++++++++++++++++--------------
 hw/virtio/virtio.c               |   4 +-
 stubs/vmstate.c                  |   2 -
 target/alpha/cpu.c               |  11 ++-
 target/arm/cpu.c                 |  18 +++--
 target/avr/cpu.c                 |   8 ++-
 target/cris/cpu.c                |  11 ++-
 target/hppa/cpu.c                |  11 ++-
 target/i386/cpu.c                |  28 +++++---
 target/lm32/cpu.c                |  10 ++-
 target/m68k/cpu.c                |  11 ++-
 target/microblaze/cpu.c          |  11 ++-
 target/mips/cpu.c                |  10 ++-
 target/moxie/cpu.c               |  10 +--
 target/nios2/cpu.c               |  15 +++-
 target/openrisc/cpu.c            |  11 ++-
 target/riscv/cpu.c               |  16 +++--
 target/rx/cpu.c                  |  16 ++++-
 target/s390x/cpu.c               |  14 ++--
 target/sh4/cpu.c                 |  11 ++-
 target/sparc/cpu.c               |  10 ++-
 target/tricore/cpu.c             |  13 +++-
 target/unicore32/cpu.c           |   9 ++-
 target/xtensa/cpu.c              |  11 ++-
 target/ppc/translate_init.c.inc  |  20 +++---
 52 files changed, 461 insertions(+), 206 deletions(-)
 create mode 100644 include/hw/core/sysemu-cpu-ops.h

--=20
2.26.3



WARNING: multiple messages have this Message-ID (diff)
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: qemu-devel@nongnu.org
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
	"Claudio Fontana" <cfontana@suse.de>,
	"Juan Quintela" <quintela@redhat.com>,
	"Greg Kurz" <groug@kaod.org>,
	"Laurent Vivier" <laurent@vivier.eu>,
	qemu-riscv@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
	qemu-ppc@nongnu.org, qemu-s390x@nongnu.org,
	"Peter Maydell" <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org, "Eduardo Habkost" <ehabkost@redhat.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Richard Henderson" <richard.henderson@linaro.org>
Subject: [PATCH v5 00/15] cpu: Introduce SysemuCPUOps structure
Date: Thu, 22 Apr 2021 12:46:49 +0200	[thread overview]
Message-ID: <20210422104705.2454166-1-f4bug@amsat.org> (raw)

Missing review: patch #7

Hi,

This series is inspired on Claudio TCG work.

Instead of separate TCG from other accelerators, here we
separate sysemu operations (system VS user).

Patches 1-5 are generic cleanups.
Patches 6-14 move from CPUClass to SysemuCPUOps
Patch   15 restricts SysemuCPUOps to sysemu

Since v4:
- Removed watchpoint patches (need more work) (Richard)
- Merged patch 1 & 7 "Move CPUClass::vmsd to SysemuCPUOps" (Eduardo)
- Reworded cpu_virtio_is_big_endian description (Greg)
- Move write_elf() in target/riscv/cpu.c (rebased on top of 43a965888)
- Added R-b tags

Since v3:
- SysemuCPUOps const (Richard)
- added missing xtensa #ifdef'ry
- added missing aa64/sve #ifdef'ry
- added Laurent R-b

Since v2:
- fixed lm32/unicore32
- remove USER_ONLY ifdef'ry from "cpu.h" (Claudio)

Since v1:
- Name 'sysemu' (Claudio)
- change each field progressively (Richard)

$ git backport-diff
Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respective=
ly

001/15:[----] [--] 'cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from=
_attrs'
002/15:[----] [--] 'cpu: Introduce cpu_virtio_is_big_endian()'
003/15:[----] [--] 'cpu: Directly use cpu_write_elf*() fallback handlers in p=
lace'
004/15:[----] [--] 'cpu: Directly use get_paging_enabled() fallback handlers =
in place'
005/15:[----] [--] 'cpu: Directly use get_memory_mapping() fallback handlers =
in place'
006/15:[----] [-C] 'cpu: Introduce SysemuCPUOps structure'
007/15:[0036] [FC] 'cpu: Move CPUClass::vmsd to SysemuCPUOps'
008/15:[----] [--] 'cpu: Move CPUClass::virtio_is_big_endian to SysemuCPUOps'
009/15:[----] [--] 'cpu: Move CPUClass::get_crash_info to SysemuCPUOps'
010/15:[0004] [FC] 'cpu: Move CPUClass::write_elf* to SysemuCPUOps'
011/15:[----] [--] 'cpu: Move CPUClass::asidx_from_attrs to SysemuCPUOps'
012/15:[----] [-C] 'cpu: Move CPUClass::get_phys_page_debug to SysemuCPUOps'
013/15:[----] [--] 'cpu: Move CPUClass::get_memory_mapping to SysemuCPUOps'
014/15:[----] [--] 'cpu: Move CPUClass::get_paging_enabled to SysemuCPUOps'
015/15:[0003] [FC] 'cpu: Restrict "hw/core/sysemu-cpu-ops.h" to target/cpu.c'

Regards,

Phil.

Supersedes: <20210303214708.1727801-1-f4bug@amsat.org>

Philippe Mathieu-Daud=C3=A9 (15):
  cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from_attrs
  cpu: Introduce cpu_virtio_is_big_endian()
  cpu: Directly use cpu_write_elf*() fallback handlers in place
  cpu: Directly use get_paging_enabled() fallback handlers in place
  cpu: Directly use get_memory_mapping() fallback handlers in place
  cpu: Introduce SysemuCPUOps structure
  cpu: Move CPUClass::vmsd to SysemuCPUOps
  cpu: Move CPUClass::virtio_is_big_endian to SysemuCPUOps
  cpu: Move CPUClass::get_crash_info to SysemuCPUOps
  cpu: Move CPUClass::write_elf* to SysemuCPUOps
  cpu: Move CPUClass::asidx_from_attrs to SysemuCPUOps
  cpu: Move CPUClass::get_phys_page_debug to SysemuCPUOps
  cpu: Move CPUClass::get_memory_mapping to SysemuCPUOps
  cpu: Move CPUClass::get_paging_enabled to SysemuCPUOps
  cpu: Restrict "hw/core/sysemu-cpu-ops.h" to target/cpu.c

 include/hw/core/cpu.h            |  92 ++++++-------------------
 include/hw/core/sysemu-cpu-ops.h |  89 ++++++++++++++++++++++++
 include/migration/vmstate.h      |   2 -
 target/alpha/cpu.h               |   3 +
 target/arm/cpu.h                 |   3 +
 target/avr/cpu.h                 |   1 +
 target/cris/cpu.h                |   3 +
 target/hexagon/cpu.h             |   3 +
 target/hppa/cpu.h                |   3 +
 target/i386/cpu.h                |   3 +
 target/lm32/cpu.h                |   3 +
 target/m68k/cpu.h                |   3 +
 target/microblaze/cpu.h          |   1 +
 target/mips/cpu.h                |   3 +
 target/moxie/cpu.h               |   3 +
 target/nios2/cpu.h               |   1 +
 target/openrisc/cpu.h            |   3 +
 target/ppc/cpu.h                 |   3 +
 target/riscv/cpu.h               |   3 +
 target/rx/cpu.h                  |   1 +
 target/s390x/cpu.h               |   3 +
 target/sh4/cpu.h                 |   3 +
 target/sparc/cpu.h               |   3 +
 target/tricore/cpu.h             |   3 +
 target/unicore32/cpu.h           |   3 +
 target/xtensa/cpu.h              |   3 +
 cpu.c                            |  19 +++---
 hw/core/cpu.c                    | 113 +++++++++++++++++--------------
 hw/virtio/virtio.c               |   4 +-
 stubs/vmstate.c                  |   2 -
 target/alpha/cpu.c               |  11 ++-
 target/arm/cpu.c                 |  18 +++--
 target/avr/cpu.c                 |   8 ++-
 target/cris/cpu.c                |  11 ++-
 target/hppa/cpu.c                |  11 ++-
 target/i386/cpu.c                |  28 +++++---
 target/lm32/cpu.c                |  10 ++-
 target/m68k/cpu.c                |  11 ++-
 target/microblaze/cpu.c          |  11 ++-
 target/mips/cpu.c                |  10 ++-
 target/moxie/cpu.c               |  10 +--
 target/nios2/cpu.c               |  15 +++-
 target/openrisc/cpu.c            |  11 ++-
 target/riscv/cpu.c               |  16 +++--
 target/rx/cpu.c                  |  16 ++++-
 target/s390x/cpu.c               |  14 ++--
 target/sh4/cpu.c                 |  11 ++-
 target/sparc/cpu.c               |  10 ++-
 target/tricore/cpu.c             |  13 +++-
 target/unicore32/cpu.c           |   9 ++-
 target/xtensa/cpu.c              |  11 ++-
 target/ppc/translate_init.c.inc  |  20 +++---
 52 files changed, 461 insertions(+), 206 deletions(-)
 create mode 100644 include/hw/core/sysemu-cpu-ops.h

--=20
2.26.3



             reply	other threads:[~2021-04-22 10:49 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-22 10:46 Philippe Mathieu-Daudé [this message]
2021-04-22 10:46 ` [PATCH v5 00/15] cpu: Introduce SysemuCPUOps structure Philippe Mathieu-Daudé
2021-04-22 10:46 ` [PATCH v5 01/15] cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from_attrs Philippe Mathieu-Daudé
2021-04-22 10:46   ` Philippe Mathieu-Daudé
2021-04-22 10:46 ` [PATCH v5 02/15] cpu: Introduce cpu_virtio_is_big_endian() Philippe Mathieu-Daudé
2021-04-22 10:46   ` Philippe Mathieu-Daudé
2021-04-22 10:46 ` [PATCH v5 03/15] cpu: Directly use cpu_write_elf*() fallback handlers in place Philippe Mathieu-Daudé
2021-04-22 10:46   ` Philippe Mathieu-Daudé
2021-04-22 10:46 ` [PATCH v5 04/15] cpu: Directly use get_paging_enabled() " Philippe Mathieu-Daudé
2021-04-22 10:46   ` Philippe Mathieu-Daudé
2021-04-22 10:46 ` [PATCH v5 05/15] cpu: Directly use get_memory_mapping() " Philippe Mathieu-Daudé
2021-04-22 10:46   ` Philippe Mathieu-Daudé
2021-04-22 10:46 ` [PATCH v5 06/15] cpu: Introduce SysemuCPUOps structure Philippe Mathieu-Daudé
2021-04-22 10:46   ` Philippe Mathieu-Daudé
2021-04-22 10:46 ` [PATCH v5 07/15] cpu: Move CPUClass::vmsd to SysemuCPUOps Philippe Mathieu-Daudé
2021-04-22 10:46   ` Philippe Mathieu-Daudé
2021-04-22 11:04   ` Philippe Mathieu-Daudé
2021-04-22 11:04     ` Philippe Mathieu-Daudé
2021-04-22 10:46 ` [PATCH v5 08/15] cpu: Move CPUClass::virtio_is_big_endian " Philippe Mathieu-Daudé
2021-04-22 10:46   ` Philippe Mathieu-Daudé
2021-04-22 10:46 ` [PATCH v5 09/15] cpu: Move CPUClass::get_crash_info " Philippe Mathieu-Daudé
2021-04-22 10:46   ` Philippe Mathieu-Daudé
2021-04-22 10:46 ` [PATCH v5 10/15] cpu: Move CPUClass::write_elf* " Philippe Mathieu-Daudé
2021-04-22 10:46   ` Philippe Mathieu-Daudé
2021-04-22 10:47 ` [PATCH v5 11/15] cpu: Move CPUClass::asidx_from_attrs " Philippe Mathieu-Daudé
2021-04-22 10:47   ` Philippe Mathieu-Daudé
2021-04-22 10:47 ` [PATCH v5 12/15] cpu: Move CPUClass::get_phys_page_debug " Philippe Mathieu-Daudé
2021-04-22 10:47   ` Philippe Mathieu-Daudé
2021-04-22 10:47 ` [PATCH v5 13/15] cpu: Move CPUClass::get_memory_mapping " Philippe Mathieu-Daudé
2021-04-22 10:47   ` Philippe Mathieu-Daudé
2021-04-22 10:47 ` [PATCH v5 14/15] cpu: Move CPUClass::get_paging_enabled " Philippe Mathieu-Daudé
2021-04-22 10:47   ` Philippe Mathieu-Daudé
2021-04-22 10:47 ` [PATCH v5 15/15] cpu: Restrict "hw/core/sysemu-cpu-ops.h" to target/cpu.c Philippe Mathieu-Daudé
2021-04-22 10:47   ` Philippe Mathieu-Daudé

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=20210422104705.2454166-1-f4bug@amsat.org \
    --to=f4bug@amsat.org \
    --cc=cfontana@suse.de \
    --cc=ehabkost@redhat.com \
    --cc=groug@kaod.org \
    --cc=laurent@vivier.eu \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=qemu-riscv@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=richard.henderson@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.