mbox

[PULL,v2,00/20] misc patch queue

Message ID 20240409193603.1703216-1-richard.henderson@linaro.org
State New
Headers show

Pull-request

https://gitlab.com/rth7680/qemu.git tags/pull-misc-20240409

Message

Richard Henderson April 9, 2024, 7:35 p.m. UTC
Defer 16 patches to 9.1; add fix for -strace.

r~


The following changes since commit bc0cd4ae881dff47e81581a8fea93a50b1d1dbe7:

  Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu into staging (2024-04-09 09:51:07 +0100)

are available in the Git repository at:

  https://gitlab.com/rth7680/qemu.git tags/pull-misc-20240409

for you to fetch changes up to 143bcc1d59f174b6c6743bd4ca8f99415ed1aba2:

  linux-user: Preserve unswapped siginfo_t for strace (2024-04-09 07:47:11 -1000)

----------------------------------------------------------------
target/m68k: Fix fp accrued exception reporting
target/hppa: Fix IIAOQ, IIASQ for pa2.0
target/sh4: Fixes to mac.l and mac.w saturation
target/sh4: Fixes to illegal delay slot reporting
linux-user: Fix waitid return of siginfo_t and rusage
linux-user: Preserve unswapped siginfo_t for strace
tcg/optimize: Do not attempt to constant fold neg_vec
accel/tcg: Improve can_do_io management, mmio bug fix

----------------------------------------------------------------
Keith Packard (1):
      target/m68k: Map FPU exceptions to FPSR register

Nguyen Dinh Phi (1):
      linux-user: replace calloc() with g_new0()

Richard Henderson (14):
      tcg/optimize: Do not attempt to constant fold neg_vec
      linux-user: Fix waitid return of siginfo_t and rusage
      target/hppa: Fix IIAOQ, IIASQ for pa2.0
      target/sh4: Merge mach and macl into a union
      tcg: Add TCGContext.emit_before_op
      accel/tcg: Add insn_start to DisasContextBase
      target/arm: Use insn_start from DisasContextBase
      target/hppa: Use insn_start from DisasContextBase
      target/i386: Preserve DisasContextBase.insn_start across rewind
      target/microblaze: Use insn_start from DisasContextBase
      target/riscv: Use insn_start from DisasContextBase
      target/s390x: Use insn_start from DisasContextBase
      accel/tcg: Improve can_do_io management
      linux-user: Preserve unswapped siginfo_t for strace

Zack Buhman (4):
      target/sh4: mac.w: memory accesses are 16-bit words
      target/sh4: Fix mac.l with saturation enabled
      target/sh4: Fix mac.w with saturation enabled
      target/sh4: add missing CHECK_NOT_DELAY_SLOT

 include/exec/translator.h         |  4 ++-
 include/tcg/tcg.h                 |  6 ++++
 target/arm/tcg/translate.h        | 12 +++----
 target/m68k/cpu.h                 |  3 +-
 target/m68k/helper.h              |  2 ++
 target/sh4/cpu.h                  | 14 ++++++--
 target/sh4/helper.h               |  4 +--
 accel/tcg/translator.c            | 47 +++++++++++++------------
 linux-user/main.c                 |  6 +---
 linux-user/signal.c               | 12 +++++--
 linux-user/syscall.c              | 22 ++++++++----
 target/arm/tcg/translate-a64.c    |  2 +-
 target/arm/tcg/translate.c        |  2 +-
 target/hppa/int_helper.c          | 20 ++++++-----
 target/hppa/sys_helper.c          | 18 +++++-----
 target/hppa/translate.c           | 10 +++---
 target/i386/tcg/translate.c       |  3 ++
 target/m68k/cpu.c                 | 12 +++++--
 target/m68k/fpu_helper.c          | 72 +++++++++++++++++++++++++++++++++++++++
 target/m68k/helper.c              |  4 +--
 target/m68k/translate.c           |  4 +--
 target/microblaze/translate.c     |  8 ++---
 target/riscv/translate.c          | 11 +++---
 target/s390x/tcg/translate.c      |  4 +--
 target/sh4/op_helper.c            | 51 +++++++++++++++------------
 target/sh4/translate.c            |  7 ++--
 tcg/optimize.c                    | 17 +++++----
 tcg/tcg.c                         | 14 ++++++--
 tests/tcg/aarch64/test-2150.c     | 12 +++++++
 tests/tcg/sh4/test-macl.c         | 67 ++++++++++++++++++++++++++++++++++++
 tests/tcg/sh4/test-macw.c         | 61 +++++++++++++++++++++++++++++++++
 tests/tcg/aarch64/Makefile.target |  2 +-
 tests/tcg/sh4/Makefile.target     |  8 +++++
 33 files changed, 412 insertions(+), 129 deletions(-)
 create mode 100644 tests/tcg/aarch64/test-2150.c
 create mode 100644 tests/tcg/sh4/test-macl.c
 create mode 100644 tests/tcg/sh4/test-macw.c

