Skip to content

monitor+disas: Remove uses of ENV_GET_CPU

Peter Crosthwaite qemu-devel 2 versions – Applied

Status from this message: Applied to my (badly named) qapi-next branch, thanks!

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest2 patches 10 repliesApplied
  2. v12 patches 6 repliesSuperseded

Changes in v2 from the cover letter

Addressed RH and Andreas comments on P1.

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/2monitor: Split mon_get_cpu fn to remove ENV_GET_CPUmonitor.c+29 -366 replies
2/2disas: Remove uses of CPU envdisas.c include/disas/disas.h include/qemu/log.h +18 more+29 -290 replies

Reviews trailers per patch

All 2 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchRichard HendersonAndreas FärberEduardo HabkostLuiz Capitulino
SeriesA-b
1/2R-b R-b
2/2R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v2 thread

Cover letter [Qemu-devel] [PATCH v2 0/2] monitor+disas: Remove uses of ENV_GET_CPU

Neither the monitor or disassembly core has a good reason to navigate from an env pointer to a cpu pointer. Disas should not need env awarness at all, that is removed in P2.

The monitor is trickier, the env is still needed by some #ifdef switched target specific code but all common code only needs to trade in CPU pointers. As the monitor always has access to a CPU pointer naturally, remove ENV_GET_CPU usages (P1).

This is related to my multi-arch work, where the goal is to minimise use of architecture defined global definitions, ENV_GET_CPU being a major headache in that whole effort. The longer term goal is to limit ENV_GET_CPU use to genuinely architecture specific code.

But I think these two patches stand in their own right, so sending ahead of the motherload series. This brings both modules closer to common-oby-y'ification.

First RFC for multi arch is avaiable here:

https://lists.gnu.org/archive/html/qemu-devel/2015-05/msg01771.html

The two patches are done together to avoid a conflict with monitor_disas which is touched by both patches. If one patch gets acked, the other nacked then either can be merged independently with trivial edits.

Changed since v1:
Addressed RH and Andreas comments on P1.

Peter Crosthwaite (2):
monitor: Split mon_get_cpu fn to remove ENV_GET_CPU
disas: Remove uses of CPU env

 disas.c                       | 14 +++++-----
 include/disas/disas.h         |  4 +--
 include/qemu/log.h            |  4 +--
 monitor.c                     | 65 +++++++++++++++++++------------------------
 target-alpha/translate.c      |  2 +-
 target-arm/translate-a64.c    |  2 +-
 target-arm/translate.c        |  2 +-
 target-cris/translate.c       |  2 +-
 target-i386/translate.c       |  2 +-
 target-lm32/translate.c       |  2 +-
 target-m68k/translate.c       |  2 +-
 target-microblaze/translate.c |  2 +-
 target-mips/translate.c       |  2 +-
 target-openrisc/translate.c   |  2 +-
 target-ppc/translate.c        |  2 +-
 target-s390x/translate.c      |  2 +-
 target-sh4/translate.c        |  2 +-
 target-sparc/translate.c      |  2 +-
 target-tricore/translate.c    |  2 +-
 target-unicore32/translate.c  |  2 +-
 target-xtensa/translate.c     |  2 +-
 21 files changed, 57 insertions(+), 64 deletions(-)
Signature · 1 line
1.9.1