[PULL 00/34] target-arm queue

Test docker-mingw@fedora passed
Test checkpatch failed
Test asan passed
Test docker-quick@centos7 passed
Test FreeBSD passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200511133405.5275-1-peter.maydell@linaro.org
Maintainers: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Riku Voipio <riku.voipio@iki.fi>, Eduardo Habkost <ehabkost@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Richard Henderson <rth@twiddle.net>
There is a newer version of this series
docs/devel/loads-stores.rst    |   39 +-
include/exec/cpu-all.h         |   13 +-
include/exec/cpu_ldst.h        |  283 +++--
include/exec/exec-all.h        |   39 +
include/hw/arm/nrf51.h         |    3 +-
include/hw/core/cpu.h          |   23 +
include/hw/i2c/microbit_i2c.h  |    2 +-
include/hw/misc/aspeed_scu.h   |    1 +
include/hw/timer/nrf51_timer.h |    1 +
target/arm/cpu.h               |   10 +
target/arm/helper-sve.h        |   45 +-
target/arm/internals.h         |    5 -
accel/tcg/cputlb.c             |  413 ++++---
accel/tcg/user-exec.c          |  256 ++++-
exec.c                         |    2 +-
hw/arm/aspeed.c                |   73 +-
hw/arm/aspeed_ast2600.c        |    6 +-
hw/arm/musicpal.c              |   12 +-
hw/arm/nrf51_soc.c             |    9 +-
hw/i2c/microbit_i2c.c          |    2 +-
hw/misc/aspeed_scu.c           |   11 +-
hw/misc/aspeed_sdmc.c          |   55 +-
hw/timer/nrf51_timer.c         |   14 +-
target/arm/cpu.c               |  662 +----------
target/arm/cpu64.c             |   18 +-
target/arm/cpu_tcg.c           |  664 +++++++++++
target/arm/helper.c            |   30 +-
target/arm/kvm32.c             |   13 +-
target/arm/kvm64.c             |   22 +-
target/arm/sve_helper.c        | 2398 +++++++++++++++++++++-------------------
target/arm/translate-sve.c     |   93 +-
hw/timer/trace-events          |    5 +-
target/arm/Makefile.objs       |    1 +
33 files changed, 2975 insertions(+), 2248 deletions(-)
create mode 100644 target/arm/cpu_tcg.c
[PULL 00/34] target-arm queue
Posted by Peter Maydell 3 years, 11 months ago
The following changes since commit c88f1ffc19e38008a1c33ae039482a860aa7418c:

  Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2020-05-08 14:29:18 +0100)

are available in the Git repository at:

  https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20200511

for you to fetch changes up to 7e17d50ebd359ee5fa3d65d7fdc0fe0336d60694:

  target/arm: Fix tcg_gen_gvec_dup_imm vs DUP (indexed) (2020-05-11 14:22:54 +0100)

----------------------------------------------------------------
target-arm queue:
 aspeed: Add boot stub for smp booting
 target/arm: Drop access_el3_aa32ns_aa64any()
 aspeed: Support AST2600A1 silicon revision
 aspeed: sdmc: Implement AST2600 locking behaviour
 nrf51: Tracing cleanups
 target/arm: Improve handling of SVE loads and stores
 target/arm: Don't show TCG-only CPUs in KVM-only QEMU builds
 hw/arm/musicpal: Map the UART devices unconditionally
 target/arm: Fix tcg_gen_gvec_dup_imm vs DUP (indexed)
 target/arm: Use tcg_gen_gvec_5_ptr for sve FMLA/FCMLA

----------------------------------------------------------------
Edgar E. Iglesias (1):
      target/arm: Drop access_el3_aa32ns_aa64any()

Joel Stanley (3):
      aspeed: Add boot stub for smp booting
      aspeed: Support AST2600A1 silicon revision
      aspeed: sdmc: Implement AST2600 locking behaviour

Philippe Mathieu-Daudé (8):
      hw/arm/nrf51: Add NRF51_PERIPHERAL_SIZE definition
      hw/timer/nrf51_timer: Display timer ID in trace events
      hw/timer/nrf51_timer: Add trace event of counter value update
      target/arm/kvm: Inline set_feature() calls
      target/arm/cpu: Use ARRAY_SIZE() to iterate over ARMCPUInfo[]
      target/arm/cpu: Restrict v8M IDAU interface to Aarch32 CPUs
      target/arm: Restrict TCG cpus to TCG accel
      hw/arm/musicpal: Map the UART devices unconditionally

