Introduce s390_pci_mmio_read, s390_pci_mmio_write system call decoders
PATCH 10/12 Introduce s390_pci_mmio_read, s390_pci_mmio_write system call decoders
* linux/s390/syscallent.h ([352]): Change decoder to s390_pci_mmio_write. ([353]): Change decoder to s390_pci_mmio_read.
* linux/s390x/syscallent.h: Likewise.
* s390.c (SYS_FUNC(s390_pci_mmio_write), SYS_FUNC(s390_pci_mmio_read)):
New function.
--- linux/s390/syscallent.h | 4 ++-- linux/s390x/syscallent.h | 4 ++-- s390.c | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+), 4 deletions(-)
linux/s390/syscallent.h +2 -2
@@ -381,8 +381,8 @@ [349] = { 3, 0, SEN(getrandom), "getrandom" }, [350] = { 2, TD, SEN(memfd_create), "memfd_create" }, [351] = { 3, TD, SEN(bpf), "bpf" }, -[352] = { 3, 0, SEN(printargs), "s390_pci_mmio_write" }, -[353] = { 3, 0, SEN(printargs), "s390_pci_mmio_read" }, +[352] = { 3, 0, SEN(s390_pci_mmio_write), "s390_pci_mmio_write" }, +[353] = { 3, 0, SEN(s390_pci_mmio_read), "s390_pci_mmio_read" }, [354] = { 5, TD|TF|TP|SE|SI, SEN(execveat), "execveat" }, [355] = { 1, TD, SEN(userfaultfd), "userfaultfd" }, [356] = { 2, 0, SEN(membarrier), "membarrier" },
linux/s390x/syscallent.h +2 -2
@@ -365,8 +365,8 @@ [349] = { 3, 0, SEN(getrandom), "getrandom" }, [350] = { 2, TD, SEN(memfd_create), "memfd_create" }, [351] = { 3, TD, SEN(bpf), "bpf" }, -[352] = { 3, 0, SEN(printargs), "s390_pci_mmio_write" }, -[353] = { 3, 0, SEN(printargs), "s390_pci_mmio_read" }, +[352] = { 3, 0, SEN(s390_pci_mmio_write), "s390_pci_mmio_write" }, +[353] = { 3, 0, SEN(s390_pci_mmio_read), "s390_pci_mmio_read" }, [354] = { 5, TD|TF|TP|SE|SI, SEN(execveat), "execveat" }, [355] = { 1, TD, SEN(userfaultfd), "userfaultfd" }, [356] = { 2, 0, SEN(membarrier), "membarrier" },
s390.c +33 -0
@@ -1241,4 +1241,37 @@ SYS_FUNC(s390_runtime_instr)return RVAL_DECODED ; } +SYS_FUNC (s390_pci_mmio_write) +{ +kernel_ulong_t mmio_addr = tcp->u_arg[0 ]; +kernel_ulong_t user_buf = tcp->u_arg[1 ]; +kernel_ulong_t length = tcp->u_arg[2 ]; + +tprintf ("%#" PRI_klx", " , mmio_addr); +printstr_ex (tcp, user_buf, length,QUOTE_FORCE_HEX ); +tprintf (", %" PRI_klu, length); + +return RVAL_DECODED ; +} + +SYS_FUNC (s390_pci_mmio_read) +{ +kernel_ulong_t mmio_addr = tcp->u_arg[0 ]; +kernel_ulong_t user_buf = tcp->u_arg[1 ]; +kernel_ulong_t length = tcp->u_arg[2 ]; + +if (entering (tcp)) { +tprintf ("%#" PRI_klx", " , mmio_addr); + }else { +if (!syserror (tcp)) +printstr_ex (tcp, user_buf, length,QUOTE_FORCE_HEX ); +else +printaddr (user_buf); + +tprintf (", %" PRI_klu, length); + } + +return 0 ; +} +#endif /* defined S390 || defined S390X */
Signature · 1 line
2.1.4