From e87c073ecc05fa903b0ce88b9237d45dea96ca22 Mon Sep 17 00:00:00 2001 From: Eugene Syromyatnikov Date: Thu, 8 Feb 2018 11:01:52 +0100 Subject: [PATCH] Update MEMBARRIER_CMD_* constants * xlat/membarrier_cmds.in: Add new constants, rename MEMBARRIER_CMD_SHARED to MEMBARRIER_CMD_GLOBAL. * NEWS: Mention this. * tests/membarrier.c (main): Update expected output. Co-Authored-by: Dmitry V. Levin --- NEWS | 3 ++- tests/membarrier.c | 25 ++++++++++++++++++++++--- xlat/membarrier_cmds.in | 12 ++++++++---- 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/NEWS b/NEWS index c04b777a..7948eac5 100644 --- a/NEWS +++ b/NEWS @@ -25,7 +25,8 @@ Noteworthy changes in release ?.?? (????-??-??) of mq_getsetattr, mq_notify, mq_timedreceive, and mq_timedsend syscalls as file descriptors. * Added decoding of get_tls syscall on arm. - * Updated lists of IPV6_*, MAP_*, MSG_*, NT_*, SHM_*, and TCP_* constants. + * Updated lists of IPV6_*, MAP_*, MEMBARRIER_CMD_*, MSG_*, NT_*, SHM_*, + and TCP_* constants. * Added manual page for the strace-log-merge command. * Updated lists of ioctl commands from Linux 4.15. * Implemented biarch support for s390x. diff --git a/tests/membarrier.c b/tests/membarrier.c index 73dd3b02..f195063f 100644 --- a/tests/membarrier.c +++ b/tests/membarrier.c @@ -49,17 +49,36 @@ main(void) switch (rc) { case 1: - text = "MEMBARRIER_CMD_SHARED"; + text = "MEMBARRIER_CMD_GLOBAL"; break; case 1|8: - text = "MEMBARRIER_CMD_SHARED|" + text = "MEMBARRIER_CMD_GLOBAL|" "MEMBARRIER_CMD_PRIVATE_EXPEDITED"; break; case 1|8|16: - text = "MEMBARRIER_CMD_SHARED|" + text = "MEMBARRIER_CMD_GLOBAL|" "MEMBARRIER_CMD_PRIVATE_EXPEDITED|" "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED"; break; + + case 1|2|4|8|16: + text = "MEMBARRIER_CMD_GLOBAL|" + "MEMBARRIER_CMD_GLOBAL_EXPEDITED|" + "MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED|" + "MEMBARRIER_CMD_PRIVATE_EXPEDITED|" + "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED"; + break; + + case 1|2|4|8|16|32|64: + text = "MEMBARRIER_CMD_GLOBAL|" + "MEMBARRIER_CMD_GLOBAL_EXPEDITED|" + "MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED|" + "MEMBARRIER_CMD_PRIVATE_EXPEDITED|" + "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED|" + "MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE|" + "MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE"; + break; + default: error_msg_and_fail("membarrier returned %#x, does" " the test have to be updated?", rc); diff --git a/xlat/membarrier_cmds.in b/xlat/membarrier_cmds.in index e4fe06ac..284c7dad 100644 --- a/xlat/membarrier_cmds.in +++ b/xlat/membarrier_cmds.in @@ -1,4 +1,8 @@ -MEMBARRIER_CMD_QUERY 0 -MEMBARRIER_CMD_SHARED 1 -MEMBARRIER_CMD_PRIVATE_EXPEDITED 8 -MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED 16 +MEMBARRIER_CMD_QUERY 0 +MEMBARRIER_CMD_GLOBAL 1 << 0 +MEMBARRIER_CMD_GLOBAL_EXPEDITED 1 << 1 +MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED 1 << 2 +MEMBARRIER_CMD_PRIVATE_EXPEDITED 1 << 3 +MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED 1 << 4 +MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE 1 << 5 +MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE 1 << 6 -- 2.40.0