Richard Henderson (21):
      exec: Add block comments for watchpoint routines
      exec: Fix cpu_watchpoint_address_matches address length
      accel/tcg: Add block comment for probe_access
      accel/tcg: Adjust probe_access call to page_check_range
      accel/tcg: Add probe_access_flags
      accel/tcg: Add endian-specific cpu_{ld, st}* operations
      target/arm: Use cpu_*_data_ra for sve_ldst_tlb_fn
      target/arm: Drop manual handling of set/clear_helper_retaddr
      target/arm: Add sve infrastructure for page lookup
      target/arm: Adjust interface of sve_ld1_host_fn
      target/arm: Use SVEContLdSt in sve_ld1_r
      target/arm: Handle watchpoints in sve_ld1_r
      target/arm: Use SVEContLdSt for multi-register contiguous loads
      target/arm: Update contiguous first-fault and no-fault loads
      target/arm: Use SVEContLdSt for contiguous stores
      target/arm: Reuse sve_probe_page for gather first-fault loads
      target/arm: Reuse sve_probe_page for scatter stores
      target/arm: Reuse sve_probe_page for gather loads
      target/arm: Remove sve_memopidx
      target/arm: Use tcg_gen_gvec_5_ptr for sve FMLA/FCMLA
      target/arm: Fix tcg_gen_gvec_dup_imm vs DUP (indexed)

Thomas Huth (1):
      target/arm: Make set_feature() available for other files

 docs/devel/loads-stores.rst    |   39 +-
 include/exec/cpu-all.h         |   13 +-
 include/exec/cpu_ldst.h        |  283 +++--
 include/exec/exec-all.h        |   39 +
 include/hw/arm/nrf51.h         |    3 +-
 include/hw/core/cpu.h          |   23 +
 include/hw/i2c/microbit_i2c.h  |    2 +-
 include/hw/misc/aspeed_scu.h   |    1 +
 include/hw/timer/nrf51_timer.h |    1 +
 target/arm/cpu.h               |   10 +
 target/arm/helper-sve.h        |   45 +-
 target/arm/internals.h         |    5 -
 accel/tcg/cputlb.c             |  413 ++++---
 accel/tcg/user-exec.c          |  256 ++++-
 exec.c                         |    2 +-
 hw/arm/aspeed.c                |   73 +-
 hw/arm/aspeed_ast2600.c        |    6 +-
 hw/arm/musicpal.c              |   12 +-
 hw/arm/nrf51_soc.c             |    9 +-
 hw/i2c/microbit_i2c.c          |    2 +-
 hw/misc/aspeed_scu.c           |   11 +-
 hw/misc/aspeed_sdmc.c          |   55 +-
 hw/timer/nrf51_timer.c         |   14 +-
 target/arm/cpu.c               |  662 +----------
 target/arm/cpu64.c             |   18 +-
 target/arm/cpu_tcg.c           |  664 +++++++++++
 target/arm/helper.c            |   30 +-
 target/arm/kvm32.c             |   13 +-
 target/arm/kvm64.c             |   22 +-
 target/arm/sve_helper.c        | 2398 +++++++++++++++++++++-------------------
 target/arm/translate-sve.c     |   93 +-
 hw/timer/trace-events          |    5 +-
 target/arm/Makefile.objs       |    1 +
 33 files changed, 2975 insertions(+), 2248 deletions(-)
 create mode 100644 target/arm/cpu_tcg.c

Re: [PULL 00/34] target-arm queue
Posted by Peter Maydell 3 years, 11 months ago
On Mon, 11 May 2020 at 14:34, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> The following changes since commit c88f1ffc19e38008a1c33ae039482a860aa7418c:
>
>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2020-05-08 14:29:18 +0100)
>
> are available in the Git repository at:
>
>   https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20200511
>
> for you to fetch changes up to 7e17d50ebd359ee5fa3d65d7fdc0fe0336d60694:
>
>   target/arm: Fix tcg_gen_gvec_dup_imm vs DUP (indexed) (2020-05-11 14:22:54 +0100)
>
> ----------------------------------------------------------------
> target-arm queue:
>  aspeed: Add boot stub for smp booting
>  target/arm: Drop access_el3_aa32ns_aa64any()
>  aspeed: Support AST2600A1 silicon revision
>  aspeed: sdmc: Implement AST2600 locking behaviour
>  nrf51: Tracing cleanups
>  target/arm: Improve handling of SVE loads and stores
>  target/arm: Don't show TCG-only CPUs in KVM-only QEMU builds
>  hw/arm/musicpal: Map the UART devices unconditionally
>  target/arm: Fix tcg_gen_gvec_dup_imm vs DUP (indexed)
>  target/arm: Use tcg_gen_gvec_5_ptr for sve FMLA/FCMLA

