mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-22 09:58:09 +00:00
s390:zdtm: Enable zdtm for s390
Reviewed-by: Alice Frosi <alice@linux.vnet.ibm.com> Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Reviewed-by: Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
This commit is contained in:
parent
500977101e
commit
01ee29702e
66
test/zdtm/lib/arch/s390/include/asm/atomic.h
Normal file
66
test/zdtm/lib/arch/s390/include/asm/atomic.h
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#ifndef __ARCH_S390_ATOMIC__
|
||||||
|
#define __ARCH_S390_ATOMIC__
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
typedef uint32_t atomic_t;
|
||||||
|
|
||||||
|
#define __ATOMIC_OP(op_name, op_type, op_string, op_barrier) \
|
||||||
|
static inline op_type op_name(op_type val, op_type *ptr) \
|
||||||
|
{ \
|
||||||
|
op_type old; \
|
||||||
|
\
|
||||||
|
asm volatile( \
|
||||||
|
op_string " %[old],%[val],%[ptr]\n" \
|
||||||
|
op_barrier \
|
||||||
|
: [old] "=d" (old), [ptr] "+Q" (*ptr) \
|
||||||
|
: [val] "d" (val) : "cc", "memory"); \
|
||||||
|
return old; \
|
||||||
|
} \
|
||||||
|
|
||||||
|
#define __ATOMIC_OPS(op_name, op_type, op_string) \
|
||||||
|
__ATOMIC_OP(op_name, op_type, op_string, "\n") \
|
||||||
|
__ATOMIC_OP(op_name##_barrier, op_type, op_string, "bcr 14,0\n")
|
||||||
|
|
||||||
|
__ATOMIC_OPS(__atomic_add, uint32_t, "laa")
|
||||||
|
|
||||||
|
#undef __ATOMIC_OPS
|
||||||
|
#undef __ATOMIC_OP
|
||||||
|
|
||||||
|
static inline int atomic_get(const atomic_t *v)
|
||||||
|
{
|
||||||
|
int c;
|
||||||
|
|
||||||
|
asm volatile(
|
||||||
|
" l %0,%1\n"
|
||||||
|
: "=d" (c) : "Q" (*v));
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void atomic_set(atomic_t *v, int i)
|
||||||
|
{
|
||||||
|
asm volatile(
|
||||||
|
" st %1,%0\n"
|
||||||
|
: "=Q" (*v) : "d" (i));
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int atomic_add_return(int i, atomic_t *v)
|
||||||
|
{
|
||||||
|
return __atomic_add_barrier(i, v) + i;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void atomic_add(int i, atomic_t *v)
|
||||||
|
{
|
||||||
|
__atomic_add(i, v);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define atomic_sub(_i, _v) atomic_add(-(int)(_i), _v)
|
||||||
|
|
||||||
|
static inline int atomic_inc(atomic_t *v)
|
||||||
|
{
|
||||||
|
return atomic_add_return(1, v) - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define atomic_dec(_v) atomic_sub(1, _v)
|
||||||
|
|
||||||
|
#endif /* __ARCH_S390_ATOMIC__ */
|
@ -25,6 +25,9 @@
|
|||||||
#elif __aarch64__
|
#elif __aarch64__
|
||||||
# define __NR_fanotify_init 262
|
# define __NR_fanotify_init 262
|
||||||
# define __NR_fanotify_mark 263
|
# define __NR_fanotify_mark 263
|
||||||
|
#elif __s390x__
|
||||||
|
# define __NR_fanotify_init 332
|
||||||
|
# define __NR_fanotify_mark 333
|
||||||
#else
|
#else
|
||||||
# define __NR_fanotify_init 338
|
# define __NR_fanotify_init 338
|
||||||
# define __NR_fanotify_mark 339
|
# define __NR_fanotify_mark 339
|
||||||
|
0
test/zdtm/static/mntns-deleted-dst
Normal file
0
test/zdtm/static/mntns-deleted-dst
Normal file
@ -1,6 +1,6 @@
|
|||||||
{ 'deps': [ '/bin/sh',
|
{ 'deps': [ '/bin/sh',
|
||||||
'/sbin/iptables',
|
'/sbin/iptables',
|
||||||
'/usr/lib64/xtables/libxt_standard.so|/usr/lib/iptables/libxt_standard.so|/lib/xtables/libxt_standard.so|/usr/lib/powerpc64le-linux-gnu/xtables/libxt_standard.so|/usr/lib/x86_64-linux-gnu/xtables/libxt_standard.so',
|
'/usr/lib64/xtables/libxt_standard.so|/usr/lib/iptables/libxt_standard.so|/lib/xtables/libxt_standard.so|/usr/lib/powerpc64le-linux-gnu/xtables/libxt_standard.so|/usr/lib/x86_64-linux-gnu/xtables/libxt_standard.so|/usr/lib/s390x-linux-gnu/xtables/libxt_standard.so',
|
||||||
'/usr/bin/diff'],
|
'/usr/bin/diff'],
|
||||||
'flags': 'suid',
|
'flags': 'suid',
|
||||||
'flavor': 'ns uns'}
|
'flavor': 'ns uns'}
|
||||||
|
@ -1 +1 @@
|
|||||||
{'flavor': 'h', 'flags': 'suid crlib'}
|
{'flavor': 'h', 'flags': 'suid crlib','arch': 'x86_64 aarch64 arm ppc64'}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ 'deps': [ '/bin/sh',
|
{ 'deps': [ '/bin/sh',
|
||||||
'/sbin/iptables',
|
'/sbin/iptables',
|
||||||
'/usr/lib64/xtables/libxt_tcp.so|/lib/xtables/libxt_tcp.so|/usr/lib/powerpc64le-linux-gnu/xtables/libxt_tcp.so|/usr/lib/x86_64-linux-gnu/xtables/libxt_tcp.so',
|
'/usr/lib64/xtables/libxt_tcp.so|/lib/xtables/libxt_tcp.so|/usr/lib/powerpc64le-linux-gnu/xtables/libxt_tcp.so|/usr/lib/x86_64-linux-gnu/xtables/libxt_tcp.so|/usr/lib/s390x-linux-gnu/xtables/libxt_tcp.so',
|
||||||
'/usr/lib64/xtables/libxt_standard.so|/lib/xtables/libxt_standard.so|/usr/lib/powerpc64le-linux-gnu/xtables/libxt_standard.so|/usr/lib/x86_64-linux-gnu/xtables/libxt_standard.so',
|
'/usr/lib64/xtables/libxt_standard.so|/lib/xtables/libxt_standard.so|/usr/lib/powerpc64le-linux-gnu/xtables/libxt_standard.so|/usr/lib/x86_64-linux-gnu/xtables/libxt_standard.so|/usr/lib/s390x-linux-gnu/xtables/libxt_standard.so',
|
||||||
],
|
],
|
||||||
'opts': '--tcp-established',
|
'opts': '--tcp-established',
|
||||||
'flags': 'suid nouser samens',
|
'flags': 'suid nouser samens',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user