Comments

Peter Maydell April 10, 2024, 1:42 p.m. UTC | #1
On Tue, 9 Apr 2024 at 20:39, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> Defer 16 patches to 9.1; add fix for -strace.
>
> r~
>
>
> The following changes since commit bc0cd4ae881dff47e81581a8fea93a50b1d1dbe7:
>
>   Merge tag 'for_upstream' of https://git.kernel.org/pub/scm/virt/kvm/mst/qemu into staging (2024-04-09 09:51:07 +0100)
>
> are available in the Git repository at:
>
>   https://gitlab.com/rth7680/qemu.git tags/pull-misc-20240409
>
> for you to fetch changes up to 143bcc1d59f174b6c6743bd4ca8f99415ed1aba2:
>
>   linux-user: Preserve unswapped siginfo_t for strace (2024-04-09 07:47:11 -1000)
>
> ----------------------------------------------------------------
> target/m68k: Fix fp accrued exception reporting
> target/hppa: Fix IIAOQ, IIASQ for pa2.0
> target/sh4: Fixes to mac.l and mac.w saturation
> target/sh4: Fixes to illegal delay slot reporting
> linux-user: Fix waitid return of siginfo_t and rusage
> linux-user: Preserve unswapped siginfo_t for strace
> tcg/optimize: Do not attempt to constant fold neg_vec
> accel/tcg: Improve can_do_io management, mmio bug fix
>


Applied, thanks.

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

-- PMM
Michael Tokarev April 10, 2024, 4:10 p.m. UTC | #2
09.04.2024 22:35, Richard Henderson wrote:

> target/m68k: Fix fp accrued exception reporting
> target/hppa: Fix IIAOQ, IIASQ for pa2.0
> target/sh4: Fixes to mac.l and mac.w saturation
> target/sh4: Fixes to illegal delay slot reporting
> linux-user: Fix waitid return of siginfo_t and rusage
> linux-user: Preserve unswapped siginfo_t for strace
> tcg/optimize: Do not attempt to constant fold neg_vec
> accel/tcg: Improve can_do_io management, mmio bug fix

 From this list, do we pick something for stable?
It looks like

  tcg/optimize: Do not attempt to constant fold neg_vec
  linux-user: Fix waitid return of siginfo_t and rusage
  target/hppa: Fix IIAOQ, IIASQ for pa2.0

should be picked.

 From sh4 mac* et al, this can be picked too:

  target/sh4: mac.w: memory accesses are 16-bit words

but I dunno about the others:

  target/sh4: Merge mach and macl into a union
  target/sh4: Fix mac.l with saturation enabled
  target/sh4: Fix mac.w with saturation enabled
  target/sh4: add missing CHECK_NOT_DELAY_SLOT
  target/m68k: Map FPU exceptions to FPSR register

A long(ish) DisasContextBase series leading to

   accel/tcg: Improve can_do_io management

probably should not go to stable.

Adding changes authors and reviewers to the Cc list
for comments.

Thanks,

/mjt