Applied, thanks. (I just blew away the broken build trees which
had missing .d files -- it didn't seem worth trying to
investigate why they were missing, and they've been created
properly in the rebuild.)

Please update the changelog at https://wiki.qemu.org/ChangeLog/5.1
for any user-visible changes.

-- PMM

Re: [PULL 00/34] target-arm queue
Posted by no-reply@patchew.org 3 years, 11 months ago
Patchew URL: https://patchew.org/QEMU/20200511133405.5275-1-peter.maydell@linaro.org/



Hi,

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

Message-id: 20200511133405.5275-1-peter.maydell@linaro.org
Subject: [PULL 00/34] target-arm queue
Type: series

=== 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/20200508230823.22956-1-walling@linux.ibm.com -> patchew/20200508230823.22956-1-walling@linux.ibm.com
Switched to a new branch 'test'
9dfe2c2 target/arm: Fix tcg_gen_gvec_dup_imm vs DUP (indexed)
cfaddf9 target/arm: Use tcg_gen_gvec_5_ptr for sve FMLA/FCMLA
7b2835e hw/arm/musicpal: Map the UART devices unconditionally
25a82de target/arm: Restrict TCG cpus to TCG accel
ea192eb target/arm/cpu: Restrict v8M IDAU interface to Aarch32 CPUs
155a4fc target/arm/cpu: Use ARRAY_SIZE() to iterate over ARMCPUInfo[]
ae7d2bb target/arm: Make set_feature() available for other files
3580056 target/arm/kvm: Inline set_feature() calls
e1812d5 target/arm: Remove sve_memopidx
4c62164 target/arm: Reuse sve_probe_page for gather loads
a9d5f8c target/arm: Reuse sve_probe_page for scatter stores
f189a3c target/arm: Reuse sve_probe_page for gather first-fault loads
0036b73 target/arm: Use SVEContLdSt for contiguous stores
14753d7 target/arm: Update contiguous first-fault and no-fault loads
7e60f45 target/arm: Use SVEContLdSt for multi-register contiguous loads
bb5288a target/arm: Handle watchpoints in sve_ld1_r
ad4a669 target/arm: Use SVEContLdSt in sve_ld1_r
e5540d6 target/arm: Adjust interface of sve_ld1_host_fn
7feb92f target/arm: Add sve infrastructure for page lookup
9efa4b5 target/arm: Drop manual handling of set/clear_helper_retaddr
d9b5d7d target/arm: Use cpu_*_data_ra for sve_ldst_tlb_fn
4f7c0fe accel/tcg: Add endian-specific cpu_{ld, st}* operations
224ecf5 accel/tcg: Add probe_access_flags
c10fe3e accel/tcg: Adjust probe_access call to page_check_range
614fa6a accel/tcg: Add block comment for probe_access
e0d5231 exec: Fix cpu_watchpoint_address_matches address length
242ddfc exec: Add block comments for watchpoint routines
3991eff hw/timer/nrf51_timer: Add trace event of counter value update
1ab8730 hw/timer/nrf51_timer: Display timer ID in trace events
7cdf7df hw/arm/nrf51: Add NRF51_PERIPHERAL_SIZE definition
cdfa878 aspeed: sdmc: Implement AST2600 locking behaviour
188b075 aspeed: Support AST2600A1 silicon revision
39850d0 target/arm: Drop access_el3_aa32ns_aa64any()
cfdf77b aspeed: Add boot stub for smp booting

=== OUTPUT BEGIN ===
1/34 Checking commit cfdf77bca19f (aspeed: Add boot stub for smp booting)
2/34 Checking commit 39850d0702c1 (target/arm: Drop access_el3_aa32ns_aa64any())
3/34 Checking commit 188b075af0c6 (aspeed: Support AST2600A1 silicon revision)
4/34 Checking commit cdfa8784a707 (aspeed: sdmc: Implement AST2600 locking behaviour)
WARNING: line over 80 characters
#55: FILE: hw/misc/aspeed_sdmc.c:319:
+        s->regs[reg] = (data == PROT_KEY_UNLOCK) ? PROT_UNLOCKED : PROT_SOFTLOCKED;

WARNING: line over 80 characters
#72: FILE: hw/misc/aspeed_sdmc.c:377:
+        s->regs[reg] = (data == PROT_KEY_UNLOCK) ? PROT_UNLOCKED : PROT_SOFTLOCKED;

WARNING: line over 80 characters
#89: FILE: hw/misc/aspeed_sdmc.c:443:
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: SDMC is locked until system reset!\n",

