mbox series

[v2,00/29] target/mips: Re-org to allow KVM-only builds

Message ID 20210418225058.1257014-1-f4bug@amsat.org (mailing list archive)
Headers show
Series target/mips: Re-org to allow KVM-only builds | expand

Message

Philippe Mathieu-Daudé April 18, 2021, 10:50 p.m. UTC
TL;DR:

This series restrict TCG-specific objects by moving them to
the tcg/ subdir. Code is moved around to satisfy 3 cases:
{ generic sysemu / tcg sysemu / tcg user}.

Since v1:
- Addressed Richard review comments
- Added Richard R-b tag

Missing review: 5, 7, 8, 17, 18, 23

Hi,

This series move the MIPS TCG files under target/mips/tcg/.
tcg/ is split into {sysemu and user}, and code common to
both user/sysemu is left under tcg/ root.

Non-user code is moved to sysemu/ (common to TCG and KVM).

- Patches 1 & 10 are Meson generic
- Patches 2 to 9 move generic symbols around to satisfly KVM linking
- Patch 11 introduces tcg-internal.h where we'll move TCG specific
  prototypes from the current big internal.h
- Patches 12-27 move code by topic (first user, then sysemu, then tcg)
- Patch 28 restrict TCG specific machines to TCG (to actually
  only build malta/loongson3-virt machines when restricted to KVM)
- Patch 29 finally add a CI job with "KVM-only" config:
  https://gitlab.com/philmd/qemu/-/jobs/1189874868 (12min 5sec)

Diffstat is not that bad, and many #ifdef'ry removed.

Please review,

Phil.

Based-on: <20210413081008.3409459-1-f4bug@amsat.org>
          "exec: Remove accel/tcg/ from include paths"

