0006-add-io_pgetevents-and-rseq-syscall-numbers-from-linu.patch 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. From 6b1a82eca320a2ff05821e26d16dd72978d45e66 Mon Sep 17 00:00:00 2001
  2. From: Szabolcs Nagy <nsz@port70.net>
  3. Date: Wed, 22 Aug 2018 17:31:43 +0000
  4. Subject: [PATCH 6/8] add io_pgetevents and rseq syscall numbers from linux
  5. v4.18
  6. io_pgetevents is new in linux commit 7a074e96dee62586c935c80cecd931431bfdd0be
  7. This is the io_getevents equivalent of ppoll/pselect and allows to
  8. properly mix signals and aio completions (especially with IOCB_CMD_POLL)
  9. rseq is new in linux commit d7822b1e24f2df5df98c76f0e94a5416349ff759
  10. Expose a new system call allowing each thread to register one userspace
  11. memory area to be used as an ABI between kernel and user-space for two
  12. purposes: user-space restartable sequences and quick access to read the
  13. current CPU number value from user-space.
  14. ---
  15. arch/aarch64/bits/syscall.h.in | 1 +
  16. arch/arm/bits/syscall.h.in | 1 +
  17. arch/i386/bits/syscall.h.in | 2 ++
  18. arch/microblaze/bits/syscall.h.in | 2 ++
  19. arch/mips/bits/syscall.h.in | 2 ++
  20. arch/mips64/bits/syscall.h.in | 2 ++
  21. arch/mipsn32/bits/syscall.h.in | 2 ++
  22. arch/or1k/bits/syscall.h.in | 1 +
  23. arch/powerpc/bits/syscall.h.in | 2 ++
  24. arch/powerpc64/bits/syscall.h.in | 2 ++
  25. arch/s390x/bits/syscall.h.in | 2 ++
  26. arch/x32/bits/syscall.h.in | 2 ++
  27. arch/x86_64/bits/syscall.h.in | 2 ++
  28. 13 files changed, 23 insertions(+)
  29. diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in
  30. index 0d4a9bca..47a969bc 100644
  31. --- a/arch/aarch64/bits/syscall.h.in
  32. +++ b/arch/aarch64/bits/syscall.h.in
  33. @@ -274,4 +274,5 @@
  34. #define __NR_pkey_alloc 289
  35. #define __NR_pkey_free 290
  36. #define __NR_statx 291
  37. +#define __NR_io_pgetevents 292
  38. diff --git a/arch/arm/bits/syscall.h.in b/arch/arm/bits/syscall.h.in
  39. index 1920516a..13a3b66c 100644
  40. --- a/arch/arm/bits/syscall.h.in
  41. +++ b/arch/arm/bits/syscall.h.in
  42. @@ -353,6 +353,7 @@
  43. #define __NR_pkey_alloc 395
  44. #define __NR_pkey_free 396
  45. #define __NR_statx 397
  46. +#define __NR_rseq 398
  47. #define __ARM_NR_breakpoint 0x0f0001
  48. #define __ARM_NR_cacheflush 0x0f0002
  49. diff --git a/arch/i386/bits/syscall.h.in b/arch/i386/bits/syscall.h.in
  50. index 27e72fec..47f4ae03 100644
  51. --- a/arch/i386/bits/syscall.h.in
  52. +++ b/arch/i386/bits/syscall.h.in
  53. @@ -382,4 +382,6 @@
  54. #define __NR_pkey_free 382
  55. #define __NR_statx 383
  56. #define __NR_arch_prctl 384
  57. +#define __NR_io_pgetevents 385
  58. +#define __NR_rseq 386
  59. diff --git a/arch/microblaze/bits/syscall.h.in b/arch/microblaze/bits/syscall.h.in
  60. index dda5218d..f0583961 100644
  61. --- a/arch/microblaze/bits/syscall.h.in
  62. +++ b/arch/microblaze/bits/syscall.h.in
  63. @@ -393,4 +393,6 @@
  64. #define __NR_pkey_alloc 396
  65. #define __NR_pkey_free 397
  66. #define __NR_statx 398
  67. +#define __NR_io_pgetevents 399
  68. +#define __NR_rseq 400
  69. diff --git a/arch/mips/bits/syscall.h.in b/arch/mips/bits/syscall.h.in
  70. index c1e23635..be8c3207 100644
  71. --- a/arch/mips/bits/syscall.h.in
  72. +++ b/arch/mips/bits/syscall.h.in
  73. @@ -364,4 +364,6 @@
  74. #define __NR_pkey_alloc 4364
  75. #define __NR_pkey_free 4365
  76. #define __NR_statx 4366
  77. +#define __NR_rseq 4367
  78. +#define __NR_io_pgetevents 4368
  79. diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in
  80. index b0fe49b5..f814aa48 100644
  81. --- a/arch/mips64/bits/syscall.h.in
  82. +++ b/arch/mips64/bits/syscall.h.in
  83. @@ -324,4 +324,6 @@
  84. #define __NR_pkey_alloc 5324
  85. #define __NR_pkey_free 5325
  86. #define __NR_statx 5326
  87. +#define __NR_rseq 4327
  88. +#define __NR_io_pgetevents 4328
  89. diff --git a/arch/mipsn32/bits/syscall.h.in b/arch/mipsn32/bits/syscall.h.in
  90. index 70c5d0b8..c1726180 100644
  91. --- a/arch/mipsn32/bits/syscall.h.in
  92. +++ b/arch/mipsn32/bits/syscall.h.in
  93. @@ -328,4 +328,6 @@
  94. #define __NR_pkey_alloc 6328
  95. #define __NR_pkey_free 6329
  96. #define __NR_statx 6330
  97. +#define __NR_rseq 6331
  98. +#define __NR_io_pgetevents 6332
  99. diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in
  100. index 03735e88..76ba2c6e 100644
  101. --- a/arch/or1k/bits/syscall.h.in
  102. +++ b/arch/or1k/bits/syscall.h.in
  103. @@ -276,4 +276,5 @@
  104. #define __NR_pkey_alloc 289
  105. #define __NR_pkey_free 290
  106. #define __NR_statx 291
  107. +#define __NR_io_pgetevents 292
  108. diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in
  109. index 7ce94bbd..54e155f2 100644
  110. --- a/arch/powerpc/bits/syscall.h.in
  111. +++ b/arch/powerpc/bits/syscall.h.in
  112. @@ -371,4 +371,6 @@
  113. #define __NR_pkey_alloc 384
  114. #define __NR_pkey_free 385
  115. #define __NR_pkey_mprotect 386
  116. +#define __NR_rseq 387
  117. +#define __NR_io_pgetevents 388
  118. diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in
  119. index 1da1ecc0..4e29cedf 100644
  120. --- a/arch/powerpc64/bits/syscall.h.in
  121. +++ b/arch/powerpc64/bits/syscall.h.in
  122. @@ -362,4 +362,6 @@
  123. #define __NR_pkey_alloc 384
  124. #define __NR_pkey_free 385
  125. #define __NR_pkey_mprotect 386
  126. +#define __NR_rseq 387
  127. +#define __NR_io_pgetevents 388
  128. diff --git a/arch/s390x/bits/syscall.h.in b/arch/s390x/bits/syscall.h.in
  129. index 409e9155..85a18e79 100644
  130. --- a/arch/s390x/bits/syscall.h.in
  131. +++ b/arch/s390x/bits/syscall.h.in
  132. @@ -324,4 +324,6 @@
  133. #define __NR_statx 379
  134. #define __NR_s390_sthyi 380
  135. #define __NR_kexec_file_load 381
  136. +#define __NR_io_pgetevents 382
  137. +#define __NR_rseq 383
  138. diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in
  139. index 23ef4472..67d89f91 100644
  140. --- a/arch/x32/bits/syscall.h.in
  141. +++ b/arch/x32/bits/syscall.h.in
  142. @@ -284,6 +284,8 @@
  143. #define __NR_pkey_alloc (0x40000000 + 330)
  144. #define __NR_pkey_free (0x40000000 + 331)
  145. #define __NR_statx (0x40000000 + 332)
  146. +#define __NR_io_pgetevents (0x40000000 + 333)
  147. +#define __NR_rseq (0x40000000 + 334)
  148. #define __NR_rt_sigaction (0x40000000 + 512)
  149. #define __NR_rt_sigreturn (0x40000000 + 513)
  150. diff --git a/arch/x86_64/bits/syscall.h.in b/arch/x86_64/bits/syscall.h.in
  151. index bffcc4ee..9cdb7789 100644
  152. --- a/arch/x86_64/bits/syscall.h.in
  153. +++ b/arch/x86_64/bits/syscall.h.in
  154. @@ -331,4 +331,6 @@
  155. #define __NR_pkey_alloc 330
  156. #define __NR_pkey_free 331
  157. #define __NR_statx 332
  158. +#define __NR_io_pgetevents 333
  159. +#define __NR_rseq 334
  160. --
  161. 2.17.1