total: 0 errors, 3 warnings, 87 lines checked

Patch 4/34 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
5/34 Checking commit 7cdf7df779d5 (hw/arm/nrf51: Add NRF51_PERIPHERAL_SIZE definition)
6/34 Checking commit 1ab873079bf9 (hw/timer/nrf51_timer: Display timer ID in trace events)
7/34 Checking commit 3991effa9b6b (hw/timer/nrf51_timer: Add trace event of counter value update)
8/34 Checking commit 242ddfc7ed54 (exec: Add block comments for watchpoint routines)
9/34 Checking commit e0d523194cd2 (exec: Fix cpu_watchpoint_address_matches address length)
10/34 Checking commit 614fa6a6fae8 (accel/tcg: Add block comment for probe_access)
11/34 Checking commit c10fe3ec0a64 (accel/tcg: Adjust probe_access call to page_check_range)
12/34 Checking commit 224ecf552a2b (accel/tcg: Add probe_access_flags)
13/34 Checking commit 4f7c0fe71952 (accel/tcg: Add endian-specific cpu_{ld, st}* operations)
14/34 Checking commit d9b5d7d5be19 (target/arm: Use cpu_*_data_ra for sve_ldst_tlb_fn)
ERROR: spaces required around that '*' (ctx:VxV)
#65: FILE: target/arm/sve_helper.c:4029:
+    TLB(env, addr, (TYPEM)*(TYPEE *)(vd + H(reg_off)), ra);                 \
                           ^

ERROR: spaces required around that '*' (ctx:WxV)
#155: FILE: target/arm/sve_helper.c:4162:
+                      sve_ldst1_tlb_fn *tlb_fn)
                                        ^

total: 2 errors, 0 warnings, 455 lines checked

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