Philippe Mathieu-Daudé (29):
  target/mips: Simplify meson TCG rules
  target/mips: Move IEEE rounding mode array to new source file
  target/mips: Move msa_reset() to new source file
  target/mips: Make CPU/FPU regnames[] arrays global
  target/mips: Optimize CPU/FPU regnames[] arrays
  target/mips: Restrict mips_cpu_dump_state() to cpu.c
  target/mips: Turn printfpr() macro into a proper function
  target/mips: Declare mips_cpu_set_error_pc() inlined in "internal.h"
  target/mips: Extract load/store helpers to ldst_helper.c
  meson: Introduce meson_user_arch source set for arch-specific
    user-mode
  target/mips: Introduce tcg-internal.h for TCG specific declarations
  target/mips: Add simple user-mode mips_cpu_do_interrupt()
  target/mips: Add simple user-mode mips_cpu_tlb_fill()
  target/mips: Move cpu_signal_handler definition around
  target/mips: Move sysemu specific files under sysemu/ subfolder
  target/mips: Move physical addressing code to sysemu/physaddr.c
  target/mips: Restrict cpu_mips_get_random() / update_pagemask() to TCG
  target/mips: Move sysemu TCG-specific code to tcg/sysemu/ subfolder
  target/mips: Restrict mmu_init() to TCG
  target/mips: Move tlb_helper.c to tcg/sysemu/
  target/mips: Restrict CPUMIPSTLBContext::map_address() handlers scope
  target/mips: Move Special opcodes to tcg/sysemu/special_helper.c
  target/mips: Move helper_cache() to tcg/sysemu/special_helper.c
  target/mips: Move TLB management helpers to tcg/sysemu/tlb_helper.c
  target/mips: Move exception management code to exception.c
  target/mips: Move CP0 helpers to sysemu/cp0.c
  target/mips: Move TCG source files under tcg/ sub directory
  hw/mips: Restrict non-virtualized machines to TCG
  gitlab-ci: Add KVM mips64el cross-build jobs

 meson.build                                  |    6 +
 target/mips/helper.h                         |  183 +--
 target/mips/internal.h                       |  106 +-
 target/mips/tcg/tcg-internal.h               |   64 +
 target/mips/{ => tcg}/msa_helper.h.inc       |    0
 target/mips/tcg/sysemu_helper.h.inc          |  185 +++
 target/mips/{ => tcg}/mips32r6.decode        |    0
 target/mips/{ => tcg}/mips64r6.decode        |    0
 target/mips/{ => tcg}/msa32.decode           |    0
 target/mips/{ => tcg}/msa64.decode           |    0
 target/mips/{ => tcg}/tx79.decode            |    0
 target/mips/cpu.c                            |  311 ++---
 target/mips/fpu.c                            |   25 +
 target/mips/msa.c                            |   60 +
 target/mips/op_helper.c                      | 1210 ------------------
 target/mips/{ => sysemu}/addr.c              |    0
 target/mips/sysemu/cp0.c                     |  123 ++
 target/mips/{ => sysemu}/cp0_timer.c         |    0
 target/mips/{ => sysemu}/machine.c           |    0
 target/mips/sysemu/physaddr.c                |  257 ++++
 target/mips/{ => tcg}/dsp_helper.c           |    0
 target/mips/tcg/exception.c                  |  169 +++
 target/mips/{ => tcg}/fpu_helper.c           |    8 -
 target/mips/tcg/ldst_helper.c                |  304 +++++
 target/mips/{ => tcg}/lmmi_helper.c          |    0
 target/mips/{ => tcg}/msa_helper.c           |   36 -
 target/mips/{ => tcg}/msa_translate.c        |    0
 target/mips/{ => tcg}/mxu_translate.c        |    0
 target/mips/tcg/op_helper.c                  |  421 ++++++
 target/mips/{ => tcg}/rel6_translate.c       |    0
 target/mips/{ => tcg/sysemu}/cp0_helper.c    |    0
 target/mips/{ => tcg/sysemu}/mips-semi.c     |    0
 target/mips/tcg/sysemu/special_helper.c      |  173 +++
 target/mips/{ => tcg/sysemu}/tlb_helper.c    |  612 +++++----
 target/mips/{ => tcg}/translate.c            |  104 +-
 target/mips/{ => tcg}/translate_addr_const.c |    0
 target/mips/{ => tcg}/tx79_translate.c       |    0
 target/mips/{ => tcg}/txx9_translate.c       |    0
 target/mips/tcg/user/tlb_helper.c            |   64 +
 .gitlab-ci.d/crossbuilds.yml                 |    8 +
 MAINTAINERS                                  |    3 +-
 hw/mips/meson.build                          |   11 +-
 target/mips/meson.build                      |   55 +-
 target/mips/sysemu/meson.build               |    7 +
 target/mips/tcg/meson.build                  |   35 +
 target/mips/tcg/sysemu/meson.build           |    6 +
 target/mips/tcg/user/meson.build             |    3 +
 47 files changed, 2407 insertions(+), 2142 deletions(-)
 create mode 100644 target/mips/tcg/tcg-internal.h
 rename target/mips/{ => tcg}/msa_helper.h.inc (100%)
 create mode 100644 target/mips/tcg/sysemu_helper.h.inc
 rename target/mips/{ => tcg}/mips32r6.decode (100%)
 rename target/mips/{ => tcg}/mips64r6.decode (100%)
 rename target/mips/{ => tcg}/msa32.decode (100%)
 rename target/mips/{ => tcg}/msa64.decode (100%)
 rename target/mips/{ => tcg}/tx79.decode (100%)
 create mode 100644 target/mips/fpu.c
 create mode 100644 target/mips/msa.c
 delete mode 100644 target/mips/op_helper.c
 rename target/mips/{ => sysemu}/addr.c (100%)
 create mode 100644 target/mips/sysemu/cp0.c
 rename target/mips/{ => sysemu}/cp0_timer.c (100%)
 rename target/mips/{ => sysemu}/machine.c (100%)
 create mode 100644 target/mips/sysemu/physaddr.c
 rename target/mips/{ => tcg}/dsp_helper.c (100%)
 create mode 100644 target/mips/tcg/exception.c
 rename target/mips/{ => tcg}/fpu_helper.c (99%)
 create mode 100644 target/mips/tcg/ldst_helper.c
 rename target/mips/{ => tcg}/lmmi_helper.c (100%)
 rename target/mips/{ => tcg}/msa_helper.c (99%)
 rename target/mips/{ => tcg}/msa_translate.c (100%)
 rename target/mips/{ => tcg}/mxu_translate.c (100%)
 create mode 100644 target/mips/tcg/op_helper.c
 rename target/mips/{ => tcg}/rel6_translate.c (100%)
 rename target/mips/{ => tcg/sysemu}/cp0_helper.c (100%)
 rename target/mips/{ => tcg/sysemu}/mips-semi.c (100%)
 create mode 100644 target/mips/tcg/sysemu/special_helper.c
 rename target/mips/{ => tcg/sysemu}/tlb_helper.c (76%)
 rename target/mips/{ => tcg}/translate.c (99%)
 rename target/mips/{ => tcg}/translate_addr_const.c (100%)
 rename target/mips/{ => tcg}/tx79_translate.c (100%)
 rename target/mips/{ => tcg}/txx9_translate.c (100%)
 create mode 100644 target/mips/tcg/user/tlb_helper.c
 create mode 100644 target/mips/sysemu/meson.build
 create mode 100644 target/mips/tcg/meson.build
 create mode 100644 target/mips/tcg/sysemu/meson.build
 create mode 100644 target/mips/tcg/user/meson.build

