[CRIU] [PATCH v3 00/15] Add architecture support for s390x
Andrei Vagin
avagin at virtuozzo.com
Thu Jul 6 08:27:19 MSK 2017
Applied, thanks!!!
On Fri, Jun 30, 2017 at 08:31:35PM +0200, Michael Holzheu wrote:
> Hello CRIU mailing list,
>
> This set of patches (version 3) adds the s390x (64 bit mainframe) backend
> support to the CRIU checkpoint/restore tool.
>
> The patches apply to the "criu-dev" branch on top of commit 843761066071cf
> ("criu/pie/parasite-vdso: Handle also systems without VVAR").
>
> The patches are also available in the "ibm_criu-dev-v3" branch under:
>
> * https://github.com/michael-holzheu/criu/tree/ibm_criu-dev-v3
>
> Travis run for this branch:
>
> * https://travis-ci.org/michael-holzheu/criu/builds/248889146
>
> Patch set history
> -----------------
> v2->v3:
>
> * Squash patches for issues found in v2 review:
> - s390: Consolidate -msoft-float into Makefile.compel
> - Fix ARCH check for -msoft-float in Makefiles
> - Fix big endian byte order checks
> * Remove patch (because already upstream):
> - criu/pie/parasite-vdso: Handle also systems without VVAR
> * Add Dimitry's Reviewed-by tags (thanks for that)
>
> v1->v2:
>
> * Split first monster patch into more parts as suggested by Mike Rapoport
> * Fix toplevel Makefile patch damage
>
> Patch set description
> ---------------------
> The s390x platform is is a 64 bit big endian CISC architecture.
>
> This patch set does not include:
>
> * Support for 31 bit compat tasks
> * Support for processes that use s390 runtime instrumentation
>
> Some parts of the patch have been contributed by:
>
> * Alice Frosi <alice at linux.vnet.ibm.com>
>
> On s390 all tests of the zdtm testsuite succeed on Ubuntu 16.04 with kernel
> 4.8.0-34-generic execpt for the following:
>
> - zdtm/static/del_standalone_un
> - zdtm/static/deleted_unix_sock
> - zdtm/static/mnt_ext_dev
> - zdtm/static/overmount_dev
> - zdtm/static/overmount_fifo
> - zdtm/static/overmount_file
> - zdtm/static/overmount_sock
> - zdtm/static/pthread02
> - zdtm/static/ptrace_sig
> - zdtm/static/tempfs_overmounted
> - zdtm/static/unlink_fstat01+
> - zdtm/static/unlink_largefile
> - zdtm/static/unlink_regular00
> - zdtm/static/vfork00
> - zdtm/transition/thread-bomb
>
> We have not analyzed the failures yet because for us those tests also failed on
> Ubuntu for x86_64.
>
> Best Regards,
> Michael
>
> Alice Frosi (1):
> zdtm/static/sem: Use "union semun" instead of int
>
> Michael Holzheu (14):
> s390:compel/arch/s390: Add architecture support to compel tool and
> libraries
> s390:compel: Enable s390 in compel/
> s390:proto: Add s390 to protocol buffer files
> s390:criu/arch/s390: Add s390 parts to criu
> s390:criu: Enable s390 in criu
> s390:zdtm: Enable zdtm for s390
> s390: Fix clone() syscall parameters for s390
> s390: Enable s390 build in Makefile
> s390:zdtm: Add test for tasks > 4TB
> s390:criu: Add support for s390 consoles
> s390:criu: Add TASK_SIZE check for dump and restore
> criu/files: Fix wait_fds_event() for 64 bit platforms
> criu/mount: Fix flags cast and sizeof(sflags)
> zdtm/static/fdt_shared: Fix buffer size
>
> Makefile | 9 +-
> Makefile.compel | 8 +
> compel/.gitignore | 1 +
> compel/arch/s390/plugins/include/asm/prologue.h | 1 +
> .../arch/s390/plugins/include/asm/syscall-types.h | 34 ++
> compel/arch/s390/plugins/std/parasite-head.S | 26 +
> .../s390/plugins/std/syscalls/Makefile.syscalls | 58 +++
> .../plugins/std/syscalls/syscall-common-s390.S | 37 ++
> .../s390/plugins/std/syscalls/syscall-s390.tbl | 108 ++++
> .../arch/s390/plugins/std/syscalls/syscalls-s390.c | 26 +
> compel/arch/s390/scripts/compel-pack.lds.S | 40 ++
> compel/arch/s390/src/lib/cpu.c | 42 ++
> compel/arch/s390/src/lib/handle-elf-host.c | 1 +
> compel/arch/s390/src/lib/handle-elf.c | 22 +
> compel/arch/s390/src/lib/include/handle-elf.h | 13 +
> compel/arch/s390/src/lib/include/syscall.h | 8 +
> .../s390/src/lib/include/uapi/asm/breakpoints.h | 15 +
> compel/arch/s390/src/lib/include/uapi/asm/cpu.h | 10 +
> compel/arch/s390/src/lib/include/uapi/asm/fpu.h | 14 +
> .../s390/src/lib/include/uapi/asm/infect-types.h | 75 +++
> .../arch/s390/src/lib/include/uapi/asm/sigframe.h | 75 +++
> compel/arch/s390/src/lib/infect.c | 559 +++++++++++++++++++++
> compel/src/lib/handle-elf.c | 25 +
> compel/src/main.c | 3 +
> criu/arch/s390/Makefile | 10 +
> criu/arch/s390/cpu.c | 158 ++++++
> criu/arch/s390/crtools.c | 341 +++++++++++++
> criu/arch/s390/include/asm/dump.h | 12 +
> criu/arch/s390/include/asm/int.h | 6 +
> criu/arch/s390/include/asm/parasite-syscall.h | 6 +
> criu/arch/s390/include/asm/parasite.h | 7 +
> criu/arch/s390/include/asm/restore.h | 29 ++
> criu/arch/s390/include/asm/restorer.h | 65 +++
> criu/arch/s390/include/asm/types.h | 37 ++
> criu/arch/s390/include/asm/vdso.h | 23 +
> criu/arch/s390/restorer.c | 37 ++
> criu/arch/s390/sigframe.c | 20 +
> criu/arch/s390/vdso-pie.c | 65 +++
> criu/files.c | 5 +-
> criu/mem.c | 19 +
> criu/mount.c | 5 +-
> criu/pie/Makefile | 7 +
> criu/pie/Makefile.library | 6 +
> criu/pie/util-vdso.c | 25 +-
> criu/proc_parse.c | 19 +
> criu/sk-netlink.c | 16 +
> criu/tty.c | 11 +
> criu/util.c | 5 +
> images/Makefile | 1 +
> images/core-s390.proto | 39 ++
> images/core.proto | 3 +
> images/cpuinfo.proto | 5 +
> include/common/arch/s390/asm/atomic.h | 67 +++
> include/common/arch/s390/asm/atomic_ops.h | 74 +++
> include/common/arch/s390/asm/bitops.h | 164 ++++++
> include/common/arch/s390/asm/bitsperlong.h | 6 +
> include/common/arch/s390/asm/linkage.h | 22 +
> include/common/arch/s390/asm/page.h | 19 +
> test/zdtm/lib/arch/s390/include/asm/atomic.h | 66 +++
> test/zdtm/lib/test.c | 5 +
> test/zdtm/static/Makefile | 1 +
> test/zdtm/static/fanotify00.c | 3 +
> test/zdtm/static/fdt_shared.c | 4 +-
> test/zdtm/static/mntns-deleted-dst | 0
> test/zdtm/static/netns-nf.desc | 2 +-
> test/zdtm/static/rtc.desc | 2 +-
> test/zdtm/static/s390x_mmap_high.c | 64 +++
> test/zdtm/static/s390x_mmap_high.desc | 1 +
> test/zdtm/static/sem.c | 20 +-
> test/zdtm/static/socket-tcp-closed-last-ack.desc | 4 +-
> test/zdtm/static/vt.c | 8 +-
> 71 files changed, 2696 insertions(+), 28 deletions(-)
> create mode 120000 compel/arch/s390/plugins/include/asm/prologue.h
> create mode 100644 compel/arch/s390/plugins/include/asm/syscall-types.h
> create mode 100644 compel/arch/s390/plugins/std/parasite-head.S
> create mode 100644 compel/arch/s390/plugins/std/syscalls/Makefile.syscalls
> create mode 100644 compel/arch/s390/plugins/std/syscalls/syscall-common-s390.S
> create mode 100644 compel/arch/s390/plugins/std/syscalls/syscall-s390.tbl
> create mode 100644 compel/arch/s390/plugins/std/syscalls/syscalls-s390.c
> create mode 100644 compel/arch/s390/scripts/compel-pack.lds.S
> create mode 100644 compel/arch/s390/src/lib/cpu.c
> create mode 120000 compel/arch/s390/src/lib/handle-elf-host.c
> create mode 100644 compel/arch/s390/src/lib/handle-elf.c
> create mode 100644 compel/arch/s390/src/lib/include/handle-elf.h
> create mode 100644 compel/arch/s390/src/lib/include/syscall.h
> create mode 100644 compel/arch/s390/src/lib/include/uapi/asm/breakpoints.h
> create mode 100644 compel/arch/s390/src/lib/include/uapi/asm/cpu.h
> create mode 100644 compel/arch/s390/src/lib/include/uapi/asm/fpu.h
> create mode 100644 compel/arch/s390/src/lib/include/uapi/asm/infect-types.h
> create mode 100644 compel/arch/s390/src/lib/include/uapi/asm/sigframe.h
> create mode 100644 compel/arch/s390/src/lib/infect.c
> create mode 100644 criu/arch/s390/Makefile
> create mode 100644 criu/arch/s390/cpu.c
> create mode 100644 criu/arch/s390/crtools.c
> create mode 100644 criu/arch/s390/include/asm/dump.h
> create mode 100644 criu/arch/s390/include/asm/int.h
> create mode 100644 criu/arch/s390/include/asm/parasite-syscall.h
> create mode 100644 criu/arch/s390/include/asm/parasite.h
> create mode 100644 criu/arch/s390/include/asm/restore.h
> create mode 100644 criu/arch/s390/include/asm/restorer.h
> create mode 100644 criu/arch/s390/include/asm/types.h
> create mode 100644 criu/arch/s390/include/asm/vdso.h
> create mode 100644 criu/arch/s390/restorer.c
> create mode 100644 criu/arch/s390/sigframe.c
> create mode 100644 criu/arch/s390/vdso-pie.c
> create mode 100644 images/core-s390.proto
> create mode 100644 include/common/arch/s390/asm/atomic.h
> create mode 100644 include/common/arch/s390/asm/atomic_ops.h
> create mode 100644 include/common/arch/s390/asm/bitops.h
> create mode 100644 include/common/arch/s390/asm/bitsperlong.h
> create mode 100644 include/common/arch/s390/asm/linkage.h
> create mode 100644 include/common/arch/s390/asm/page.h
> create mode 100644 test/zdtm/lib/arch/s390/include/asm/atomic.h
> create mode 100644 test/zdtm/static/mntns-deleted-dst
> create mode 100644 test/zdtm/static/s390x_mmap_high.c
> create mode 100644 test/zdtm/static/s390x_mmap_high.desc
>
> --
> 2.7.4
>
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
More information about the CRIU
mailing list