> ----------------------------------------------------------------
> Keith Packard (1):
>        target/m68k: Map FPU exceptions to FPSR register
> 
> Nguyen Dinh Phi (1):
>        linux-user: replace calloc() with g_new0()
> 
> Richard Henderson (14):
>        tcg/optimize: Do not attempt to constant fold neg_vec
>        linux-user: Fix waitid return of siginfo_t and rusage
>        target/hppa: Fix IIAOQ, IIASQ for pa2.0
>        target/sh4: Merge mach and macl into a union
>        tcg: Add TCGContext.emit_before_op
>        accel/tcg: Add insn_start to DisasContextBase
>        target/arm: Use insn_start from DisasContextBase
>        target/hppa: Use insn_start from DisasContextBase
>        target/i386: Preserve DisasContextBase.insn_start across rewind
>        target/microblaze: Use insn_start from DisasContextBase
>        target/riscv: Use insn_start from DisasContextBase
>        target/s390x: Use insn_start from DisasContextBase
>        accel/tcg: Improve can_do_io management
>        linux-user: Preserve unswapped siginfo_t for strace
> 
> Zack Buhman (4):
>        target/sh4: mac.w: memory accesses are 16-bit words
>        target/sh4: Fix mac.l with saturation enabled
>        target/sh4: Fix mac.w with saturation enabled
>        target/sh4: add missing CHECK_NOT_DELAY_SLOT
Richard Henderson April 10, 2024, 4:38 p.m. UTC | #3
On 4/10/24 06:10, Michael Tokarev wrote:
>  From this list, do we pick something for stable?
> It looks like
> 
>   tcg/optimize: Do not attempt to constant fold neg_vec
>   linux-user: Fix waitid return of siginfo_t and rusage

Yes.

>   target/hppa: Fix IIAOQ, IIASQ for pa2.0

This is for hppa64, so not further back than 8.2, or not at all -- hppa64 is really still 
in development.

> 
>  From sh4 mac* et al, this can be picked too:
> 
>   target/sh4: mac.w: memory accesses are 16-bit words
> 
> but I dunno about the others:
> 
>   target/sh4: Merge mach and macl into a union
>   target/sh4: Fix mac.l with saturation enabled
>   target/sh4: Fix mac.w with saturation enabled
>   target/sh4: add missing CHECK_NOT_DELAY_SLOT
>   target/m68k: Map FPU exceptions to FPSR register

Yes.

> A long(ish) DisasContextBase series leading to
> 
>    accel/tcg: Improve can_do_io management
> 
> probably should not go to stable.

Probably not, or at least not further back than 8.2.


r~
Michael Tokarev April 10, 2024, 5:44 p.m. UTC | #4
10.04.2024 19:38, Richard Henderson:

>>   target/hppa: Fix IIAOQ, IIASQ for pa2.0
> 
> This is for hppa64, so not further back than 8.2, or not at all -- hppa64 is really still in development.

We had a few other fixes for hppa64 for 8.2.
I was unsure about this since hppa64 appeared in 8.2
for the first time and sure thing it contains a ton
of bugs.

This one is a bit more difficult as it also needs
7d50b69660 "target/hppa: Use gva_offset_mask() everywhere", -
I wont force it in, despite it being a small change.

>>  From sh4 mac* et al, this can be picked too:
>>
>>   target/sh4: mac.w: memory accesses are 16-bit words
>>
>> but I dunno about the others:
>>
>>   target/sh4: Merge mach and macl into a union
>>   target/sh4: Fix mac.l with saturation enabled
>>   target/sh4: Fix mac.w with saturation enabled
>>   target/sh4: add missing CHECK_NOT_DELAY_SLOT
>>   target/m68k: Map FPU exceptions to FPSR register
> 
> Yes.

I picked all this for 8.2 but not for 7.2.  For 7.2,
there's quite some context missing in there.  Only
"add missing CHECK_NOT_DELAY_SLOT" is okay. Dunno
how relevant all these 6 changes for 7.2 are.

Thank you for the info!

/mjt