Comments

no-reply@patchew.org April 18, 2021, 11:03 p.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/20210418225058.1257014-1-f4bug@amsat.org/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 20210418225058.1257014-1-f4bug@amsat.org
Subject: [PATCH v2 00/29] target/mips: Re-org to allow KVM-only builds

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]      patchew/20210418163134.1133100-1-f4bug@amsat.org -> patchew/20210418163134.1133100-1-f4bug@amsat.org
 * [new tag]         patchew/20210418225058.1257014-1-f4bug@amsat.org -> patchew/20210418225058.1257014-1-f4bug@amsat.org
Switched to a new branch 'test'
686d87a gitlab-ci: Add KVM mips64el cross-build jobs
6892737 hw/mips: Restrict non-virtualized machines to TCG
d55d3a0 target/mips: Move TCG source files under tcg/ sub directory
b158932 target/mips: Move CP0 helpers to sysemu/cp0.c
36ed45f target/mips: Move exception management code to exception.c
8086a23 target/mips: Move TLB management helpers to tcg/sysemu/tlb_helper.c
411fe68 target/mips: Move helper_cache() to tcg/sysemu/special_helper.c
3b48e47 target/mips: Move Special opcodes to tcg/sysemu/special_helper.c
6b27ac4 target/mips: Restrict CPUMIPSTLBContext::map_address() handlers scope
0ba1d79 target/mips: Move tlb_helper.c to tcg/sysemu/
c13ccc6 target/mips: Restrict mmu_init() to TCG
1f23674 target/mips: Move sysemu TCG-specific code to tcg/sysemu/ subfolder
e99f746 target/mips: Restrict cpu_mips_get_random() / update_pagemask() to TCG
d738b53 target/mips: Move physical addressing code to sysemu/physaddr.c
53c0561 target/mips: Move sysemu specific files under sysemu/ subfolder
2db9661 target/mips: Move cpu_signal_handler definition around
922e532 target/mips: Add simple user-mode mips_cpu_tlb_fill()
b490e0c target/mips: Add simple user-mode mips_cpu_do_interrupt()
e50303f target/mips: Introduce tcg-internal.h for TCG specific declarations
3a5a7e4 meson: Introduce meson_user_arch source set for arch-specific user-mode
f7abf7e6 target/mips: Extract load/store helpers to ldst_helper.c
d32351e target/mips: Declare mips_cpu_set_error_pc() inlined in "internal.h"
ed5faec target/mips: Turn printfpr() macro into a proper function
3dd608f target/mips: Restrict mips_cpu_dump_state() to cpu.c
4f5c9f4 target/mips: Optimize CPU/FPU regnames[] arrays
9bb0ffe target/mips: Make CPU/FPU regnames[] arrays global
d7b68ee target/mips: Move msa_reset() to new source file
c058012 target/mips: Move IEEE rounding mode array to new source file
f7acb82 target/mips: Simplify meson TCG rules