15/34 Checking commit 9efa4b5ee7d6 (target/arm: Drop manual handling of set/clear_helper_retaddr)
16/34 Checking commit 7feb92f0d11c (target/arm: Add sve infrastructure for page lookup)
WARNING: Block comments use a leading /* on a separate line
#34: FILE: target/arm/sve_helper.c:1633:
+/* Big-endian hosts need to frob the byte indices.  If the copy

total: 0 errors, 1 warnings, 281 lines checked

Patch 16/34 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
17/34 Checking commit e5540d612369 (target/arm: Adjust interface of sve_ld1_host_fn)
18/34 Checking commit ad4a669635e4 (target/arm: Use SVEContLdSt in sve_ld1_r)
19/34 Checking commit bb5288aedcee (target/arm: Handle watchpoints in sve_ld1_r)
20/34 Checking commit 7e60f45c72a9 (target/arm: Use SVEContLdSt for multi-register contiguous loads)
21/34 Checking commit 14753d799ca0 (target/arm: Update contiguous first-fault and no-fault loads)
22/34 Checking commit 0036b7386e67 (target/arm: Use SVEContLdSt for contiguous stores)
23/34 Checking commit f189a3cb6bb4 (target/arm: Reuse sve_probe_page for gather first-fault loads)
24/34 Checking commit a9d5f8cc29ab (target/arm: Reuse sve_probe_page for scatter stores)
25/34 Checking commit 4c621648b45c (target/arm: Reuse sve_probe_page for gather loads)
26/34 Checking commit e1812d5c4e69 (target/arm: Remove sve_memopidx)
27/34 Checking commit 35800561704a (target/arm/kvm: Inline set_feature() calls)
28/34 Checking commit ae7d2bb1441d (target/arm: Make set_feature() available for other files)
29/34 Checking commit 155a4fc01861 (target/arm/cpu: Use ARRAY_SIZE() to iterate over ARMCPUInfo[])
30/34 Checking commit ea192ebb3a2a (target/arm/cpu: Restrict v8M IDAU interface to Aarch32 CPUs)
31/34 Checking commit 25a82de56c7f (target/arm: Restrict TCG cpus to TCG accel)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#698: 
new file mode 100644

total: 0 errors, 1 warnings, 1333 lines checked

Patch 31/34 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
32/34 Checking commit 7b2835e18978 (hw/arm/musicpal: Map the UART devices unconditionally)
33/34 Checking commit cfaddf9fd5e1 (target/arm: Use tcg_gen_gvec_5_ptr for sve FMLA/FCMLA)
34/34 Checking commit 9dfe2c2a2aec (target/arm: Fix tcg_gen_gvec_dup_imm vs DUP (indexed))
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20200511133405.5275-1-peter.maydell@linaro.org/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Re: [PULL 00/34] target-arm queue
Posted by Peter Maydell 3 years, 11 months ago
On Mon, 11 May 2020 at 14:34, Peter Maydell <peter.maydell@linaro.org> wrote:
>
> The following changes since commit c88f1ffc19e38008a1c33ae039482a860aa7418c:
>
>   Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging (2020-05-08 14:29:18 +0100)
>
> are available in the Git repository at:
>
>   https://git.linaro.org/people/pmaydell/qemu-arm.git tags/pull-target-arm-20200511
>
> for you to fetch changes up to 7e17d50ebd359ee5fa3d65d7fdc0fe0336d60694:
>
>   target/arm: Fix tcg_gen_gvec_dup_imm vs DUP (indexed) (2020-05-11 14:22:54 +0100)
>
> ----------------------------------------------------------------
> target-arm queue:
>  aspeed: Add boot stub for smp booting
>  target/arm: Drop access_el3_aa32ns_aa64any()
>  aspeed: Support AST2600A1 silicon revision
>  aspeed: sdmc: Implement AST2600 locking behaviour
>  nrf51: Tracing cleanups
>  target/arm: Improve handling of SVE loads and stores
>  target/arm: Don't show TCG-only CPUs in KVM-only QEMU builds
>  hw/arm/musicpal: Map the UART devices unconditionally
>  target/arm: Fix tcg_gen_gvec_dup_imm vs DUP (indexed)
>  target/arm: Use tcg_gen_gvec_5_ptr for sve FMLA/FCMLA

Hmm. I get this link failure, but only on non-x86 hosts
(aarch64, ppc, s390 [aarch32 ran into a temporary connectivity
problem and didn't run]):

linux-user/vm86.o: In function `do_int':
/home/pm/qemu/linux-user/vm86.c:224: undefined reference to `cpu_ldl_data'
linux-user/vm86.o: In function `vm_putw':
/home/pm/qemu/linux-user/vm86.c:46: undefined reference to `cpu_stw_data'
/home/pm/qemu/linux-user/vm86.c:46: undefined reference to `cpu_stw_data'
/home/pm/qemu/linux-user/vm86.c:46: undefined reference to `cpu_stw_data'
linux-user/vm86.o: In function `vm_getl':
/home/pm/qemu/linux-user/vm86.c:70: undefined reference to `cpu_ldl_data'
/home/pm/qemu/linux-user/vm86.c:70: undefined reference to `cpu_ldl_data'
/home/pm/qemu/linux-user/vm86.c:70: undefined reference to `cpu_ldl_data'
/home/pm/qemu/linux-user/vm86.c:70: undefined reference to `cpu_ldl_data'
linux-user/vm86.o: In function `vm_putl':
/home/pm/qemu/linux-user/vm86.c:52: undefined reference to `cpu_stl_data'
linux-user/vm86.o: In function `vm_putw':
/home/pm/qemu/linux-user/vm86.c:46: undefined reference to `cpu_stw_data'
linux-user/vm86.o: In function `vm_getw':
/home/pm/qemu/linux-user/vm86.c:64: undefined reference to `cpu_lduw_data'
/home/pm/qemu/linux-user/vm86.c:64: undefined reference to `cpu_lduw_data'
/home/pm/qemu/linux-user/vm86.c:64: undefined reference to `cpu_lduw_data'
/home/pm/qemu/linux-user/vm86.c:64: undefined reference to `cpu_lduw_data'
collect2: error: ld returned 1 exit status
Makefile:208: recipe for target 'qemu-i386' failed

Any idea what's going on here, Richard? Presumably it's fallout
from some change in the sve-loads-and-stores patchset...

thanks
-- PMM

Re: [PULL 00/34] target-arm queue
Posted by Peter Maydell 3 years, 11 months ago
On Mon, 11 May 2020 at 15:03, Peter Maydell <peter.maydell@linaro.org> wrote:
> Hmm. I get this link failure, but only on non-x86 hosts
> (aarch64, ppc, s390 [aarch32 ran into a temporary connectivity
> problem and didn't run]):
>
> linux-user/vm86.o: In function `do_int':
> /home/pm/qemu/linux-user/vm86.c:224: undefined reference to `cpu_ldl_data'

This seems to be because we're using a stale vm86.o (if you touch
linux-user/vm86.c then the build succeeds), which is in turn
because the build tree has i386-linux-user/linux-user/vm86.o but
no i386-linux-user/linux-user/vm86.d so it has no dependency
file to tell it that the header change means the object file
needs rebuilding. I have no idea how a build tree could get into
that state -- half the .o files in the i386-linux-user/linux-user/
directory have no .d, but half do...

thanks
-- PMM