|
From: Eugene S. <ev...@gm...> - 2018-01-18 06:40:46
|
Hello. This patch set introduces compat personality support on s390x along with decoders of s390-specific system calls. Unfortunately, I am no s390 expert by any means, so I likely have missed something. I also have little idea regarding applications where these s390-specific system calls are used, so the feedback regarding quality of the decoders is also welcome. Eugene Syromyatnikov (12): Add compat support for s390x Add print_quoted_string flag to generate comment print_fields.h: add macro to print hexadecimal array field Introduce s390_sthyi system call decoder tests: check s390_sthyi system call decoder Introduce s390_guarded_storage system call decoder tests: check s390_guarded_storage system call decoder Introduce s390_runtime_instr system call decoder tests: check s390_runtime_instr system call decoder Introduce s390_pci_mmio_read, s390_pci_mmio_write system call decoders tests: check s390_pci_mmio_read and s390_pci_mmio_write decoders Update NEWS Makefile.am | 1 + NEWS | 5 +- configure.ac | 7 +- defs.h | 3 +- linux/s390/arch_defs.h | 1 + linux/s390/arch_sigreturn.c | 16 +- linux/s390/get_error.c | 10 +- linux/s390/get_scno.c | 8 +- linux/s390/get_syscall_args.c | 16 +- linux/s390/set_error.c | 8 +- linux/s390/set_scno.c | 6 +- linux/s390/syscallent.h | 9 +- linux/s390x/arch_defs.h | 1 + linux/s390x/arch_regs.c | 37 +- linux/s390x/arch_regs.h | 3 +- linux/s390x/arch_rt_sigframe.c | 5 +- linux/s390x/arch_sigreturn.c | 26 + linux/s390x/errnoent1.h | 1 + linux/s390x/get_error.c | 23 +- linux/s390x/get_scno.c | 21 +- linux/s390x/get_syscall_args.c | 22 +- linux/s390x/ioctls_arch1.h | 1 + linux/s390x/ioctls_inc1.h | 1 + linux/s390x/set_error.c | 34 +- linux/s390x/set_scno.c | 21 +- linux/s390x/signalent1.h | 1 + linux/s390x/syscallent.h | 9 +- linux/s390x/syscallent1.h | 1 + mem.c | 4 +- pathtrace.c | 2 +- print_fields.h | 9 + s390.c | 1277 +++++++++++++++++++++++++++++++++ supported_personalities.h | 1 + tests/.gitignore | 6 + tests/gen_tests.in | 6 + tests/pure_executables.list | 6 + tests/s390_guarded_storage-v.c | 2 + tests/s390_guarded_storage.c | 229 ++++++ tests/s390_pci_mmio_read_write.c | 159 ++++ tests/s390_runtime_instr.c | 99 +++ tests/s390_sthyi-v.c | 2 + tests/s390_sthyi.c | 786 ++++++++++++++++++++ tests/strace-V.test | 2 +- util.c | 9 +- xlat/s390_guarded_storage_commands.in | 5 + xlat/s390_runtime_instr_commands.in | 2 + xlat/s390_sthyi_function_codes.in | 1 + 47 files changed, 2863 insertions(+), 41 deletions(-) create mode 100644 linux/s390x/errnoent1.h create mode 100644 linux/s390x/ioctls_arch1.h create mode 100644 linux/s390x/ioctls_inc1.h create mode 100644 linux/s390x/signalent1.h create mode 100644 linux/s390x/syscallent1.h create mode 100644 s390.c create mode 100644 tests/s390_guarded_storage-v.c create mode 100644 tests/s390_guarded_storage.c create mode 100644 tests/s390_pci_mmio_read_write.c create mode 100644 tests/s390_runtime_instr.c create mode 100644 tests/s390_sthyi-v.c create mode 100644 tests/s390_sthyi.c create mode 100644 xlat/s390_guarded_storage_commands.in create mode 100644 xlat/s390_runtime_instr_commands.in create mode 100644 xlat/s390_sthyi_function_codes.in -- 2.1.4 |
|
From: Heiko C. <hei...@de...> - 2018-01-20 12:52:43
|
On Thu, Jan 18, 2018 at 07:16:31AM +0100, Eugene Syromyatnikov wrote:
> Hello.
>
> This patch set introduces compat personality support on s390x along with
> decoders of s390-specific system calls.
>
> Unfortunately, I am no s390 expert by any means, so I likely have missed
> something. I also have little idea regarding applications where these
> s390-specific system calls are used, so the feedback regarding quality
> of the decoders is also welcome.
Looks all good to me. However the s390_sthyi test case fails:
-s390_sthyi(STHYI_FC_CP_IFL_CAP, {/* header */ {infhflg1=00, ...}, /* machine */ {infmval1=0xf0, infmscps=2, infmdcps=0, infmsifl=90, infmdifl=2, ...}, /* partition */ {infpflg1=0x80, infpval1=0xfc, infppnum=63, infpscps=0, infpdcps=0, infpsifl=32, infpdifl=0, infppnam="\xe2\xf8\xf3\xd3\xd7\xf6\xf0\x40" /* "S83LP60 " */, ...}, /* hypervisor 1 */ {infyflg1=0xc0, infycpt=1, infyiflt=2, infysyid="\xc2\xd6\xc5\xe2\xf8\xf3\xf6\xf0" /* "BOES8360" */, infysifl=32, ...}, /* guest 1 */ {infgflg1=0x4, infgusid="\xe2\xf8\xf3\xf6\xf0\xf0\xf1\xf6" /* "S8360016" */, infgsifl=6, infgpflg=00, ...}}, [0], 0) = 0
+s390_sthyi(STHYI_FC_CP_IFL_CAP, {/* header */ {infhflg1=00, ...}, /* machine */ {infmval1=0xf0, infmscps=2, infmdcps=0, infmsifl=90, infmdifl=2, ...}, /* partition */ {infpflg1=0x80, infpval1=0xfc, infppnum=63, infpscps=0, infpdcps=0, infpsifl=32, infpdifl=0, infppnam="\xe2\xf8\xf3\xd3\xd7\xf6\xf0\x40" /* "S83LP60 " */, ...}, /* hypervisor 1 */ {infyflg1=0xc0, infysyid="\xc2\xd6\xc5\xe2\xf8\xf3\xf6\xf0" /* "BOES8360" */, infysifl=32, ...}, /* guest 1 */ {infgflg1=0x4, infgusid="\xe2\xf8\xf3\xf6\xf0\xf0\xf1\xf6" /* "S8360016" */, infgsifl=6, infgpflg=00, ...}}, [0], 0) = 0
+++ exited with 0 +++
s390_sthyi.gen.test: failed test: ../../strace -e trace=s390_sthyi -a47 ../s390_sthyi output mismatch
|
|
From: Eugene S. <es...@re...> - 2018-01-22 12:48:15
|
On Sat, Jan 20, 2018 at 12:23:23PM +0100, Heiko Carstens wrote:
> On Thu, Jan 18, 2018 at 07:16:31AM +0100, Eugene Syromyatnikov wrote:
> > Hello.
> >
> > This patch set introduces compat personality support on s390x along with
> > decoders of s390-specific system calls.
> >
> > Unfortunately, I am no s390 expert by any means, so I likely have missed
> > something. I also have little idea regarding applications where these
> > s390-specific system calls are used, so the feedback regarding quality
> > of the decoders is also welcome.
>
> Looks all good to me. However the s390_sthyi test case fails:
>
> -s390_sthyi(STHYI_FC_CP_IFL_CAP, {/* header */ {infhflg1=00, ...}, /* machine */ {infmval1=0xf0, infmscps=2, infmdcps=0, infmsifl=90, infmdifl=2, ...}, /* partition */ {infpflg1=0x80, infpval1=0xfc, infppnum=63, infpscps=0, infpdcps=0, infpsifl=32, infpdifl=0, infppnam="\xe2\xf8\xf3\xd3\xd7\xf6\xf0\x40" /* "S83LP60 " */, ...}, /* hypervisor 1 */ {infyflg1=0xc0, infycpt=1, infyiflt=2, infysyid="\xc2\xd6\xc5\xe2\xf8\xf3\xf6\xf0" /* "BOES8360" */, infysifl=32, ...}, /* guest 1 */ {infgflg1=0x4, infgusid="\xe2\xf8\xf3\xf6\xf0\xf0\xf1\xf6" /* "S8360016" */, infgsifl=6, infgpflg=00, ...}}, [0], 0) = 0
> +s390_sthyi(STHYI_FC_CP_IFL_CAP, {/* header */ {infhflg1=00, ...}, /* machine */ {infmval1=0xf0, infmscps=2, infmdcps=0, infmsifl=90, infmdifl=2, ...}, /* partition */ {infpflg1=0x80, infpval1=0xfc, infppnum=63, infpscps=0, infpdcps=0, infpsifl=32, infpdifl=0, infppnam="\xe2\xf8\xf3\xd3\xd7\xf6\xf0\x40" /* "S83LP60 " */, ...}, /* hypervisor 1 */ {infyflg1=0xc0, infysyid="\xc2\xd6\xc5\xe2\xf8\xf3\xf6\xf0" /* "BOES8360" */, infysifl=32, ...}, /* guest 1 */ {infgflg1=0x4, infgusid="\xe2\xf8\xf3\xf6\xf0\xf0\xf1\xf6" /* "S8360016" */, infgsifl=6, infgpflg=00, ...}}, [0], 0) = 0
> +++ exited with 0 +++
> s390_sthyi.gen.test: failed test: ../../strace -e trace=s390_sthyi -a47 ../s390_sthyi output mismatch
Thank you for the report! Unfortunately, when I decided that
infycpt/infyiflt aren't that important for abbreviated output, I forgot
to update the test, and the lack of MT-enabled hardware didn't allow me
to catch it early. I'll resend the patch with the fixed test.
|