=== OUTPUT BEGIN ===
1/29 Checking commit f7acb82c17d8 (target/mips: Simplify meson TCG rules)
2/29 Checking commit c05801205ab1 (target/mips: Move IEEE rounding mode array to new source file)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#31: 
new file mode 100644

total: 0 errors, 1 warnings, 39 lines checked

Patch 2/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/29 Checking commit d7b68ee9d4f7 (target/mips: Move msa_reset() to new source file)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#37: 
new file mode 100644

total: 0 errors, 1 warnings, 70 lines checked

Patch 3/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/29 Checking commit 9bb0ffec8d1f (target/mips: Make CPU/FPU regnames[] arrays global)
5/29 Checking commit 4f5c9f47b7c1 (target/mips: Optimize CPU/FPU regnames[] arrays)
6/29 Checking commit 3dd608f1c8eb (target/mips: Restrict mips_cpu_dump_state() to cpu.c)
7/29 Checking commit ed5faec21b4c (target/mips: Turn printfpr() macro into a proper function)
8/29 Checking commit d32351edac7d (target/mips: Declare mips_cpu_set_error_pc() inlined in "internal.h")
9/29 Checking commit f7abf7e60011 (target/mips: Extract load/store helpers to ldst_helper.c)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#18: 
new file mode 100644

total: 0 errors, 1 warnings, 591 lines checked

Patch 9/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
10/29 Checking commit 3a5a7e410ac4 (meson: Introduce meson_user_arch source set for arch-specific user-mode)
11/29 Checking commit e50303f37f8c (target/mips: Introduce tcg-internal.h for TCG specific declarations)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#54: 
new file mode 100644

total: 0 errors, 1 warnings, 45 lines checked

Patch 11/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
12/29 Checking commit b490e0c4a933 (target/mips: Add simple user-mode mips_cpu_do_interrupt())
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#54: 
new file mode 100644

total: 0 errors, 1 warnings, 76 lines checked

Patch 12/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
13/29 Checking commit 922e532368ff (target/mips: Add simple user-mode mips_cpu_tlb_fill())
14/29 Checking commit 2db9661fe870 (target/mips: Move cpu_signal_handler definition around)
15/29 Checking commit 53c0561efa4c (target/mips: Move sysemu specific files under sysemu/ subfolder)
16/29 Checking commit d738b5317355 (target/mips: Move physical addressing code to sysemu/physaddr.c)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#76: 
new file mode 100644

total: 0 errors, 1 warnings, 573 lines checked

Patch 16/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
17/29 Checking commit e99f746b2788 (target/mips: Restrict cpu_mips_get_random() / update_pagemask() to TCG)
18/29 Checking commit 1f23674e1214 (target/mips: Move sysemu TCG-specific code to tcg/sysemu/ subfolder)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#19: 
 target/mips/{ => tcg/sysemu}/cp0_helper.c |   0

total: 0 errors, 1 warnings, 371 lines checked

Patch 18/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
19/29 Checking commit c13ccc6e44fd (target/mips: Restrict mmu_init() to TCG)
20/29 Checking commit 0ba1d79da448 (target/mips: Move tlb_helper.c to tcg/sysemu/)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#24: 
 target/mips/{ => tcg/sysemu}/tlb_helper.c | 3 ---

total: 0 errors, 1 warnings, 59 lines checked

Patch 20/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
21/29 Checking commit 6b27ac4efdd1 (target/mips: Restrict CPUMIPSTLBContext::map_address() handlers scope)
22/29 Checking commit 3b48e4738494 (target/mips: Move Special opcodes to tcg/sysemu/special_helper.c)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#194: 
new file mode 100644

total: 0 errors, 1 warnings, 311 lines checked

