[risu PATCH v3 0/7] Add support for s390x to RISU

Thomas Huth posted 7 patches 8 months ago
Failed in applying to current master (apply log)
.travis.yml                |  37 ++++++++
build-all-archs            |   3 +-
configure                  |   4 +-
risu.c                     |  12 +--
risu.h                     |   2 +-
risu_reginfo_aarch64.c     |   2 +-
risu_reginfo_arm.c         |   2 +-
risu_reginfo_i386.c        |   2 +-
risu_reginfo_loongarch64.c |   2 +-
risu_reginfo_m68k.c        |   2 +-
risu_reginfo_ppc64.c       |   2 +-
risu_reginfo_s390x.c       | 140 ++++++++++++++++++++++++++++
risu_reginfo_s390x.h       |  25 +++++
risu_s390x.c               |  51 ++++++++++
risugen_s390x.pm           | 186 +++++++++++++++++++++++++++++++++++++
s390x.risu                 |  81 ++++++++++++++++
test_s390x.S               |  53 +++++++++++
17 files changed, 591 insertions(+), 15 deletions(-)
create mode 100644 .travis.yml
create mode 100644 risu_reginfo_s390x.c
create mode 100644 risu_reginfo_s390x.h
create mode 100644 risu_s390x.c
create mode 100644 risugen_s390x.pm
create mode 100644 s390x.risu
create mode 100644 test_s390x.S
[risu PATCH v3 0/7] Add support for s390x to RISU
Posted by Thomas Huth 8 months ago
 Hi Peter!

Here are some patches that add basic support for s390x to RISU.
It's still quite limited, e.g. no support for load/store memory
operations yet, but the basics with simple 16-bit or 32-bit
instructions work *now* already fine.

(I'm also already experimenting in extending RISU to support
instructions with opcodes lengths > 32-bit, but the patches
are not quite ready yet)

v3:
- Use si_addr to get the address of the faulting instruction
  (since the PSW address in the ucontext already points to the
  next instruction)
- Use the kernel header asm/ucontext.h instead the one from the
  glibc since the latter does not provide information about
  vector registers (VRs are not used yet, but will be added later)
- Disable exceptions in the floating point control register so
  we can also test floating point instructions
- Added some more instructions to s390x.risu
- Added RFC patch to compile test aarch64, ppc64le and s390x on
  Travis-CI

v2:
- Removed the code to avoid r14 (return address) and r15 (stack pointer)
  since it is not necessary anymore since commit ad82a069e8d6a
- Initialize the floating point registers in test_s390x.S, too
- Added Acked-bys and Reviewed-bys from v1

Thomas Huth (7):
  Pass siginfo_t->si_addr to the reginfo_init() function
  s390x: Add basic s390x support to the C code
  s390x: Add simple s390x.risu file
  s390x: Add basic risugen perl module for s390x
  s390x: Update the configure script for s390x support
  build-all-archs: Add s390x to the script that builds all architectures
  Add a travis.yml file for testing RISU in the Travis-CI

 .travis.yml                |  37 ++++++++
 build-all-archs            |   3 +-
 configure                  |   4 +-
 risu.c                     |  12 +--
 risu.h                     |   2 +-
 risu_reginfo_aarch64.c     |   2 +-
 risu_reginfo_arm.c         |   2 +-
 risu_reginfo_i386.c        |   2 +-
 risu_reginfo_loongarch64.c |   2 +-
 risu_reginfo_m68k.c        |   2 +-
 risu_reginfo_ppc64.c       |   2 +-
 risu_reginfo_s390x.c       | 140 ++++++++++++++++++++++++++++
 risu_reginfo_s390x.h       |  25 +++++
 risu_s390x.c               |  51 ++++++++++
 risugen_s390x.pm           | 186 +++++++++++++++++++++++++++++++++++++
 s390x.risu                 |  81 ++++++++++++++++
 test_s390x.S               |  53 +++++++++++
 17 files changed, 591 insertions(+), 15 deletions(-)
 create mode 100644 .travis.yml
 create mode 100644 risu_reginfo_s390x.c
 create mode 100644 risu_reginfo_s390x.h
 create mode 100644 risu_s390x.c
 create mode 100644 risugen_s390x.pm
 create mode 100644 s390x.risu
 create mode 100644 test_s390x.S

-- 
2.41.0
Re: [risu PATCH v3 0/7] Add support for s390x to RISU
Posted by Peter Maydell 8 months ago
On Thu, 14 Sept 2023 at 12:33, Thomas Huth <thuth@redhat.com> wrote:
>
>  Hi Peter!
>
> Here are some patches that add basic support for s390x to RISU.
> It's still quite limited, e.g. no support for load/store memory
> operations yet, but the basics with simple 16-bit or 32-bit
> instructions work *now* already fine.
>
> (I'm also already experimenting in extending RISU to support
> instructions with opcodes lengths > 32-bit, but the patches
> are not quite ready yet)

Hi; I've applied these patches to risu master, except for
the last Travis one -- I'm not sure that makes sense for
the upstream repo given it doesn't use Travis.

thanks
-- PMM