Patch 22/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
23/29 Checking commit 411fe68dd7dc (target/mips: Move helper_cache() to tcg/sysemu/special_helper.c)
24/29 Checking commit 8086a23309c9 (target/mips: Move TLB management helpers to tcg/sysemu/tlb_helper.c)
ERROR: space prohibited after that '&' (ctx:WxW)
#456: FILE: target/mips/tcg/sysemu/tlb_helper.c:71:
+    tlb->XI0 = (env->CP0_EntryLo0 >> CP0EnLo_XI) & 1;
                                                  ^

ERROR: space prohibited after that '&' (ctx:WxW)
#457: FILE: target/mips/tcg/sysemu/tlb_helper.c:72:
+    tlb->RI0 = (env->CP0_EntryLo0 >> CP0EnLo_RI) & 1;
                                                  ^

ERROR: space prohibited after that '&' (ctx:WxW)
#462: FILE: target/mips/tcg/sysemu/tlb_helper.c:77:
+    tlb->XI1 = (env->CP0_EntryLo1 >> CP0EnLo_XI) & 1;
                                                  ^

ERROR: space prohibited after that '&' (ctx:WxW)
#463: FILE: target/mips/tcg/sysemu/tlb_helper.c:78:
+    tlb->RI1 = (env->CP0_EntryLo1 >> CP0EnLo_RI) & 1;
                                                  ^

total: 4 errors, 0 warnings, 720 lines checked

Patch 24/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

25/29 Checking commit 36ed45f5cd34 (target/mips: Move exception management code to exception.c)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#158: 
new file mode 100644

total: 0 errors, 1 warnings, 404 lines checked

Patch 25/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
26/29 Checking commit b158932ca92f (target/mips: Move CP0 helpers to sysemu/cp0.c)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#161: 
new file mode 100644

ERROR: space prohibited after that '&' (ctx:WxW)
#205: FILE: target/mips/sysemu/cp0.c:40:
+    cu = (v >> CP0St_CU0) & 0xf;
                           ^

ERROR: space prohibited after that '&' (ctx:WxW)
#206: FILE: target/mips/sysemu/cp0.c:41:
+    mx = (v >> CP0St_MX) & 0x1;
                          ^

ERROR: space prohibited after that '&' (ctx:WxW)
#207: FILE: target/mips/sysemu/cp0.c:42:
+    ksu = (v >> CP0St_KSU) & 0x3;
                            ^

ERROR: space prohibited after that '&' (ctx:WxW)
#234: FILE: target/mips/sysemu/cp0.c:69:
+        uint32_t ksux = (1 << CP0St_KX) & val;
                                         ^

ERROR: space prohibited after that '&' (ctx:WxW)
#242: FILE: target/mips/sysemu/cp0.c:77:
+        mask &= ~(((1 << CP0St_SR) | (1 << CP0St_NMI)) & val);
                                                        ^

ERROR: space prohibited after that '&' (ctx:WxW)
#269: FILE: target/mips/sysemu/cp0.c:104:
+        mask &= ~((1 << CP0Ca_WP) & val);
                                   ^

ERROR: space prohibited after that '&' (ctx:WxW)
#274: FILE: target/mips/sysemu/cp0.c:109:
+    if ((old ^ env->CP0_Cause) & (1 << CP0Ca_DC)) {
                                ^

ERROR: space prohibited after that '&' (ctx:WxW)
#284: FILE: target/mips/sysemu/cp0.c:119:
+        if ((old ^ env->CP0_Cause) & (1 << (CP0Ca_IP + i))) {
                                    ^

total: 8 errors, 1 warnings, 257 lines checked

Patch 26/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

27/29 Checking commit d55d3a00d451 (target/mips: Move TCG source files under tcg/ sub directory)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#24: 
 target/mips/{ => tcg}/dsp_helper.c           |  0

total: 0 errors, 1 warnings, 144 lines checked

Patch 27/29 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
28/29 Checking commit 689273756f89 (hw/mips: Restrict non-virtualized machines to TCG)
29/29 Checking commit 686d87a57221 (gitlab-ci: Add KVM mips64el cross-build jobs)
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20210418225058.1257014-1-f4bug@amsat.org/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com