Merge ~paelzer/ubuntu/+source/qemu:SRU-lp-1836154-z14-hw-cpu-model-disco into ubuntu/+source/qemu:ubuntu/disco-devel

Proposed by Christian Ehrhardt 
Status: Merged
Merge reported by: Christian Ehrhardt 
Merged at revision: 2b171cdc317be5374987ffd2806383db5c578397
Proposed branch: ~paelzer/ubuntu/+source/qemu:SRU-lp-1836154-z14-hw-cpu-model-disco
Merge into: ubuntu/+source/qemu:ubuntu/disco-devel
Diff against target: 8120 lines (+8008/-0)
18 files modified
debian/changelog (+7/-0)
debian/patches/series (+16/-0)
debian/patches/ubuntu/lp-1836154-include-update-Linux-headers-to-4.21-rc1-5.0-rc1.patch (+4295/-0)
debian/patches/ubuntu/lp-1836154-linux-headers-add-linux-mman.h.patch (+460/-0)
debian/patches/ubuntu/lp-1836154-linux-headers-update-against-Linux-5.2-rc1.patch (+1978/-0)
debian/patches/ubuntu/lp-1836154-linux-user-fix-__NR_semtimedop-undeclared-error.patch (+95/-0)
debian/patches/ubuntu/lp-1836154-s390-cpumodel-fix-description-for-the-new-vector-fac.patch (+33/-0)
debian/patches/ubuntu/lp-1836154-s390x-cpumodel-Miscellaneous-Instruction-Extensions-.patch (+50/-0)
debian/patches/ubuntu/lp-1836154-s390x-cpumodel-add-Deflate-conversion-facility.patch (+173/-0)
debian/patches/ubuntu/lp-1836154-s390x-cpumodel-add-gen15-defintions.patch (+118/-0)
debian/patches/ubuntu/lp-1836154-s390x-cpumodel-add-z14-GA2-model.patch (+71/-0)
debian/patches/ubuntu/lp-1836154-s390x-cpumodel-also-change-name-of-vxbeh.patch (+41/-0)
debian/patches/ubuntu/lp-1836154-s390x-cpumodel-enhanced-sort-facility.patch (+177/-0)
debian/patches/ubuntu/lp-1836154-s390x-cpumodel-mepochptff-warn-when-no-mepoch-and-re.patch (+67/-0)
debian/patches/ubuntu/lp-1836154-s390x-cpumodel-msa9-facility.patch (+288/-0)
debian/patches/ubuntu/lp-1836154-s390x-cpumodel-remove-esort-from-the-default-model.patch (+37/-0)
debian/patches/ubuntu/lp-1836154-s390x-cpumodel-vector-enhancements.patch (+50/-0)
debian/patches/ubuntu/lp-1836154-s390x-cpumodel-wire-up-8561-and-8562-as-gen15-machin.patch (+52/-0)
Reviewer Review Type Date Requested Status
Rafael David Tinoco (community) Approve
Canonical Server Pending
git-ubuntu developers Pending
Review via email: mp+370709@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

PPA: https://launchpad.net/~paelzer/+archive/ubuntu/bug-1836154-s390x-hwmodels/+packages
was tested by IBM already on the new HW.

Eventually this might be SRUed together with bug 1832622, but that isn't sure yet so I ask for individual reviews.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

Sorry for taking too long for reviewing this, this is next in my TODO list. Will provide feedback very soon.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

After the feedback from Bionic, here the upstream commits applied without major backport - hence I used my tooling which means the dep3 headers are intact on the Disco branch.

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

Awesome, I see 3 new patches for this patchset, as stated in public bug:

NEW:
include: update Linux headers to 4.21-rc1/5.0-rc1
(cherry picked from commit da054c646c777bcb487326f46cd5bf9932b05128)

LGTM, DEP3 and upstream IDs are good, touches sames files.

NEW
s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init
(cherry picked from commit ddf5d18af3ce3029d5b93222af5a9e8160d4c34b)

SAME

NEW
s390x/cpumodel: add z14 GA2 model
(cherry picked from commit f2a7d1577115bda770d619ff5bc45db1f656edc3)

SAME

----

$ sudo lscpu
Architecture: s390x
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Big Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s) per book: 1
Book(s) per drawer: 1
Drawer(s): 4
NUMA node(s): 1
Vendor ID: IBM/S390
Machine type: 2964
CPU dynamic MHz: 5000
CPU static MHz: 5000
BogoMIPS: 3033.00
Hypervisor: KVM/Linux
Hypervisor vendor: KVM
Virtualization type: full
Dispatching mode: horizontal
L1d cache: 128K
L1i cache: 96K
L2d cache: 2048K
L2i cache: 2048K
L3 cache: 65536K
L4 cache: 491520K
NUMA node0 CPU(s): 0-3

CPU new features/types reported correctly:

https://pastebin.ubuntu.com/p/sK5RnfnB8j/

+1. Approved just like Bionic merge.

review: Approve
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

This is fix released nowadays, cleaning up old MP

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index bb2e787..b096b4d 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,10 @@
6+qemu (1:3.1+dfsg-2ubuntu3.4) disco; urgency=medium
7+
8+ * d/p/ubuntu/lp-1836154-*: add HW CPU model for newer s390x machines
9+ (LP: #1836154)
10+
11+ -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Tue, 16 Jul 2019 12:26:34 +0200
12+
13 qemu (1:3.1+dfsg-2ubuntu3.3) disco; urgency=medium
14
15 [ Christian Ehrhardt ]
16diff --git a/debian/patches/series b/debian/patches/series
17index f8a7ef6..1b5bec7 100644
18--- a/debian/patches/series
19+++ b/debian/patches/series
20@@ -31,3 +31,19 @@ ubuntu/lp1828495-0012-arch-capabilities-migratable.patch
21 ubuntu/lp1828495-0014-remove-cpuid-pconfig.patch
22 ubuntu/lp1828495-0015-remove-cpuid-intel_pt.patch
23 ubuntu/lp1828495-0016-no-ospke-on-some.patch
24+ubuntu/lp-1836154-include-update-Linux-headers-to-4.21-rc1-5.0-rc1.patch
25+ubuntu/lp-1836154-linux-headers-add-linux-mman.h.patch
26+ubuntu/lp-1836154-linux-headers-update-against-Linux-5.2-rc1.patch
27+ubuntu/lp-1836154-linux-user-fix-__NR_semtimedop-undeclared-error.patch
28+ubuntu/lp-1836154-s390x-cpumodel-mepochptff-warn-when-no-mepoch-and-re.patch
29+ubuntu/lp-1836154-s390x-cpumodel-add-z14-GA2-model.patch
30+ubuntu/lp-1836154-s390x-cpumodel-Miscellaneous-Instruction-Extensions-.patch
31+ubuntu/lp-1836154-s390x-cpumodel-msa9-facility.patch
32+ubuntu/lp-1836154-s390x-cpumodel-vector-enhancements.patch
33+ubuntu/lp-1836154-s390x-cpumodel-enhanced-sort-facility.patch
34+ubuntu/lp-1836154-s390x-cpumodel-add-Deflate-conversion-facility.patch
35+ubuntu/lp-1836154-s390x-cpumodel-add-gen15-defintions.patch
36+ubuntu/lp-1836154-s390x-cpumodel-wire-up-8561-and-8562-as-gen15-machin.patch
37+ubuntu/lp-1836154-s390-cpumodel-fix-description-for-the-new-vector-fac.patch
38+ubuntu/lp-1836154-s390x-cpumodel-remove-esort-from-the-default-model.patch
39+ubuntu/lp-1836154-s390x-cpumodel-also-change-name-of-vxbeh.patch
40diff --git a/debian/patches/ubuntu/lp-1836154-include-update-Linux-headers-to-4.21-rc1-5.0-rc1.patch b/debian/patches/ubuntu/lp-1836154-include-update-Linux-headers-to-4.21-rc1-5.0-rc1.patch
41new file mode 100644
42index 0000000..8693652
43--- /dev/null
44+++ b/debian/patches/ubuntu/lp-1836154-include-update-Linux-headers-to-4.21-rc1-5.0-rc1.patch
45@@ -0,0 +1,4295 @@
46+From da054c646c777bcb487326f46cd5bf9932b05128 Mon Sep 17 00:00:00 2001
47+From: Paolo Bonzini <pbonzini@redhat.com>
48+Date: Fri, 4 Jan 2019 09:27:31 +0100
49+Subject: [PATCH] include: update Linux headers to 4.21-rc1/5.0-rc1
50+
51+This is simply running the newly-updated script on Linux, in
52+order to obtain the new header files and all the other updates
53+from the recent Linux merge window.
54+
55+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
56+Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
57+Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
58+
59+Origin: upstream, https://git.qemu.org/?p=qemu.git;a=commit;h=da054c646c777bcb487326f46cd5bf9932b05128
60+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1836154
61+Last-Update: 2019-07-16
62+
63+---
64+ include/standard-headers/drm/drm_fourcc.h | 63 +
65+ include/standard-headers/linux/ethtool.h | 19 +-
66+ .../linux/input-event-codes.h | 17 +
67+ include/standard-headers/linux/pci_regs.h | 1 +
68+ include/standard-headers/linux/vhost_types.h | 128 ++
69+ .../standard-headers/linux/virtio_balloon.h | 8 +
70+ include/standard-headers/linux/virtio_blk.h | 6 +
71+ .../standard-headers/linux/virtio_config.h | 3 +
72+ include/standard-headers/linux/virtio_gpu.h | 18 +
73+ include/standard-headers/linux/virtio_ring.h | 52 +
74+ linux-headers/asm-arm/unistd-common.h | 1 +
75+ linux-headers/asm-arm64/unistd.h | 1 +
76+ linux-headers/asm-generic/unistd.h | 10 +-
77+ linux-headers/asm-mips/sgidefs.h | 8 -
78+ linux-headers/asm-mips/unistd.h | 1074 +----------------
79+ linux-headers/asm-mips/unistd_n32.h | 338 ++++++
80+ linux-headers/asm-mips/unistd_n64.h | 334 +++++
81+ linux-headers/asm-mips/unistd_o32.h | 374 ++++++
82+ linux-headers/asm-powerpc/unistd.h | 389 +-----
83+ linux-headers/asm-powerpc/unistd_32.h | 381 ++++++
84+ linux-headers/asm-powerpc/unistd_64.h | 372 ++++++
85+ linux-headers/linux/kvm.h | 29 +
86+ linux-headers/linux/vfio.h | 92 ++
87+ linux-headers/linux/vhost.h | 113 +-
88+ linux-headers/linux/vhost_types.h | 1 +
89+ 25 files changed, 2243 insertions(+), 1589 deletions(-)
90+ create mode 100644 include/standard-headers/linux/vhost_types.h
91+ create mode 100644 linux-headers/asm-mips/unistd_n32.h
92+ create mode 100644 linux-headers/asm-mips/unistd_n64.h
93+ create mode 100644 linux-headers/asm-mips/unistd_o32.h
94+ create mode 100644 linux-headers/asm-powerpc/unistd_32.h
95+ create mode 100644 linux-headers/asm-powerpc/unistd_64.h
96+ create mode 100644 linux-headers/linux/vhost_types.h
97+
98+diff --git a/include/standard-headers/drm/drm_fourcc.h b/include/standard-headers/drm/drm_fourcc.h
99+index b53f8d7c8c..44490607f9 100644
100+--- a/include/standard-headers/drm/drm_fourcc.h
101++++ b/include/standard-headers/drm/drm_fourcc.h
102+@@ -29,11 +29,50 @@
103+ extern "C" {
104+ #endif
105+
106++/**
107++ * DOC: overview
108++ *
109++ * In the DRM subsystem, framebuffer pixel formats are described using the
110++ * fourcc codes defined in `include/uapi/drm/drm_fourcc.h`. In addition to the
111++ * fourcc code, a Format Modifier may optionally be provided, in order to
112++ * further describe the buffer's format - for example tiling or compression.
113++ *
114++ * Format Modifiers
115++ * ----------------
116++ *
117++ * Format modifiers are used in conjunction with a fourcc code, forming a
118++ * unique fourcc:modifier pair. This format:modifier pair must fully define the
119++ * format and data layout of the buffer, and should be the only way to describe
120++ * that particular buffer.
121++ *
122++ * Having multiple fourcc:modifier pairs which describe the same layout should
123++ * be avoided, as such aliases run the risk of different drivers exposing
124++ * different names for the same data format, forcing userspace to understand
125++ * that they are aliases.
126++ *
127++ * Format modifiers may change any property of the buffer, including the number
128++ * of planes and/or the required allocation size. Format modifiers are
129++ * vendor-namespaced, and as such the relationship between a fourcc code and a
130++ * modifier is specific to the modifer being used. For example, some modifiers
131++ * may preserve meaning - such as number of planes - from the fourcc code,
132++ * whereas others may not.
133++ *
134++ * Vendors should document their modifier usage in as much detail as
135++ * possible, to ensure maximum compatibility across devices, drivers and
136++ * applications.
137++ *
138++ * The authoritative list of format modifier codes is found in
139++ * `include/uapi/drm/drm_fourcc.h`
140++ */
141++
142+ #define fourcc_code(a, b, c, d) ((uint32_t)(a) | ((uint32_t)(b) << 8) | \
143+ ((uint32_t)(c) << 16) | ((uint32_t)(d) << 24))
144+
145+ #define DRM_FORMAT_BIG_ENDIAN (1<<31) /* format is big endian instead of little endian */
146+
147++/* Reserve 0 for the invalid format specifier */
148++#define DRM_FORMAT_INVALID 0
149++
150+ /* color index */
151+ #define DRM_FORMAT_C8 fourcc_code('C', '8', ' ', ' ') /* [7:0] C */
152+
153+@@ -111,6 +150,21 @@ extern "C" {
154+ #define DRM_FORMAT_VYUY fourcc_code('V', 'Y', 'U', 'Y') /* [31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian */
155+
156+ #define DRM_FORMAT_AYUV fourcc_code('A', 'Y', 'U', 'V') /* [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */
157++#define DRM_FORMAT_XYUV8888 fourcc_code('X', 'Y', 'U', 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */
158++
159++/*
160++ * packed YCbCr420 2x2 tiled formats
161++ * first 64 bits will contain Y,Cb,Cr components for a 2x2 tile
162++ */
163++/* [63:0] A3:A2:Y3:0:Cr0:0:Y2:0:A1:A0:Y1:0:Cb0:0:Y0:0 1:1:8:2:8:2:8:2:1:1:8:2:8:2:8:2 little endian */
164++#define DRM_FORMAT_Y0L0 fourcc_code('Y', '0', 'L', '0')
165++/* [63:0] X3:X2:Y3:0:Cr0:0:Y2:0:X1:X0:Y1:0:Cb0:0:Y0:0 1:1:8:2:8:2:8:2:1:1:8:2:8:2:8:2 little endian */
166++#define DRM_FORMAT_X0L0 fourcc_code('X', '0', 'L', '0')
167++
168++/* [63:0] A3:A2:Y3:Cr0:Y2:A1:A0:Y1:Cb0:Y0 1:1:10:10:10:1:1:10:10:10 little endian */
169++#define DRM_FORMAT_Y0L2 fourcc_code('Y', '0', 'L', '2')
170++/* [63:0] X3:X2:Y3:Cr0:Y2:X1:X0:Y1:Cb0:Y0 1:1:10:10:10:1:1:10:10:10 little endian */
171++#define DRM_FORMAT_X0L2 fourcc_code('X', '0', 'L', '2')
172+
173+ /*
174+ * 2 plane RGB + A
175+@@ -298,6 +352,15 @@ extern "C" {
176+ */
177+ #define DRM_FORMAT_MOD_SAMSUNG_64_32_TILE fourcc_mod_code(SAMSUNG, 1)
178+
179++/*
180++ * Tiled, 16 (pixels) x 16 (lines) - sized macroblocks
181++ *
182++ * This is a simple tiled layout using tiles of 16x16 pixels in a row-major
183++ * layout. For YCbCr formats Cb/Cr components are taken in such a way that
184++ * they correspond to their 16x16 luma block.
185++ */
186++#define DRM_FORMAT_MOD_SAMSUNG_16_16_TILE fourcc_mod_code(SAMSUNG, 2)
187++
188+ /*
189+ * Qualcomm Compressed Format
190+ *
191+diff --git a/include/standard-headers/linux/ethtool.h b/include/standard-headers/linux/ethtool.h
192+index 57ffcb5341..063c814278 100644
193+--- a/include/standard-headers/linux/ethtool.h
194++++ b/include/standard-headers/linux/ethtool.h
195+@@ -91,10 +91,6 @@
196+ * %ETHTOOL_GSET to get the current values before making specific
197+ * changes and then applying them with %ETHTOOL_SSET.
198+ *
199+- * Drivers that implement set_settings() should validate all fields
200+- * other than @cmd that are not described as read-only or deprecated,
201+- * and must ignore all fields described as read-only.
202+- *
203+ * Deprecated fields should be ignored by both users and drivers.
204+ */
205+ struct ethtool_cmd {
206+@@ -886,7 +882,7 @@ struct ethtool_rx_flow_spec {
207+ uint32_t location;
208+ };
209+
210+-/* How rings are layed out when accessing virtual functions or
211++/* How rings are laid out when accessing virtual functions or
212+ * offloaded queues is device specific. To allow users to do flow
213+ * steering and specify these queues the ring cookie is partitioned
214+ * into a 32bit queue index with an 8 bit virtual function id.
215+@@ -895,7 +891,7 @@ struct ethtool_rx_flow_spec {
216+ * devices start supporting PCIe w/ARI. However at the moment I
217+ * do not know of any devices that support this so I do not reserve
218+ * space for this at this time. If a future patch consumes the next
219+- * byte it should be aware of this possiblity.
220++ * byte it should be aware of this possibility.
221+ */
222+ #define ETHTOOL_RX_FLOW_SPEC_RING 0x00000000FFFFFFFFLL
223+ #define ETHTOOL_RX_FLOW_SPEC_RING_VF 0x000000FF00000000LL
224+@@ -1800,14 +1796,9 @@ enum ethtool_reset_flags {
225+ * rejected.
226+ *
227+ * Deprecated %ethtool_cmd fields transceiver, maxtxpkt and maxrxpkt
228+- * are not available in %ethtool_link_settings. Until all drivers are
229+- * converted to ignore them or to the new %ethtool_link_settings API,
230+- * for both queries and changes, users should always try
231+- * %ETHTOOL_GLINKSETTINGS first, and if it fails with -ENOTSUPP stick
232+- * only to %ETHTOOL_GSET and %ETHTOOL_SSET consistently. If it
233+- * succeeds, then users should stick to %ETHTOOL_GLINKSETTINGS and
234+- * %ETHTOOL_SLINKSETTINGS (which would support drivers implementing
235+- * either %ethtool_cmd or %ethtool_link_settings).
236++ * are not available in %ethtool_link_settings. These fields will be
237++ * always set to zero in %ETHTOOL_GSET reply and %ETHTOOL_SSET will
238++ * fail if any of them is set to non-zero value.
239+ *
240+ * Users should assume that all fields not marked read-only are
241+ * writable and subject to validation by the driver. They should use
242+diff --git a/include/standard-headers/linux/input-event-codes.h b/include/standard-headers/linux/input-event-codes.h
243+index 9e6a8ba4ce..871ac933eb 100644
244+--- a/include/standard-headers/linux/input-event-codes.h
245++++ b/include/standard-headers/linux/input-event-codes.h
246+@@ -708,6 +708,14 @@
247+ #define REL_DIAL 0x07
248+ #define REL_WHEEL 0x08
249+ #define REL_MISC 0x09
250++/*
251++ * 0x0a is reserved and should not be used in input drivers.
252++ * It was used by HID as REL_MISC+1 and userspace needs to detect if
253++ * the next REL_* event is correct or is just REL_MISC + n.
254++ * We define here REL_RESERVED so userspace can rely on it and detect
255++ * the situation described above.
256++ */
257++#define REL_RESERVED 0x0a
258+ #define REL_MAX 0x0f
259+ #define REL_CNT (REL_MAX+1)
260+
261+@@ -744,6 +752,15 @@
262+
263+ #define ABS_MISC 0x28
264+
265++/*
266++ * 0x2e is reserved and should not be used in input drivers.
267++ * It was used by HID as ABS_MISC+6 and userspace needs to detect if
268++ * the next ABS_* event is correct or is just ABS_MISC + n.
269++ * We define here ABS_RESERVED so userspace can rely on it and detect
270++ * the situation described above.
271++ */
272++#define ABS_RESERVED 0x2e
273++
274+ #define ABS_MT_SLOT 0x2f /* MT slot being modified */
275+ #define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */
276+ #define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */
277+diff --git a/include/standard-headers/linux/pci_regs.h b/include/standard-headers/linux/pci_regs.h
278+index ee556ccc93..e1e9888c85 100644
279+--- a/include/standard-headers/linux/pci_regs.h
280++++ b/include/standard-headers/linux/pci_regs.h
281+@@ -52,6 +52,7 @@
282+ #define PCI_COMMAND_INTX_DISABLE 0x400 /* INTx Emulation Disable */
283+
284+ #define PCI_STATUS 0x06 /* 16 bits */
285++#define PCI_STATUS_IMM_READY 0x01 /* Immediate Readiness */
286+ #define PCI_STATUS_INTERRUPT 0x08 /* Interrupt status */
287+ #define PCI_STATUS_CAP_LIST 0x10 /* Support Capability List */
288+ #define PCI_STATUS_66MHZ 0x20 /* Support 66 MHz PCI 2.1 bus */
289+diff --git a/include/standard-headers/linux/vhost_types.h b/include/standard-headers/linux/vhost_types.h
290+new file mode 100644
291+index 0000000000..5351fe172d
292+--- /dev/null
293++++ b/include/standard-headers/linux/vhost_types.h
294+@@ -0,0 +1,128 @@
295++/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
296++#ifndef _LINUX_VHOST_TYPES_H
297++#define _LINUX_VHOST_TYPES_H
298++/* Userspace interface for in-kernel virtio accelerators. */
299++
300++/* vhost is used to reduce the number of system calls involved in virtio.
301++ *
302++ * Existing virtio net code is used in the guest without modification.
303++ *
304++ * This header includes interface used by userspace hypervisor for
305++ * device configuration.
306++ */
307++
308++#include "standard-headers/linux/types.h"
309++
310++#include "standard-headers/linux/virtio_config.h"
311++#include "standard-headers/linux/virtio_ring.h"
312++
313++struct vhost_vring_state {
314++ unsigned int index;
315++ unsigned int num;
316++};
317++
318++struct vhost_vring_file {
319++ unsigned int index;
320++ int fd; /* Pass -1 to unbind from file. */
321++
322++};
323++
324++struct vhost_vring_addr {
325++ unsigned int index;
326++ /* Option flags. */
327++ unsigned int flags;
328++ /* Flag values: */
329++ /* Whether log address is valid. If set enables logging. */
330++#define VHOST_VRING_F_LOG 0
331++
332++ /* Start of array of descriptors (virtually contiguous) */
333++ uint64_t desc_user_addr;
334++ /* Used structure address. Must be 32 bit aligned */
335++ uint64_t used_user_addr;
336++ /* Available structure address. Must be 16 bit aligned */
337++ uint64_t avail_user_addr;
338++ /* Logging support. */
339++ /* Log writes to used structure, at offset calculated from specified
340++ * address. Address must be 32 bit aligned. */
341++ uint64_t log_guest_addr;
342++};
343++
344++/* no alignment requirement */
345++struct vhost_iotlb_msg {
346++ uint64_t iova;
347++ uint64_t size;
348++ uint64_t uaddr;
349++#define VHOST_ACCESS_RO 0x1
350++#define VHOST_ACCESS_WO 0x2
351++#define VHOST_ACCESS_RW 0x3
352++ uint8_t perm;
353++#define VHOST_IOTLB_MISS 1
354++#define VHOST_IOTLB_UPDATE 2
355++#define VHOST_IOTLB_INVALIDATE 3
356++#define VHOST_IOTLB_ACCESS_FAIL 4
357++ uint8_t type;
358++};
359++
360++#define VHOST_IOTLB_MSG 0x1
361++#define VHOST_IOTLB_MSG_V2 0x2
362++
363++struct vhost_msg {
364++ int type;
365++ union {
366++ struct vhost_iotlb_msg iotlb;
367++ uint8_t padding[64];
368++ };
369++};
370++
371++struct vhost_msg_v2 {
372++ uint32_t type;
373++ uint32_t reserved;
374++ union {
375++ struct vhost_iotlb_msg iotlb;
376++ uint8_t padding[64];
377++ };
378++};
379++
380++struct vhost_memory_region {
381++ uint64_t guest_phys_addr;
382++ uint64_t memory_size; /* bytes */
383++ uint64_t userspace_addr;
384++ uint64_t flags_padding; /* No flags are currently specified. */
385++};
386++
387++/* All region addresses and sizes must be 4K aligned. */
388++#define VHOST_PAGE_SIZE 0x1000
389++
390++struct vhost_memory {
391++ uint32_t nregions;
392++ uint32_t padding;
393++ struct vhost_memory_region regions[0];
394++};
395++
396++/* VHOST_SCSI specific definitions */
397++
398++/*
399++ * Used by QEMU userspace to ensure a consistent vhost-scsi ABI.
400++ *
401++ * ABI Rev 0: July 2012 version starting point for v3.6-rc merge candidate +
402++ * RFC-v2 vhost-scsi userspace. Add GET_ABI_VERSION ioctl usage
403++ * ABI Rev 1: January 2013. Ignore vhost_tpgt field in struct vhost_scsi_target.
404++ * All the targets under vhost_wwpn can be seen and used by guset.
405++ */
406++
407++#define VHOST_SCSI_ABI_VERSION 1
408++
409++struct vhost_scsi_target {
410++ int abi_version;
411++ char vhost_wwpn[224]; /* TRANSPORT_IQN_LEN */
412++ unsigned short vhost_tpgt;
413++ unsigned short reserved;
414++};
415++
416++/* Feature bits */
417++/* Log all write descriptors. Can be changed while device is active. */
418++#define VHOST_F_LOG_ALL 26
419++/* vhost-net should add virtio_net_hdr for RX, and strip for TX packets. */
420++#define VHOST_NET_F_VIRTIO_NET_HDR 27
421++
422++#endif
423+diff --git a/include/standard-headers/linux/virtio_balloon.h b/include/standard-headers/linux/virtio_balloon.h
424+index 4dbb7dc6c0..9375ca2a70 100644
425+--- a/include/standard-headers/linux/virtio_balloon.h
426++++ b/include/standard-headers/linux/virtio_balloon.h
427+@@ -34,15 +34,23 @@
428+ #define VIRTIO_BALLOON_F_MUST_TELL_HOST 0 /* Tell before reclaiming pages */
429+ #define VIRTIO_BALLOON_F_STATS_VQ 1 /* Memory Stats virtqueue */
430+ #define VIRTIO_BALLOON_F_DEFLATE_ON_OOM 2 /* Deflate balloon on OOM */
431++#define VIRTIO_BALLOON_F_FREE_PAGE_HINT 3 /* VQ to report free pages */
432++#define VIRTIO_BALLOON_F_PAGE_POISON 4 /* Guest is using page poisoning */
433+
434+ /* Size of a PFN in the balloon interface. */
435+ #define VIRTIO_BALLOON_PFN_SHIFT 12
436+
437++#define VIRTIO_BALLOON_CMD_ID_STOP 0
438++#define VIRTIO_BALLOON_CMD_ID_DONE 1
439+ struct virtio_balloon_config {
440+ /* Number of pages host wants Guest to give up. */
441+ uint32_t num_pages;
442+ /* Number of pages we've actually got in balloon. */
443+ uint32_t actual;
444++ /* Free page report command id, readonly by guest */
445++ uint32_t free_page_report_cmd_id;
446++ /* Stores PAGE_POISON if page poisoning is in use */
447++ uint32_t poison_val;
448+ };
449+
450+ #define VIRTIO_BALLOON_S_SWAP_IN 0 /* Amount of memory swapped in */
451+diff --git a/include/standard-headers/linux/virtio_blk.h b/include/standard-headers/linux/virtio_blk.h
452+index ab16ec5fd2..ae6e865fee 100644
453+--- a/include/standard-headers/linux/virtio_blk.h
454++++ b/include/standard-headers/linux/virtio_blk.h
455+@@ -112,6 +112,12 @@ struct virtio_blk_config {
456+ /* Get device ID command */
457+ #define VIRTIO_BLK_T_GET_ID 8
458+
459++/* Discard command */
460++#define VIRTIO_BLK_T_DISCARD 11
461++
462++/* Write zeroes command */
463++#define VIRTIO_BLK_T_WRITE_ZEROES 13
464++
465+ #ifndef VIRTIO_BLK_NO_LEGACY
466+ /* Barrier before this op. */
467+ #define VIRTIO_BLK_T_BARRIER 0x80000000
468+diff --git a/include/standard-headers/linux/virtio_config.h b/include/standard-headers/linux/virtio_config.h
469+index 0b194365a0..24e30af5ec 100644
470+--- a/include/standard-headers/linux/virtio_config.h
471++++ b/include/standard-headers/linux/virtio_config.h
472+@@ -75,6 +75,9 @@
473+ */
474+ #define VIRTIO_F_IOMMU_PLATFORM 33
475+
476++/* This feature indicates support for the packed virtqueue layout. */
477++#define VIRTIO_F_RING_PACKED 34
478++
479+ /*
480+ * Does the device support Single Root I/O Virtualization?
481+ */
482+diff --git a/include/standard-headers/linux/virtio_gpu.h b/include/standard-headers/linux/virtio_gpu.h
483+index 52a830dcf8..27bb5111f9 100644
484+--- a/include/standard-headers/linux/virtio_gpu.h
485++++ b/include/standard-headers/linux/virtio_gpu.h
486+@@ -41,6 +41,7 @@
487+ #include "standard-headers/linux/types.h"
488+
489+ #define VIRTIO_GPU_F_VIRGL 0
490++#define VIRTIO_GPU_F_EDID 1
491+
492+ enum virtio_gpu_ctrl_type {
493+ VIRTIO_GPU_UNDEFINED = 0,
494+@@ -56,6 +57,7 @@ enum virtio_gpu_ctrl_type {
495+ VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING,
496+ VIRTIO_GPU_CMD_GET_CAPSET_INFO,
497+ VIRTIO_GPU_CMD_GET_CAPSET,
498++ VIRTIO_GPU_CMD_GET_EDID,
499+
500+ /* 3d commands */
501+ VIRTIO_GPU_CMD_CTX_CREATE = 0x0200,
502+@@ -76,6 +78,7 @@ enum virtio_gpu_ctrl_type {
503+ VIRTIO_GPU_RESP_OK_DISPLAY_INFO,
504+ VIRTIO_GPU_RESP_OK_CAPSET_INFO,
505+ VIRTIO_GPU_RESP_OK_CAPSET,
506++ VIRTIO_GPU_RESP_OK_EDID,
507+
508+ /* error responses */
509+ VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200,
510+@@ -291,6 +294,21 @@ struct virtio_gpu_resp_capset {
511+ uint8_t capset_data[];
512+ };
513+
514++/* VIRTIO_GPU_CMD_GET_EDID */
515++struct virtio_gpu_cmd_get_edid {
516++ struct virtio_gpu_ctrl_hdr hdr;
517++ uint32_t scanout;
518++ uint32_t padding;
519++};
520++
521++/* VIRTIO_GPU_RESP_OK_EDID */
522++struct virtio_gpu_resp_edid {
523++ struct virtio_gpu_ctrl_hdr hdr;
524++ uint32_t size;
525++ uint32_t padding;
526++ uint8_t edid[1024];
527++};
528++
529+ #define VIRTIO_GPU_EVENT_DISPLAY (1 << 0)
530+
531+ struct virtio_gpu_config {
532+diff --git a/include/standard-headers/linux/virtio_ring.h b/include/standard-headers/linux/virtio_ring.h
533+index d26e72bc6b..e89931f634 100644
534+--- a/include/standard-headers/linux/virtio_ring.h
535++++ b/include/standard-headers/linux/virtio_ring.h
536+@@ -42,6 +42,13 @@
537+ /* This means the buffer contains a list of buffer descriptors. */
538+ #define VRING_DESC_F_INDIRECT 4
539+
540++/*
541++ * Mark a descriptor as available or used in packed ring.
542++ * Notice: they are defined as shifts instead of shifted values.
543++ */
544++#define VRING_PACKED_DESC_F_AVAIL 7
545++#define VRING_PACKED_DESC_F_USED 15
546++
547+ /* The Host uses this in used->flags to advise the Guest: don't kick me when
548+ * you add a buffer. It's unreliable, so it's simply an optimization. Guest
549+ * will still kick if it's out of buffers. */
550+@@ -51,6 +58,23 @@
551+ * optimization. */
552+ #define VRING_AVAIL_F_NO_INTERRUPT 1
553+
554++/* Enable events in packed ring. */
555++#define VRING_PACKED_EVENT_FLAG_ENABLE 0x0
556++/* Disable events in packed ring. */
557++#define VRING_PACKED_EVENT_FLAG_DISABLE 0x1
558++/*
559++ * Enable events for a specific descriptor in packed ring.
560++ * (as specified by Descriptor Ring Change Event Offset/Wrap Counter).
561++ * Only valid if VIRTIO_RING_F_EVENT_IDX has been negotiated.
562++ */
563++#define VRING_PACKED_EVENT_FLAG_DESC 0x2
564++
565++/*
566++ * Wrap counter bit shift in event suppression structure
567++ * of packed ring.
568++ */
569++#define VRING_PACKED_EVENT_F_WRAP_CTR 15
570++
571+ /* We support indirect buffer descriptors */
572+ #define VIRTIO_RING_F_INDIRECT_DESC 28
573+
574+@@ -169,4 +193,32 @@ static inline int vring_need_event(uint16_t event_idx, uint16_t new_idx, uint16_
575+ return (uint16_t)(new_idx - event_idx - 1) < (uint16_t)(new_idx - old);
576+ }
577+
578++struct vring_packed_desc_event {
579++ /* Descriptor Ring Change Event Offset/Wrap Counter. */
580++ uint16_t off_wrap;
581++ /* Descriptor Ring Change Event Flags. */
582++ uint16_t flags;
583++};
584++
585++struct vring_packed_desc {
586++ /* Buffer Address. */
587++ uint64_t addr;
588++ /* Buffer Length. */
589++ uint32_t len;
590++ /* Buffer ID. */
591++ uint16_t id;
592++ /* The flags depending on descriptor type. */
593++ uint16_t flags;
594++};
595++
596++struct vring_packed {
597++ unsigned int num;
598++
599++ struct vring_packed_desc *desc;
600++
601++ struct vring_packed_desc_event *driver;
602++
603++ struct vring_packed_desc_event *device;
604++};
605++
606+ #endif /* _LINUX_VIRTIO_RING_H */
607+diff --git a/linux-headers/asm-arm/unistd-common.h b/linux-headers/asm-arm/unistd-common.h
608+index 60c2d931d0..8c84bcf10f 100644
609+--- a/linux-headers/asm-arm/unistd-common.h
610++++ b/linux-headers/asm-arm/unistd-common.h
611+@@ -355,5 +355,6 @@
612+ #define __NR_pkey_free (__NR_SYSCALL_BASE + 396)
613+ #define __NR_statx (__NR_SYSCALL_BASE + 397)
614+ #define __NR_rseq (__NR_SYSCALL_BASE + 398)
615++#define __NR_io_pgetevents (__NR_SYSCALL_BASE + 399)
616+
617+ #endif /* _ASM_ARM_UNISTD_COMMON_H */
618+diff --git a/linux-headers/asm-arm64/unistd.h b/linux-headers/asm-arm64/unistd.h
619+index 5072cbd15c..dae1584cf0 100644
620+--- a/linux-headers/asm-arm64/unistd.h
621++++ b/linux-headers/asm-arm64/unistd.h
622+@@ -16,5 +16,6 @@
623+ */
624+
625+ #define __ARCH_WANT_RENAMEAT
626++#define __ARCH_WANT_NEW_STAT
627+
628+ #include <asm-generic/unistd.h>
629+diff --git a/linux-headers/asm-generic/unistd.h b/linux-headers/asm-generic/unistd.h
630+index df4bedb9b0..d90127298f 100644
631+--- a/linux-headers/asm-generic/unistd.h
632++++ b/linux-headers/asm-generic/unistd.h
633+@@ -242,10 +242,12 @@ __SYSCALL(__NR_tee, sys_tee)
634+ /* fs/stat.c */
635+ #define __NR_readlinkat 78
636+ __SYSCALL(__NR_readlinkat, sys_readlinkat)
637++#if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64)
638+ #define __NR3264_fstatat 79
639+ __SC_3264(__NR3264_fstatat, sys_fstatat64, sys_newfstatat)
640+ #define __NR3264_fstat 80
641+ __SC_3264(__NR3264_fstat, sys_fstat64, sys_newfstat)
642++#endif
643+
644+ /* fs/sync.c */
645+ #define __NR_sync 81
646+@@ -736,9 +738,11 @@ __SYSCALL(__NR_statx, sys_statx)
647+ __SC_COMP(__NR_io_pgetevents, sys_io_pgetevents, compat_sys_io_pgetevents)
648+ #define __NR_rseq 293
649+ __SYSCALL(__NR_rseq, sys_rseq)
650++#define __NR_kexec_file_load 294
651++__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load)
652+
653+ #undef __NR_syscalls
654+-#define __NR_syscalls 294
655++#define __NR_syscalls 295
656+
657+ /*
658+ * 32 bit systems traditionally used different
659+@@ -758,8 +762,10 @@ __SYSCALL(__NR_rseq, sys_rseq)
660+ #define __NR_ftruncate __NR3264_ftruncate
661+ #define __NR_lseek __NR3264_lseek
662+ #define __NR_sendfile __NR3264_sendfile
663++#if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64)
664+ #define __NR_newfstatat __NR3264_fstatat
665+ #define __NR_fstat __NR3264_fstat
666++#endif
667+ #define __NR_mmap __NR3264_mmap
668+ #define __NR_fadvise64 __NR3264_fadvise64
669+ #ifdef __NR3264_stat
670+@@ -774,8 +780,10 @@ __SYSCALL(__NR_rseq, sys_rseq)
671+ #define __NR_ftruncate64 __NR3264_ftruncate
672+ #define __NR_llseek __NR3264_lseek
673+ #define __NR_sendfile64 __NR3264_sendfile
674++#if defined(__ARCH_WANT_NEW_STAT) || defined(__ARCH_WANT_STAT64)
675+ #define __NR_fstatat64 __NR3264_fstatat
676+ #define __NR_fstat64 __NR3264_fstat
677++#endif
678+ #define __NR_mmap2 __NR3264_mmap
679+ #define __NR_fadvise64_64 __NR3264_fadvise64
680+ #ifdef __NR3264_stat
681+diff --git a/linux-headers/asm-mips/sgidefs.h b/linux-headers/asm-mips/sgidefs.h
682+index 26143e3b7c..69c3de90c5 100644
683+--- a/linux-headers/asm-mips/sgidefs.h
684++++ b/linux-headers/asm-mips/sgidefs.h
685+@@ -11,14 +11,6 @@
686+ #ifndef __ASM_SGIDEFS_H
687+ #define __ASM_SGIDEFS_H
688+
689+-/*
690+- * Using a Linux compiler for building Linux seems logic but not to
691+- * everybody.
692+- */
693+-#ifndef __linux__
694+-#error Use a Linux compiler or give up.
695+-#endif
696+-
697+ /*
698+ * Definitions for the ISA levels
699+ *
700+diff --git a/linux-headers/asm-mips/unistd.h b/linux-headers/asm-mips/unistd.h
701+index d4a85ef3eb..62b86b865c 100644
702+--- a/linux-headers/asm-mips/unistd.h
703++++ b/linux-headers/asm-mips/unistd.h
704+@@ -17,1085 +17,23 @@
705+
706+ #if _MIPS_SIM == _MIPS_SIM_ABI32
707+
708+-/*
709+- * Linux o32 style syscalls are in the range from 4000 to 4999.
710+- */
711+-#define __NR_Linux 4000
712+-#define __NR_syscall (__NR_Linux + 0)
713+-#define __NR_exit (__NR_Linux + 1)
714+-#define __NR_fork (__NR_Linux + 2)
715+-#define __NR_read (__NR_Linux + 3)
716+-#define __NR_write (__NR_Linux + 4)
717+-#define __NR_open (__NR_Linux + 5)
718+-#define __NR_close (__NR_Linux + 6)
719+-#define __NR_waitpid (__NR_Linux + 7)
720+-#define __NR_creat (__NR_Linux + 8)
721+-#define __NR_link (__NR_Linux + 9)
722+-#define __NR_unlink (__NR_Linux + 10)
723+-#define __NR_execve (__NR_Linux + 11)
724+-#define __NR_chdir (__NR_Linux + 12)
725+-#define __NR_time (__NR_Linux + 13)
726+-#define __NR_mknod (__NR_Linux + 14)
727+-#define __NR_chmod (__NR_Linux + 15)
728+-#define __NR_lchown (__NR_Linux + 16)
729+-#define __NR_break (__NR_Linux + 17)
730+-#define __NR_unused18 (__NR_Linux + 18)
731+-#define __NR_lseek (__NR_Linux + 19)
732+-#define __NR_getpid (__NR_Linux + 20)
733+-#define __NR_mount (__NR_Linux + 21)
734+-#define __NR_umount (__NR_Linux + 22)
735+-#define __NR_setuid (__NR_Linux + 23)
736+-#define __NR_getuid (__NR_Linux + 24)
737+-#define __NR_stime (__NR_Linux + 25)
738+-#define __NR_ptrace (__NR_Linux + 26)
739+-#define __NR_alarm (__NR_Linux + 27)
740+-#define __NR_unused28 (__NR_Linux + 28)
741+-#define __NR_pause (__NR_Linux + 29)
742+-#define __NR_utime (__NR_Linux + 30)
743+-#define __NR_stty (__NR_Linux + 31)
744+-#define __NR_gtty (__NR_Linux + 32)
745+-#define __NR_access (__NR_Linux + 33)
746+-#define __NR_nice (__NR_Linux + 34)
747+-#define __NR_ftime (__NR_Linux + 35)
748+-#define __NR_sync (__NR_Linux + 36)
749+-#define __NR_kill (__NR_Linux + 37)
750+-#define __NR_rename (__NR_Linux + 38)
751+-#define __NR_mkdir (__NR_Linux + 39)
752+-#define __NR_rmdir (__NR_Linux + 40)
753+-#define __NR_dup (__NR_Linux + 41)
754+-#define __NR_pipe (__NR_Linux + 42)
755+-#define __NR_times (__NR_Linux + 43)
756+-#define __NR_prof (__NR_Linux + 44)
757+-#define __NR_brk (__NR_Linux + 45)
758+-#define __NR_setgid (__NR_Linux + 46)
759+-#define __NR_getgid (__NR_Linux + 47)
760+-#define __NR_signal (__NR_Linux + 48)
761+-#define __NR_geteuid (__NR_Linux + 49)
762+-#define __NR_getegid (__NR_Linux + 50)
763+-#define __NR_acct (__NR_Linux + 51)
764+-#define __NR_umount2 (__NR_Linux + 52)
765+-#define __NR_lock (__NR_Linux + 53)
766+-#define __NR_ioctl (__NR_Linux + 54)
767+-#define __NR_fcntl (__NR_Linux + 55)
768+-#define __NR_mpx (__NR_Linux + 56)
769+-#define __NR_setpgid (__NR_Linux + 57)
770+-#define __NR_ulimit (__NR_Linux + 58)
771+-#define __NR_unused59 (__NR_Linux + 59)
772+-#define __NR_umask (__NR_Linux + 60)
773+-#define __NR_chroot (__NR_Linux + 61)
774+-#define __NR_ustat (__NR_Linux + 62)
775+-#define __NR_dup2 (__NR_Linux + 63)
776+-#define __NR_getppid (__NR_Linux + 64)
777+-#define __NR_getpgrp (__NR_Linux + 65)
778+-#define __NR_setsid (__NR_Linux + 66)
779+-#define __NR_sigaction (__NR_Linux + 67)
780+-#define __NR_sgetmask (__NR_Linux + 68)
781+-#define __NR_ssetmask (__NR_Linux + 69)
782+-#define __NR_setreuid (__NR_Linux + 70)
783+-#define __NR_setregid (__NR_Linux + 71)
784+-#define __NR_sigsuspend (__NR_Linux + 72)
785+-#define __NR_sigpending (__NR_Linux + 73)
786+-#define __NR_sethostname (__NR_Linux + 74)
787+-#define __NR_setrlimit (__NR_Linux + 75)
788+-#define __NR_getrlimit (__NR_Linux + 76)
789+-#define __NR_getrusage (__NR_Linux + 77)
790+-#define __NR_gettimeofday (__NR_Linux + 78)
791+-#define __NR_settimeofday (__NR_Linux + 79)
792+-#define __NR_getgroups (__NR_Linux + 80)
793+-#define __NR_setgroups (__NR_Linux + 81)
794+-#define __NR_reserved82 (__NR_Linux + 82)
795+-#define __NR_symlink (__NR_Linux + 83)
796+-#define __NR_unused84 (__NR_Linux + 84)
797+-#define __NR_readlink (__NR_Linux + 85)
798+-#define __NR_uselib (__NR_Linux + 86)
799+-#define __NR_swapon (__NR_Linux + 87)
800+-#define __NR_reboot (__NR_Linux + 88)
801+-#define __NR_readdir (__NR_Linux + 89)
802+-#define __NR_mmap (__NR_Linux + 90)
803+-#define __NR_munmap (__NR_Linux + 91)
804+-#define __NR_truncate (__NR_Linux + 92)
805+-#define __NR_ftruncate (__NR_Linux + 93)
806+-#define __NR_fchmod (__NR_Linux + 94)
807+-#define __NR_fchown (__NR_Linux + 95)
808+-#define __NR_getpriority (__NR_Linux + 96)
809+-#define __NR_setpriority (__NR_Linux + 97)
810+-#define __NR_profil (__NR_Linux + 98)
811+-#define __NR_statfs (__NR_Linux + 99)
812+-#define __NR_fstatfs (__NR_Linux + 100)
813+-#define __NR_ioperm (__NR_Linux + 101)
814+-#define __NR_socketcall (__NR_Linux + 102)
815+-#define __NR_syslog (__NR_Linux + 103)
816+-#define __NR_setitimer (__NR_Linux + 104)
817+-#define __NR_getitimer (__NR_Linux + 105)
818+-#define __NR_stat (__NR_Linux + 106)
819+-#define __NR_lstat (__NR_Linux + 107)
820+-#define __NR_fstat (__NR_Linux + 108)
821+-#define __NR_unused109 (__NR_Linux + 109)
822+-#define __NR_iopl (__NR_Linux + 110)
823+-#define __NR_vhangup (__NR_Linux + 111)
824+-#define __NR_idle (__NR_Linux + 112)
825+-#define __NR_vm86 (__NR_Linux + 113)
826+-#define __NR_wait4 (__NR_Linux + 114)
827+-#define __NR_swapoff (__NR_Linux + 115)
828+-#define __NR_sysinfo (__NR_Linux + 116)
829+-#define __NR_ipc (__NR_Linux + 117)
830+-#define __NR_fsync (__NR_Linux + 118)
831+-#define __NR_sigreturn (__NR_Linux + 119)
832+-#define __NR_clone (__NR_Linux + 120)
833+-#define __NR_setdomainname (__NR_Linux + 121)
834+-#define __NR_uname (__NR_Linux + 122)
835+-#define __NR_modify_ldt (__NR_Linux + 123)
836+-#define __NR_adjtimex (__NR_Linux + 124)
837+-#define __NR_mprotect (__NR_Linux + 125)
838+-#define __NR_sigprocmask (__NR_Linux + 126)
839+-#define __NR_create_module (__NR_Linux + 127)
840+-#define __NR_init_module (__NR_Linux + 128)
841+-#define __NR_delete_module (__NR_Linux + 129)
842+-#define __NR_get_kernel_syms (__NR_Linux + 130)
843+-#define __NR_quotactl (__NR_Linux + 131)
844+-#define __NR_getpgid (__NR_Linux + 132)
845+-#define __NR_fchdir (__NR_Linux + 133)
846+-#define __NR_bdflush (__NR_Linux + 134)
847+-#define __NR_sysfs (__NR_Linux + 135)
848+-#define __NR_personality (__NR_Linux + 136)
849+-#define __NR_afs_syscall (__NR_Linux + 137) /* Syscall for Andrew File System */
850+-#define __NR_setfsuid (__NR_Linux + 138)
851+-#define __NR_setfsgid (__NR_Linux + 139)
852+-#define __NR__llseek (__NR_Linux + 140)
853+-#define __NR_getdents (__NR_Linux + 141)
854+-#define __NR__newselect (__NR_Linux + 142)
855+-#define __NR_flock (__NR_Linux + 143)
856+-#define __NR_msync (__NR_Linux + 144)
857+-#define __NR_readv (__NR_Linux + 145)
858+-#define __NR_writev (__NR_Linux + 146)
859+-#define __NR_cacheflush (__NR_Linux + 147)
860+-#define __NR_cachectl (__NR_Linux + 148)
861+-#define __NR_sysmips (__NR_Linux + 149)
862+-#define __NR_unused150 (__NR_Linux + 150)
863+-#define __NR_getsid (__NR_Linux + 151)
864+-#define __NR_fdatasync (__NR_Linux + 152)
865+-#define __NR__sysctl (__NR_Linux + 153)
866+-#define __NR_mlock (__NR_Linux + 154)
867+-#define __NR_munlock (__NR_Linux + 155)
868+-#define __NR_mlockall (__NR_Linux + 156)
869+-#define __NR_munlockall (__NR_Linux + 157)
870+-#define __NR_sched_setparam (__NR_Linux + 158)
871+-#define __NR_sched_getparam (__NR_Linux + 159)
872+-#define __NR_sched_setscheduler (__NR_Linux + 160)
873+-#define __NR_sched_getscheduler (__NR_Linux + 161)
874+-#define __NR_sched_yield (__NR_Linux + 162)
875+-#define __NR_sched_get_priority_max (__NR_Linux + 163)
876+-#define __NR_sched_get_priority_min (__NR_Linux + 164)
877+-#define __NR_sched_rr_get_interval (__NR_Linux + 165)
878+-#define __NR_nanosleep (__NR_Linux + 166)
879+-#define __NR_mremap (__NR_Linux + 167)
880+-#define __NR_accept (__NR_Linux + 168)
881+-#define __NR_bind (__NR_Linux + 169)
882+-#define __NR_connect (__NR_Linux + 170)
883+-#define __NR_getpeername (__NR_Linux + 171)
884+-#define __NR_getsockname (__NR_Linux + 172)
885+-#define __NR_getsockopt (__NR_Linux + 173)
886+-#define __NR_listen (__NR_Linux + 174)
887+-#define __NR_recv (__NR_Linux + 175)
888+-#define __NR_recvfrom (__NR_Linux + 176)
889+-#define __NR_recvmsg (__NR_Linux + 177)
890+-#define __NR_send (__NR_Linux + 178)
891+-#define __NR_sendmsg (__NR_Linux + 179)
892+-#define __NR_sendto (__NR_Linux + 180)
893+-#define __NR_setsockopt (__NR_Linux + 181)
894+-#define __NR_shutdown (__NR_Linux + 182)
895+-#define __NR_socket (__NR_Linux + 183)
896+-#define __NR_socketpair (__NR_Linux + 184)
897+-#define __NR_setresuid (__NR_Linux + 185)
898+-#define __NR_getresuid (__NR_Linux + 186)
899+-#define __NR_query_module (__NR_Linux + 187)
900+-#define __NR_poll (__NR_Linux + 188)
901+-#define __NR_nfsservctl (__NR_Linux + 189)
902+-#define __NR_setresgid (__NR_Linux + 190)
903+-#define __NR_getresgid (__NR_Linux + 191)
904+-#define __NR_prctl (__NR_Linux + 192)
905+-#define __NR_rt_sigreturn (__NR_Linux + 193)
906+-#define __NR_rt_sigaction (__NR_Linux + 194)
907+-#define __NR_rt_sigprocmask (__NR_Linux + 195)
908+-#define __NR_rt_sigpending (__NR_Linux + 196)
909+-#define __NR_rt_sigtimedwait (__NR_Linux + 197)
910+-#define __NR_rt_sigqueueinfo (__NR_Linux + 198)
911+-#define __NR_rt_sigsuspend (__NR_Linux + 199)
912+-#define __NR_pread64 (__NR_Linux + 200)
913+-#define __NR_pwrite64 (__NR_Linux + 201)
914+-#define __NR_chown (__NR_Linux + 202)
915+-#define __NR_getcwd (__NR_Linux + 203)
916+-#define __NR_capget (__NR_Linux + 204)
917+-#define __NR_capset (__NR_Linux + 205)
918+-#define __NR_sigaltstack (__NR_Linux + 206)
919+-#define __NR_sendfile (__NR_Linux + 207)
920+-#define __NR_getpmsg (__NR_Linux + 208)
921+-#define __NR_putpmsg (__NR_Linux + 209)
922+-#define __NR_mmap2 (__NR_Linux + 210)
923+-#define __NR_truncate64 (__NR_Linux + 211)
924+-#define __NR_ftruncate64 (__NR_Linux + 212)
925+-#define __NR_stat64 (__NR_Linux + 213)
926+-#define __NR_lstat64 (__NR_Linux + 214)
927+-#define __NR_fstat64 (__NR_Linux + 215)
928+-#define __NR_pivot_root (__NR_Linux + 216)
929+-#define __NR_mincore (__NR_Linux + 217)
930+-#define __NR_madvise (__NR_Linux + 218)
931+-#define __NR_getdents64 (__NR_Linux + 219)
932+-#define __NR_fcntl64 (__NR_Linux + 220)
933+-#define __NR_reserved221 (__NR_Linux + 221)
934+-#define __NR_gettid (__NR_Linux + 222)
935+-#define __NR_readahead (__NR_Linux + 223)
936+-#define __NR_setxattr (__NR_Linux + 224)
937+-#define __NR_lsetxattr (__NR_Linux + 225)
938+-#define __NR_fsetxattr (__NR_Linux + 226)
939+-#define __NR_getxattr (__NR_Linux + 227)
940+-#define __NR_lgetxattr (__NR_Linux + 228)
941+-#define __NR_fgetxattr (__NR_Linux + 229)
942+-#define __NR_listxattr (__NR_Linux + 230)
943+-#define __NR_llistxattr (__NR_Linux + 231)
944+-#define __NR_flistxattr (__NR_Linux + 232)
945+-#define __NR_removexattr (__NR_Linux + 233)
946+-#define __NR_lremovexattr (__NR_Linux + 234)
947+-#define __NR_fremovexattr (__NR_Linux + 235)
948+-#define __NR_tkill (__NR_Linux + 236)
949+-#define __NR_sendfile64 (__NR_Linux + 237)
950+-#define __NR_futex (__NR_Linux + 238)
951+-#define __NR_sched_setaffinity (__NR_Linux + 239)
952+-#define __NR_sched_getaffinity (__NR_Linux + 240)
953+-#define __NR_io_setup (__NR_Linux + 241)
954+-#define __NR_io_destroy (__NR_Linux + 242)
955+-#define __NR_io_getevents (__NR_Linux + 243)
956+-#define __NR_io_submit (__NR_Linux + 244)
957+-#define __NR_io_cancel (__NR_Linux + 245)
958+-#define __NR_exit_group (__NR_Linux + 246)
959+-#define __NR_lookup_dcookie (__NR_Linux + 247)
960+-#define __NR_epoll_create (__NR_Linux + 248)
961+-#define __NR_epoll_ctl (__NR_Linux + 249)
962+-#define __NR_epoll_wait (__NR_Linux + 250)
963+-#define __NR_remap_file_pages (__NR_Linux + 251)
964+-#define __NR_set_tid_address (__NR_Linux + 252)
965+-#define __NR_restart_syscall (__NR_Linux + 253)
966+-#define __NR_fadvise64 (__NR_Linux + 254)
967+-#define __NR_statfs64 (__NR_Linux + 255)
968+-#define __NR_fstatfs64 (__NR_Linux + 256)
969+-#define __NR_timer_create (__NR_Linux + 257)
970+-#define __NR_timer_settime (__NR_Linux + 258)
971+-#define __NR_timer_gettime (__NR_Linux + 259)
972+-#define __NR_timer_getoverrun (__NR_Linux + 260)
973+-#define __NR_timer_delete (__NR_Linux + 261)
974+-#define __NR_clock_settime (__NR_Linux + 262)
975+-#define __NR_clock_gettime (__NR_Linux + 263)
976+-#define __NR_clock_getres (__NR_Linux + 264)
977+-#define __NR_clock_nanosleep (__NR_Linux + 265)
978+-#define __NR_tgkill (__NR_Linux + 266)
979+-#define __NR_utimes (__NR_Linux + 267)
980+-#define __NR_mbind (__NR_Linux + 268)
981+-#define __NR_get_mempolicy (__NR_Linux + 269)
982+-#define __NR_set_mempolicy (__NR_Linux + 270)
983+-#define __NR_mq_open (__NR_Linux + 271)
984+-#define __NR_mq_unlink (__NR_Linux + 272)
985+-#define __NR_mq_timedsend (__NR_Linux + 273)
986+-#define __NR_mq_timedreceive (__NR_Linux + 274)
987+-#define __NR_mq_notify (__NR_Linux + 275)
988+-#define __NR_mq_getsetattr (__NR_Linux + 276)
989+-#define __NR_vserver (__NR_Linux + 277)
990+-#define __NR_waitid (__NR_Linux + 278)
991+-/* #define __NR_sys_setaltroot (__NR_Linux + 279) */
992+-#define __NR_add_key (__NR_Linux + 280)
993+-#define __NR_request_key (__NR_Linux + 281)
994+-#define __NR_keyctl (__NR_Linux + 282)
995+-#define __NR_set_thread_area (__NR_Linux + 283)
996+-#define __NR_inotify_init (__NR_Linux + 284)
997+-#define __NR_inotify_add_watch (__NR_Linux + 285)
998+-#define __NR_inotify_rm_watch (__NR_Linux + 286)
999+-#define __NR_migrate_pages (__NR_Linux + 287)
1000+-#define __NR_openat (__NR_Linux + 288)
1001+-#define __NR_mkdirat (__NR_Linux + 289)
1002+-#define __NR_mknodat (__NR_Linux + 290)
1003+-#define __NR_fchownat (__NR_Linux + 291)
1004+-#define __NR_futimesat (__NR_Linux + 292)
1005+-#define __NR_fstatat64 (__NR_Linux + 293)
1006+-#define __NR_unlinkat (__NR_Linux + 294)
1007+-#define __NR_renameat (__NR_Linux + 295)
1008+-#define __NR_linkat (__NR_Linux + 296)
1009+-#define __NR_symlinkat (__NR_Linux + 297)
1010+-#define __NR_readlinkat (__NR_Linux + 298)
1011+-#define __NR_fchmodat (__NR_Linux + 299)
1012+-#define __NR_faccessat (__NR_Linux + 300)
1013+-#define __NR_pselect6 (__NR_Linux + 301)
1014+-#define __NR_ppoll (__NR_Linux + 302)
1015+-#define __NR_unshare (__NR_Linux + 303)
1016+-#define __NR_splice (__NR_Linux + 304)
1017+-#define __NR_sync_file_range (__NR_Linux + 305)
1018+-#define __NR_tee (__NR_Linux + 306)
1019+-#define __NR_vmsplice (__NR_Linux + 307)
1020+-#define __NR_move_pages (__NR_Linux + 308)
1021+-#define __NR_set_robust_list (__NR_Linux + 309)
1022+-#define __NR_get_robust_list (__NR_Linux + 310)
1023+-#define __NR_kexec_load (__NR_Linux + 311)
1024+-#define __NR_getcpu (__NR_Linux + 312)
1025+-#define __NR_epoll_pwait (__NR_Linux + 313)
1026+-#define __NR_ioprio_set (__NR_Linux + 314)
1027+-#define __NR_ioprio_get (__NR_Linux + 315)
1028+-#define __NR_utimensat (__NR_Linux + 316)
1029+-#define __NR_signalfd (__NR_Linux + 317)
1030+-#define __NR_timerfd (__NR_Linux + 318)
1031+-#define __NR_eventfd (__NR_Linux + 319)
1032+-#define __NR_fallocate (__NR_Linux + 320)
1033+-#define __NR_timerfd_create (__NR_Linux + 321)
1034+-#define __NR_timerfd_gettime (__NR_Linux + 322)
1035+-#define __NR_timerfd_settime (__NR_Linux + 323)
1036+-#define __NR_signalfd4 (__NR_Linux + 324)
1037+-#define __NR_eventfd2 (__NR_Linux + 325)
1038+-#define __NR_epoll_create1 (__NR_Linux + 326)
1039+-#define __NR_dup3 (__NR_Linux + 327)
1040+-#define __NR_pipe2 (__NR_Linux + 328)
1041+-#define __NR_inotify_init1 (__NR_Linux + 329)
1042+-#define __NR_preadv (__NR_Linux + 330)
1043+-#define __NR_pwritev (__NR_Linux + 331)
1044+-#define __NR_rt_tgsigqueueinfo (__NR_Linux + 332)
1045+-#define __NR_perf_event_open (__NR_Linux + 333)
1046+-#define __NR_accept4 (__NR_Linux + 334)
1047+-#define __NR_recvmmsg (__NR_Linux + 335)
1048+-#define __NR_fanotify_init (__NR_Linux + 336)
1049+-#define __NR_fanotify_mark (__NR_Linux + 337)
1050+-#define __NR_prlimit64 (__NR_Linux + 338)
1051+-#define __NR_name_to_handle_at (__NR_Linux + 339)
1052+-#define __NR_open_by_handle_at (__NR_Linux + 340)
1053+-#define __NR_clock_adjtime (__NR_Linux + 341)
1054+-#define __NR_syncfs (__NR_Linux + 342)
1055+-#define __NR_sendmmsg (__NR_Linux + 343)
1056+-#define __NR_setns (__NR_Linux + 344)
1057+-#define __NR_process_vm_readv (__NR_Linux + 345)
1058+-#define __NR_process_vm_writev (__NR_Linux + 346)
1059+-#define __NR_kcmp (__NR_Linux + 347)
1060+-#define __NR_finit_module (__NR_Linux + 348)
1061+-#define __NR_sched_setattr (__NR_Linux + 349)
1062+-#define __NR_sched_getattr (__NR_Linux + 350)
1063+-#define __NR_renameat2 (__NR_Linux + 351)
1064+-#define __NR_seccomp (__NR_Linux + 352)
1065+-#define __NR_getrandom (__NR_Linux + 353)
1066+-#define __NR_memfd_create (__NR_Linux + 354)
1067+-#define __NR_bpf (__NR_Linux + 355)
1068+-#define __NR_execveat (__NR_Linux + 356)
1069+-#define __NR_userfaultfd (__NR_Linux + 357)
1070+-#define __NR_membarrier (__NR_Linux + 358)
1071+-#define __NR_mlock2 (__NR_Linux + 359)
1072+-#define __NR_copy_file_range (__NR_Linux + 360)
1073+-#define __NR_preadv2 (__NR_Linux + 361)
1074+-#define __NR_pwritev2 (__NR_Linux + 362)
1075+-#define __NR_pkey_mprotect (__NR_Linux + 363)
1076+-#define __NR_pkey_alloc (__NR_Linux + 364)
1077+-#define __NR_pkey_free (__NR_Linux + 365)
1078+-#define __NR_statx (__NR_Linux + 366)
1079+-#define __NR_rseq (__NR_Linux + 367)
1080+-#define __NR_io_pgetevents (__NR_Linux + 368)
1081+-
1082+-
1083+-/*
1084+- * Offset of the last Linux o32 flavoured syscall
1085+- */
1086+-#define __NR_Linux_syscalls 368
1087++#define __NR_Linux 4000
1088++#include <asm/unistd_o32.h>
1089+
1090+ #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
1091+
1092+-#define __NR_O32_Linux 4000
1093+-#define __NR_O32_Linux_syscalls 368
1094+-
1095+ #if _MIPS_SIM == _MIPS_SIM_ABI64
1096+
1097+-/*
1098+- * Linux 64-bit syscalls are in the range from 5000 to 5999.
1099+- */
1100+-#define __NR_Linux 5000
1101+-#define __NR_read (__NR_Linux + 0)
1102+-#define __NR_write (__NR_Linux + 1)
1103+-#define __NR_open (__NR_Linux + 2)
1104+-#define __NR_close (__NR_Linux + 3)
1105+-#define __NR_stat (__NR_Linux + 4)
1106+-#define __NR_fstat (__NR_Linux + 5)
1107+-#define __NR_lstat (__NR_Linux + 6)
1108+-#define __NR_poll (__NR_Linux + 7)
1109+-#define __NR_lseek (__NR_Linux + 8)
1110+-#define __NR_mmap (__NR_Linux + 9)
1111+-#define __NR_mprotect (__NR_Linux + 10)
1112+-#define __NR_munmap (__NR_Linux + 11)
1113+-#define __NR_brk (__NR_Linux + 12)
1114+-#define __NR_rt_sigaction (__NR_Linux + 13)
1115+-#define __NR_rt_sigprocmask (__NR_Linux + 14)
1116+-#define __NR_ioctl (__NR_Linux + 15)
1117+-#define __NR_pread64 (__NR_Linux + 16)
1118+-#define __NR_pwrite64 (__NR_Linux + 17)
1119+-#define __NR_readv (__NR_Linux + 18)
1120+-#define __NR_writev (__NR_Linux + 19)
1121+-#define __NR_access (__NR_Linux + 20)
1122+-#define __NR_pipe (__NR_Linux + 21)
1123+-#define __NR__newselect (__NR_Linux + 22)
1124+-#define __NR_sched_yield (__NR_Linux + 23)
1125+-#define __NR_mremap (__NR_Linux + 24)
1126+-#define __NR_msync (__NR_Linux + 25)
1127+-#define __NR_mincore (__NR_Linux + 26)
1128+-#define __NR_madvise (__NR_Linux + 27)
1129+-#define __NR_shmget (__NR_Linux + 28)
1130+-#define __NR_shmat (__NR_Linux + 29)
1131+-#define __NR_shmctl (__NR_Linux + 30)
1132+-#define __NR_dup (__NR_Linux + 31)
1133+-#define __NR_dup2 (__NR_Linux + 32)
1134+-#define __NR_pause (__NR_Linux + 33)
1135+-#define __NR_nanosleep (__NR_Linux + 34)
1136+-#define __NR_getitimer (__NR_Linux + 35)
1137+-#define __NR_setitimer (__NR_Linux + 36)
1138+-#define __NR_alarm (__NR_Linux + 37)
1139+-#define __NR_getpid (__NR_Linux + 38)
1140+-#define __NR_sendfile (__NR_Linux + 39)
1141+-#define __NR_socket (__NR_Linux + 40)
1142+-#define __NR_connect (__NR_Linux + 41)
1143+-#define __NR_accept (__NR_Linux + 42)
1144+-#define __NR_sendto (__NR_Linux + 43)
1145+-#define __NR_recvfrom (__NR_Linux + 44)
1146+-#define __NR_sendmsg (__NR_Linux + 45)
1147+-#define __NR_recvmsg (__NR_Linux + 46)
1148+-#define __NR_shutdown (__NR_Linux + 47)
1149+-#define __NR_bind (__NR_Linux + 48)
1150+-#define __NR_listen (__NR_Linux + 49)
1151+-#define __NR_getsockname (__NR_Linux + 50)
1152+-#define __NR_getpeername (__NR_Linux + 51)
1153+-#define __NR_socketpair (__NR_Linux + 52)
1154+-#define __NR_setsockopt (__NR_Linux + 53)
1155+-#define __NR_getsockopt (__NR_Linux + 54)
1156+-#define __NR_clone (__NR_Linux + 55)
1157+-#define __NR_fork (__NR_Linux + 56)
1158+-#define __NR_execve (__NR_Linux + 57)
1159+-#define __NR_exit (__NR_Linux + 58)
1160+-#define __NR_wait4 (__NR_Linux + 59)
1161+-#define __NR_kill (__NR_Linux + 60)
1162+-#define __NR_uname (__NR_Linux + 61)
1163+-#define __NR_semget (__NR_Linux + 62)
1164+-#define __NR_semop (__NR_Linux + 63)
1165+-#define __NR_semctl (__NR_Linux + 64)
1166+-#define __NR_shmdt (__NR_Linux + 65)
1167+-#define __NR_msgget (__NR_Linux + 66)
1168+-#define __NR_msgsnd (__NR_Linux + 67)
1169+-#define __NR_msgrcv (__NR_Linux + 68)
1170+-#define __NR_msgctl (__NR_Linux + 69)
1171+-#define __NR_fcntl (__NR_Linux + 70)
1172+-#define __NR_flock (__NR_Linux + 71)
1173+-#define __NR_fsync (__NR_Linux + 72)
1174+-#define __NR_fdatasync (__NR_Linux + 73)
1175+-#define __NR_truncate (__NR_Linux + 74)
1176+-#define __NR_ftruncate (__NR_Linux + 75)
1177+-#define __NR_getdents (__NR_Linux + 76)
1178+-#define __NR_getcwd (__NR_Linux + 77)
1179+-#define __NR_chdir (__NR_Linux + 78)
1180+-#define __NR_fchdir (__NR_Linux + 79)
1181+-#define __NR_rename (__NR_Linux + 80)
1182+-#define __NR_mkdir (__NR_Linux + 81)
1183+-#define __NR_rmdir (__NR_Linux + 82)
1184+-#define __NR_creat (__NR_Linux + 83)
1185+-#define __NR_link (__NR_Linux + 84)
1186+-#define __NR_unlink (__NR_Linux + 85)
1187+-#define __NR_symlink (__NR_Linux + 86)
1188+-#define __NR_readlink (__NR_Linux + 87)
1189+-#define __NR_chmod (__NR_Linux + 88)
1190+-#define __NR_fchmod (__NR_Linux + 89)
1191+-#define __NR_chown (__NR_Linux + 90)
1192+-#define __NR_fchown (__NR_Linux + 91)
1193+-#define __NR_lchown (__NR_Linux + 92)
1194+-#define __NR_umask (__NR_Linux + 93)
1195+-#define __NR_gettimeofday (__NR_Linux + 94)
1196+-#define __NR_getrlimit (__NR_Linux + 95)
1197+-#define __NR_getrusage (__NR_Linux + 96)
1198+-#define __NR_sysinfo (__NR_Linux + 97)
1199+-#define __NR_times (__NR_Linux + 98)
1200+-#define __NR_ptrace (__NR_Linux + 99)
1201+-#define __NR_getuid (__NR_Linux + 100)
1202+-#define __NR_syslog (__NR_Linux + 101)
1203+-#define __NR_getgid (__NR_Linux + 102)
1204+-#define __NR_setuid (__NR_Linux + 103)
1205+-#define __NR_setgid (__NR_Linux + 104)
1206+-#define __NR_geteuid (__NR_Linux + 105)
1207+-#define __NR_getegid (__NR_Linux + 106)
1208+-#define __NR_setpgid (__NR_Linux + 107)
1209+-#define __NR_getppid (__NR_Linux + 108)
1210+-#define __NR_getpgrp (__NR_Linux + 109)
1211+-#define __NR_setsid (__NR_Linux + 110)
1212+-#define __NR_setreuid (__NR_Linux + 111)
1213+-#define __NR_setregid (__NR_Linux + 112)
1214+-#define __NR_getgroups (__NR_Linux + 113)
1215+-#define __NR_setgroups (__NR_Linux + 114)
1216+-#define __NR_setresuid (__NR_Linux + 115)
1217+-#define __NR_getresuid (__NR_Linux + 116)
1218+-#define __NR_setresgid (__NR_Linux + 117)
1219+-#define __NR_getresgid (__NR_Linux + 118)
1220+-#define __NR_getpgid (__NR_Linux + 119)
1221+-#define __NR_setfsuid (__NR_Linux + 120)
1222+-#define __NR_setfsgid (__NR_Linux + 121)
1223+-#define __NR_getsid (__NR_Linux + 122)
1224+-#define __NR_capget (__NR_Linux + 123)
1225+-#define __NR_capset (__NR_Linux + 124)
1226+-#define __NR_rt_sigpending (__NR_Linux + 125)
1227+-#define __NR_rt_sigtimedwait (__NR_Linux + 126)
1228+-#define __NR_rt_sigqueueinfo (__NR_Linux + 127)
1229+-#define __NR_rt_sigsuspend (__NR_Linux + 128)
1230+-#define __NR_sigaltstack (__NR_Linux + 129)
1231+-#define __NR_utime (__NR_Linux + 130)
1232+-#define __NR_mknod (__NR_Linux + 131)
1233+-#define __NR_personality (__NR_Linux + 132)
1234+-#define __NR_ustat (__NR_Linux + 133)
1235+-#define __NR_statfs (__NR_Linux + 134)
1236+-#define __NR_fstatfs (__NR_Linux + 135)
1237+-#define __NR_sysfs (__NR_Linux + 136)
1238+-#define __NR_getpriority (__NR_Linux + 137)
1239+-#define __NR_setpriority (__NR_Linux + 138)
1240+-#define __NR_sched_setparam (__NR_Linux + 139)
1241+-#define __NR_sched_getparam (__NR_Linux + 140)
1242+-#define __NR_sched_setscheduler (__NR_Linux + 141)
1243+-#define __NR_sched_getscheduler (__NR_Linux + 142)
1244+-#define __NR_sched_get_priority_max (__NR_Linux + 143)
1245+-#define __NR_sched_get_priority_min (__NR_Linux + 144)
1246+-#define __NR_sched_rr_get_interval (__NR_Linux + 145)
1247+-#define __NR_mlock (__NR_Linux + 146)
1248+-#define __NR_munlock (__NR_Linux + 147)
1249+-#define __NR_mlockall (__NR_Linux + 148)
1250+-#define __NR_munlockall (__NR_Linux + 149)
1251+-#define __NR_vhangup (__NR_Linux + 150)
1252+-#define __NR_pivot_root (__NR_Linux + 151)
1253+-#define __NR__sysctl (__NR_Linux + 152)
1254+-#define __NR_prctl (__NR_Linux + 153)
1255+-#define __NR_adjtimex (__NR_Linux + 154)
1256+-#define __NR_setrlimit (__NR_Linux + 155)
1257+-#define __NR_chroot (__NR_Linux + 156)
1258+-#define __NR_sync (__NR_Linux + 157)
1259+-#define __NR_acct (__NR_Linux + 158)
1260+-#define __NR_settimeofday (__NR_Linux + 159)
1261+-#define __NR_mount (__NR_Linux + 160)
1262+-#define __NR_umount2 (__NR_Linux + 161)
1263+-#define __NR_swapon (__NR_Linux + 162)
1264+-#define __NR_swapoff (__NR_Linux + 163)
1265+-#define __NR_reboot (__NR_Linux + 164)
1266+-#define __NR_sethostname (__NR_Linux + 165)
1267+-#define __NR_setdomainname (__NR_Linux + 166)
1268+-#define __NR_create_module (__NR_Linux + 167)
1269+-#define __NR_init_module (__NR_Linux + 168)
1270+-#define __NR_delete_module (__NR_Linux + 169)
1271+-#define __NR_get_kernel_syms (__NR_Linux + 170)
1272+-#define __NR_query_module (__NR_Linux + 171)
1273+-#define __NR_quotactl (__NR_Linux + 172)
1274+-#define __NR_nfsservctl (__NR_Linux + 173)
1275+-#define __NR_getpmsg (__NR_Linux + 174)
1276+-#define __NR_putpmsg (__NR_Linux + 175)
1277+-#define __NR_afs_syscall (__NR_Linux + 176)
1278+-#define __NR_reserved177 (__NR_Linux + 177)
1279+-#define __NR_gettid (__NR_Linux + 178)
1280+-#define __NR_readahead (__NR_Linux + 179)
1281+-#define __NR_setxattr (__NR_Linux + 180)
1282+-#define __NR_lsetxattr (__NR_Linux + 181)
1283+-#define __NR_fsetxattr (__NR_Linux + 182)
1284+-#define __NR_getxattr (__NR_Linux + 183)
1285+-#define __NR_lgetxattr (__NR_Linux + 184)
1286+-#define __NR_fgetxattr (__NR_Linux + 185)
1287+-#define __NR_listxattr (__NR_Linux + 186)
1288+-#define __NR_llistxattr (__NR_Linux + 187)
1289+-#define __NR_flistxattr (__NR_Linux + 188)
1290+-#define __NR_removexattr (__NR_Linux + 189)
1291+-#define __NR_lremovexattr (__NR_Linux + 190)
1292+-#define __NR_fremovexattr (__NR_Linux + 191)
1293+-#define __NR_tkill (__NR_Linux + 192)
1294+-#define __NR_reserved193 (__NR_Linux + 193)
1295+-#define __NR_futex (__NR_Linux + 194)
1296+-#define __NR_sched_setaffinity (__NR_Linux + 195)
1297+-#define __NR_sched_getaffinity (__NR_Linux + 196)
1298+-#define __NR_cacheflush (__NR_Linux + 197)
1299+-#define __NR_cachectl (__NR_Linux + 198)
1300+-#define __NR_sysmips (__NR_Linux + 199)
1301+-#define __NR_io_setup (__NR_Linux + 200)
1302+-#define __NR_io_destroy (__NR_Linux + 201)
1303+-#define __NR_io_getevents (__NR_Linux + 202)
1304+-#define __NR_io_submit (__NR_Linux + 203)
1305+-#define __NR_io_cancel (__NR_Linux + 204)
1306+-#define __NR_exit_group (__NR_Linux + 205)
1307+-#define __NR_lookup_dcookie (__NR_Linux + 206)
1308+-#define __NR_epoll_create (__NR_Linux + 207)
1309+-#define __NR_epoll_ctl (__NR_Linux + 208)
1310+-#define __NR_epoll_wait (__NR_Linux + 209)
1311+-#define __NR_remap_file_pages (__NR_Linux + 210)
1312+-#define __NR_rt_sigreturn (__NR_Linux + 211)
1313+-#define __NR_set_tid_address (__NR_Linux + 212)
1314+-#define __NR_restart_syscall (__NR_Linux + 213)
1315+-#define __NR_semtimedop (__NR_Linux + 214)
1316+-#define __NR_fadvise64 (__NR_Linux + 215)
1317+-#define __NR_timer_create (__NR_Linux + 216)
1318+-#define __NR_timer_settime (__NR_Linux + 217)
1319+-#define __NR_timer_gettime (__NR_Linux + 218)
1320+-#define __NR_timer_getoverrun (__NR_Linux + 219)
1321+-#define __NR_timer_delete (__NR_Linux + 220)
1322+-#define __NR_clock_settime (__NR_Linux + 221)
1323+-#define __NR_clock_gettime (__NR_Linux + 222)
1324+-#define __NR_clock_getres (__NR_Linux + 223)
1325+-#define __NR_clock_nanosleep (__NR_Linux + 224)
1326+-#define __NR_tgkill (__NR_Linux + 225)
1327+-#define __NR_utimes (__NR_Linux + 226)
1328+-#define __NR_mbind (__NR_Linux + 227)
1329+-#define __NR_get_mempolicy (__NR_Linux + 228)
1330+-#define __NR_set_mempolicy (__NR_Linux + 229)
1331+-#define __NR_mq_open (__NR_Linux + 230)
1332+-#define __NR_mq_unlink (__NR_Linux + 231)
1333+-#define __NR_mq_timedsend (__NR_Linux + 232)
1334+-#define __NR_mq_timedreceive (__NR_Linux + 233)
1335+-#define __NR_mq_notify (__NR_Linux + 234)
1336+-#define __NR_mq_getsetattr (__NR_Linux + 235)
1337+-#define __NR_vserver (__NR_Linux + 236)
1338+-#define __NR_waitid (__NR_Linux + 237)
1339+-/* #define __NR_sys_setaltroot (__NR_Linux + 238) */
1340+-#define __NR_add_key (__NR_Linux + 239)
1341+-#define __NR_request_key (__NR_Linux + 240)
1342+-#define __NR_keyctl (__NR_Linux + 241)
1343+-#define __NR_set_thread_area (__NR_Linux + 242)
1344+-#define __NR_inotify_init (__NR_Linux + 243)
1345+-#define __NR_inotify_add_watch (__NR_Linux + 244)
1346+-#define __NR_inotify_rm_watch (__NR_Linux + 245)
1347+-#define __NR_migrate_pages (__NR_Linux + 246)
1348+-#define __NR_openat (__NR_Linux + 247)
1349+-#define __NR_mkdirat (__NR_Linux + 248)
1350+-#define __NR_mknodat (__NR_Linux + 249)
1351+-#define __NR_fchownat (__NR_Linux + 250)
1352+-#define __NR_futimesat (__NR_Linux + 251)
1353+-#define __NR_newfstatat (__NR_Linux + 252)
1354+-#define __NR_unlinkat (__NR_Linux + 253)
1355+-#define __NR_renameat (__NR_Linux + 254)
1356+-#define __NR_linkat (__NR_Linux + 255)
1357+-#define __NR_symlinkat (__NR_Linux + 256)
1358+-#define __NR_readlinkat (__NR_Linux + 257)
1359+-#define __NR_fchmodat (__NR_Linux + 258)
1360+-#define __NR_faccessat (__NR_Linux + 259)
1361+-#define __NR_pselect6 (__NR_Linux + 260)
1362+-#define __NR_ppoll (__NR_Linux + 261)
1363+-#define __NR_unshare (__NR_Linux + 262)
1364+-#define __NR_splice (__NR_Linux + 263)
1365+-#define __NR_sync_file_range (__NR_Linux + 264)
1366+-#define __NR_tee (__NR_Linux + 265)
1367+-#define __NR_vmsplice (__NR_Linux + 266)
1368+-#define __NR_move_pages (__NR_Linux + 267)
1369+-#define __NR_set_robust_list (__NR_Linux + 268)
1370+-#define __NR_get_robust_list (__NR_Linux + 269)
1371+-#define __NR_kexec_load (__NR_Linux + 270)
1372+-#define __NR_getcpu (__NR_Linux + 271)
1373+-#define __NR_epoll_pwait (__NR_Linux + 272)
1374+-#define __NR_ioprio_set (__NR_Linux + 273)
1375+-#define __NR_ioprio_get (__NR_Linux + 274)
1376+-#define __NR_utimensat (__NR_Linux + 275)
1377+-#define __NR_signalfd (__NR_Linux + 276)
1378+-#define __NR_timerfd (__NR_Linux + 277)
1379+-#define __NR_eventfd (__NR_Linux + 278)
1380+-#define __NR_fallocate (__NR_Linux + 279)
1381+-#define __NR_timerfd_create (__NR_Linux + 280)
1382+-#define __NR_timerfd_gettime (__NR_Linux + 281)
1383+-#define __NR_timerfd_settime (__NR_Linux + 282)
1384+-#define __NR_signalfd4 (__NR_Linux + 283)
1385+-#define __NR_eventfd2 (__NR_Linux + 284)
1386+-#define __NR_epoll_create1 (__NR_Linux + 285)
1387+-#define __NR_dup3 (__NR_Linux + 286)
1388+-#define __NR_pipe2 (__NR_Linux + 287)
1389+-#define __NR_inotify_init1 (__NR_Linux + 288)
1390+-#define __NR_preadv (__NR_Linux + 289)
1391+-#define __NR_pwritev (__NR_Linux + 290)
1392+-#define __NR_rt_tgsigqueueinfo (__NR_Linux + 291)
1393+-#define __NR_perf_event_open (__NR_Linux + 292)
1394+-#define __NR_accept4 (__NR_Linux + 293)
1395+-#define __NR_recvmmsg (__NR_Linux + 294)
1396+-#define __NR_fanotify_init (__NR_Linux + 295)
1397+-#define __NR_fanotify_mark (__NR_Linux + 296)
1398+-#define __NR_prlimit64 (__NR_Linux + 297)
1399+-#define __NR_name_to_handle_at (__NR_Linux + 298)
1400+-#define __NR_open_by_handle_at (__NR_Linux + 299)
1401+-#define __NR_clock_adjtime (__NR_Linux + 300)
1402+-#define __NR_syncfs (__NR_Linux + 301)
1403+-#define __NR_sendmmsg (__NR_Linux + 302)
1404+-#define __NR_setns (__NR_Linux + 303)
1405+-#define __NR_process_vm_readv (__NR_Linux + 304)
1406+-#define __NR_process_vm_writev (__NR_Linux + 305)
1407+-#define __NR_kcmp (__NR_Linux + 306)
1408+-#define __NR_finit_module (__NR_Linux + 307)
1409+-#define __NR_getdents64 (__NR_Linux + 308)
1410+-#define __NR_sched_setattr (__NR_Linux + 309)
1411+-#define __NR_sched_getattr (__NR_Linux + 310)
1412+-#define __NR_renameat2 (__NR_Linux + 311)
1413+-#define __NR_seccomp (__NR_Linux + 312)
1414+-#define __NR_getrandom (__NR_Linux + 313)
1415+-#define __NR_memfd_create (__NR_Linux + 314)
1416+-#define __NR_bpf (__NR_Linux + 315)
1417+-#define __NR_execveat (__NR_Linux + 316)
1418+-#define __NR_userfaultfd (__NR_Linux + 317)
1419+-#define __NR_membarrier (__NR_Linux + 318)
1420+-#define __NR_mlock2 (__NR_Linux + 319)
1421+-#define __NR_copy_file_range (__NR_Linux + 320)
1422+-#define __NR_preadv2 (__NR_Linux + 321)
1423+-#define __NR_pwritev2 (__NR_Linux + 322)
1424+-#define __NR_pkey_mprotect (__NR_Linux + 323)
1425+-#define __NR_pkey_alloc (__NR_Linux + 324)
1426+-#define __NR_pkey_free (__NR_Linux + 325)
1427+-#define __NR_statx (__NR_Linux + 326)
1428+-#define __NR_rseq (__NR_Linux + 327)
1429+-#define __NR_io_pgetevents (__NR_Linux + 328)
1430+-
1431+-/*
1432+- * Offset of the last Linux 64-bit flavoured syscall
1433+- */
1434+-#define __NR_Linux_syscalls 328
1435++#define __NR_Linux 5000
1436++#include <asm/unistd_n64.h>
1437+
1438+ #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
1439+
1440+-#define __NR_64_Linux 5000
1441+-#define __NR_64_Linux_syscalls 328
1442+-
1443+ #if _MIPS_SIM == _MIPS_SIM_NABI32
1444+
1445+-/*
1446+- * Linux N32 syscalls are in the range from 6000 to 6999.
1447+- */
1448+-#define __NR_Linux 6000
1449+-#define __NR_read (__NR_Linux + 0)
1450+-#define __NR_write (__NR_Linux + 1)
1451+-#define __NR_open (__NR_Linux + 2)
1452+-#define __NR_close (__NR_Linux + 3)
1453+-#define __NR_stat (__NR_Linux + 4)
1454+-#define __NR_fstat (__NR_Linux + 5)
1455+-#define __NR_lstat (__NR_Linux + 6)
1456+-#define __NR_poll (__NR_Linux + 7)
1457+-#define __NR_lseek (__NR_Linux + 8)
1458+-#define __NR_mmap (__NR_Linux + 9)
1459+-#define __NR_mprotect (__NR_Linux + 10)
1460+-#define __NR_munmap (__NR_Linux + 11)
1461+-#define __NR_brk (__NR_Linux + 12)
1462+-#define __NR_rt_sigaction (__NR_Linux + 13)
1463+-#define __NR_rt_sigprocmask (__NR_Linux + 14)
1464+-#define __NR_ioctl (__NR_Linux + 15)
1465+-#define __NR_pread64 (__NR_Linux + 16)
1466+-#define __NR_pwrite64 (__NR_Linux + 17)
1467+-#define __NR_readv (__NR_Linux + 18)
1468+-#define __NR_writev (__NR_Linux + 19)
1469+-#define __NR_access (__NR_Linux + 20)
1470+-#define __NR_pipe (__NR_Linux + 21)
1471+-#define __NR__newselect (__NR_Linux + 22)
1472+-#define __NR_sched_yield (__NR_Linux + 23)
1473+-#define __NR_mremap (__NR_Linux + 24)
1474+-#define __NR_msync (__NR_Linux + 25)
1475+-#define __NR_mincore (__NR_Linux + 26)
1476+-#define __NR_madvise (__NR_Linux + 27)
1477+-#define __NR_shmget (__NR_Linux + 28)
1478+-#define __NR_shmat (__NR_Linux + 29)
1479+-#define __NR_shmctl (__NR_Linux + 30)
1480+-#define __NR_dup (__NR_Linux + 31)
1481+-#define __NR_dup2 (__NR_Linux + 32)
1482+-#define __NR_pause (__NR_Linux + 33)
1483+-#define __NR_nanosleep (__NR_Linux + 34)
1484+-#define __NR_getitimer (__NR_Linux + 35)
1485+-#define __NR_setitimer (__NR_Linux + 36)
1486+-#define __NR_alarm (__NR_Linux + 37)
1487+-#define __NR_getpid (__NR_Linux + 38)
1488+-#define __NR_sendfile (__NR_Linux + 39)
1489+-#define __NR_socket (__NR_Linux + 40)
1490+-#define __NR_connect (__NR_Linux + 41)
1491+-#define __NR_accept (__NR_Linux + 42)
1492+-#define __NR_sendto (__NR_Linux + 43)
1493+-#define __NR_recvfrom (__NR_Linux + 44)
1494+-#define __NR_sendmsg (__NR_Linux + 45)
1495+-#define __NR_recvmsg (__NR_Linux + 46)
1496+-#define __NR_shutdown (__NR_Linux + 47)
1497+-#define __NR_bind (__NR_Linux + 48)
1498+-#define __NR_listen (__NR_Linux + 49)
1499+-#define __NR_getsockname (__NR_Linux + 50)
1500+-#define __NR_getpeername (__NR_Linux + 51)
1501+-#define __NR_socketpair (__NR_Linux + 52)
1502+-#define __NR_setsockopt (__NR_Linux + 53)
1503+-#define __NR_getsockopt (__NR_Linux + 54)
1504+-#define __NR_clone (__NR_Linux + 55)
1505+-#define __NR_fork (__NR_Linux + 56)
1506+-#define __NR_execve (__NR_Linux + 57)
1507+-#define __NR_exit (__NR_Linux + 58)
1508+-#define __NR_wait4 (__NR_Linux + 59)
1509+-#define __NR_kill (__NR_Linux + 60)
1510+-#define __NR_uname (__NR_Linux + 61)
1511+-#define __NR_semget (__NR_Linux + 62)
1512+-#define __NR_semop (__NR_Linux + 63)
1513+-#define __NR_semctl (__NR_Linux + 64)
1514+-#define __NR_shmdt (__NR_Linux + 65)
1515+-#define __NR_msgget (__NR_Linux + 66)
1516+-#define __NR_msgsnd (__NR_Linux + 67)
1517+-#define __NR_msgrcv (__NR_Linux + 68)
1518+-#define __NR_msgctl (__NR_Linux + 69)
1519+-#define __NR_fcntl (__NR_Linux + 70)
1520+-#define __NR_flock (__NR_Linux + 71)
1521+-#define __NR_fsync (__NR_Linux + 72)
1522+-#define __NR_fdatasync (__NR_Linux + 73)
1523+-#define __NR_truncate (__NR_Linux + 74)
1524+-#define __NR_ftruncate (__NR_Linux + 75)
1525+-#define __NR_getdents (__NR_Linux + 76)
1526+-#define __NR_getcwd (__NR_Linux + 77)
1527+-#define __NR_chdir (__NR_Linux + 78)
1528+-#define __NR_fchdir (__NR_Linux + 79)
1529+-#define __NR_rename (__NR_Linux + 80)
1530+-#define __NR_mkdir (__NR_Linux + 81)
1531+-#define __NR_rmdir (__NR_Linux + 82)
1532+-#define __NR_creat (__NR_Linux + 83)
1533+-#define __NR_link (__NR_Linux + 84)
1534+-#define __NR_unlink (__NR_Linux + 85)
1535+-#define __NR_symlink (__NR_Linux + 86)
1536+-#define __NR_readlink (__NR_Linux + 87)
1537+-#define __NR_chmod (__NR_Linux + 88)
1538+-#define __NR_fchmod (__NR_Linux + 89)
1539+-#define __NR_chown (__NR_Linux + 90)
1540+-#define __NR_fchown (__NR_Linux + 91)
1541+-#define __NR_lchown (__NR_Linux + 92)
1542+-#define __NR_umask (__NR_Linux + 93)
1543+-#define __NR_gettimeofday (__NR_Linux + 94)
1544+-#define __NR_getrlimit (__NR_Linux + 95)
1545+-#define __NR_getrusage (__NR_Linux + 96)
1546+-#define __NR_sysinfo (__NR_Linux + 97)
1547+-#define __NR_times (__NR_Linux + 98)
1548+-#define __NR_ptrace (__NR_Linux + 99)
1549+-#define __NR_getuid (__NR_Linux + 100)
1550+-#define __NR_syslog (__NR_Linux + 101)
1551+-#define __NR_getgid (__NR_Linux + 102)
1552+-#define __NR_setuid (__NR_Linux + 103)
1553+-#define __NR_setgid (__NR_Linux + 104)
1554+-#define __NR_geteuid (__NR_Linux + 105)
1555+-#define __NR_getegid (__NR_Linux + 106)
1556+-#define __NR_setpgid (__NR_Linux + 107)
1557+-#define __NR_getppid (__NR_Linux + 108)
1558+-#define __NR_getpgrp (__NR_Linux + 109)
1559+-#define __NR_setsid (__NR_Linux + 110)
1560+-#define __NR_setreuid (__NR_Linux + 111)
1561+-#define __NR_setregid (__NR_Linux + 112)
1562+-#define __NR_getgroups (__NR_Linux + 113)
1563+-#define __NR_setgroups (__NR_Linux + 114)
1564+-#define __NR_setresuid (__NR_Linux + 115)
1565+-#define __NR_getresuid (__NR_Linux + 116)
1566+-#define __NR_setresgid (__NR_Linux + 117)
1567+-#define __NR_getresgid (__NR_Linux + 118)
1568+-#define __NR_getpgid (__NR_Linux + 119)
1569+-#define __NR_setfsuid (__NR_Linux + 120)
1570+-#define __NR_setfsgid (__NR_Linux + 121)
1571+-#define __NR_getsid (__NR_Linux + 122)
1572+-#define __NR_capget (__NR_Linux + 123)
1573+-#define __NR_capset (__NR_Linux + 124)
1574+-#define __NR_rt_sigpending (__NR_Linux + 125)
1575+-#define __NR_rt_sigtimedwait (__NR_Linux + 126)
1576+-#define __NR_rt_sigqueueinfo (__NR_Linux + 127)
1577+-#define __NR_rt_sigsuspend (__NR_Linux + 128)
1578+-#define __NR_sigaltstack (__NR_Linux + 129)
1579+-#define __NR_utime (__NR_Linux + 130)
1580+-#define __NR_mknod (__NR_Linux + 131)
1581+-#define __NR_personality (__NR_Linux + 132)
1582+-#define __NR_ustat (__NR_Linux + 133)
1583+-#define __NR_statfs (__NR_Linux + 134)
1584+-#define __NR_fstatfs (__NR_Linux + 135)
1585+-#define __NR_sysfs (__NR_Linux + 136)
1586+-#define __NR_getpriority (__NR_Linux + 137)
1587+-#define __NR_setpriority (__NR_Linux + 138)
1588+-#define __NR_sched_setparam (__NR_Linux + 139)
1589+-#define __NR_sched_getparam (__NR_Linux + 140)
1590+-#define __NR_sched_setscheduler (__NR_Linux + 141)
1591+-#define __NR_sched_getscheduler (__NR_Linux + 142)
1592+-#define __NR_sched_get_priority_max (__NR_Linux + 143)
1593+-#define __NR_sched_get_priority_min (__NR_Linux + 144)
1594+-#define __NR_sched_rr_get_interval (__NR_Linux + 145)
1595+-#define __NR_mlock (__NR_Linux + 146)
1596+-#define __NR_munlock (__NR_Linux + 147)
1597+-#define __NR_mlockall (__NR_Linux + 148)
1598+-#define __NR_munlockall (__NR_Linux + 149)
1599+-#define __NR_vhangup (__NR_Linux + 150)
1600+-#define __NR_pivot_root (__NR_Linux + 151)
1601+-#define __NR__sysctl (__NR_Linux + 152)
1602+-#define __NR_prctl (__NR_Linux + 153)
1603+-#define __NR_adjtimex (__NR_Linux + 154)
1604+-#define __NR_setrlimit (__NR_Linux + 155)
1605+-#define __NR_chroot (__NR_Linux + 156)
1606+-#define __NR_sync (__NR_Linux + 157)
1607+-#define __NR_acct (__NR_Linux + 158)
1608+-#define __NR_settimeofday (__NR_Linux + 159)
1609+-#define __NR_mount (__NR_Linux + 160)
1610+-#define __NR_umount2 (__NR_Linux + 161)
1611+-#define __NR_swapon (__NR_Linux + 162)
1612+-#define __NR_swapoff (__NR_Linux + 163)
1613+-#define __NR_reboot (__NR_Linux + 164)
1614+-#define __NR_sethostname (__NR_Linux + 165)
1615+-#define __NR_setdomainname (__NR_Linux + 166)
1616+-#define __NR_create_module (__NR_Linux + 167)
1617+-#define __NR_init_module (__NR_Linux + 168)
1618+-#define __NR_delete_module (__NR_Linux + 169)
1619+-#define __NR_get_kernel_syms (__NR_Linux + 170)
1620+-#define __NR_query_module (__NR_Linux + 171)
1621+-#define __NR_quotactl (__NR_Linux + 172)
1622+-#define __NR_nfsservctl (__NR_Linux + 173)
1623+-#define __NR_getpmsg (__NR_Linux + 174)
1624+-#define __NR_putpmsg (__NR_Linux + 175)
1625+-#define __NR_afs_syscall (__NR_Linux + 176)
1626+-#define __NR_reserved177 (__NR_Linux + 177)
1627+-#define __NR_gettid (__NR_Linux + 178)
1628+-#define __NR_readahead (__NR_Linux + 179)
1629+-#define __NR_setxattr (__NR_Linux + 180)
1630+-#define __NR_lsetxattr (__NR_Linux + 181)
1631+-#define __NR_fsetxattr (__NR_Linux + 182)
1632+-#define __NR_getxattr (__NR_Linux + 183)
1633+-#define __NR_lgetxattr (__NR_Linux + 184)
1634+-#define __NR_fgetxattr (__NR_Linux + 185)
1635+-#define __NR_listxattr (__NR_Linux + 186)
1636+-#define __NR_llistxattr (__NR_Linux + 187)
1637+-#define __NR_flistxattr (__NR_Linux + 188)
1638+-#define __NR_removexattr (__NR_Linux + 189)
1639+-#define __NR_lremovexattr (__NR_Linux + 190)
1640+-#define __NR_fremovexattr (__NR_Linux + 191)
1641+-#define __NR_tkill (__NR_Linux + 192)
1642+-#define __NR_reserved193 (__NR_Linux + 193)
1643+-#define __NR_futex (__NR_Linux + 194)
1644+-#define __NR_sched_setaffinity (__NR_Linux + 195)
1645+-#define __NR_sched_getaffinity (__NR_Linux + 196)
1646+-#define __NR_cacheflush (__NR_Linux + 197)
1647+-#define __NR_cachectl (__NR_Linux + 198)
1648+-#define __NR_sysmips (__NR_Linux + 199)
1649+-#define __NR_io_setup (__NR_Linux + 200)
1650+-#define __NR_io_destroy (__NR_Linux + 201)
1651+-#define __NR_io_getevents (__NR_Linux + 202)
1652+-#define __NR_io_submit (__NR_Linux + 203)
1653+-#define __NR_io_cancel (__NR_Linux + 204)
1654+-#define __NR_exit_group (__NR_Linux + 205)
1655+-#define __NR_lookup_dcookie (__NR_Linux + 206)
1656+-#define __NR_epoll_create (__NR_Linux + 207)
1657+-#define __NR_epoll_ctl (__NR_Linux + 208)
1658+-#define __NR_epoll_wait (__NR_Linux + 209)
1659+-#define __NR_remap_file_pages (__NR_Linux + 210)
1660+-#define __NR_rt_sigreturn (__NR_Linux + 211)
1661+-#define __NR_fcntl64 (__NR_Linux + 212)
1662+-#define __NR_set_tid_address (__NR_Linux + 213)
1663+-#define __NR_restart_syscall (__NR_Linux + 214)
1664+-#define __NR_semtimedop (__NR_Linux + 215)
1665+-#define __NR_fadvise64 (__NR_Linux + 216)
1666+-#define __NR_statfs64 (__NR_Linux + 217)
1667+-#define __NR_fstatfs64 (__NR_Linux + 218)
1668+-#define __NR_sendfile64 (__NR_Linux + 219)
1669+-#define __NR_timer_create (__NR_Linux + 220)
1670+-#define __NR_timer_settime (__NR_Linux + 221)
1671+-#define __NR_timer_gettime (__NR_Linux + 222)
1672+-#define __NR_timer_getoverrun (__NR_Linux + 223)
1673+-#define __NR_timer_delete (__NR_Linux + 224)
1674+-#define __NR_clock_settime (__NR_Linux + 225)
1675+-#define __NR_clock_gettime (__NR_Linux + 226)
1676+-#define __NR_clock_getres (__NR_Linux + 227)
1677+-#define __NR_clock_nanosleep (__NR_Linux + 228)
1678+-#define __NR_tgkill (__NR_Linux + 229)
1679+-#define __NR_utimes (__NR_Linux + 230)
1680+-#define __NR_mbind (__NR_Linux + 231)
1681+-#define __NR_get_mempolicy (__NR_Linux + 232)
1682+-#define __NR_set_mempolicy (__NR_Linux + 233)
1683+-#define __NR_mq_open (__NR_Linux + 234)
1684+-#define __NR_mq_unlink (__NR_Linux + 235)
1685+-#define __NR_mq_timedsend (__NR_Linux + 236)
1686+-#define __NR_mq_timedreceive (__NR_Linux + 237)
1687+-#define __NR_mq_notify (__NR_Linux + 238)
1688+-#define __NR_mq_getsetattr (__NR_Linux + 239)
1689+-#define __NR_vserver (__NR_Linux + 240)
1690+-#define __NR_waitid (__NR_Linux + 241)
1691+-/* #define __NR_sys_setaltroot (__NR_Linux + 242) */
1692+-#define __NR_add_key (__NR_Linux + 243)
1693+-#define __NR_request_key (__NR_Linux + 244)
1694+-#define __NR_keyctl (__NR_Linux + 245)
1695+-#define __NR_set_thread_area (__NR_Linux + 246)
1696+-#define __NR_inotify_init (__NR_Linux + 247)
1697+-#define __NR_inotify_add_watch (__NR_Linux + 248)
1698+-#define __NR_inotify_rm_watch (__NR_Linux + 249)
1699+-#define __NR_migrate_pages (__NR_Linux + 250)
1700+-#define __NR_openat (__NR_Linux + 251)
1701+-#define __NR_mkdirat (__NR_Linux + 252)
1702+-#define __NR_mknodat (__NR_Linux + 253)
1703+-#define __NR_fchownat (__NR_Linux + 254)
1704+-#define __NR_futimesat (__NR_Linux + 255)
1705+-#define __NR_newfstatat (__NR_Linux + 256)
1706+-#define __NR_unlinkat (__NR_Linux + 257)
1707+-#define __NR_renameat (__NR_Linux + 258)
1708+-#define __NR_linkat (__NR_Linux + 259)
1709+-#define __NR_symlinkat (__NR_Linux + 260)
1710+-#define __NR_readlinkat (__NR_Linux + 261)
1711+-#define __NR_fchmodat (__NR_Linux + 262)
1712+-#define __NR_faccessat (__NR_Linux + 263)
1713+-#define __NR_pselect6 (__NR_Linux + 264)
1714+-#define __NR_ppoll (__NR_Linux + 265)
1715+-#define __NR_unshare (__NR_Linux + 266)
1716+-#define __NR_splice (__NR_Linux + 267)
1717+-#define __NR_sync_file_range (__NR_Linux + 268)
1718+-#define __NR_tee (__NR_Linux + 269)
1719+-#define __NR_vmsplice (__NR_Linux + 270)
1720+-#define __NR_move_pages (__NR_Linux + 271)
1721+-#define __NR_set_robust_list (__NR_Linux + 272)
1722+-#define __NR_get_robust_list (__NR_Linux + 273)
1723+-#define __NR_kexec_load (__NR_Linux + 274)
1724+-#define __NR_getcpu (__NR_Linux + 275)
1725+-#define __NR_epoll_pwait (__NR_Linux + 276)
1726+-#define __NR_ioprio_set (__NR_Linux + 277)
1727+-#define __NR_ioprio_get (__NR_Linux + 278)
1728+-#define __NR_utimensat (__NR_Linux + 279)
1729+-#define __NR_signalfd (__NR_Linux + 280)
1730+-#define __NR_timerfd (__NR_Linux + 281)
1731+-#define __NR_eventfd (__NR_Linux + 282)
1732+-#define __NR_fallocate (__NR_Linux + 283)
1733+-#define __NR_timerfd_create (__NR_Linux + 284)
1734+-#define __NR_timerfd_gettime (__NR_Linux + 285)
1735+-#define __NR_timerfd_settime (__NR_Linux + 286)
1736+-#define __NR_signalfd4 (__NR_Linux + 287)
1737+-#define __NR_eventfd2 (__NR_Linux + 288)
1738+-#define __NR_epoll_create1 (__NR_Linux + 289)
1739+-#define __NR_dup3 (__NR_Linux + 290)
1740+-#define __NR_pipe2 (__NR_Linux + 291)
1741+-#define __NR_inotify_init1 (__NR_Linux + 292)
1742+-#define __NR_preadv (__NR_Linux + 293)
1743+-#define __NR_pwritev (__NR_Linux + 294)
1744+-#define __NR_rt_tgsigqueueinfo (__NR_Linux + 295)
1745+-#define __NR_perf_event_open (__NR_Linux + 296)
1746+-#define __NR_accept4 (__NR_Linux + 297)
1747+-#define __NR_recvmmsg (__NR_Linux + 298)
1748+-#define __NR_getdents64 (__NR_Linux + 299)
1749+-#define __NR_fanotify_init (__NR_Linux + 300)
1750+-#define __NR_fanotify_mark (__NR_Linux + 301)
1751+-#define __NR_prlimit64 (__NR_Linux + 302)
1752+-#define __NR_name_to_handle_at (__NR_Linux + 303)
1753+-#define __NR_open_by_handle_at (__NR_Linux + 304)
1754+-#define __NR_clock_adjtime (__NR_Linux + 305)
1755+-#define __NR_syncfs (__NR_Linux + 306)
1756+-#define __NR_sendmmsg (__NR_Linux + 307)
1757+-#define __NR_setns (__NR_Linux + 308)
1758+-#define __NR_process_vm_readv (__NR_Linux + 309)
1759+-#define __NR_process_vm_writev (__NR_Linux + 310)
1760+-#define __NR_kcmp (__NR_Linux + 311)
1761+-#define __NR_finit_module (__NR_Linux + 312)
1762+-#define __NR_sched_setattr (__NR_Linux + 313)
1763+-#define __NR_sched_getattr (__NR_Linux + 314)
1764+-#define __NR_renameat2 (__NR_Linux + 315)
1765+-#define __NR_seccomp (__NR_Linux + 316)
1766+-#define __NR_getrandom (__NR_Linux + 317)
1767+-#define __NR_memfd_create (__NR_Linux + 318)
1768+-#define __NR_bpf (__NR_Linux + 319)
1769+-#define __NR_execveat (__NR_Linux + 320)
1770+-#define __NR_userfaultfd (__NR_Linux + 321)
1771+-#define __NR_membarrier (__NR_Linux + 322)
1772+-#define __NR_mlock2 (__NR_Linux + 323)
1773+-#define __NR_copy_file_range (__NR_Linux + 324)
1774+-#define __NR_preadv2 (__NR_Linux + 325)
1775+-#define __NR_pwritev2 (__NR_Linux + 326)
1776+-#define __NR_pkey_mprotect (__NR_Linux + 327)
1777+-#define __NR_pkey_alloc (__NR_Linux + 328)
1778+-#define __NR_pkey_free (__NR_Linux + 329)
1779+-#define __NR_statx (__NR_Linux + 330)
1780+-#define __NR_rseq (__NR_Linux + 331)
1781+-#define __NR_io_pgetevents (__NR_Linux + 332)
1782+-
1783+-/*
1784+- * Offset of the last N32 flavoured syscall
1785+- */
1786+-#define __NR_Linux_syscalls 332
1787++#define __NR_Linux 6000
1788++#include <asm/unistd_n32.h>
1789+
1790+ #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
1791+
1792+-#define __NR_N32_Linux 6000
1793+-#define __NR_N32_Linux_syscalls 332
1794+-
1795+ #endif /* _ASM_UNISTD_H */
1796+diff --git a/linux-headers/asm-mips/unistd_n32.h b/linux-headers/asm-mips/unistd_n32.h
1797+new file mode 100644
1798+index 0000000000..b744f4d520
1799+--- /dev/null
1800++++ b/linux-headers/asm-mips/unistd_n32.h
1801+@@ -0,0 +1,338 @@
1802++#ifndef _ASM_MIPS_UNISTD_N32_H
1803++#define _ASM_MIPS_UNISTD_N32_H
1804++
1805++#define __NR_read (__NR_Linux + 0)
1806++#define __NR_write (__NR_Linux + 1)
1807++#define __NR_open (__NR_Linux + 2)
1808++#define __NR_close (__NR_Linux + 3)
1809++#define __NR_stat (__NR_Linux + 4)
1810++#define __NR_fstat (__NR_Linux + 5)
1811++#define __NR_lstat (__NR_Linux + 6)
1812++#define __NR_poll (__NR_Linux + 7)
1813++#define __NR_lseek (__NR_Linux + 8)
1814++#define __NR_mmap (__NR_Linux + 9)
1815++#define __NR_mprotect (__NR_Linux + 10)
1816++#define __NR_munmap (__NR_Linux + 11)
1817++#define __NR_brk (__NR_Linux + 12)
1818++#define __NR_rt_sigaction (__NR_Linux + 13)
1819++#define __NR_rt_sigprocmask (__NR_Linux + 14)
1820++#define __NR_ioctl (__NR_Linux + 15)
1821++#define __NR_pread64 (__NR_Linux + 16)
1822++#define __NR_pwrite64 (__NR_Linux + 17)
1823++#define __NR_readv (__NR_Linux + 18)
1824++#define __NR_writev (__NR_Linux + 19)
1825++#define __NR_access (__NR_Linux + 20)
1826++#define __NR_pipe (__NR_Linux + 21)
1827++#define __NR__newselect (__NR_Linux + 22)
1828++#define __NR_sched_yield (__NR_Linux + 23)
1829++#define __NR_mremap (__NR_Linux + 24)
1830++#define __NR_msync (__NR_Linux + 25)
1831++#define __NR_mincore (__NR_Linux + 26)
1832++#define __NR_madvise (__NR_Linux + 27)
1833++#define __NR_shmget (__NR_Linux + 28)
1834++#define __NR_shmat (__NR_Linux + 29)
1835++#define __NR_shmctl (__NR_Linux + 30)
1836++#define __NR_dup (__NR_Linux + 31)
1837++#define __NR_dup2 (__NR_Linux + 32)
1838++#define __NR_pause (__NR_Linux + 33)
1839++#define __NR_nanosleep (__NR_Linux + 34)
1840++#define __NR_getitimer (__NR_Linux + 35)
1841++#define __NR_setitimer (__NR_Linux + 36)
1842++#define __NR_alarm (__NR_Linux + 37)
1843++#define __NR_getpid (__NR_Linux + 38)
1844++#define __NR_sendfile (__NR_Linux + 39)
1845++#define __NR_socket (__NR_Linux + 40)
1846++#define __NR_connect (__NR_Linux + 41)
1847++#define __NR_accept (__NR_Linux + 42)
1848++#define __NR_sendto (__NR_Linux + 43)
1849++#define __NR_recvfrom (__NR_Linux + 44)
1850++#define __NR_sendmsg (__NR_Linux + 45)
1851++#define __NR_recvmsg (__NR_Linux + 46)
1852++#define __NR_shutdown (__NR_Linux + 47)
1853++#define __NR_bind (__NR_Linux + 48)
1854++#define __NR_listen (__NR_Linux + 49)
1855++#define __NR_getsockname (__NR_Linux + 50)
1856++#define __NR_getpeername (__NR_Linux + 51)
1857++#define __NR_socketpair (__NR_Linux + 52)
1858++#define __NR_setsockopt (__NR_Linux + 53)
1859++#define __NR_getsockopt (__NR_Linux + 54)
1860++#define __NR_clone (__NR_Linux + 55)
1861++#define __NR_fork (__NR_Linux + 56)
1862++#define __NR_execve (__NR_Linux + 57)
1863++#define __NR_exit (__NR_Linux + 58)
1864++#define __NR_wait4 (__NR_Linux + 59)
1865++#define __NR_kill (__NR_Linux + 60)
1866++#define __NR_uname (__NR_Linux + 61)
1867++#define __NR_semget (__NR_Linux + 62)
1868++#define __NR_semop (__NR_Linux + 63)
1869++#define __NR_semctl (__NR_Linux + 64)
1870++#define __NR_shmdt (__NR_Linux + 65)
1871++#define __NR_msgget (__NR_Linux + 66)
1872++#define __NR_msgsnd (__NR_Linux + 67)
1873++#define __NR_msgrcv (__NR_Linux + 68)
1874++#define __NR_msgctl (__NR_Linux + 69)
1875++#define __NR_fcntl (__NR_Linux + 70)
1876++#define __NR_flock (__NR_Linux + 71)
1877++#define __NR_fsync (__NR_Linux + 72)
1878++#define __NR_fdatasync (__NR_Linux + 73)
1879++#define __NR_truncate (__NR_Linux + 74)
1880++#define __NR_ftruncate (__NR_Linux + 75)
1881++#define __NR_getdents (__NR_Linux + 76)
1882++#define __NR_getcwd (__NR_Linux + 77)
1883++#define __NR_chdir (__NR_Linux + 78)
1884++#define __NR_fchdir (__NR_Linux + 79)
1885++#define __NR_rename (__NR_Linux + 80)
1886++#define __NR_mkdir (__NR_Linux + 81)
1887++#define __NR_rmdir (__NR_Linux + 82)
1888++#define __NR_creat (__NR_Linux + 83)
1889++#define __NR_link (__NR_Linux + 84)
1890++#define __NR_unlink (__NR_Linux + 85)
1891++#define __NR_symlink (__NR_Linux + 86)
1892++#define __NR_readlink (__NR_Linux + 87)
1893++#define __NR_chmod (__NR_Linux + 88)
1894++#define __NR_fchmod (__NR_Linux + 89)
1895++#define __NR_chown (__NR_Linux + 90)
1896++#define __NR_fchown (__NR_Linux + 91)
1897++#define __NR_lchown (__NR_Linux + 92)
1898++#define __NR_umask (__NR_Linux + 93)
1899++#define __NR_gettimeofday (__NR_Linux + 94)
1900++#define __NR_getrlimit (__NR_Linux + 95)
1901++#define __NR_getrusage (__NR_Linux + 96)
1902++#define __NR_sysinfo (__NR_Linux + 97)
1903++#define __NR_times (__NR_Linux + 98)
1904++#define __NR_ptrace (__NR_Linux + 99)
1905++#define __NR_getuid (__NR_Linux + 100)
1906++#define __NR_syslog (__NR_Linux + 101)
1907++#define __NR_getgid (__NR_Linux + 102)
1908++#define __NR_setuid (__NR_Linux + 103)
1909++#define __NR_setgid (__NR_Linux + 104)
1910++#define __NR_geteuid (__NR_Linux + 105)
1911++#define __NR_getegid (__NR_Linux + 106)
1912++#define __NR_setpgid (__NR_Linux + 107)
1913++#define __NR_getppid (__NR_Linux + 108)
1914++#define __NR_getpgrp (__NR_Linux + 109)
1915++#define __NR_setsid (__NR_Linux + 110)
1916++#define __NR_setreuid (__NR_Linux + 111)
1917++#define __NR_setregid (__NR_Linux + 112)
1918++#define __NR_getgroups (__NR_Linux + 113)
1919++#define __NR_setgroups (__NR_Linux + 114)
1920++#define __NR_setresuid (__NR_Linux + 115)
1921++#define __NR_getresuid (__NR_Linux + 116)
1922++#define __NR_setresgid (__NR_Linux + 117)
1923++#define __NR_getresgid (__NR_Linux + 118)
1924++#define __NR_getpgid (__NR_Linux + 119)
1925++#define __NR_setfsuid (__NR_Linux + 120)
1926++#define __NR_setfsgid (__NR_Linux + 121)
1927++#define __NR_getsid (__NR_Linux + 122)
1928++#define __NR_capget (__NR_Linux + 123)
1929++#define __NR_capset (__NR_Linux + 124)
1930++#define __NR_rt_sigpending (__NR_Linux + 125)
1931++#define __NR_rt_sigtimedwait (__NR_Linux + 126)
1932++#define __NR_rt_sigqueueinfo (__NR_Linux + 127)
1933++#define __NR_rt_sigsuspend (__NR_Linux + 128)
1934++#define __NR_sigaltstack (__NR_Linux + 129)
1935++#define __NR_utime (__NR_Linux + 130)
1936++#define __NR_mknod (__NR_Linux + 131)
1937++#define __NR_personality (__NR_Linux + 132)
1938++#define __NR_ustat (__NR_Linux + 133)
1939++#define __NR_statfs (__NR_Linux + 134)
1940++#define __NR_fstatfs (__NR_Linux + 135)
1941++#define __NR_sysfs (__NR_Linux + 136)
1942++#define __NR_getpriority (__NR_Linux + 137)
1943++#define __NR_setpriority (__NR_Linux + 138)
1944++#define __NR_sched_setparam (__NR_Linux + 139)
1945++#define __NR_sched_getparam (__NR_Linux + 140)
1946++#define __NR_sched_setscheduler (__NR_Linux + 141)
1947++#define __NR_sched_getscheduler (__NR_Linux + 142)
1948++#define __NR_sched_get_priority_max (__NR_Linux + 143)
1949++#define __NR_sched_get_priority_min (__NR_Linux + 144)
1950++#define __NR_sched_rr_get_interval (__NR_Linux + 145)
1951++#define __NR_mlock (__NR_Linux + 146)
1952++#define __NR_munlock (__NR_Linux + 147)
1953++#define __NR_mlockall (__NR_Linux + 148)
1954++#define __NR_munlockall (__NR_Linux + 149)
1955++#define __NR_vhangup (__NR_Linux + 150)
1956++#define __NR_pivot_root (__NR_Linux + 151)
1957++#define __NR__sysctl (__NR_Linux + 152)
1958++#define __NR_prctl (__NR_Linux + 153)
1959++#define __NR_adjtimex (__NR_Linux + 154)
1960++#define __NR_setrlimit (__NR_Linux + 155)
1961++#define __NR_chroot (__NR_Linux + 156)
1962++#define __NR_sync (__NR_Linux + 157)
1963++#define __NR_acct (__NR_Linux + 158)
1964++#define __NR_settimeofday (__NR_Linux + 159)
1965++#define __NR_mount (__NR_Linux + 160)
1966++#define __NR_umount2 (__NR_Linux + 161)
1967++#define __NR_swapon (__NR_Linux + 162)
1968++#define __NR_swapoff (__NR_Linux + 163)
1969++#define __NR_reboot (__NR_Linux + 164)
1970++#define __NR_sethostname (__NR_Linux + 165)
1971++#define __NR_setdomainname (__NR_Linux + 166)
1972++#define __NR_create_module (__NR_Linux + 167)
1973++#define __NR_init_module (__NR_Linux + 168)
1974++#define __NR_delete_module (__NR_Linux + 169)
1975++#define __NR_get_kernel_syms (__NR_Linux + 170)
1976++#define __NR_query_module (__NR_Linux + 171)
1977++#define __NR_quotactl (__NR_Linux + 172)
1978++#define __NR_nfsservctl (__NR_Linux + 173)
1979++#define __NR_getpmsg (__NR_Linux + 174)
1980++#define __NR_putpmsg (__NR_Linux + 175)
1981++#define __NR_afs_syscall (__NR_Linux + 176)
1982++#define __NR_reserved177 (__NR_Linux + 177)
1983++#define __NR_gettid (__NR_Linux + 178)
1984++#define __NR_readahead (__NR_Linux + 179)
1985++#define __NR_setxattr (__NR_Linux + 180)
1986++#define __NR_lsetxattr (__NR_Linux + 181)
1987++#define __NR_fsetxattr (__NR_Linux + 182)
1988++#define __NR_getxattr (__NR_Linux + 183)
1989++#define __NR_lgetxattr (__NR_Linux + 184)
1990++#define __NR_fgetxattr (__NR_Linux + 185)
1991++#define __NR_listxattr (__NR_Linux + 186)
1992++#define __NR_llistxattr (__NR_Linux + 187)
1993++#define __NR_flistxattr (__NR_Linux + 188)
1994++#define __NR_removexattr (__NR_Linux + 189)
1995++#define __NR_lremovexattr (__NR_Linux + 190)
1996++#define __NR_fremovexattr (__NR_Linux + 191)
1997++#define __NR_tkill (__NR_Linux + 192)
1998++#define __NR_reserved193 (__NR_Linux + 193)
1999++#define __NR_futex (__NR_Linux + 194)
2000++#define __NR_sched_setaffinity (__NR_Linux + 195)
2001++#define __NR_sched_getaffinity (__NR_Linux + 196)
2002++#define __NR_cacheflush (__NR_Linux + 197)
2003++#define __NR_cachectl (__NR_Linux + 198)
2004++#define __NR_sysmips (__NR_Linux + 199)
2005++#define __NR_io_setup (__NR_Linux + 200)
2006++#define __NR_io_destroy (__NR_Linux + 201)
2007++#define __NR_io_getevents (__NR_Linux + 202)
2008++#define __NR_io_submit (__NR_Linux + 203)
2009++#define __NR_io_cancel (__NR_Linux + 204)
2010++#define __NR_exit_group (__NR_Linux + 205)
2011++#define __NR_lookup_dcookie (__NR_Linux + 206)
2012++#define __NR_epoll_create (__NR_Linux + 207)
2013++#define __NR_epoll_ctl (__NR_Linux + 208)
2014++#define __NR_epoll_wait (__NR_Linux + 209)
2015++#define __NR_remap_file_pages (__NR_Linux + 210)
2016++#define __NR_rt_sigreturn (__NR_Linux + 211)
2017++#define __NR_fcntl64 (__NR_Linux + 212)
2018++#define __NR_set_tid_address (__NR_Linux + 213)
2019++#define __NR_restart_syscall (__NR_Linux + 214)
2020++#define __NR_semtimedop (__NR_Linux + 215)
2021++#define __NR_fadvise64 (__NR_Linux + 216)
2022++#define __NR_statfs64 (__NR_Linux + 217)
2023++#define __NR_fstatfs64 (__NR_Linux + 218)
2024++#define __NR_sendfile64 (__NR_Linux + 219)
2025++#define __NR_timer_create (__NR_Linux + 220)
2026++#define __NR_timer_settime (__NR_Linux + 221)
2027++#define __NR_timer_gettime (__NR_Linux + 222)
2028++#define __NR_timer_getoverrun (__NR_Linux + 223)
2029++#define __NR_timer_delete (__NR_Linux + 224)
2030++#define __NR_clock_settime (__NR_Linux + 225)
2031++#define __NR_clock_gettime (__NR_Linux + 226)
2032++#define __NR_clock_getres (__NR_Linux + 227)
2033++#define __NR_clock_nanosleep (__NR_Linux + 228)
2034++#define __NR_tgkill (__NR_Linux + 229)
2035++#define __NR_utimes (__NR_Linux + 230)
2036++#define __NR_mbind (__NR_Linux + 231)
2037++#define __NR_get_mempolicy (__NR_Linux + 232)
2038++#define __NR_set_mempolicy (__NR_Linux + 233)
2039++#define __NR_mq_open (__NR_Linux + 234)
2040++#define __NR_mq_unlink (__NR_Linux + 235)
2041++#define __NR_mq_timedsend (__NR_Linux + 236)
2042++#define __NR_mq_timedreceive (__NR_Linux + 237)
2043++#define __NR_mq_notify (__NR_Linux + 238)
2044++#define __NR_mq_getsetattr (__NR_Linux + 239)
2045++#define __NR_vserver (__NR_Linux + 240)
2046++#define __NR_waitid (__NR_Linux + 241)
2047++#define __NR_add_key (__NR_Linux + 243)
2048++#define __NR_request_key (__NR_Linux + 244)
2049++#define __NR_keyctl (__NR_Linux + 245)
2050++#define __NR_set_thread_area (__NR_Linux + 246)
2051++#define __NR_inotify_init (__NR_Linux + 247)
2052++#define __NR_inotify_add_watch (__NR_Linux + 248)
2053++#define __NR_inotify_rm_watch (__NR_Linux + 249)
2054++#define __NR_migrate_pages (__NR_Linux + 250)
2055++#define __NR_openat (__NR_Linux + 251)
2056++#define __NR_mkdirat (__NR_Linux + 252)
2057++#define __NR_mknodat (__NR_Linux + 253)
2058++#define __NR_fchownat (__NR_Linux + 254)
2059++#define __NR_futimesat (__NR_Linux + 255)
2060++#define __NR_newfstatat (__NR_Linux + 256)
2061++#define __NR_unlinkat (__NR_Linux + 257)
2062++#define __NR_renameat (__NR_Linux + 258)
2063++#define __NR_linkat (__NR_Linux + 259)
2064++#define __NR_symlinkat (__NR_Linux + 260)
2065++#define __NR_readlinkat (__NR_Linux + 261)
2066++#define __NR_fchmodat (__NR_Linux + 262)
2067++#define __NR_faccessat (__NR_Linux + 263)
2068++#define __NR_pselect6 (__NR_Linux + 264)
2069++#define __NR_ppoll (__NR_Linux + 265)
2070++#define __NR_unshare (__NR_Linux + 266)
2071++#define __NR_splice (__NR_Linux + 267)
2072++#define __NR_sync_file_range (__NR_Linux + 268)
2073++#define __NR_tee (__NR_Linux + 269)
2074++#define __NR_vmsplice (__NR_Linux + 270)
2075++#define __NR_move_pages (__NR_Linux + 271)
2076++#define __NR_set_robust_list (__NR_Linux + 272)
2077++#define __NR_get_robust_list (__NR_Linux + 273)
2078++#define __NR_kexec_load (__NR_Linux + 274)
2079++#define __NR_getcpu (__NR_Linux + 275)
2080++#define __NR_epoll_pwait (__NR_Linux + 276)
2081++#define __NR_ioprio_set (__NR_Linux + 277)
2082++#define __NR_ioprio_get (__NR_Linux + 278)
2083++#define __NR_utimensat (__NR_Linux + 279)
2084++#define __NR_signalfd (__NR_Linux + 280)
2085++#define __NR_timerfd (__NR_Linux + 281)
2086++#define __NR_eventfd (__NR_Linux + 282)
2087++#define __NR_fallocate (__NR_Linux + 283)
2088++#define __NR_timerfd_create (__NR_Linux + 284)
2089++#define __NR_timerfd_gettime (__NR_Linux + 285)
2090++#define __NR_timerfd_settime (__NR_Linux + 286)
2091++#define __NR_signalfd4 (__NR_Linux + 287)
2092++#define __NR_eventfd2 (__NR_Linux + 288)
2093++#define __NR_epoll_create1 (__NR_Linux + 289)
2094++#define __NR_dup3 (__NR_Linux + 290)
2095++#define __NR_pipe2 (__NR_Linux + 291)
2096++#define __NR_inotify_init1 (__NR_Linux + 292)
2097++#define __NR_preadv (__NR_Linux + 293)
2098++#define __NR_pwritev (__NR_Linux + 294)
2099++#define __NR_rt_tgsigqueueinfo (__NR_Linux + 295)
2100++#define __NR_perf_event_open (__NR_Linux + 296)
2101++#define __NR_accept4 (__NR_Linux + 297)
2102++#define __NR_recvmmsg (__NR_Linux + 298)
2103++#define __NR_getdents64 (__NR_Linux + 299)
2104++#define __NR_fanotify_init (__NR_Linux + 300)
2105++#define __NR_fanotify_mark (__NR_Linux + 301)
2106++#define __NR_prlimit64 (__NR_Linux + 302)
2107++#define __NR_name_to_handle_at (__NR_Linux + 303)
2108++#define __NR_open_by_handle_at (__NR_Linux + 304)
2109++#define __NR_clock_adjtime (__NR_Linux + 305)
2110++#define __NR_syncfs (__NR_Linux + 306)
2111++#define __NR_sendmmsg (__NR_Linux + 307)
2112++#define __NR_setns (__NR_Linux + 308)
2113++#define __NR_process_vm_readv (__NR_Linux + 309)
2114++#define __NR_process_vm_writev (__NR_Linux + 310)
2115++#define __NR_kcmp (__NR_Linux + 311)
2116++#define __NR_finit_module (__NR_Linux + 312)
2117++#define __NR_sched_setattr (__NR_Linux + 313)
2118++#define __NR_sched_getattr (__NR_Linux + 314)
2119++#define __NR_renameat2 (__NR_Linux + 315)
2120++#define __NR_seccomp (__NR_Linux + 316)
2121++#define __NR_getrandom (__NR_Linux + 317)
2122++#define __NR_memfd_create (__NR_Linux + 318)
2123++#define __NR_bpf (__NR_Linux + 319)
2124++#define __NR_execveat (__NR_Linux + 320)
2125++#define __NR_userfaultfd (__NR_Linux + 321)
2126++#define __NR_membarrier (__NR_Linux + 322)
2127++#define __NR_mlock2 (__NR_Linux + 323)
2128++#define __NR_copy_file_range (__NR_Linux + 324)
2129++#define __NR_preadv2 (__NR_Linux + 325)
2130++#define __NR_pwritev2 (__NR_Linux + 326)
2131++#define __NR_pkey_mprotect (__NR_Linux + 327)
2132++#define __NR_pkey_alloc (__NR_Linux + 328)
2133++#define __NR_pkey_free (__NR_Linux + 329)
2134++#define __NR_statx (__NR_Linux + 330)
2135++#define __NR_rseq (__NR_Linux + 331)
2136++#define __NR_io_pgetevents (__NR_Linux + 332)
2137++
2138++
2139++#endif /* _ASM_MIPS_UNISTD_N32_H */
2140+diff --git a/linux-headers/asm-mips/unistd_n64.h b/linux-headers/asm-mips/unistd_n64.h
2141+new file mode 100644
2142+index 0000000000..8083de1f25
2143+--- /dev/null
2144++++ b/linux-headers/asm-mips/unistd_n64.h
2145+@@ -0,0 +1,334 @@
2146++#ifndef _ASM_MIPS_UNISTD_N64_H
2147++#define _ASM_MIPS_UNISTD_N64_H
2148++
2149++#define __NR_read (__NR_Linux + 0)
2150++#define __NR_write (__NR_Linux + 1)
2151++#define __NR_open (__NR_Linux + 2)
2152++#define __NR_close (__NR_Linux + 3)
2153++#define __NR_stat (__NR_Linux + 4)
2154++#define __NR_fstat (__NR_Linux + 5)
2155++#define __NR_lstat (__NR_Linux + 6)
2156++#define __NR_poll (__NR_Linux + 7)
2157++#define __NR_lseek (__NR_Linux + 8)
2158++#define __NR_mmap (__NR_Linux + 9)
2159++#define __NR_mprotect (__NR_Linux + 10)
2160++#define __NR_munmap (__NR_Linux + 11)
2161++#define __NR_brk (__NR_Linux + 12)
2162++#define __NR_rt_sigaction (__NR_Linux + 13)
2163++#define __NR_rt_sigprocmask (__NR_Linux + 14)
2164++#define __NR_ioctl (__NR_Linux + 15)
2165++#define __NR_pread64 (__NR_Linux + 16)
2166++#define __NR_pwrite64 (__NR_Linux + 17)
2167++#define __NR_readv (__NR_Linux + 18)
2168++#define __NR_writev (__NR_Linux + 19)
2169++#define __NR_access (__NR_Linux + 20)
2170++#define __NR_pipe (__NR_Linux + 21)
2171++#define __NR__newselect (__NR_Linux + 22)
2172++#define __NR_sched_yield (__NR_Linux + 23)
2173++#define __NR_mremap (__NR_Linux + 24)
2174++#define __NR_msync (__NR_Linux + 25)
2175++#define __NR_mincore (__NR_Linux + 26)
2176++#define __NR_madvise (__NR_Linux + 27)
2177++#define __NR_shmget (__NR_Linux + 28)
2178++#define __NR_shmat (__NR_Linux + 29)
2179++#define __NR_shmctl (__NR_Linux + 30)
2180++#define __NR_dup (__NR_Linux + 31)
2181++#define __NR_dup2 (__NR_Linux + 32)
2182++#define __NR_pause (__NR_Linux + 33)
2183++#define __NR_nanosleep (__NR_Linux + 34)
2184++#define __NR_getitimer (__NR_Linux + 35)
2185++#define __NR_setitimer (__NR_Linux + 36)
2186++#define __NR_alarm (__NR_Linux + 37)
2187++#define __NR_getpid (__NR_Linux + 38)
2188++#define __NR_sendfile (__NR_Linux + 39)
2189++#define __NR_socket (__NR_Linux + 40)
2190++#define __NR_connect (__NR_Linux + 41)
2191++#define __NR_accept (__NR_Linux + 42)
2192++#define __NR_sendto (__NR_Linux + 43)
2193++#define __NR_recvfrom (__NR_Linux + 44)
2194++#define __NR_sendmsg (__NR_Linux + 45)
2195++#define __NR_recvmsg (__NR_Linux + 46)
2196++#define __NR_shutdown (__NR_Linux + 47)
2197++#define __NR_bind (__NR_Linux + 48)
2198++#define __NR_listen (__NR_Linux + 49)
2199++#define __NR_getsockname (__NR_Linux + 50)
2200++#define __NR_getpeername (__NR_Linux + 51)
2201++#define __NR_socketpair (__NR_Linux + 52)
2202++#define __NR_setsockopt (__NR_Linux + 53)
2203++#define __NR_getsockopt (__NR_Linux + 54)
2204++#define __NR_clone (__NR_Linux + 55)
2205++#define __NR_fork (__NR_Linux + 56)
2206++#define __NR_execve (__NR_Linux + 57)
2207++#define __NR_exit (__NR_Linux + 58)
2208++#define __NR_wait4 (__NR_Linux + 59)
2209++#define __NR_kill (__NR_Linux + 60)
2210++#define __NR_uname (__NR_Linux + 61)
2211++#define __NR_semget (__NR_Linux + 62)
2212++#define __NR_semop (__NR_Linux + 63)
2213++#define __NR_semctl (__NR_Linux + 64)
2214++#define __NR_shmdt (__NR_Linux + 65)
2215++#define __NR_msgget (__NR_Linux + 66)
2216++#define __NR_msgsnd (__NR_Linux + 67)
2217++#define __NR_msgrcv (__NR_Linux + 68)
2218++#define __NR_msgctl (__NR_Linux + 69)
2219++#define __NR_fcntl (__NR_Linux + 70)
2220++#define __NR_flock (__NR_Linux + 71)
2221++#define __NR_fsync (__NR_Linux + 72)
2222++#define __NR_fdatasync (__NR_Linux + 73)
2223++#define __NR_truncate (__NR_Linux + 74)
2224++#define __NR_ftruncate (__NR_Linux + 75)
2225++#define __NR_getdents (__NR_Linux + 76)
2226++#define __NR_getcwd (__NR_Linux + 77)
2227++#define __NR_chdir (__NR_Linux + 78)
2228++#define __NR_fchdir (__NR_Linux + 79)
2229++#define __NR_rename (__NR_Linux + 80)
2230++#define __NR_mkdir (__NR_Linux + 81)
2231++#define __NR_rmdir (__NR_Linux + 82)
2232++#define __NR_creat (__NR_Linux + 83)
2233++#define __NR_link (__NR_Linux + 84)
2234++#define __NR_unlink (__NR_Linux + 85)
2235++#define __NR_symlink (__NR_Linux + 86)
2236++#define __NR_readlink (__NR_Linux + 87)
2237++#define __NR_chmod (__NR_Linux + 88)
2238++#define __NR_fchmod (__NR_Linux + 89)
2239++#define __NR_chown (__NR_Linux + 90)
2240++#define __NR_fchown (__NR_Linux + 91)
2241++#define __NR_lchown (__NR_Linux + 92)
2242++#define __NR_umask (__NR_Linux + 93)
2243++#define __NR_gettimeofday (__NR_Linux + 94)
2244++#define __NR_getrlimit (__NR_Linux + 95)
2245++#define __NR_getrusage (__NR_Linux + 96)
2246++#define __NR_sysinfo (__NR_Linux + 97)
2247++#define __NR_times (__NR_Linux + 98)
2248++#define __NR_ptrace (__NR_Linux + 99)
2249++#define __NR_getuid (__NR_Linux + 100)
2250++#define __NR_syslog (__NR_Linux + 101)
2251++#define __NR_getgid (__NR_Linux + 102)
2252++#define __NR_setuid (__NR_Linux + 103)
2253++#define __NR_setgid (__NR_Linux + 104)
2254++#define __NR_geteuid (__NR_Linux + 105)
2255++#define __NR_getegid (__NR_Linux + 106)
2256++#define __NR_setpgid (__NR_Linux + 107)
2257++#define __NR_getppid (__NR_Linux + 108)
2258++#define __NR_getpgrp (__NR_Linux + 109)
2259++#define __NR_setsid (__NR_Linux + 110)
2260++#define __NR_setreuid (__NR_Linux + 111)
2261++#define __NR_setregid (__NR_Linux + 112)
2262++#define __NR_getgroups (__NR_Linux + 113)
2263++#define __NR_setgroups (__NR_Linux + 114)
2264++#define __NR_setresuid (__NR_Linux + 115)
2265++#define __NR_getresuid (__NR_Linux + 116)
2266++#define __NR_setresgid (__NR_Linux + 117)
2267++#define __NR_getresgid (__NR_Linux + 118)
2268++#define __NR_getpgid (__NR_Linux + 119)
2269++#define __NR_setfsuid (__NR_Linux + 120)
2270++#define __NR_setfsgid (__NR_Linux + 121)
2271++#define __NR_getsid (__NR_Linux + 122)
2272++#define __NR_capget (__NR_Linux + 123)
2273++#define __NR_capset (__NR_Linux + 124)
2274++#define __NR_rt_sigpending (__NR_Linux + 125)
2275++#define __NR_rt_sigtimedwait (__NR_Linux + 126)
2276++#define __NR_rt_sigqueueinfo (__NR_Linux + 127)
2277++#define __NR_rt_sigsuspend (__NR_Linux + 128)
2278++#define __NR_sigaltstack (__NR_Linux + 129)
2279++#define __NR_utime (__NR_Linux + 130)
2280++#define __NR_mknod (__NR_Linux + 131)
2281++#define __NR_personality (__NR_Linux + 132)
2282++#define __NR_ustat (__NR_Linux + 133)
2283++#define __NR_statfs (__NR_Linux + 134)
2284++#define __NR_fstatfs (__NR_Linux + 135)
2285++#define __NR_sysfs (__NR_Linux + 136)
2286++#define __NR_getpriority (__NR_Linux + 137)
2287++#define __NR_setpriority (__NR_Linux + 138)
2288++#define __NR_sched_setparam (__NR_Linux + 139)
2289++#define __NR_sched_getparam (__NR_Linux + 140)
2290++#define __NR_sched_setscheduler (__NR_Linux + 141)
2291++#define __NR_sched_getscheduler (__NR_Linux + 142)
2292++#define __NR_sched_get_priority_max (__NR_Linux + 143)
2293++#define __NR_sched_get_priority_min (__NR_Linux + 144)
2294++#define __NR_sched_rr_get_interval (__NR_Linux + 145)
2295++#define __NR_mlock (__NR_Linux + 146)
2296++#define __NR_munlock (__NR_Linux + 147)
2297++#define __NR_mlockall (__NR_Linux + 148)
2298++#define __NR_munlockall (__NR_Linux + 149)
2299++#define __NR_vhangup (__NR_Linux + 150)
2300++#define __NR_pivot_root (__NR_Linux + 151)
2301++#define __NR__sysctl (__NR_Linux + 152)
2302++#define __NR_prctl (__NR_Linux + 153)
2303++#define __NR_adjtimex (__NR_Linux + 154)
2304++#define __NR_setrlimit (__NR_Linux + 155)
2305++#define __NR_chroot (__NR_Linux + 156)
2306++#define __NR_sync (__NR_Linux + 157)
2307++#define __NR_acct (__NR_Linux + 158)
2308++#define __NR_settimeofday (__NR_Linux + 159)
2309++#define __NR_mount (__NR_Linux + 160)
2310++#define __NR_umount2 (__NR_Linux + 161)
2311++#define __NR_swapon (__NR_Linux + 162)
2312++#define __NR_swapoff (__NR_Linux + 163)
2313++#define __NR_reboot (__NR_Linux + 164)
2314++#define __NR_sethostname (__NR_Linux + 165)
2315++#define __NR_setdomainname (__NR_Linux + 166)
2316++#define __NR_create_module (__NR_Linux + 167)
2317++#define __NR_init_module (__NR_Linux + 168)
2318++#define __NR_delete_module (__NR_Linux + 169)
2319++#define __NR_get_kernel_syms (__NR_Linux + 170)
2320++#define __NR_query_module (__NR_Linux + 171)
2321++#define __NR_quotactl (__NR_Linux + 172)
2322++#define __NR_nfsservctl (__NR_Linux + 173)
2323++#define __NR_getpmsg (__NR_Linux + 174)
2324++#define __NR_putpmsg (__NR_Linux + 175)
2325++#define __NR_afs_syscall (__NR_Linux + 176)
2326++#define __NR_reserved177 (__NR_Linux + 177)
2327++#define __NR_gettid (__NR_Linux + 178)
2328++#define __NR_readahead (__NR_Linux + 179)
2329++#define __NR_setxattr (__NR_Linux + 180)
2330++#define __NR_lsetxattr (__NR_Linux + 181)
2331++#define __NR_fsetxattr (__NR_Linux + 182)
2332++#define __NR_getxattr (__NR_Linux + 183)
2333++#define __NR_lgetxattr (__NR_Linux + 184)
2334++#define __NR_fgetxattr (__NR_Linux + 185)
2335++#define __NR_listxattr (__NR_Linux + 186)
2336++#define __NR_llistxattr (__NR_Linux + 187)
2337++#define __NR_flistxattr (__NR_Linux + 188)
2338++#define __NR_removexattr (__NR_Linux + 189)
2339++#define __NR_lremovexattr (__NR_Linux + 190)
2340++#define __NR_fremovexattr (__NR_Linux + 191)
2341++#define __NR_tkill (__NR_Linux + 192)
2342++#define __NR_reserved193 (__NR_Linux + 193)
2343++#define __NR_futex (__NR_Linux + 194)
2344++#define __NR_sched_setaffinity (__NR_Linux + 195)
2345++#define __NR_sched_getaffinity (__NR_Linux + 196)
2346++#define __NR_cacheflush (__NR_Linux + 197)
2347++#define __NR_cachectl (__NR_Linux + 198)
2348++#define __NR_sysmips (__NR_Linux + 199)
2349++#define __NR_io_setup (__NR_Linux + 200)
2350++#define __NR_io_destroy (__NR_Linux + 201)
2351++#define __NR_io_getevents (__NR_Linux + 202)
2352++#define __NR_io_submit (__NR_Linux + 203)
2353++#define __NR_io_cancel (__NR_Linux + 204)
2354++#define __NR_exit_group (__NR_Linux + 205)
2355++#define __NR_lookup_dcookie (__NR_Linux + 206)
2356++#define __NR_epoll_create (__NR_Linux + 207)
2357++#define __NR_epoll_ctl (__NR_Linux + 208)
2358++#define __NR_epoll_wait (__NR_Linux + 209)
2359++#define __NR_remap_file_pages (__NR_Linux + 210)
2360++#define __NR_rt_sigreturn (__NR_Linux + 211)
2361++#define __NR_set_tid_address (__NR_Linux + 212)
2362++#define __NR_restart_syscall (__NR_Linux + 213)
2363++#define __NR_semtimedop (__NR_Linux + 214)
2364++#define __NR_fadvise64 (__NR_Linux + 215)
2365++#define __NR_timer_create (__NR_Linux + 216)
2366++#define __NR_timer_settime (__NR_Linux + 217)
2367++#define __NR_timer_gettime (__NR_Linux + 218)
2368++#define __NR_timer_getoverrun (__NR_Linux + 219)
2369++#define __NR_timer_delete (__NR_Linux + 220)
2370++#define __NR_clock_settime (__NR_Linux + 221)
2371++#define __NR_clock_gettime (__NR_Linux + 222)
2372++#define __NR_clock_getres (__NR_Linux + 223)
2373++#define __NR_clock_nanosleep (__NR_Linux + 224)
2374++#define __NR_tgkill (__NR_Linux + 225)
2375++#define __NR_utimes (__NR_Linux + 226)
2376++#define __NR_mbind (__NR_Linux + 227)
2377++#define __NR_get_mempolicy (__NR_Linux + 228)
2378++#define __NR_set_mempolicy (__NR_Linux + 229)
2379++#define __NR_mq_open (__NR_Linux + 230)
2380++#define __NR_mq_unlink (__NR_Linux + 231)
2381++#define __NR_mq_timedsend (__NR_Linux + 232)
2382++#define __NR_mq_timedreceive (__NR_Linux + 233)
2383++#define __NR_mq_notify (__NR_Linux + 234)
2384++#define __NR_mq_getsetattr (__NR_Linux + 235)
2385++#define __NR_vserver (__NR_Linux + 236)
2386++#define __NR_waitid (__NR_Linux + 237)
2387++#define __NR_add_key (__NR_Linux + 239)
2388++#define __NR_request_key (__NR_Linux + 240)
2389++#define __NR_keyctl (__NR_Linux + 241)
2390++#define __NR_set_thread_area (__NR_Linux + 242)
2391++#define __NR_inotify_init (__NR_Linux + 243)
2392++#define __NR_inotify_add_watch (__NR_Linux + 244)
2393++#define __NR_inotify_rm_watch (__NR_Linux + 245)
2394++#define __NR_migrate_pages (__NR_Linux + 246)
2395++#define __NR_openat (__NR_Linux + 247)
2396++#define __NR_mkdirat (__NR_Linux + 248)
2397++#define __NR_mknodat (__NR_Linux + 249)
2398++#define __NR_fchownat (__NR_Linux + 250)
2399++#define __NR_futimesat (__NR_Linux + 251)
2400++#define __NR_newfstatat (__NR_Linux + 252)
2401++#define __NR_unlinkat (__NR_Linux + 253)
2402++#define __NR_renameat (__NR_Linux + 254)
2403++#define __NR_linkat (__NR_Linux + 255)
2404++#define __NR_symlinkat (__NR_Linux + 256)
2405++#define __NR_readlinkat (__NR_Linux + 257)
2406++#define __NR_fchmodat (__NR_Linux + 258)
2407++#define __NR_faccessat (__NR_Linux + 259)
2408++#define __NR_pselect6 (__NR_Linux + 260)
2409++#define __NR_ppoll (__NR_Linux + 261)
2410++#define __NR_unshare (__NR_Linux + 262)
2411++#define __NR_splice (__NR_Linux + 263)
2412++#define __NR_sync_file_range (__NR_Linux + 264)
2413++#define __NR_tee (__NR_Linux + 265)
2414++#define __NR_vmsplice (__NR_Linux + 266)
2415++#define __NR_move_pages (__NR_Linux + 267)
2416++#define __NR_set_robust_list (__NR_Linux + 268)
2417++#define __NR_get_robust_list (__NR_Linux + 269)
2418++#define __NR_kexec_load (__NR_Linux + 270)
2419++#define __NR_getcpu (__NR_Linux + 271)
2420++#define __NR_epoll_pwait (__NR_Linux + 272)
2421++#define __NR_ioprio_set (__NR_Linux + 273)
2422++#define __NR_ioprio_get (__NR_Linux + 274)
2423++#define __NR_utimensat (__NR_Linux + 275)
2424++#define __NR_signalfd (__NR_Linux + 276)
2425++#define __NR_timerfd (__NR_Linux + 277)
2426++#define __NR_eventfd (__NR_Linux + 278)
2427++#define __NR_fallocate (__NR_Linux + 279)
2428++#define __NR_timerfd_create (__NR_Linux + 280)
2429++#define __NR_timerfd_gettime (__NR_Linux + 281)
2430++#define __NR_timerfd_settime (__NR_Linux + 282)
2431++#define __NR_signalfd4 (__NR_Linux + 283)
2432++#define __NR_eventfd2 (__NR_Linux + 284)
2433++#define __NR_epoll_create1 (__NR_Linux + 285)
2434++#define __NR_dup3 (__NR_Linux + 286)
2435++#define __NR_pipe2 (__NR_Linux + 287)
2436++#define __NR_inotify_init1 (__NR_Linux + 288)
2437++#define __NR_preadv (__NR_Linux + 289)
2438++#define __NR_pwritev (__NR_Linux + 290)
2439++#define __NR_rt_tgsigqueueinfo (__NR_Linux + 291)
2440++#define __NR_perf_event_open (__NR_Linux + 292)
2441++#define __NR_accept4 (__NR_Linux + 293)
2442++#define __NR_recvmmsg (__NR_Linux + 294)
2443++#define __NR_fanotify_init (__NR_Linux + 295)
2444++#define __NR_fanotify_mark (__NR_Linux + 296)
2445++#define __NR_prlimit64 (__NR_Linux + 297)
2446++#define __NR_name_to_handle_at (__NR_Linux + 298)
2447++#define __NR_open_by_handle_at (__NR_Linux + 299)
2448++#define __NR_clock_adjtime (__NR_Linux + 300)
2449++#define __NR_syncfs (__NR_Linux + 301)
2450++#define __NR_sendmmsg (__NR_Linux + 302)
2451++#define __NR_setns (__NR_Linux + 303)
2452++#define __NR_process_vm_readv (__NR_Linux + 304)
2453++#define __NR_process_vm_writev (__NR_Linux + 305)
2454++#define __NR_kcmp (__NR_Linux + 306)
2455++#define __NR_finit_module (__NR_Linux + 307)
2456++#define __NR_getdents64 (__NR_Linux + 308)
2457++#define __NR_sched_setattr (__NR_Linux + 309)
2458++#define __NR_sched_getattr (__NR_Linux + 310)
2459++#define __NR_renameat2 (__NR_Linux + 311)
2460++#define __NR_seccomp (__NR_Linux + 312)
2461++#define __NR_getrandom (__NR_Linux + 313)
2462++#define __NR_memfd_create (__NR_Linux + 314)
2463++#define __NR_bpf (__NR_Linux + 315)
2464++#define __NR_execveat (__NR_Linux + 316)
2465++#define __NR_userfaultfd (__NR_Linux + 317)
2466++#define __NR_membarrier (__NR_Linux + 318)
2467++#define __NR_mlock2 (__NR_Linux + 319)
2468++#define __NR_copy_file_range (__NR_Linux + 320)
2469++#define __NR_preadv2 (__NR_Linux + 321)
2470++#define __NR_pwritev2 (__NR_Linux + 322)
2471++#define __NR_pkey_mprotect (__NR_Linux + 323)
2472++#define __NR_pkey_alloc (__NR_Linux + 324)
2473++#define __NR_pkey_free (__NR_Linux + 325)
2474++#define __NR_statx (__NR_Linux + 326)
2475++#define __NR_rseq (__NR_Linux + 327)
2476++#define __NR_io_pgetevents (__NR_Linux + 328)
2477++
2478++
2479++#endif /* _ASM_MIPS_UNISTD_N64_H */
2480+diff --git a/linux-headers/asm-mips/unistd_o32.h b/linux-headers/asm-mips/unistd_o32.h
2481+new file mode 100644
2482+index 0000000000..b03835b286
2483+--- /dev/null
2484++++ b/linux-headers/asm-mips/unistd_o32.h
2485+@@ -0,0 +1,374 @@
2486++#ifndef _ASM_MIPS_UNISTD_O32_H
2487++#define _ASM_MIPS_UNISTD_O32_H
2488++
2489++#define __NR_syscall (__NR_Linux + 0)
2490++#define __NR_exit (__NR_Linux + 1)
2491++#define __NR_fork (__NR_Linux + 2)
2492++#define __NR_read (__NR_Linux + 3)
2493++#define __NR_write (__NR_Linux + 4)
2494++#define __NR_open (__NR_Linux + 5)
2495++#define __NR_close (__NR_Linux + 6)
2496++#define __NR_waitpid (__NR_Linux + 7)
2497++#define __NR_creat (__NR_Linux + 8)
2498++#define __NR_link (__NR_Linux + 9)
2499++#define __NR_unlink (__NR_Linux + 10)
2500++#define __NR_execve (__NR_Linux + 11)
2501++#define __NR_chdir (__NR_Linux + 12)
2502++#define __NR_time (__NR_Linux + 13)
2503++#define __NR_mknod (__NR_Linux + 14)
2504++#define __NR_chmod (__NR_Linux + 15)
2505++#define __NR_lchown (__NR_Linux + 16)
2506++#define __NR_break (__NR_Linux + 17)
2507++#define __NR_unused18 (__NR_Linux + 18)
2508++#define __NR_lseek (__NR_Linux + 19)
2509++#define __NR_getpid (__NR_Linux + 20)
2510++#define __NR_mount (__NR_Linux + 21)
2511++#define __NR_umount (__NR_Linux + 22)
2512++#define __NR_setuid (__NR_Linux + 23)
2513++#define __NR_getuid (__NR_Linux + 24)
2514++#define __NR_stime (__NR_Linux + 25)
2515++#define __NR_ptrace (__NR_Linux + 26)
2516++#define __NR_alarm (__NR_Linux + 27)
2517++#define __NR_unused28 (__NR_Linux + 28)
2518++#define __NR_pause (__NR_Linux + 29)
2519++#define __NR_utime (__NR_Linux + 30)
2520++#define __NR_stty (__NR_Linux + 31)
2521++#define __NR_gtty (__NR_Linux + 32)
2522++#define __NR_access (__NR_Linux + 33)
2523++#define __NR_nice (__NR_Linux + 34)
2524++#define __NR_ftime (__NR_Linux + 35)
2525++#define __NR_sync (__NR_Linux + 36)
2526++#define __NR_kill (__NR_Linux + 37)
2527++#define __NR_rename (__NR_Linux + 38)
2528++#define __NR_mkdir (__NR_Linux + 39)
2529++#define __NR_rmdir (__NR_Linux + 40)
2530++#define __NR_dup (__NR_Linux + 41)
2531++#define __NR_pipe (__NR_Linux + 42)
2532++#define __NR_times (__NR_Linux + 43)
2533++#define __NR_prof (__NR_Linux + 44)
2534++#define __NR_brk (__NR_Linux + 45)
2535++#define __NR_setgid (__NR_Linux + 46)
2536++#define __NR_getgid (__NR_Linux + 47)
2537++#define __NR_signal (__NR_Linux + 48)
2538++#define __NR_geteuid (__NR_Linux + 49)
2539++#define __NR_getegid (__NR_Linux + 50)
2540++#define __NR_acct (__NR_Linux + 51)
2541++#define __NR_umount2 (__NR_Linux + 52)
2542++#define __NR_lock (__NR_Linux + 53)
2543++#define __NR_ioctl (__NR_Linux + 54)
2544++#define __NR_fcntl (__NR_Linux + 55)
2545++#define __NR_mpx (__NR_Linux + 56)
2546++#define __NR_setpgid (__NR_Linux + 57)
2547++#define __NR_ulimit (__NR_Linux + 58)
2548++#define __NR_unused59 (__NR_Linux + 59)
2549++#define __NR_umask (__NR_Linux + 60)
2550++#define __NR_chroot (__NR_Linux + 61)
2551++#define __NR_ustat (__NR_Linux + 62)
2552++#define __NR_dup2 (__NR_Linux + 63)
2553++#define __NR_getppid (__NR_Linux + 64)
2554++#define __NR_getpgrp (__NR_Linux + 65)
2555++#define __NR_setsid (__NR_Linux + 66)
2556++#define __NR_sigaction (__NR_Linux + 67)
2557++#define __NR_sgetmask (__NR_Linux + 68)
2558++#define __NR_ssetmask (__NR_Linux + 69)
2559++#define __NR_setreuid (__NR_Linux + 70)
2560++#define __NR_setregid (__NR_Linux + 71)
2561++#define __NR_sigsuspend (__NR_Linux + 72)
2562++#define __NR_sigpending (__NR_Linux + 73)
2563++#define __NR_sethostname (__NR_Linux + 74)
2564++#define __NR_setrlimit (__NR_Linux + 75)
2565++#define __NR_getrlimit (__NR_Linux + 76)
2566++#define __NR_getrusage (__NR_Linux + 77)
2567++#define __NR_gettimeofday (__NR_Linux + 78)
2568++#define __NR_settimeofday (__NR_Linux + 79)
2569++#define __NR_getgroups (__NR_Linux + 80)
2570++#define __NR_setgroups (__NR_Linux + 81)
2571++#define __NR_reserved82 (__NR_Linux + 82)
2572++#define __NR_symlink (__NR_Linux + 83)
2573++#define __NR_unused84 (__NR_Linux + 84)
2574++#define __NR_readlink (__NR_Linux + 85)
2575++#define __NR_uselib (__NR_Linux + 86)
2576++#define __NR_swapon (__NR_Linux + 87)
2577++#define __NR_reboot (__NR_Linux + 88)
2578++#define __NR_readdir (__NR_Linux + 89)
2579++#define __NR_mmap (__NR_Linux + 90)
2580++#define __NR_munmap (__NR_Linux + 91)
2581++#define __NR_truncate (__NR_Linux + 92)
2582++#define __NR_ftruncate (__NR_Linux + 93)
2583++#define __NR_fchmod (__NR_Linux + 94)
2584++#define __NR_fchown (__NR_Linux + 95)
2585++#define __NR_getpriority (__NR_Linux + 96)
2586++#define __NR_setpriority (__NR_Linux + 97)
2587++#define __NR_profil (__NR_Linux + 98)
2588++#define __NR_statfs (__NR_Linux + 99)
2589++#define __NR_fstatfs (__NR_Linux + 100)
2590++#define __NR_ioperm (__NR_Linux + 101)
2591++#define __NR_socketcall (__NR_Linux + 102)
2592++#define __NR_syslog (__NR_Linux + 103)
2593++#define __NR_setitimer (__NR_Linux + 104)
2594++#define __NR_getitimer (__NR_Linux + 105)
2595++#define __NR_stat (__NR_Linux + 106)
2596++#define __NR_lstat (__NR_Linux + 107)
2597++#define __NR_fstat (__NR_Linux + 108)
2598++#define __NR_unused109 (__NR_Linux + 109)
2599++#define __NR_iopl (__NR_Linux + 110)
2600++#define __NR_vhangup (__NR_Linux + 111)
2601++#define __NR_idle (__NR_Linux + 112)
2602++#define __NR_vm86 (__NR_Linux + 113)
2603++#define __NR_wait4 (__NR_Linux + 114)
2604++#define __NR_swapoff (__NR_Linux + 115)
2605++#define __NR_sysinfo (__NR_Linux + 116)
2606++#define __NR_ipc (__NR_Linux + 117)
2607++#define __NR_fsync (__NR_Linux + 118)
2608++#define __NR_sigreturn (__NR_Linux + 119)
2609++#define __NR_clone (__NR_Linux + 120)
2610++#define __NR_setdomainname (__NR_Linux + 121)
2611++#define __NR_uname (__NR_Linux + 122)
2612++#define __NR_modify_ldt (__NR_Linux + 123)
2613++#define __NR_adjtimex (__NR_Linux + 124)
2614++#define __NR_mprotect (__NR_Linux + 125)
2615++#define __NR_sigprocmask (__NR_Linux + 126)
2616++#define __NR_create_module (__NR_Linux + 127)
2617++#define __NR_init_module (__NR_Linux + 128)
2618++#define __NR_delete_module (__NR_Linux + 129)
2619++#define __NR_get_kernel_syms (__NR_Linux + 130)
2620++#define __NR_quotactl (__NR_Linux + 131)
2621++#define __NR_getpgid (__NR_Linux + 132)
2622++#define __NR_fchdir (__NR_Linux + 133)
2623++#define __NR_bdflush (__NR_Linux + 134)
2624++#define __NR_sysfs (__NR_Linux + 135)
2625++#define __NR_personality (__NR_Linux + 136)
2626++#define __NR_afs_syscall (__NR_Linux + 137)
2627++#define __NR_setfsuid (__NR_Linux + 138)
2628++#define __NR_setfsgid (__NR_Linux + 139)
2629++#define __NR__llseek (__NR_Linux + 140)
2630++#define __NR_getdents (__NR_Linux + 141)
2631++#define __NR__newselect (__NR_Linux + 142)
2632++#define __NR_flock (__NR_Linux + 143)
2633++#define __NR_msync (__NR_Linux + 144)
2634++#define __NR_readv (__NR_Linux + 145)
2635++#define __NR_writev (__NR_Linux + 146)
2636++#define __NR_cacheflush (__NR_Linux + 147)
2637++#define __NR_cachectl (__NR_Linux + 148)
2638++#define __NR_sysmips (__NR_Linux + 149)
2639++#define __NR_unused150 (__NR_Linux + 150)
2640++#define __NR_getsid (__NR_Linux + 151)
2641++#define __NR_fdatasync (__NR_Linux + 152)
2642++#define __NR__sysctl (__NR_Linux + 153)
2643++#define __NR_mlock (__NR_Linux + 154)
2644++#define __NR_munlock (__NR_Linux + 155)
2645++#define __NR_mlockall (__NR_Linux + 156)
2646++#define __NR_munlockall (__NR_Linux + 157)
2647++#define __NR_sched_setparam (__NR_Linux + 158)
2648++#define __NR_sched_getparam (__NR_Linux + 159)
2649++#define __NR_sched_setscheduler (__NR_Linux + 160)
2650++#define __NR_sched_getscheduler (__NR_Linux + 161)
2651++#define __NR_sched_yield (__NR_Linux + 162)
2652++#define __NR_sched_get_priority_max (__NR_Linux + 163)
2653++#define __NR_sched_get_priority_min (__NR_Linux + 164)
2654++#define __NR_sched_rr_get_interval (__NR_Linux + 165)
2655++#define __NR_nanosleep (__NR_Linux + 166)
2656++#define __NR_mremap (__NR_Linux + 167)
2657++#define __NR_accept (__NR_Linux + 168)
2658++#define __NR_bind (__NR_Linux + 169)
2659++#define __NR_connect (__NR_Linux + 170)
2660++#define __NR_getpeername (__NR_Linux + 171)
2661++#define __NR_getsockname (__NR_Linux + 172)
2662++#define __NR_getsockopt (__NR_Linux + 173)
2663++#define __NR_listen (__NR_Linux + 174)
2664++#define __NR_recv (__NR_Linux + 175)
2665++#define __NR_recvfrom (__NR_Linux + 176)
2666++#define __NR_recvmsg (__NR_Linux + 177)
2667++#define __NR_send (__NR_Linux + 178)
2668++#define __NR_sendmsg (__NR_Linux + 179)
2669++#define __NR_sendto (__NR_Linux + 180)
2670++#define __NR_setsockopt (__NR_Linux + 181)
2671++#define __NR_shutdown (__NR_Linux + 182)
2672++#define __NR_socket (__NR_Linux + 183)
2673++#define __NR_socketpair (__NR_Linux + 184)
2674++#define __NR_setresuid (__NR_Linux + 185)
2675++#define __NR_getresuid (__NR_Linux + 186)
2676++#define __NR_query_module (__NR_Linux + 187)
2677++#define __NR_poll (__NR_Linux + 188)
2678++#define __NR_nfsservctl (__NR_Linux + 189)
2679++#define __NR_setresgid (__NR_Linux + 190)
2680++#define __NR_getresgid (__NR_Linux + 191)
2681++#define __NR_prctl (__NR_Linux + 192)
2682++#define __NR_rt_sigreturn (__NR_Linux + 193)
2683++#define __NR_rt_sigaction (__NR_Linux + 194)
2684++#define __NR_rt_sigprocmask (__NR_Linux + 195)
2685++#define __NR_rt_sigpending (__NR_Linux + 196)
2686++#define __NR_rt_sigtimedwait (__NR_Linux + 197)
2687++#define __NR_rt_sigqueueinfo (__NR_Linux + 198)
2688++#define __NR_rt_sigsuspend (__NR_Linux + 199)
2689++#define __NR_pread64 (__NR_Linux + 200)
2690++#define __NR_pwrite64 (__NR_Linux + 201)
2691++#define __NR_chown (__NR_Linux + 202)
2692++#define __NR_getcwd (__NR_Linux + 203)
2693++#define __NR_capget (__NR_Linux + 204)
2694++#define __NR_capset (__NR_Linux + 205)
2695++#define __NR_sigaltstack (__NR_Linux + 206)
2696++#define __NR_sendfile (__NR_Linux + 207)
2697++#define __NR_getpmsg (__NR_Linux + 208)
2698++#define __NR_putpmsg (__NR_Linux + 209)
2699++#define __NR_mmap2 (__NR_Linux + 210)
2700++#define __NR_truncate64 (__NR_Linux + 211)
2701++#define __NR_ftruncate64 (__NR_Linux + 212)
2702++#define __NR_stat64 (__NR_Linux + 213)
2703++#define __NR_lstat64 (__NR_Linux + 214)
2704++#define __NR_fstat64 (__NR_Linux + 215)
2705++#define __NR_pivot_root (__NR_Linux + 216)
2706++#define __NR_mincore (__NR_Linux + 217)
2707++#define __NR_madvise (__NR_Linux + 218)
2708++#define __NR_getdents64 (__NR_Linux + 219)
2709++#define __NR_fcntl64 (__NR_Linux + 220)
2710++#define __NR_reserved221 (__NR_Linux + 221)
2711++#define __NR_gettid (__NR_Linux + 222)
2712++#define __NR_readahead (__NR_Linux + 223)
2713++#define __NR_setxattr (__NR_Linux + 224)
2714++#define __NR_lsetxattr (__NR_Linux + 225)
2715++#define __NR_fsetxattr (__NR_Linux + 226)
2716++#define __NR_getxattr (__NR_Linux + 227)
2717++#define __NR_lgetxattr (__NR_Linux + 228)
2718++#define __NR_fgetxattr (__NR_Linux + 229)
2719++#define __NR_listxattr (__NR_Linux + 230)
2720++#define __NR_llistxattr (__NR_Linux + 231)
2721++#define __NR_flistxattr (__NR_Linux + 232)
2722++#define __NR_removexattr (__NR_Linux + 233)
2723++#define __NR_lremovexattr (__NR_Linux + 234)
2724++#define __NR_fremovexattr (__NR_Linux + 235)
2725++#define __NR_tkill (__NR_Linux + 236)
2726++#define __NR_sendfile64 (__NR_Linux + 237)
2727++#define __NR_futex (__NR_Linux + 238)
2728++#define __NR_sched_setaffinity (__NR_Linux + 239)
2729++#define __NR_sched_getaffinity (__NR_Linux + 240)
2730++#define __NR_io_setup (__NR_Linux + 241)
2731++#define __NR_io_destroy (__NR_Linux + 242)
2732++#define __NR_io_getevents (__NR_Linux + 243)
2733++#define __NR_io_submit (__NR_Linux + 244)
2734++#define __NR_io_cancel (__NR_Linux + 245)
2735++#define __NR_exit_group (__NR_Linux + 246)
2736++#define __NR_lookup_dcookie (__NR_Linux + 247)
2737++#define __NR_epoll_create (__NR_Linux + 248)
2738++#define __NR_epoll_ctl (__NR_Linux + 249)
2739++#define __NR_epoll_wait (__NR_Linux + 250)
2740++#define __NR_remap_file_pages (__NR_Linux + 251)
2741++#define __NR_set_tid_address (__NR_Linux + 252)
2742++#define __NR_restart_syscall (__NR_Linux + 253)
2743++#define __NR_fadvise64 (__NR_Linux + 254)
2744++#define __NR_statfs64 (__NR_Linux + 255)
2745++#define __NR_fstatfs64 (__NR_Linux + 256)
2746++#define __NR_timer_create (__NR_Linux + 257)
2747++#define __NR_timer_settime (__NR_Linux + 258)
2748++#define __NR_timer_gettime (__NR_Linux + 259)
2749++#define __NR_timer_getoverrun (__NR_Linux + 260)
2750++#define __NR_timer_delete (__NR_Linux + 261)
2751++#define __NR_clock_settime (__NR_Linux + 262)
2752++#define __NR_clock_gettime (__NR_Linux + 263)
2753++#define __NR_clock_getres (__NR_Linux + 264)
2754++#define __NR_clock_nanosleep (__NR_Linux + 265)
2755++#define __NR_tgkill (__NR_Linux + 266)
2756++#define __NR_utimes (__NR_Linux + 267)
2757++#define __NR_mbind (__NR_Linux + 268)
2758++#define __NR_get_mempolicy (__NR_Linux + 269)
2759++#define __NR_set_mempolicy (__NR_Linux + 270)
2760++#define __NR_mq_open (__NR_Linux + 271)
2761++#define __NR_mq_unlink (__NR_Linux + 272)
2762++#define __NR_mq_timedsend (__NR_Linux + 273)
2763++#define __NR_mq_timedreceive (__NR_Linux + 274)
2764++#define __NR_mq_notify (__NR_Linux + 275)
2765++#define __NR_mq_getsetattr (__NR_Linux + 276)
2766++#define __NR_vserver (__NR_Linux + 277)
2767++#define __NR_waitid (__NR_Linux + 278)
2768++#define __NR_add_key (__NR_Linux + 280)
2769++#define __NR_request_key (__NR_Linux + 281)
2770++#define __NR_keyctl (__NR_Linux + 282)
2771++#define __NR_set_thread_area (__NR_Linux + 283)
2772++#define __NR_inotify_init (__NR_Linux + 284)
2773++#define __NR_inotify_add_watch (__NR_Linux + 285)
2774++#define __NR_inotify_rm_watch (__NR_Linux + 286)
2775++#define __NR_migrate_pages (__NR_Linux + 287)
2776++#define __NR_openat (__NR_Linux + 288)
2777++#define __NR_mkdirat (__NR_Linux + 289)
2778++#define __NR_mknodat (__NR_Linux + 290)
2779++#define __NR_fchownat (__NR_Linux + 291)
2780++#define __NR_futimesat (__NR_Linux + 292)
2781++#define __NR_fstatat64 (__NR_Linux + 293)
2782++#define __NR_unlinkat (__NR_Linux + 294)
2783++#define __NR_renameat (__NR_Linux + 295)
2784++#define __NR_linkat (__NR_Linux + 296)
2785++#define __NR_symlinkat (__NR_Linux + 297)
2786++#define __NR_readlinkat (__NR_Linux + 298)
2787++#define __NR_fchmodat (__NR_Linux + 299)
2788++#define __NR_faccessat (__NR_Linux + 300)
2789++#define __NR_pselect6 (__NR_Linux + 301)
2790++#define __NR_ppoll (__NR_Linux + 302)
2791++#define __NR_unshare (__NR_Linux + 303)
2792++#define __NR_splice (__NR_Linux + 304)
2793++#define __NR_sync_file_range (__NR_Linux + 305)
2794++#define __NR_tee (__NR_Linux + 306)
2795++#define __NR_vmsplice (__NR_Linux + 307)
2796++#define __NR_move_pages (__NR_Linux + 308)
2797++#define __NR_set_robust_list (__NR_Linux + 309)
2798++#define __NR_get_robust_list (__NR_Linux + 310)
2799++#define __NR_kexec_load (__NR_Linux + 311)
2800++#define __NR_getcpu (__NR_Linux + 312)
2801++#define __NR_epoll_pwait (__NR_Linux + 313)
2802++#define __NR_ioprio_set (__NR_Linux + 314)
2803++#define __NR_ioprio_get (__NR_Linux + 315)
2804++#define __NR_utimensat (__NR_Linux + 316)
2805++#define __NR_signalfd (__NR_Linux + 317)
2806++#define __NR_timerfd (__NR_Linux + 318)
2807++#define __NR_eventfd (__NR_Linux + 319)
2808++#define __NR_fallocate (__NR_Linux + 320)
2809++#define __NR_timerfd_create (__NR_Linux + 321)
2810++#define __NR_timerfd_gettime (__NR_Linux + 322)
2811++#define __NR_timerfd_settime (__NR_Linux + 323)
2812++#define __NR_signalfd4 (__NR_Linux + 324)
2813++#define __NR_eventfd2 (__NR_Linux + 325)
2814++#define __NR_epoll_create1 (__NR_Linux + 326)
2815++#define __NR_dup3 (__NR_Linux + 327)
2816++#define __NR_pipe2 (__NR_Linux + 328)
2817++#define __NR_inotify_init1 (__NR_Linux + 329)
2818++#define __NR_preadv (__NR_Linux + 330)
2819++#define __NR_pwritev (__NR_Linux + 331)
2820++#define __NR_rt_tgsigqueueinfo (__NR_Linux + 332)
2821++#define __NR_perf_event_open (__NR_Linux + 333)
2822++#define __NR_accept4 (__NR_Linux + 334)
2823++#define __NR_recvmmsg (__NR_Linux + 335)
2824++#define __NR_fanotify_init (__NR_Linux + 336)
2825++#define __NR_fanotify_mark (__NR_Linux + 337)
2826++#define __NR_prlimit64 (__NR_Linux + 338)
2827++#define __NR_name_to_handle_at (__NR_Linux + 339)
2828++#define __NR_open_by_handle_at (__NR_Linux + 340)
2829++#define __NR_clock_adjtime (__NR_Linux + 341)
2830++#define __NR_syncfs (__NR_Linux + 342)
2831++#define __NR_sendmmsg (__NR_Linux + 343)
2832++#define __NR_setns (__NR_Linux + 344)
2833++#define __NR_process_vm_readv (__NR_Linux + 345)
2834++#define __NR_process_vm_writev (__NR_Linux + 346)
2835++#define __NR_kcmp (__NR_Linux + 347)
2836++#define __NR_finit_module (__NR_Linux + 348)
2837++#define __NR_sched_setattr (__NR_Linux + 349)
2838++#define __NR_sched_getattr (__NR_Linux + 350)
2839++#define __NR_renameat2 (__NR_Linux + 351)
2840++#define __NR_seccomp (__NR_Linux + 352)
2841++#define __NR_getrandom (__NR_Linux + 353)
2842++#define __NR_memfd_create (__NR_Linux + 354)
2843++#define __NR_bpf (__NR_Linux + 355)
2844++#define __NR_execveat (__NR_Linux + 356)
2845++#define __NR_userfaultfd (__NR_Linux + 357)
2846++#define __NR_membarrier (__NR_Linux + 358)
2847++#define __NR_mlock2 (__NR_Linux + 359)
2848++#define __NR_copy_file_range (__NR_Linux + 360)
2849++#define __NR_preadv2 (__NR_Linux + 361)
2850++#define __NR_pwritev2 (__NR_Linux + 362)
2851++#define __NR_pkey_mprotect (__NR_Linux + 363)
2852++#define __NR_pkey_alloc (__NR_Linux + 364)
2853++#define __NR_pkey_free (__NR_Linux + 365)
2854++#define __NR_statx (__NR_Linux + 366)
2855++#define __NR_rseq (__NR_Linux + 367)
2856++#define __NR_io_pgetevents (__NR_Linux + 368)
2857++
2858++
2859++#endif /* _ASM_MIPS_UNISTD_O32_H */
2860+diff --git a/linux-headers/asm-powerpc/unistd.h b/linux-headers/asm-powerpc/unistd.h
2861+index ec3533b1d0..2b29bd8096 100644
2862+--- a/linux-headers/asm-powerpc/unistd.h
2863++++ b/linux-headers/asm-powerpc/unistd.h
2864+@@ -10,395 +10,10 @@
2865+ #ifndef _ASM_POWERPC_UNISTD_H_
2866+ #define _ASM_POWERPC_UNISTD_H_
2867+
2868+-
2869+-#define __NR_restart_syscall 0
2870+-#define __NR_exit 1
2871+-#define __NR_fork 2
2872+-#define __NR_read 3
2873+-#define __NR_write 4
2874+-#define __NR_open 5
2875+-#define __NR_close 6
2876+-#define __NR_waitpid 7
2877+-#define __NR_creat 8
2878+-#define __NR_link 9
2879+-#define __NR_unlink 10
2880+-#define __NR_execve 11
2881+-#define __NR_chdir 12
2882+-#define __NR_time 13
2883+-#define __NR_mknod 14
2884+-#define __NR_chmod 15
2885+-#define __NR_lchown 16
2886+-#define __NR_break 17
2887+-#define __NR_oldstat 18
2888+-#define __NR_lseek 19
2889+-#define __NR_getpid 20
2890+-#define __NR_mount 21
2891+-#define __NR_umount 22
2892+-#define __NR_setuid 23
2893+-#define __NR_getuid 24
2894+-#define __NR_stime 25
2895+-#define __NR_ptrace 26
2896+-#define __NR_alarm 27
2897+-#define __NR_oldfstat 28
2898+-#define __NR_pause 29
2899+-#define __NR_utime 30
2900+-#define __NR_stty 31
2901+-#define __NR_gtty 32
2902+-#define __NR_access 33
2903+-#define __NR_nice 34
2904+-#define __NR_ftime 35
2905+-#define __NR_sync 36
2906+-#define __NR_kill 37
2907+-#define __NR_rename 38
2908+-#define __NR_mkdir 39
2909+-#define __NR_rmdir 40
2910+-#define __NR_dup 41
2911+-#define __NR_pipe 42
2912+-#define __NR_times 43
2913+-#define __NR_prof 44
2914+-#define __NR_brk 45
2915+-#define __NR_setgid 46
2916+-#define __NR_getgid 47
2917+-#define __NR_signal 48
2918+-#define __NR_geteuid 49
2919+-#define __NR_getegid 50
2920+-#define __NR_acct 51
2921+-#define __NR_umount2 52
2922+-#define __NR_lock 53
2923+-#define __NR_ioctl 54
2924+-#define __NR_fcntl 55
2925+-#define __NR_mpx 56
2926+-#define __NR_setpgid 57
2927+-#define __NR_ulimit 58
2928+-#define __NR_oldolduname 59
2929+-#define __NR_umask 60
2930+-#define __NR_chroot 61
2931+-#define __NR_ustat 62
2932+-#define __NR_dup2 63
2933+-#define __NR_getppid 64
2934+-#define __NR_getpgrp 65
2935+-#define __NR_setsid 66
2936+-#define __NR_sigaction 67
2937+-#define __NR_sgetmask 68
2938+-#define __NR_ssetmask 69
2939+-#define __NR_setreuid 70
2940+-#define __NR_setregid 71
2941+-#define __NR_sigsuspend 72
2942+-#define __NR_sigpending 73
2943+-#define __NR_sethostname 74
2944+-#define __NR_setrlimit 75
2945+-#define __NR_getrlimit 76
2946+-#define __NR_getrusage 77
2947+-#define __NR_gettimeofday 78
2948+-#define __NR_settimeofday 79
2949+-#define __NR_getgroups 80
2950+-#define __NR_setgroups 81
2951+-#define __NR_select 82
2952+-#define __NR_symlink 83
2953+-#define __NR_oldlstat 84
2954+-#define __NR_readlink 85
2955+-#define __NR_uselib 86
2956+-#define __NR_swapon 87
2957+-#define __NR_reboot 88
2958+-#define __NR_readdir 89
2959+-#define __NR_mmap 90
2960+-#define __NR_munmap 91
2961+-#define __NR_truncate 92
2962+-#define __NR_ftruncate 93
2963+-#define __NR_fchmod 94
2964+-#define __NR_fchown 95
2965+-#define __NR_getpriority 96
2966+-#define __NR_setpriority 97
2967+-#define __NR_profil 98
2968+-#define __NR_statfs 99
2969+-#define __NR_fstatfs 100
2970+-#define __NR_ioperm 101
2971+-#define __NR_socketcall 102
2972+-#define __NR_syslog 103
2973+-#define __NR_setitimer 104
2974+-#define __NR_getitimer 105
2975+-#define __NR_stat 106
2976+-#define __NR_lstat 107
2977+-#define __NR_fstat 108
2978+-#define __NR_olduname 109
2979+-#define __NR_iopl 110
2980+-#define __NR_vhangup 111
2981+-#define __NR_idle 112
2982+-#define __NR_vm86 113
2983+-#define __NR_wait4 114
2984+-#define __NR_swapoff 115
2985+-#define __NR_sysinfo 116
2986+-#define __NR_ipc 117
2987+-#define __NR_fsync 118
2988+-#define __NR_sigreturn 119
2989+-#define __NR_clone 120
2990+-#define __NR_setdomainname 121
2991+-#define __NR_uname 122
2992+-#define __NR_modify_ldt 123
2993+-#define __NR_adjtimex 124
2994+-#define __NR_mprotect 125
2995+-#define __NR_sigprocmask 126
2996+-#define __NR_create_module 127
2997+-#define __NR_init_module 128
2998+-#define __NR_delete_module 129
2999+-#define __NR_get_kernel_syms 130
3000+-#define __NR_quotactl 131
3001+-#define __NR_getpgid 132
3002+-#define __NR_fchdir 133
3003+-#define __NR_bdflush 134
3004+-#define __NR_sysfs 135
3005+-#define __NR_personality 136
3006+-#define __NR_afs_syscall 137 /* Syscall for Andrew File System */
3007+-#define __NR_setfsuid 138
3008+-#define __NR_setfsgid 139
3009+-#define __NR__llseek 140
3010+-#define __NR_getdents 141
3011+-#define __NR__newselect 142
3012+-#define __NR_flock 143
3013+-#define __NR_msync 144
3014+-#define __NR_readv 145
3015+-#define __NR_writev 146
3016+-#define __NR_getsid 147
3017+-#define __NR_fdatasync 148
3018+-#define __NR__sysctl 149
3019+-#define __NR_mlock 150
3020+-#define __NR_munlock 151
3021+-#define __NR_mlockall 152
3022+-#define __NR_munlockall 153
3023+-#define __NR_sched_setparam 154
3024+-#define __NR_sched_getparam 155
3025+-#define __NR_sched_setscheduler 156
3026+-#define __NR_sched_getscheduler 157
3027+-#define __NR_sched_yield 158
3028+-#define __NR_sched_get_priority_max 159
3029+-#define __NR_sched_get_priority_min 160
3030+-#define __NR_sched_rr_get_interval 161
3031+-#define __NR_nanosleep 162
3032+-#define __NR_mremap 163
3033+-#define __NR_setresuid 164
3034+-#define __NR_getresuid 165
3035+-#define __NR_query_module 166
3036+-#define __NR_poll 167
3037+-#define __NR_nfsservctl 168
3038+-#define __NR_setresgid 169
3039+-#define __NR_getresgid 170
3040+-#define __NR_prctl 171
3041+-#define __NR_rt_sigreturn 172
3042+-#define __NR_rt_sigaction 173
3043+-#define __NR_rt_sigprocmask 174
3044+-#define __NR_rt_sigpending 175
3045+-#define __NR_rt_sigtimedwait 176
3046+-#define __NR_rt_sigqueueinfo 177
3047+-#define __NR_rt_sigsuspend 178
3048+-#define __NR_pread64 179
3049+-#define __NR_pwrite64 180
3050+-#define __NR_chown 181
3051+-#define __NR_getcwd 182
3052+-#define __NR_capget 183
3053+-#define __NR_capset 184
3054+-#define __NR_sigaltstack 185
3055+-#define __NR_sendfile 186
3056+-#define __NR_getpmsg 187 /* some people actually want streams */
3057+-#define __NR_putpmsg 188 /* some people actually want streams */
3058+-#define __NR_vfork 189
3059+-#define __NR_ugetrlimit 190 /* SuS compliant getrlimit */
3060+-#define __NR_readahead 191
3061+-#ifndef __powerpc64__ /* these are 32-bit only */
3062+-#define __NR_mmap2 192
3063+-#define __NR_truncate64 193
3064+-#define __NR_ftruncate64 194
3065+-#define __NR_stat64 195
3066+-#define __NR_lstat64 196
3067+-#define __NR_fstat64 197
3068+-#endif
3069+-#define __NR_pciconfig_read 198
3070+-#define __NR_pciconfig_write 199
3071+-#define __NR_pciconfig_iobase 200
3072+-#define __NR_multiplexer 201
3073+-#define __NR_getdents64 202
3074+-#define __NR_pivot_root 203
3075+-#ifndef __powerpc64__
3076+-#define __NR_fcntl64 204
3077+-#endif
3078+-#define __NR_madvise 205
3079+-#define __NR_mincore 206
3080+-#define __NR_gettid 207
3081+-#define __NR_tkill 208
3082+-#define __NR_setxattr 209
3083+-#define __NR_lsetxattr 210
3084+-#define __NR_fsetxattr 211
3085+-#define __NR_getxattr 212
3086+-#define __NR_lgetxattr 213
3087+-#define __NR_fgetxattr 214
3088+-#define __NR_listxattr 215
3089+-#define __NR_llistxattr 216
3090+-#define __NR_flistxattr 217
3091+-#define __NR_removexattr 218
3092+-#define __NR_lremovexattr 219
3093+-#define __NR_fremovexattr 220
3094+-#define __NR_futex 221
3095+-#define __NR_sched_setaffinity 222
3096+-#define __NR_sched_getaffinity 223
3097+-/* 224 currently unused */
3098+-#define __NR_tuxcall 225
3099+ #ifndef __powerpc64__
3100+-#define __NR_sendfile64 226
3101+-#endif
3102+-#define __NR_io_setup 227
3103+-#define __NR_io_destroy 228
3104+-#define __NR_io_getevents 229
3105+-#define __NR_io_submit 230
3106+-#define __NR_io_cancel 231
3107+-#define __NR_set_tid_address 232
3108+-#define __NR_fadvise64 233
3109+-#define __NR_exit_group 234
3110+-#define __NR_lookup_dcookie 235
3111+-#define __NR_epoll_create 236
3112+-#define __NR_epoll_ctl 237
3113+-#define __NR_epoll_wait 238
3114+-#define __NR_remap_file_pages 239
3115+-#define __NR_timer_create 240
3116+-#define __NR_timer_settime 241
3117+-#define __NR_timer_gettime 242
3118+-#define __NR_timer_getoverrun 243
3119+-#define __NR_timer_delete 244
3120+-#define __NR_clock_settime 245
3121+-#define __NR_clock_gettime 246
3122+-#define __NR_clock_getres 247
3123+-#define __NR_clock_nanosleep 248
3124+-#define __NR_swapcontext 249
3125+-#define __NR_tgkill 250
3126+-#define __NR_utimes 251
3127+-#define __NR_statfs64 252
3128+-#define __NR_fstatfs64 253
3129+-#ifndef __powerpc64__
3130+-#define __NR_fadvise64_64 254
3131+-#endif
3132+-#define __NR_rtas 255
3133+-#define __NR_sys_debug_setcontext 256
3134+-/* Number 257 is reserved for vserver */
3135+-#define __NR_migrate_pages 258
3136+-#define __NR_mbind 259
3137+-#define __NR_get_mempolicy 260
3138+-#define __NR_set_mempolicy 261
3139+-#define __NR_mq_open 262
3140+-#define __NR_mq_unlink 263
3141+-#define __NR_mq_timedsend 264
3142+-#define __NR_mq_timedreceive 265
3143+-#define __NR_mq_notify 266
3144+-#define __NR_mq_getsetattr 267
3145+-#define __NR_kexec_load 268
3146+-#define __NR_add_key 269
3147+-#define __NR_request_key 270
3148+-#define __NR_keyctl 271
3149+-#define __NR_waitid 272
3150+-#define __NR_ioprio_set 273
3151+-#define __NR_ioprio_get 274
3152+-#define __NR_inotify_init 275
3153+-#define __NR_inotify_add_watch 276
3154+-#define __NR_inotify_rm_watch 277
3155+-#define __NR_spu_run 278
3156+-#define __NR_spu_create 279
3157+-#define __NR_pselect6 280
3158+-#define __NR_ppoll 281
3159+-#define __NR_unshare 282
3160+-#define __NR_splice 283
3161+-#define __NR_tee 284
3162+-#define __NR_vmsplice 285
3163+-#define __NR_openat 286
3164+-#define __NR_mkdirat 287
3165+-#define __NR_mknodat 288
3166+-#define __NR_fchownat 289
3167+-#define __NR_futimesat 290
3168+-#ifdef __powerpc64__
3169+-#define __NR_newfstatat 291
3170++#include <asm/unistd_32.h>
3171+ #else
3172+-#define __NR_fstatat64 291
3173++#include <asm/unistd_64.h>
3174+ #endif
3175+-#define __NR_unlinkat 292
3176+-#define __NR_renameat 293
3177+-#define __NR_linkat 294
3178+-#define __NR_symlinkat 295
3179+-#define __NR_readlinkat 296
3180+-#define __NR_fchmodat 297
3181+-#define __NR_faccessat 298
3182+-#define __NR_get_robust_list 299
3183+-#define __NR_set_robust_list 300
3184+-#define __NR_move_pages 301
3185+-#define __NR_getcpu 302
3186+-#define __NR_epoll_pwait 303
3187+-#define __NR_utimensat 304
3188+-#define __NR_signalfd 305
3189+-#define __NR_timerfd_create 306
3190+-#define __NR_eventfd 307
3191+-#define __NR_sync_file_range2 308
3192+-#define __NR_fallocate 309
3193+-#define __NR_subpage_prot 310
3194+-#define __NR_timerfd_settime 311
3195+-#define __NR_timerfd_gettime 312
3196+-#define __NR_signalfd4 313
3197+-#define __NR_eventfd2 314
3198+-#define __NR_epoll_create1 315
3199+-#define __NR_dup3 316
3200+-#define __NR_pipe2 317
3201+-#define __NR_inotify_init1 318
3202+-#define __NR_perf_event_open 319
3203+-#define __NR_preadv 320
3204+-#define __NR_pwritev 321
3205+-#define __NR_rt_tgsigqueueinfo 322
3206+-#define __NR_fanotify_init 323
3207+-#define __NR_fanotify_mark 324
3208+-#define __NR_prlimit64 325
3209+-#define __NR_socket 326
3210+-#define __NR_bind 327
3211+-#define __NR_connect 328
3212+-#define __NR_listen 329
3213+-#define __NR_accept 330
3214+-#define __NR_getsockname 331
3215+-#define __NR_getpeername 332
3216+-#define __NR_socketpair 333
3217+-#define __NR_send 334
3218+-#define __NR_sendto 335
3219+-#define __NR_recv 336
3220+-#define __NR_recvfrom 337
3221+-#define __NR_shutdown 338
3222+-#define __NR_setsockopt 339
3223+-#define __NR_getsockopt 340
3224+-#define __NR_sendmsg 341
3225+-#define __NR_recvmsg 342
3226+-#define __NR_recvmmsg 343
3227+-#define __NR_accept4 344
3228+-#define __NR_name_to_handle_at 345
3229+-#define __NR_open_by_handle_at 346
3230+-#define __NR_clock_adjtime 347
3231+-#define __NR_syncfs 348
3232+-#define __NR_sendmmsg 349
3233+-#define __NR_setns 350
3234+-#define __NR_process_vm_readv 351
3235+-#define __NR_process_vm_writev 352
3236+-#define __NR_finit_module 353
3237+-#define __NR_kcmp 354
3238+-#define __NR_sched_setattr 355
3239+-#define __NR_sched_getattr 356
3240+-#define __NR_renameat2 357
3241+-#define __NR_seccomp 358
3242+-#define __NR_getrandom 359
3243+-#define __NR_memfd_create 360
3244+-#define __NR_bpf 361
3245+-#define __NR_execveat 362
3246+-#define __NR_switch_endian 363
3247+-#define __NR_userfaultfd 364
3248+-#define __NR_membarrier 365
3249+-#define __NR_mlock2 378
3250+-#define __NR_copy_file_range 379
3251+-#define __NR_preadv2 380
3252+-#define __NR_pwritev2 381
3253+-#define __NR_kexec_file_load 382
3254+-#define __NR_statx 383
3255+-#define __NR_pkey_alloc 384
3256+-#define __NR_pkey_free 385
3257+-#define __NR_pkey_mprotect 386
3258+-#define __NR_rseq 387
3259+-#define __NR_io_pgetevents 388
3260+
3261+ #endif /* _ASM_POWERPC_UNISTD_H_ */
3262+diff --git a/linux-headers/asm-powerpc/unistd_32.h b/linux-headers/asm-powerpc/unistd_32.h
3263+new file mode 100644
3264+index 0000000000..b8403d700d
3265+--- /dev/null
3266++++ b/linux-headers/asm-powerpc/unistd_32.h
3267+@@ -0,0 +1,381 @@
3268++#ifndef _ASM_POWERPC_UNISTD_32_H
3269++#define _ASM_POWERPC_UNISTD_32_H
3270++
3271++#define __NR_restart_syscall 0
3272++#define __NR_exit 1
3273++#define __NR_fork 2
3274++#define __NR_read 3
3275++#define __NR_write 4
3276++#define __NR_open 5
3277++#define __NR_close 6
3278++#define __NR_waitpid 7
3279++#define __NR_creat 8
3280++#define __NR_link 9
3281++#define __NR_unlink 10
3282++#define __NR_execve 11
3283++#define __NR_chdir 12
3284++#define __NR_time 13
3285++#define __NR_mknod 14
3286++#define __NR_chmod 15
3287++#define __NR_lchown 16
3288++#define __NR_break 17
3289++#define __NR_oldstat 18
3290++#define __NR_lseek 19
3291++#define __NR_getpid 20
3292++#define __NR_mount 21
3293++#define __NR_umount 22
3294++#define __NR_setuid 23
3295++#define __NR_getuid 24
3296++#define __NR_stime 25
3297++#define __NR_ptrace 26
3298++#define __NR_alarm 27
3299++#define __NR_oldfstat 28
3300++#define __NR_pause 29
3301++#define __NR_utime 30
3302++#define __NR_stty 31
3303++#define __NR_gtty 32
3304++#define __NR_access 33
3305++#define __NR_nice 34
3306++#define __NR_ftime 35
3307++#define __NR_sync 36
3308++#define __NR_kill 37
3309++#define __NR_rename 38
3310++#define __NR_mkdir 39
3311++#define __NR_rmdir 40
3312++#define __NR_dup 41
3313++#define __NR_pipe 42
3314++#define __NR_times 43
3315++#define __NR_prof 44
3316++#define __NR_brk 45
3317++#define __NR_setgid 46
3318++#define __NR_getgid 47
3319++#define __NR_signal 48
3320++#define __NR_geteuid 49
3321++#define __NR_getegid 50
3322++#define __NR_acct 51
3323++#define __NR_umount2 52
3324++#define __NR_lock 53
3325++#define __NR_ioctl 54
3326++#define __NR_fcntl 55
3327++#define __NR_mpx 56
3328++#define __NR_setpgid 57
3329++#define __NR_ulimit 58
3330++#define __NR_oldolduname 59
3331++#define __NR_umask 60
3332++#define __NR_chroot 61
3333++#define __NR_ustat 62
3334++#define __NR_dup2 63
3335++#define __NR_getppid 64
3336++#define __NR_getpgrp 65
3337++#define __NR_setsid 66
3338++#define __NR_sigaction 67
3339++#define __NR_sgetmask 68
3340++#define __NR_ssetmask 69
3341++#define __NR_setreuid 70
3342++#define __NR_setregid 71
3343++#define __NR_sigsuspend 72
3344++#define __NR_sigpending 73
3345++#define __NR_sethostname 74
3346++#define __NR_setrlimit 75
3347++#define __NR_getrlimit 76
3348++#define __NR_getrusage 77
3349++#define __NR_gettimeofday 78
3350++#define __NR_settimeofday 79
3351++#define __NR_getgroups 80
3352++#define __NR_setgroups 81
3353++#define __NR_select 82
3354++#define __NR_symlink 83
3355++#define __NR_oldlstat 84
3356++#define __NR_readlink 85
3357++#define __NR_uselib 86
3358++#define __NR_swapon 87
3359++#define __NR_reboot 88
3360++#define __NR_readdir 89
3361++#define __NR_mmap 90
3362++#define __NR_munmap 91
3363++#define __NR_truncate 92
3364++#define __NR_ftruncate 93
3365++#define __NR_fchmod 94
3366++#define __NR_fchown 95
3367++#define __NR_getpriority 96
3368++#define __NR_setpriority 97
3369++#define __NR_profil 98
3370++#define __NR_statfs 99
3371++#define __NR_fstatfs 100
3372++#define __NR_ioperm 101
3373++#define __NR_socketcall 102
3374++#define __NR_syslog 103
3375++#define __NR_setitimer 104
3376++#define __NR_getitimer 105
3377++#define __NR_stat 106
3378++#define __NR_lstat 107
3379++#define __NR_fstat 108
3380++#define __NR_olduname 109
3381++#define __NR_iopl 110
3382++#define __NR_vhangup 111
3383++#define __NR_idle 112
3384++#define __NR_vm86 113
3385++#define __NR_wait4 114
3386++#define __NR_swapoff 115
3387++#define __NR_sysinfo 116
3388++#define __NR_ipc 117
3389++#define __NR_fsync 118
3390++#define __NR_sigreturn 119
3391++#define __NR_clone 120
3392++#define __NR_setdomainname 121
3393++#define __NR_uname 122
3394++#define __NR_modify_ldt 123
3395++#define __NR_adjtimex 124
3396++#define __NR_mprotect 125
3397++#define __NR_sigprocmask 126
3398++#define __NR_create_module 127
3399++#define __NR_init_module 128
3400++#define __NR_delete_module 129
3401++#define __NR_get_kernel_syms 130
3402++#define __NR_quotactl 131
3403++#define __NR_getpgid 132
3404++#define __NR_fchdir 133
3405++#define __NR_bdflush 134
3406++#define __NR_sysfs 135
3407++#define __NR_personality 136
3408++#define __NR_afs_syscall 137
3409++#define __NR_setfsuid 138
3410++#define __NR_setfsgid 139
3411++#define __NR__llseek 140
3412++#define __NR_getdents 141
3413++#define __NR__newselect 142
3414++#define __NR_flock 143
3415++#define __NR_msync 144
3416++#define __NR_readv 145
3417++#define __NR_writev 146
3418++#define __NR_getsid 147
3419++#define __NR_fdatasync 148
3420++#define __NR__sysctl 149
3421++#define __NR_mlock 150
3422++#define __NR_munlock 151
3423++#define __NR_mlockall 152
3424++#define __NR_munlockall 153
3425++#define __NR_sched_setparam 154
3426++#define __NR_sched_getparam 155
3427++#define __NR_sched_setscheduler 156
3428++#define __NR_sched_getscheduler 157
3429++#define __NR_sched_yield 158
3430++#define __NR_sched_get_priority_max 159
3431++#define __NR_sched_get_priority_min 160
3432++#define __NR_sched_rr_get_interval 161
3433++#define __NR_nanosleep 162
3434++#define __NR_mremap 163
3435++#define __NR_setresuid 164
3436++#define __NR_getresuid 165
3437++#define __NR_query_module 166
3438++#define __NR_poll 167
3439++#define __NR_nfsservctl 168
3440++#define __NR_setresgid 169
3441++#define __NR_getresgid 170
3442++#define __NR_prctl 171
3443++#define __NR_rt_sigreturn 172
3444++#define __NR_rt_sigaction 173
3445++#define __NR_rt_sigprocmask 174
3446++#define __NR_rt_sigpending 175
3447++#define __NR_rt_sigtimedwait 176
3448++#define __NR_rt_sigqueueinfo 177
3449++#define __NR_rt_sigsuspend 178
3450++#define __NR_pread64 179
3451++#define __NR_pwrite64 180
3452++#define __NR_chown 181
3453++#define __NR_getcwd 182
3454++#define __NR_capget 183
3455++#define __NR_capset 184
3456++#define __NR_sigaltstack 185
3457++#define __NR_sendfile 186
3458++#define __NR_getpmsg 187
3459++#define __NR_putpmsg 188
3460++#define __NR_vfork 189
3461++#define __NR_ugetrlimit 190
3462++#define __NR_readahead 191
3463++#define __NR_mmap2 192
3464++#define __NR_truncate64 193
3465++#define __NR_ftruncate64 194
3466++#define __NR_stat64 195
3467++#define __NR_lstat64 196
3468++#define __NR_fstat64 197
3469++#define __NR_pciconfig_read 198
3470++#define __NR_pciconfig_write 199
3471++#define __NR_pciconfig_iobase 200
3472++#define __NR_multiplexer 201
3473++#define __NR_getdents64 202
3474++#define __NR_pivot_root 203
3475++#define __NR_fcntl64 204
3476++#define __NR_madvise 205
3477++#define __NR_mincore 206
3478++#define __NR_gettid 207
3479++#define __NR_tkill 208
3480++#define __NR_setxattr 209
3481++#define __NR_lsetxattr 210
3482++#define __NR_fsetxattr 211
3483++#define __NR_getxattr 212
3484++#define __NR_lgetxattr 213
3485++#define __NR_fgetxattr 214
3486++#define __NR_listxattr 215
3487++#define __NR_llistxattr 216
3488++#define __NR_flistxattr 217
3489++#define __NR_removexattr 218
3490++#define __NR_lremovexattr 219
3491++#define __NR_fremovexattr 220
3492++#define __NR_futex 221
3493++#define __NR_sched_setaffinity 222
3494++#define __NR_sched_getaffinity 223
3495++#define __NR_tuxcall 225
3496++#define __NR_sendfile64 226
3497++#define __NR_io_setup 227
3498++#define __NR_io_destroy 228
3499++#define __NR_io_getevents 229
3500++#define __NR_io_submit 230
3501++#define __NR_io_cancel 231
3502++#define __NR_set_tid_address 232
3503++#define __NR_fadvise64 233
3504++#define __NR_exit_group 234
3505++#define __NR_lookup_dcookie 235
3506++#define __NR_epoll_create 236
3507++#define __NR_epoll_ctl 237
3508++#define __NR_epoll_wait 238
3509++#define __NR_remap_file_pages 239
3510++#define __NR_timer_create 240
3511++#define __NR_timer_settime 241
3512++#define __NR_timer_gettime 242
3513++#define __NR_timer_getoverrun 243
3514++#define __NR_timer_delete 244
3515++#define __NR_clock_settime 245
3516++#define __NR_clock_gettime 246
3517++#define __NR_clock_getres 247
3518++#define __NR_clock_nanosleep 248
3519++#define __NR_swapcontext 249
3520++#define __NR_tgkill 250
3521++#define __NR_utimes 251
3522++#define __NR_statfs64 252
3523++#define __NR_fstatfs64 253
3524++#define __NR_fadvise64_64 254
3525++#define __NR_rtas 255
3526++#define __NR_sys_debug_setcontext 256
3527++#define __NR_migrate_pages 258
3528++#define __NR_mbind 259
3529++#define __NR_get_mempolicy 260
3530++#define __NR_set_mempolicy 261
3531++#define __NR_mq_open 262
3532++#define __NR_mq_unlink 263
3533++#define __NR_mq_timedsend 264
3534++#define __NR_mq_timedreceive 265
3535++#define __NR_mq_notify 266
3536++#define __NR_mq_getsetattr 267
3537++#define __NR_kexec_load 268
3538++#define __NR_add_key 269
3539++#define __NR_request_key 270
3540++#define __NR_keyctl 271
3541++#define __NR_waitid 272
3542++#define __NR_ioprio_set 273
3543++#define __NR_ioprio_get 274
3544++#define __NR_inotify_init 275
3545++#define __NR_inotify_add_watch 276
3546++#define __NR_inotify_rm_watch 277
3547++#define __NR_spu_run 278
3548++#define __NR_spu_create 279
3549++#define __NR_pselect6 280
3550++#define __NR_ppoll 281
3551++#define __NR_unshare 282
3552++#define __NR_splice 283
3553++#define __NR_tee 284
3554++#define __NR_vmsplice 285
3555++#define __NR_openat 286
3556++#define __NR_mkdirat 287
3557++#define __NR_mknodat 288
3558++#define __NR_fchownat 289
3559++#define __NR_futimesat 290
3560++#define __NR_fstatat64 291
3561++#define __NR_unlinkat 292
3562++#define __NR_renameat 293
3563++#define __NR_linkat 294
3564++#define __NR_symlinkat 295
3565++#define __NR_readlinkat 296
3566++#define __NR_fchmodat 297
3567++#define __NR_faccessat 298
3568++#define __NR_get_robust_list 299
3569++#define __NR_set_robust_list 300
3570++#define __NR_move_pages 301
3571++#define __NR_getcpu 302
3572++#define __NR_epoll_pwait 303
3573++#define __NR_utimensat 304
3574++#define __NR_signalfd 305
3575++#define __NR_timerfd_create 306
3576++#define __NR_eventfd 307
3577++#define __NR_sync_file_range2 308
3578++#define __NR_fallocate 309
3579++#define __NR_subpage_prot 310
3580++#define __NR_timerfd_settime 311
3581++#define __NR_timerfd_gettime 312
3582++#define __NR_signalfd4 313
3583++#define __NR_eventfd2 314
3584++#define __NR_epoll_create1 315
3585++#define __NR_dup3 316
3586++#define __NR_pipe2 317
3587++#define __NR_inotify_init1 318
3588++#define __NR_perf_event_open 319
3589++#define __NR_preadv 320
3590++#define __NR_pwritev 321
3591++#define __NR_rt_tgsigqueueinfo 322
3592++#define __NR_fanotify_init 323
3593++#define __NR_fanotify_mark 324
3594++#define __NR_prlimit64 325
3595++#define __NR_socket 326
3596++#define __NR_bind 327
3597++#define __NR_connect 328
3598++#define __NR_listen 329
3599++#define __NR_accept 330
3600++#define __NR_getsockname 331
3601++#define __NR_getpeername 332
3602++#define __NR_socketpair 333
3603++#define __NR_send 334
3604++#define __NR_sendto 335
3605++#define __NR_recv 336
3606++#define __NR_recvfrom 337
3607++#define __NR_shutdown 338
3608++#define __NR_setsockopt 339
3609++#define __NR_getsockopt 340
3610++#define __NR_sendmsg 341
3611++#define __NR_recvmsg 342
3612++#define __NR_recvmmsg 343
3613++#define __NR_accept4 344
3614++#define __NR_name_to_handle_at 345
3615++#define __NR_open_by_handle_at 346
3616++#define __NR_clock_adjtime 347
3617++#define __NR_syncfs 348
3618++#define __NR_sendmmsg 349
3619++#define __NR_setns 350
3620++#define __NR_process_vm_readv 351
3621++#define __NR_process_vm_writev 352
3622++#define __NR_finit_module 353
3623++#define __NR_kcmp 354
3624++#define __NR_sched_setattr 355
3625++#define __NR_sched_getattr 356
3626++#define __NR_renameat2 357
3627++#define __NR_seccomp 358
3628++#define __NR_getrandom 359
3629++#define __NR_memfd_create 360
3630++#define __NR_bpf 361
3631++#define __NR_execveat 362
3632++#define __NR_switch_endian 363
3633++#define __NR_userfaultfd 364
3634++#define __NR_membarrier 365
3635++#define __NR_mlock2 378
3636++#define __NR_copy_file_range 379
3637++#define __NR_preadv2 380
3638++#define __NR_pwritev2 381
3639++#define __NR_kexec_file_load 382
3640++#define __NR_statx 383
3641++#define __NR_pkey_alloc 384
3642++#define __NR_pkey_free 385
3643++#define __NR_pkey_mprotect 386
3644++#define __NR_rseq 387
3645++#define __NR_io_pgetevents 388
3646++
3647++
3648++#endif /* _ASM_POWERPC_UNISTD_32_H */
3649+diff --git a/linux-headers/asm-powerpc/unistd_64.h b/linux-headers/asm-powerpc/unistd_64.h
3650+new file mode 100644
3651+index 0000000000..f6a25fbbdd
3652+--- /dev/null
3653++++ b/linux-headers/asm-powerpc/unistd_64.h
3654+@@ -0,0 +1,372 @@
3655++#ifndef _ASM_POWERPC_UNISTD_64_H
3656++#define _ASM_POWERPC_UNISTD_64_H
3657++
3658++#define __NR_restart_syscall 0
3659++#define __NR_exit 1
3660++#define __NR_fork 2
3661++#define __NR_read 3
3662++#define __NR_write 4
3663++#define __NR_open 5
3664++#define __NR_close 6
3665++#define __NR_waitpid 7
3666++#define __NR_creat 8
3667++#define __NR_link 9
3668++#define __NR_unlink 10
3669++#define __NR_execve 11
3670++#define __NR_chdir 12
3671++#define __NR_time 13
3672++#define __NR_mknod 14
3673++#define __NR_chmod 15
3674++#define __NR_lchown 16
3675++#define __NR_break 17
3676++#define __NR_oldstat 18
3677++#define __NR_lseek 19
3678++#define __NR_getpid 20
3679++#define __NR_mount 21
3680++#define __NR_umount 22
3681++#define __NR_setuid 23
3682++#define __NR_getuid 24
3683++#define __NR_stime 25
3684++#define __NR_ptrace 26
3685++#define __NR_alarm 27
3686++#define __NR_oldfstat 28
3687++#define __NR_pause 29
3688++#define __NR_utime 30
3689++#define __NR_stty 31
3690++#define __NR_gtty 32
3691++#define __NR_access 33
3692++#define __NR_nice 34
3693++#define __NR_ftime 35
3694++#define __NR_sync 36
3695++#define __NR_kill 37
3696++#define __NR_rename 38
3697++#define __NR_mkdir 39
3698++#define __NR_rmdir 40
3699++#define __NR_dup 41
3700++#define __NR_pipe 42
3701++#define __NR_times 43
3702++#define __NR_prof 44
3703++#define __NR_brk 45
3704++#define __NR_setgid 46
3705++#define __NR_getgid 47
3706++#define __NR_signal 48
3707++#define __NR_geteuid 49
3708++#define __NR_getegid 50
3709++#define __NR_acct 51
3710++#define __NR_umount2 52
3711++#define __NR_lock 53
3712++#define __NR_ioctl 54
3713++#define __NR_fcntl 55
3714++#define __NR_mpx 56
3715++#define __NR_setpgid 57
3716++#define __NR_ulimit 58
3717++#define __NR_oldolduname 59
3718++#define __NR_umask 60
3719++#define __NR_chroot 61
3720++#define __NR_ustat 62
3721++#define __NR_dup2 63
3722++#define __NR_getppid 64
3723++#define __NR_getpgrp 65
3724++#define __NR_setsid 66
3725++#define __NR_sigaction 67
3726++#define __NR_sgetmask 68
3727++#define __NR_ssetmask 69
3728++#define __NR_setreuid 70
3729++#define __NR_setregid 71
3730++#define __NR_sigsuspend 72
3731++#define __NR_sigpending 73
3732++#define __NR_sethostname 74
3733++#define __NR_setrlimit 75
3734++#define __NR_getrlimit 76
3735++#define __NR_getrusage 77
3736++#define __NR_gettimeofday 78
3737++#define __NR_settimeofday 79
3738++#define __NR_getgroups 80
3739++#define __NR_setgroups 81
3740++#define __NR_select 82
3741++#define __NR_symlink 83
3742++#define __NR_oldlstat 84
3743++#define __NR_readlink 85
3744++#define __NR_uselib 86
3745++#define __NR_swapon 87
3746++#define __NR_reboot 88
3747++#define __NR_readdir 89
3748++#define __NR_mmap 90
3749++#define __NR_munmap 91
3750++#define __NR_truncate 92
3751++#define __NR_ftruncate 93
3752++#define __NR_fchmod 94
3753++#define __NR_fchown 95
3754++#define __NR_getpriority 96
3755++#define __NR_setpriority 97
3756++#define __NR_profil 98
3757++#define __NR_statfs 99
3758++#define __NR_fstatfs 100
3759++#define __NR_ioperm 101
3760++#define __NR_socketcall 102
3761++#define __NR_syslog 103
3762++#define __NR_setitimer 104
3763++#define __NR_getitimer 105
3764++#define __NR_stat 106
3765++#define __NR_lstat 107
3766++#define __NR_fstat 108
3767++#define __NR_olduname 109
3768++#define __NR_iopl 110
3769++#define __NR_vhangup 111
3770++#define __NR_idle 112
3771++#define __NR_vm86 113
3772++#define __NR_wait4 114
3773++#define __NR_swapoff 115
3774++#define __NR_sysinfo 116
3775++#define __NR_ipc 117
3776++#define __NR_fsync 118
3777++#define __NR_sigreturn 119
3778++#define __NR_clone 120
3779++#define __NR_setdomainname 121
3780++#define __NR_uname 122
3781++#define __NR_modify_ldt 123
3782++#define __NR_adjtimex 124
3783++#define __NR_mprotect 125
3784++#define __NR_sigprocmask 126
3785++#define __NR_create_module 127
3786++#define __NR_init_module 128
3787++#define __NR_delete_module 129
3788++#define __NR_get_kernel_syms 130
3789++#define __NR_quotactl 131
3790++#define __NR_getpgid 132
3791++#define __NR_fchdir 133
3792++#define __NR_bdflush 134
3793++#define __NR_sysfs 135
3794++#define __NR_personality 136
3795++#define __NR_afs_syscall 137
3796++#define __NR_setfsuid 138
3797++#define __NR_setfsgid 139
3798++#define __NR__llseek 140
3799++#define __NR_getdents 141
3800++#define __NR__newselect 142
3801++#define __NR_flock 143
3802++#define __NR_msync 144
3803++#define __NR_readv 145
3804++#define __NR_writev 146
3805++#define __NR_getsid 147
3806++#define __NR_fdatasync 148
3807++#define __NR__sysctl 149
3808++#define __NR_mlock 150
3809++#define __NR_munlock 151
3810++#define __NR_mlockall 152
3811++#define __NR_munlockall 153
3812++#define __NR_sched_setparam 154
3813++#define __NR_sched_getparam 155
3814++#define __NR_sched_setscheduler 156
3815++#define __NR_sched_getscheduler 157
3816++#define __NR_sched_yield 158
3817++#define __NR_sched_get_priority_max 159
3818++#define __NR_sched_get_priority_min 160
3819++#define __NR_sched_rr_get_interval 161
3820++#define __NR_nanosleep 162
3821++#define __NR_mremap 163
3822++#define __NR_setresuid 164
3823++#define __NR_getresuid 165
3824++#define __NR_query_module 166
3825++#define __NR_poll 167
3826++#define __NR_nfsservctl 168
3827++#define __NR_setresgid 169
3828++#define __NR_getresgid 170
3829++#define __NR_prctl 171
3830++#define __NR_rt_sigreturn 172
3831++#define __NR_rt_sigaction 173
3832++#define __NR_rt_sigprocmask 174
3833++#define __NR_rt_sigpending 175
3834++#define __NR_rt_sigtimedwait 176
3835++#define __NR_rt_sigqueueinfo 177
3836++#define __NR_rt_sigsuspend 178
3837++#define __NR_pread64 179
3838++#define __NR_pwrite64 180
3839++#define __NR_chown 181
3840++#define __NR_getcwd 182
3841++#define __NR_capget 183
3842++#define __NR_capset 184
3843++#define __NR_sigaltstack 185
3844++#define __NR_sendfile 186
3845++#define __NR_getpmsg 187
3846++#define __NR_putpmsg 188
3847++#define __NR_vfork 189
3848++#define __NR_ugetrlimit 190
3849++#define __NR_readahead 191
3850++#define __NR_pciconfig_read 198
3851++#define __NR_pciconfig_write 199
3852++#define __NR_pciconfig_iobase 200
3853++#define __NR_multiplexer 201
3854++#define __NR_getdents64 202
3855++#define __NR_pivot_root 203
3856++#define __NR_madvise 205
3857++#define __NR_mincore 206
3858++#define __NR_gettid 207
3859++#define __NR_tkill 208
3860++#define __NR_setxattr 209
3861++#define __NR_lsetxattr 210
3862++#define __NR_fsetxattr 211
3863++#define __NR_getxattr 212
3864++#define __NR_lgetxattr 213
3865++#define __NR_fgetxattr 214
3866++#define __NR_listxattr 215
3867++#define __NR_llistxattr 216
3868++#define __NR_flistxattr 217
3869++#define __NR_removexattr 218
3870++#define __NR_lremovexattr 219
3871++#define __NR_fremovexattr 220
3872++#define __NR_futex 221
3873++#define __NR_sched_setaffinity 222
3874++#define __NR_sched_getaffinity 223
3875++#define __NR_tuxcall 225
3876++#define __NR_io_setup 227
3877++#define __NR_io_destroy 228
3878++#define __NR_io_getevents 229
3879++#define __NR_io_submit 230
3880++#define __NR_io_cancel 231
3881++#define __NR_set_tid_address 232
3882++#define __NR_fadvise64 233
3883++#define __NR_exit_group 234
3884++#define __NR_lookup_dcookie 235
3885++#define __NR_epoll_create 236
3886++#define __NR_epoll_ctl 237
3887++#define __NR_epoll_wait 238
3888++#define __NR_remap_file_pages 239
3889++#define __NR_timer_create 240
3890++#define __NR_timer_settime 241
3891++#define __NR_timer_gettime 242
3892++#define __NR_timer_getoverrun 243
3893++#define __NR_timer_delete 244
3894++#define __NR_clock_settime 245
3895++#define __NR_clock_gettime 246
3896++#define __NR_clock_getres 247
3897++#define __NR_clock_nanosleep 248
3898++#define __NR_swapcontext 249
3899++#define __NR_tgkill 250
3900++#define __NR_utimes 251
3901++#define __NR_statfs64 252
3902++#define __NR_fstatfs64 253
3903++#define __NR_rtas 255
3904++#define __NR_sys_debug_setcontext 256
3905++#define __NR_migrate_pages 258
3906++#define __NR_mbind 259
3907++#define __NR_get_mempolicy 260
3908++#define __NR_set_mempolicy 261
3909++#define __NR_mq_open 262
3910++#define __NR_mq_unlink 263
3911++#define __NR_mq_timedsend 264
3912++#define __NR_mq_timedreceive 265
3913++#define __NR_mq_notify 266
3914++#define __NR_mq_getsetattr 267
3915++#define __NR_kexec_load 268
3916++#define __NR_add_key 269
3917++#define __NR_request_key 270
3918++#define __NR_keyctl 271
3919++#define __NR_waitid 272
3920++#define __NR_ioprio_set 273
3921++#define __NR_ioprio_get 274
3922++#define __NR_inotify_init 275
3923++#define __NR_inotify_add_watch 276
3924++#define __NR_inotify_rm_watch 277
3925++#define __NR_spu_run 278
3926++#define __NR_spu_create 279
3927++#define __NR_pselect6 280
3928++#define __NR_ppoll 281
3929++#define __NR_unshare 282
3930++#define __NR_splice 283
3931++#define __NR_tee 284
3932++#define __NR_vmsplice 285
3933++#define __NR_openat 286
3934++#define __NR_mkdirat 287
3935++#define __NR_mknodat 288
3936++#define __NR_fchownat 289
3937++#define __NR_futimesat 290
3938++#define __NR_newfstatat 291
3939++#define __NR_unlinkat 292
3940++#define __NR_renameat 293
3941++#define __NR_linkat 294
3942++#define __NR_symlinkat 295
3943++#define __NR_readlinkat 296
3944++#define __NR_fchmodat 297
3945++#define __NR_faccessat 298
3946++#define __NR_get_robust_list 299
3947++#define __NR_set_robust_list 300
3948++#define __NR_move_pages 301
3949++#define __NR_getcpu 302
3950++#define __NR_epoll_pwait 303
3951++#define __NR_utimensat 304
3952++#define __NR_signalfd 305
3953++#define __NR_timerfd_create 306
3954++#define __NR_eventfd 307
3955++#define __NR_sync_file_range2 308
3956++#define __NR_fallocate 309
3957++#define __NR_subpage_prot 310
3958++#define __NR_timerfd_settime 311
3959++#define __NR_timerfd_gettime 312
3960++#define __NR_signalfd4 313
3961++#define __NR_eventfd2 314
3962++#define __NR_epoll_create1 315
3963++#define __NR_dup3 316
3964++#define __NR_pipe2 317
3965++#define __NR_inotify_init1 318
3966++#define __NR_perf_event_open 319
3967++#define __NR_preadv 320
3968++#define __NR_pwritev 321
3969++#define __NR_rt_tgsigqueueinfo 322
3970++#define __NR_fanotify_init 323
3971++#define __NR_fanotify_mark 324
3972++#define __NR_prlimit64 325
3973++#define __NR_socket 326
3974++#define __NR_bind 327
3975++#define __NR_connect 328
3976++#define __NR_listen 329
3977++#define __NR_accept 330
3978++#define __NR_getsockname 331
3979++#define __NR_getpeername 332
3980++#define __NR_socketpair 333
3981++#define __NR_send 334
3982++#define __NR_sendto 335
3983++#define __NR_recv 336
3984++#define __NR_recvfrom 337
3985++#define __NR_shutdown 338
3986++#define __NR_setsockopt 339
3987++#define __NR_getsockopt 340
3988++#define __NR_sendmsg 341
3989++#define __NR_recvmsg 342
3990++#define __NR_recvmmsg 343
3991++#define __NR_accept4 344
3992++#define __NR_name_to_handle_at 345
3993++#define __NR_open_by_handle_at 346
3994++#define __NR_clock_adjtime 347
3995++#define __NR_syncfs 348
3996++#define __NR_sendmmsg 349
3997++#define __NR_setns 350
3998++#define __NR_process_vm_readv 351
3999++#define __NR_process_vm_writev 352
4000++#define __NR_finit_module 353
4001++#define __NR_kcmp 354
4002++#define __NR_sched_setattr 355
4003++#define __NR_sched_getattr 356
4004++#define __NR_renameat2 357
4005++#define __NR_seccomp 358
4006++#define __NR_getrandom 359
4007++#define __NR_memfd_create 360
4008++#define __NR_bpf 361
4009++#define __NR_execveat 362
4010++#define __NR_switch_endian 363
4011++#define __NR_userfaultfd 364
4012++#define __NR_membarrier 365
4013++#define __NR_mlock2 378
4014++#define __NR_copy_file_range 379
4015++#define __NR_preadv2 380
4016++#define __NR_pwritev2 381
4017++#define __NR_kexec_file_load 382
4018++#define __NR_statx 383
4019++#define __NR_pkey_alloc 384
4020++#define __NR_pkey_free 385
4021++#define __NR_pkey_mprotect 386
4022++#define __NR_rseq 387
4023++#define __NR_io_pgetevents 388
4024++
4025++
4026++#endif /* _ASM_POWERPC_UNISTD_64_H */
4027+diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
4028+index f11a7eb49c..b53ee59748 100644
4029+--- a/linux-headers/linux/kvm.h
4030++++ b/linux-headers/linux/kvm.h
4031+@@ -492,6 +492,17 @@ struct kvm_dirty_log {
4032+ };
4033+ };
4034+
4035++/* for KVM_CLEAR_DIRTY_LOG */
4036++struct kvm_clear_dirty_log {
4037++ __u32 slot;
4038++ __u32 num_pages;
4039++ __u64 first_page;
4040++ union {
4041++ void *dirty_bitmap; /* one bit per page */
4042++ __u64 padding2;
4043++ };
4044++};
4045++
4046+ /* for KVM_SET_SIGNAL_MASK */
4047+ struct kvm_signal_mask {
4048+ __u32 len;
4049+@@ -757,6 +768,15 @@ struct kvm_ppc_resize_hpt {
4050+
4051+ #define KVM_S390_SIE_PAGE_OFFSET 1
4052+
4053++/*
4054++ * On arm64, machine type can be used to request the physical
4055++ * address size for the VM. Bits[7-0] are reserved for the guest
4056++ * PA size shift (i.e, log2(PA_Size)). For backward compatibility,
4057++ * value 0 implies the default IPA size, 40bits.
4058++ */
4059++#define KVM_VM_TYPE_ARM_IPA_SIZE_MASK 0xffULL
4060++#define KVM_VM_TYPE_ARM_IPA_SIZE(x) \
4061++ ((x) & KVM_VM_TYPE_ARM_IPA_SIZE_MASK)
4062+ /*
4063+ * ioctls for /dev/kvm fds:
4064+ */
4065+@@ -965,6 +985,9 @@ struct kvm_ppc_resize_hpt {
4066+ #define KVM_CAP_COALESCED_PIO 162
4067+ #define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163
4068+ #define KVM_CAP_EXCEPTION_PAYLOAD 164
4069++#define KVM_CAP_ARM_VM_IPA_SIZE 165
4070++#define KVM_CAP_MANUAL_DIRTY_LOG_PROTECT 166
4071++#define KVM_CAP_HYPERV_CPUID 167
4072+
4073+ #ifdef KVM_CAP_IRQ_ROUTING
4074+
4075+@@ -1411,6 +1434,12 @@ struct kvm_enc_region {
4076+ #define KVM_GET_NESTED_STATE _IOWR(KVMIO, 0xbe, struct kvm_nested_state)
4077+ #define KVM_SET_NESTED_STATE _IOW(KVMIO, 0xbf, struct kvm_nested_state)
4078+
4079++/* Available with KVM_CAP_MANUAL_DIRTY_LOG_PROTECT */
4080++#define KVM_CLEAR_DIRTY_LOG _IOWR(KVMIO, 0xc0, struct kvm_clear_dirty_log)
4081++
4082++/* Available with KVM_CAP_HYPERV_CPUID */
4083++#define KVM_GET_SUPPORTED_HV_CPUID _IOWR(KVMIO, 0xc1, struct kvm_cpuid2)
4084++
4085+ /* Secure Encrypted Virtualization command */
4086+ enum sev_cmd_id {
4087+ /* Guest initialization commands */
4088+diff --git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h
4089+index ceb6453394..12a7b1dc53 100644
4090+--- a/linux-headers/linux/vfio.h
4091++++ b/linux-headers/linux/vfio.h
4092+@@ -303,6 +303,71 @@ struct vfio_region_info_cap_type {
4093+ #define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG (2)
4094+ #define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3)
4095+
4096++#define VFIO_REGION_TYPE_GFX (1)
4097++#define VFIO_REGION_SUBTYPE_GFX_EDID (1)
4098++
4099++/**
4100++ * struct vfio_region_gfx_edid - EDID region layout.
4101++ *
4102++ * Set display link state and EDID blob.
4103++ *
4104++ * The EDID blob has monitor information such as brand, name, serial
4105++ * number, physical size, supported video modes and more.
4106++ *
4107++ * This special region allows userspace (typically qemu) set a virtual
4108++ * EDID for the virtual monitor, which allows a flexible display
4109++ * configuration.
4110++ *
4111++ * For the edid blob spec look here:
4112++ * https://en.wikipedia.org/wiki/Extended_Display_Identification_Data
4113++ *
4114++ * On linux systems you can find the EDID blob in sysfs:
4115++ * /sys/class/drm/${card}/${connector}/edid
4116++ *
4117++ * You can use the edid-decode ulility (comes with xorg-x11-utils) to
4118++ * decode the EDID blob.
4119++ *
4120++ * @edid_offset: location of the edid blob, relative to the
4121++ * start of the region (readonly).
4122++ * @edid_max_size: max size of the edid blob (readonly).
4123++ * @edid_size: actual edid size (read/write).
4124++ * @link_state: display link state (read/write).
4125++ * VFIO_DEVICE_GFX_LINK_STATE_UP: Monitor is turned on.
4126++ * VFIO_DEVICE_GFX_LINK_STATE_DOWN: Monitor is turned off.
4127++ * @max_xres: max display width (0 == no limitation, readonly).
4128++ * @max_yres: max display height (0 == no limitation, readonly).
4129++ *
4130++ * EDID update protocol:
4131++ * (1) set link-state to down.
4132++ * (2) update edid blob and size.
4133++ * (3) set link-state to up.
4134++ */
4135++struct vfio_region_gfx_edid {
4136++ __u32 edid_offset;
4137++ __u32 edid_max_size;
4138++ __u32 edid_size;
4139++ __u32 max_xres;
4140++ __u32 max_yres;
4141++ __u32 link_state;
4142++#define VFIO_DEVICE_GFX_LINK_STATE_UP 1
4143++#define VFIO_DEVICE_GFX_LINK_STATE_DOWN 2
4144++};
4145++
4146++/*
4147++ * 10de vendor sub-type
4148++ *
4149++ * NVIDIA GPU NVlink2 RAM is coherent RAM mapped onto the host address space.
4150++ */
4151++#define VFIO_REGION_SUBTYPE_NVIDIA_NVLINK2_RAM (1)
4152++
4153++/*
4154++ * 1014 vendor sub-type
4155++ *
4156++ * IBM NPU NVlink2 ATSD (Address Translation Shootdown) register of NPU
4157++ * to do TLB invalidation on a GPU.
4158++ */
4159++#define VFIO_REGION_SUBTYPE_IBM_NVLINK2_ATSD (1)
4160++
4161+ /*
4162+ * The MSIX mappable capability informs that MSIX data of a BAR can be mmapped
4163+ * which allows direct access to non-MSIX registers which happened to be within
4164+@@ -313,6 +378,33 @@ struct vfio_region_info_cap_type {
4165+ */
4166+ #define VFIO_REGION_INFO_CAP_MSIX_MAPPABLE 3
4167+
4168++/*
4169++ * Capability with compressed real address (aka SSA - small system address)
4170++ * where GPU RAM is mapped on a system bus. Used by a GPU for DMA routing
4171++ * and by the userspace to associate a NVLink bridge with a GPU.
4172++ */
4173++#define VFIO_REGION_INFO_CAP_NVLINK2_SSATGT 4
4174++
4175++struct vfio_region_info_cap_nvlink2_ssatgt {
4176++ struct vfio_info_cap_header header;
4177++ __u64 tgt;
4178++};
4179++
4180++/*
4181++ * Capability with an NVLink link speed. The value is read by
4182++ * the NVlink2 bridge driver from the bridge's "ibm,nvlink-speed"
4183++ * property in the device tree. The value is fixed in the hardware
4184++ * and failing to provide the correct value results in the link
4185++ * not working with no indication from the driver why.
4186++ */
4187++#define VFIO_REGION_INFO_CAP_NVLINK2_LNKSPD 5
4188++
4189++struct vfio_region_info_cap_nvlink2_lnkspd {
4190++ struct vfio_info_cap_header header;
4191++ __u32 link_speed;
4192++ __u32 __pad;
4193++};
4194++
4195+ /**
4196+ * VFIO_DEVICE_GET_IRQ_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 9,
4197+ * struct vfio_irq_info)
4198+diff --git a/linux-headers/linux/vhost.h b/linux-headers/linux/vhost.h
4199+index c8a8fbeb81..40d028eed6 100644
4200+--- a/linux-headers/linux/vhost.h
4201++++ b/linux-headers/linux/vhost.h
4202+@@ -11,94 +11,9 @@
4203+ * device configuration.
4204+ */
4205+
4206++#include <linux/vhost_types.h>
4207+ #include <linux/types.h>
4208+-
4209+ #include <linux/ioctl.h>
4210+-#include <linux/virtio_config.h>
4211+-#include <linux/virtio_ring.h>
4212+-
4213+-struct vhost_vring_state {
4214+- unsigned int index;
4215+- unsigned int num;
4216+-};
4217+-
4218+-struct vhost_vring_file {
4219+- unsigned int index;
4220+- int fd; /* Pass -1 to unbind from file. */
4221+-
4222+-};
4223+-
4224+-struct vhost_vring_addr {
4225+- unsigned int index;
4226+- /* Option flags. */
4227+- unsigned int flags;
4228+- /* Flag values: */
4229+- /* Whether log address is valid. If set enables logging. */
4230+-#define VHOST_VRING_F_LOG 0
4231+-
4232+- /* Start of array of descriptors (virtually contiguous) */
4233+- __u64 desc_user_addr;
4234+- /* Used structure address. Must be 32 bit aligned */
4235+- __u64 used_user_addr;
4236+- /* Available structure address. Must be 16 bit aligned */
4237+- __u64 avail_user_addr;
4238+- /* Logging support. */
4239+- /* Log writes to used structure, at offset calculated from specified
4240+- * address. Address must be 32 bit aligned. */
4241+- __u64 log_guest_addr;
4242+-};
4243+-
4244+-/* no alignment requirement */
4245+-struct vhost_iotlb_msg {
4246+- __u64 iova;
4247+- __u64 size;
4248+- __u64 uaddr;
4249+-#define VHOST_ACCESS_RO 0x1
4250+-#define VHOST_ACCESS_WO 0x2
4251+-#define VHOST_ACCESS_RW 0x3
4252+- __u8 perm;
4253+-#define VHOST_IOTLB_MISS 1
4254+-#define VHOST_IOTLB_UPDATE 2
4255+-#define VHOST_IOTLB_INVALIDATE 3
4256+-#define VHOST_IOTLB_ACCESS_FAIL 4
4257+- __u8 type;
4258+-};
4259+-
4260+-#define VHOST_IOTLB_MSG 0x1
4261+-#define VHOST_IOTLB_MSG_V2 0x2
4262+-
4263+-struct vhost_msg {
4264+- int type;
4265+- union {
4266+- struct vhost_iotlb_msg iotlb;
4267+- __u8 padding[64];
4268+- };
4269+-};
4270+-
4271+-struct vhost_msg_v2 {
4272+- __u32 type;
4273+- __u32 reserved;
4274+- union {
4275+- struct vhost_iotlb_msg iotlb;
4276+- __u8 padding[64];
4277+- };
4278+-};
4279+-
4280+-struct vhost_memory_region {
4281+- __u64 guest_phys_addr;
4282+- __u64 memory_size; /* bytes */
4283+- __u64 userspace_addr;
4284+- __u64 flags_padding; /* No flags are currently specified. */
4285+-};
4286+-
4287+-/* All region addresses and sizes must be 4K aligned. */
4288+-#define VHOST_PAGE_SIZE 0x1000
4289+-
4290+-struct vhost_memory {
4291+- __u32 nregions;
4292+- __u32 padding;
4293+- struct vhost_memory_region regions[0];
4294+-};
4295+
4296+ /* ioctls */
4297+
4298+@@ -186,31 +101,7 @@ struct vhost_memory {
4299+ * device. This can be used to stop the ring (e.g. for migration). */
4300+ #define VHOST_NET_SET_BACKEND _IOW(VHOST_VIRTIO, 0x30, struct vhost_vring_file)
4301+
4302+-/* Feature bits */
4303+-/* Log all write descriptors. Can be changed while device is active. */
4304+-#define VHOST_F_LOG_ALL 26
4305+-/* vhost-net should add virtio_net_hdr for RX, and strip for TX packets. */
4306+-#define VHOST_NET_F_VIRTIO_NET_HDR 27
4307+-
4308+-/* VHOST_SCSI specific definitions */
4309+-
4310+-/*
4311+- * Used by QEMU userspace to ensure a consistent vhost-scsi ABI.
4312+- *
4313+- * ABI Rev 0: July 2012 version starting point for v3.6-rc merge candidate +
4314+- * RFC-v2 vhost-scsi userspace. Add GET_ABI_VERSION ioctl usage
4315+- * ABI Rev 1: January 2013. Ignore vhost_tpgt filed in struct vhost_scsi_target.
4316+- * All the targets under vhost_wwpn can be seen and used by guset.
4317+- */
4318+-
4319+-#define VHOST_SCSI_ABI_VERSION 1
4320+-
4321+-struct vhost_scsi_target {
4322+- int abi_version;
4323+- char vhost_wwpn[224]; /* TRANSPORT_IQN_LEN */
4324+- unsigned short vhost_tpgt;
4325+- unsigned short reserved;
4326+-};
4327++/* VHOST_SCSI specific defines */
4328+
4329+ #define VHOST_SCSI_SET_ENDPOINT _IOW(VHOST_VIRTIO, 0x40, struct vhost_scsi_target)
4330+ #define VHOST_SCSI_CLEAR_ENDPOINT _IOW(VHOST_VIRTIO, 0x41, struct vhost_scsi_target)
4331+diff --git a/linux-headers/linux/vhost_types.h b/linux-headers/linux/vhost_types.h
4332+new file mode 100644
4333+index 0000000000..473e3c0d81
4334+--- /dev/null
4335++++ b/linux-headers/linux/vhost_types.h
4336+@@ -0,0 +1 @@
4337++#include "standard-headers/linux/vhost_types.h"
4338+--
4339+2.22.0
4340+
4341diff --git a/debian/patches/ubuntu/lp-1836154-linux-headers-add-linux-mman.h.patch b/debian/patches/ubuntu/lp-1836154-linux-headers-add-linux-mman.h.patch
4342new file mode 100644
4343index 0000000..28321c4
4344--- /dev/null
4345+++ b/debian/patches/ubuntu/lp-1836154-linux-headers-add-linux-mman.h.patch
4346@@ -0,0 +1,460 @@
4347+From 8cf108c5d159bccfa162a06e6abc35cfa4965781 Mon Sep 17 00:00:00 2001
4348+From: Zhang Yi <yi.z.zhang@linux.intel.com>
4349+Date: Fri, 8 Feb 2019 18:11:00 +0800
4350+Subject: [PATCH] linux-headers: add linux/mman.h.
4351+
4352+Update it to 4.20-rc1
4353+
4354+Signed-off-by: Zhang Yi <yi.z.zhang@linux.intel.com>
4355+Message-Id: <f9346f1816b940a4231524a84d57a2cac8466ccc.1549555521.git.yi.z.zhang@linux.intel.com>
4356+Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
4357+
4358+Origin: upstream, https://git.qemu.org/?p=qemu.git;a=commit;h=8cf108c5d159bccfa162a06e6abc35cfa4965781
4359+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1836154
4360+Last-Update: 2019-07-16
4361+
4362+---
4363+ linux-headers/asm-arm/mman.h | 4 +
4364+ linux-headers/asm-arm64/mman.h | 1 +
4365+ linux-headers/asm-generic/hugetlb_encode.h | 36 +++++++
4366+ linux-headers/asm-generic/mman-common.h | 77 +++++++++++++++
4367+ linux-headers/asm-generic/mman.h | 24 +++++
4368+ linux-headers/asm-mips/mman.h | 108 +++++++++++++++++++++
4369+ linux-headers/asm-powerpc/mman.h | 39 ++++++++
4370+ linux-headers/asm-s390/mman.h | 1 +
4371+ linux-headers/asm-x86/mman.h | 31 ++++++
4372+ linux-headers/linux/mman.h | 38 ++++++++
4373+ 10 files changed, 359 insertions(+)
4374+ create mode 100644 linux-headers/asm-arm/mman.h
4375+ create mode 100644 linux-headers/asm-arm64/mman.h
4376+ create mode 100644 linux-headers/asm-generic/hugetlb_encode.h
4377+ create mode 100644 linux-headers/asm-generic/mman-common.h
4378+ create mode 100644 linux-headers/asm-generic/mman.h
4379+ create mode 100644 linux-headers/asm-mips/mman.h
4380+ create mode 100644 linux-headers/asm-powerpc/mman.h
4381+ create mode 100644 linux-headers/asm-s390/mman.h
4382+ create mode 100644 linux-headers/asm-x86/mman.h
4383+ create mode 100644 linux-headers/linux/mman.h
4384+
4385+diff --git a/linux-headers/asm-arm/mman.h b/linux-headers/asm-arm/mman.h
4386+new file mode 100644
4387+index 0000000000..41f99c573b
4388+--- /dev/null
4389++++ b/linux-headers/asm-arm/mman.h
4390+@@ -0,0 +1,4 @@
4391++#include <asm-generic/mman.h>
4392++
4393++#define arch_mmap_check(addr, len, flags) \
4394++ (((flags) & MAP_FIXED && (addr) < FIRST_USER_ADDRESS) ? -EINVAL : 0)
4395+diff --git a/linux-headers/asm-arm64/mman.h b/linux-headers/asm-arm64/mman.h
4396+new file mode 100644
4397+index 0000000000..8eebf89f5a
4398+--- /dev/null
4399++++ b/linux-headers/asm-arm64/mman.h
4400+@@ -0,0 +1 @@
4401++#include <asm-generic/mman.h>
4402+diff --git a/linux-headers/asm-generic/hugetlb_encode.h b/linux-headers/asm-generic/hugetlb_encode.h
4403+new file mode 100644
4404+index 0000000000..b0f8e87235
4405+--- /dev/null
4406++++ b/linux-headers/asm-generic/hugetlb_encode.h
4407+@@ -0,0 +1,36 @@
4408++#ifndef _ASM_GENERIC_HUGETLB_ENCODE_H_
4409++#define _ASM_GENERIC_HUGETLB_ENCODE_H_
4410++
4411++/*
4412++ * Several system calls take a flag to request "hugetlb" huge pages.
4413++ * Without further specification, these system calls will use the
4414++ * system's default huge page size. If a system supports multiple
4415++ * huge page sizes, the desired huge page size can be specified in
4416++ * bits [26:31] of the flag arguments. The value in these 6 bits
4417++ * will encode the log2 of the huge page size.
4418++ *
4419++ * The following definitions are associated with this huge page size
4420++ * encoding in flag arguments. System call specific header files
4421++ * that use this encoding should include this file. They can then
4422++ * provide definitions based on these with their own specific prefix.
4423++ * for example:
4424++ * #define MAP_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT
4425++ */
4426++
4427++#define HUGETLB_FLAG_ENCODE_SHIFT 26
4428++#define HUGETLB_FLAG_ENCODE_MASK 0x3f
4429++
4430++#define HUGETLB_FLAG_ENCODE_64KB (16 << HUGETLB_FLAG_ENCODE_SHIFT)
4431++#define HUGETLB_FLAG_ENCODE_512KB (19 << HUGETLB_FLAG_ENCODE_SHIFT)
4432++#define HUGETLB_FLAG_ENCODE_1MB (20 << HUGETLB_FLAG_ENCODE_SHIFT)
4433++#define HUGETLB_FLAG_ENCODE_2MB (21 << HUGETLB_FLAG_ENCODE_SHIFT)
4434++#define HUGETLB_FLAG_ENCODE_8MB (23 << HUGETLB_FLAG_ENCODE_SHIFT)
4435++#define HUGETLB_FLAG_ENCODE_16MB (24 << HUGETLB_FLAG_ENCODE_SHIFT)
4436++#define HUGETLB_FLAG_ENCODE_32MB (25 << HUGETLB_FLAG_ENCODE_SHIFT)
4437++#define HUGETLB_FLAG_ENCODE_256MB (28 << HUGETLB_FLAG_ENCODE_SHIFT)
4438++#define HUGETLB_FLAG_ENCODE_512MB (29 << HUGETLB_FLAG_ENCODE_SHIFT)
4439++#define HUGETLB_FLAG_ENCODE_1GB (30 << HUGETLB_FLAG_ENCODE_SHIFT)
4440++#define HUGETLB_FLAG_ENCODE_2GB (31 << HUGETLB_FLAG_ENCODE_SHIFT)
4441++#define HUGETLB_FLAG_ENCODE_16GB (34 << HUGETLB_FLAG_ENCODE_SHIFT)
4442++
4443++#endif /* _ASM_GENERIC_HUGETLB_ENCODE_H_ */
4444+diff --git a/linux-headers/asm-generic/mman-common.h b/linux-headers/asm-generic/mman-common.h
4445+new file mode 100644
4446+index 0000000000..e7ee32861d
4447+--- /dev/null
4448++++ b/linux-headers/asm-generic/mman-common.h
4449+@@ -0,0 +1,77 @@
4450++/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
4451++#ifndef __ASM_GENERIC_MMAN_COMMON_H
4452++#define __ASM_GENERIC_MMAN_COMMON_H
4453++
4454++/*
4455++ Author: Michael S. Tsirkin <mst@mellanox.co.il>, Mellanox Technologies Ltd.
4456++ Based on: asm-xxx/mman.h
4457++*/
4458++
4459++#define PROT_READ 0x1 /* page can be read */
4460++#define PROT_WRITE 0x2 /* page can be written */
4461++#define PROT_EXEC 0x4 /* page can be executed */
4462++#define PROT_SEM 0x8 /* page may be used for atomic ops */
4463++#define PROT_NONE 0x0 /* page can not be accessed */
4464++#define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to start of growsdown vma */
4465++#define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end of growsup vma */
4466++
4467++#define MAP_SHARED 0x01 /* Share changes */
4468++#define MAP_PRIVATE 0x02 /* Changes are private */
4469++#define MAP_SHARED_VALIDATE 0x03 /* share + validate extension flags */
4470++#define MAP_TYPE 0x0f /* Mask for type of mapping */
4471++#define MAP_FIXED 0x10 /* Interpret addr exactly */
4472++#define MAP_ANONYMOUS 0x20 /* don't use a file */
4473++#ifdef CONFIG_MMAP_ALLOW_UNINITIALIZED
4474++# define MAP_UNINITIALIZED 0x4000000 /* For anonymous mmap, memory could be uninitialized */
4475++#else
4476++# define MAP_UNINITIALIZED 0x0 /* Don't support this flag */
4477++#endif
4478++
4479++/* 0x0100 - 0x80000 flags are defined in asm-generic/mman.h */
4480++#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED which doesn't unmap underlying mapping */
4481++
4482++/*
4483++ * Flags for mlock
4484++ */
4485++#define MLOCK_ONFAULT 0x01 /* Lock pages in range after they are faulted in, do not prefault */
4486++
4487++#define MS_ASYNC 1 /* sync memory asynchronously */
4488++#define MS_INVALIDATE 2 /* invalidate the caches */
4489++#define MS_SYNC 4 /* synchronous memory sync */
4490++
4491++#define MADV_NORMAL 0 /* no further special treatment */
4492++#define MADV_RANDOM 1 /* expect random page references */
4493++#define MADV_SEQUENTIAL 2 /* expect sequential page references */
4494++#define MADV_WILLNEED 3 /* will need these pages */
4495++#define MADV_DONTNEED 4 /* don't need these pages */
4496++
4497++/* common parameters: try to keep these consistent across architectures */
4498++#define MADV_FREE 8 /* free pages only if memory pressure */
4499++#define MADV_REMOVE 9 /* remove these pages & resources */
4500++#define MADV_DONTFORK 10 /* don't inherit across fork */
4501++#define MADV_DOFORK 11 /* do inherit across fork */
4502++#define MADV_HWPOISON 100 /* poison a page for testing */
4503++#define MADV_SOFT_OFFLINE 101 /* soft offline page for testing */
4504++
4505++#define MADV_MERGEABLE 12 /* KSM may merge identical pages */
4506++#define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */
4507++
4508++#define MADV_HUGEPAGE 14 /* Worth backing with hugepages */
4509++#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */
4510++
4511++#define MADV_DONTDUMP 16 /* Explicity exclude from the core dump,
4512++ overrides the coredump filter bits */
4513++#define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag */
4514++
4515++#define MADV_WIPEONFORK 18 /* Zero memory on fork, child only */
4516++#define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK */
4517++
4518++/* compatibility flags */
4519++#define MAP_FILE 0
4520++
4521++#define PKEY_DISABLE_ACCESS 0x1
4522++#define PKEY_DISABLE_WRITE 0x2
4523++#define PKEY_ACCESS_MASK (PKEY_DISABLE_ACCESS |\
4524++ PKEY_DISABLE_WRITE)
4525++
4526++#endif /* __ASM_GENERIC_MMAN_COMMON_H */
4527+diff --git a/linux-headers/asm-generic/mman.h b/linux-headers/asm-generic/mman.h
4528+new file mode 100644
4529+index 0000000000..653687d977
4530+--- /dev/null
4531++++ b/linux-headers/asm-generic/mman.h
4532+@@ -0,0 +1,24 @@
4533++/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
4534++#ifndef __ASM_GENERIC_MMAN_H
4535++#define __ASM_GENERIC_MMAN_H
4536++
4537++#include <asm-generic/mman-common.h>
4538++
4539++#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
4540++#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
4541++#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
4542++#define MAP_LOCKED 0x2000 /* pages are locked */
4543++#define MAP_NORESERVE 0x4000 /* don't check for reservations */
4544++#define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
4545++#define MAP_NONBLOCK 0x10000 /* do not block on IO */
4546++#define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */
4547++#define MAP_HUGETLB 0x40000 /* create a huge page mapping */
4548++#define MAP_SYNC 0x80000 /* perform synchronous page faults for the mapping */
4549++
4550++/* Bits [26:31] are reserved, see mman-common.h for MAP_HUGETLB usage */
4551++
4552++#define MCL_CURRENT 1 /* lock all current mappings */
4553++#define MCL_FUTURE 2 /* lock all future mappings */
4554++#define MCL_ONFAULT 4 /* lock all pages that are faulted in */
4555++
4556++#endif /* __ASM_GENERIC_MMAN_H */
4557+diff --git a/linux-headers/asm-mips/mman.h b/linux-headers/asm-mips/mman.h
4558+new file mode 100644
4559+index 0000000000..3035ca499c
4560+--- /dev/null
4561++++ b/linux-headers/asm-mips/mman.h
4562+@@ -0,0 +1,108 @@
4563++/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
4564++/*
4565++ * This file is subject to the terms and conditions of the GNU General Public
4566++ * License. See the file "COPYING" in the main directory of this archive
4567++ * for more details.
4568++ *
4569++ * Copyright (C) 1995, 1999, 2002 by Ralf Baechle
4570++ */
4571++#ifndef _ASM_MMAN_H
4572++#define _ASM_MMAN_H
4573++
4574++/*
4575++ * Protections are chosen from these bits, OR'd together. The
4576++ * implementation does not necessarily support PROT_EXEC or PROT_WRITE
4577++ * without PROT_READ. The only guarantees are that no writing will be
4578++ * allowed without PROT_WRITE and no access will be allowed for PROT_NONE.
4579++ */
4580++#define PROT_NONE 0x00 /* page can not be accessed */
4581++#define PROT_READ 0x01 /* page can be read */
4582++#define PROT_WRITE 0x02 /* page can be written */
4583++#define PROT_EXEC 0x04 /* page can be executed */
4584++/* 0x08 reserved for PROT_EXEC_NOFLUSH */
4585++#define PROT_SEM 0x10 /* page may be used for atomic ops */
4586++#define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to start of growsdown vma */
4587++#define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end of growsup vma */
4588++
4589++/*
4590++ * Flags for mmap
4591++ */
4592++#define MAP_SHARED 0x001 /* Share changes */
4593++#define MAP_PRIVATE 0x002 /* Changes are private */
4594++#define MAP_SHARED_VALIDATE 0x003 /* share + validate extension flags */
4595++#define MAP_TYPE 0x00f /* Mask for type of mapping */
4596++#define MAP_FIXED 0x010 /* Interpret addr exactly */
4597++
4598++/* not used by linux, but here to make sure we don't clash with ABI defines */
4599++#define MAP_RENAME 0x020 /* Assign page to file */
4600++#define MAP_AUTOGROW 0x040 /* File may grow by writing */
4601++#define MAP_LOCAL 0x080 /* Copy on fork/sproc */
4602++#define MAP_AUTORSRV 0x100 /* Logical swap reserved on demand */
4603++
4604++/* These are linux-specific */
4605++#define MAP_NORESERVE 0x0400 /* don't check for reservations */
4606++#define MAP_ANONYMOUS 0x0800 /* don't use a file */
4607++#define MAP_GROWSDOWN 0x1000 /* stack-like segment */
4608++#define MAP_DENYWRITE 0x2000 /* ETXTBSY */
4609++#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */
4610++#define MAP_LOCKED 0x8000 /* pages are locked */
4611++#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */
4612++#define MAP_NONBLOCK 0x20000 /* do not block on IO */
4613++#define MAP_STACK 0x40000 /* give out an address that is best suited for process/thread stacks */
4614++#define MAP_HUGETLB 0x80000 /* create a huge page mapping */
4615++#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED which doesn't unmap underlying mapping */
4616++
4617++/*
4618++ * Flags for msync
4619++ */
4620++#define MS_ASYNC 0x0001 /* sync memory asynchronously */
4621++#define MS_INVALIDATE 0x0002 /* invalidate mappings & caches */
4622++#define MS_SYNC 0x0004 /* synchronous memory sync */
4623++
4624++/*
4625++ * Flags for mlockall
4626++ */
4627++#define MCL_CURRENT 1 /* lock all current mappings */
4628++#define MCL_FUTURE 2 /* lock all future mappings */
4629++#define MCL_ONFAULT 4 /* lock all pages that are faulted in */
4630++
4631++/*
4632++ * Flags for mlock
4633++ */
4634++#define MLOCK_ONFAULT 0x01 /* Lock pages in range after they are faulted in, do not prefault */
4635++
4636++#define MADV_NORMAL 0 /* no further special treatment */
4637++#define MADV_RANDOM 1 /* expect random page references */
4638++#define MADV_SEQUENTIAL 2 /* expect sequential page references */
4639++#define MADV_WILLNEED 3 /* will need these pages */
4640++#define MADV_DONTNEED 4 /* don't need these pages */
4641++
4642++/* common parameters: try to keep these consistent across architectures */
4643++#define MADV_FREE 8 /* free pages only if memory pressure */
4644++#define MADV_REMOVE 9 /* remove these pages & resources */
4645++#define MADV_DONTFORK 10 /* don't inherit across fork */
4646++#define MADV_DOFORK 11 /* do inherit across fork */
4647++
4648++#define MADV_MERGEABLE 12 /* KSM may merge identical pages */
4649++#define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */
4650++#define MADV_HWPOISON 100 /* poison a page for testing */
4651++
4652++#define MADV_HUGEPAGE 14 /* Worth backing with hugepages */
4653++#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */
4654++
4655++#define MADV_DONTDUMP 16 /* Explicity exclude from the core dump,
4656++ overrides the coredump filter bits */
4657++#define MADV_DODUMP 17 /* Clear the MADV_NODUMP flag */
4658++
4659++#define MADV_WIPEONFORK 18 /* Zero memory on fork, child only */
4660++#define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK */
4661++
4662++/* compatibility flags */
4663++#define MAP_FILE 0
4664++
4665++#define PKEY_DISABLE_ACCESS 0x1
4666++#define PKEY_DISABLE_WRITE 0x2
4667++#define PKEY_ACCESS_MASK (PKEY_DISABLE_ACCESS |\
4668++ PKEY_DISABLE_WRITE)
4669++
4670++#endif /* _ASM_MMAN_H */
4671+diff --git a/linux-headers/asm-powerpc/mman.h b/linux-headers/asm-powerpc/mman.h
4672+new file mode 100644
4673+index 0000000000..1c2b3fca05
4674+--- /dev/null
4675++++ b/linux-headers/asm-powerpc/mman.h
4676+@@ -0,0 +1,39 @@
4677++/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
4678++/*
4679++ * This program is free software; you can redistribute it and/or
4680++ * modify it under the terms of the GNU General Public License
4681++ * as published by the Free Software Foundation; either version
4682++ * 2 of the License, or (at your option) any later version.
4683++ */
4684++#ifndef _ASM_POWERPC_MMAN_H
4685++#define _ASM_POWERPC_MMAN_H
4686++
4687++#include <asm-generic/mman-common.h>
4688++
4689++
4690++#define PROT_SAO 0x10 /* Strong Access Ordering */
4691++
4692++#define MAP_RENAME MAP_ANONYMOUS /* In SunOS terminology */
4693++#define MAP_NORESERVE 0x40 /* don't reserve swap pages */
4694++#define MAP_LOCKED 0x80
4695++
4696++#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
4697++#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
4698++#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
4699++
4700++#define MCL_CURRENT 0x2000 /* lock all currently mapped pages */
4701++#define MCL_FUTURE 0x4000 /* lock all additions to address space */
4702++#define MCL_ONFAULT 0x8000 /* lock all pages that are faulted in */
4703++
4704++#define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
4705++#define MAP_NONBLOCK 0x10000 /* do not block on IO */
4706++#define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */
4707++#define MAP_HUGETLB 0x40000 /* create a huge page mapping */
4708++
4709++/* Override any generic PKEY permission defines */
4710++#define PKEY_DISABLE_EXECUTE 0x4
4711++#undef PKEY_ACCESS_MASK
4712++#define PKEY_ACCESS_MASK (PKEY_DISABLE_ACCESS |\
4713++ PKEY_DISABLE_WRITE |\
4714++ PKEY_DISABLE_EXECUTE)
4715++#endif /* _ASM_POWERPC_MMAN_H */
4716+diff --git a/linux-headers/asm-s390/mman.h b/linux-headers/asm-s390/mman.h
4717+new file mode 100644
4718+index 0000000000..8eebf89f5a
4719+--- /dev/null
4720++++ b/linux-headers/asm-s390/mman.h
4721+@@ -0,0 +1 @@
4722++#include <asm-generic/mman.h>
4723+diff --git a/linux-headers/asm-x86/mman.h b/linux-headers/asm-x86/mman.h
4724+new file mode 100644
4725+index 0000000000..d4a8d0424b
4726+--- /dev/null
4727++++ b/linux-headers/asm-x86/mman.h
4728+@@ -0,0 +1,31 @@
4729++/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
4730++#ifndef _ASM_X86_MMAN_H
4731++#define _ASM_X86_MMAN_H
4732++
4733++#define MAP_32BIT 0x40 /* only give out 32bit addresses */
4734++
4735++#ifdef CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS
4736++/*
4737++ * Take the 4 protection key bits out of the vma->vm_flags
4738++ * value and turn them in to the bits that we can put in
4739++ * to a pte.
4740++ *
4741++ * Only override these if Protection Keys are available
4742++ * (which is only on 64-bit).
4743++ */
4744++#define arch_vm_get_page_prot(vm_flags) __pgprot( \
4745++ ((vm_flags) & VM_PKEY_BIT0 ? _PAGE_PKEY_BIT0 : 0) | \
4746++ ((vm_flags) & VM_PKEY_BIT1 ? _PAGE_PKEY_BIT1 : 0) | \
4747++ ((vm_flags) & VM_PKEY_BIT2 ? _PAGE_PKEY_BIT2 : 0) | \
4748++ ((vm_flags) & VM_PKEY_BIT3 ? _PAGE_PKEY_BIT3 : 0))
4749++
4750++#define arch_calc_vm_prot_bits(prot, key) ( \
4751++ ((key) & 0x1 ? VM_PKEY_BIT0 : 0) | \
4752++ ((key) & 0x2 ? VM_PKEY_BIT1 : 0) | \
4753++ ((key) & 0x4 ? VM_PKEY_BIT2 : 0) | \
4754++ ((key) & 0x8 ? VM_PKEY_BIT3 : 0))
4755++#endif
4756++
4757++#include <asm-generic/mman.h>
4758++
4759++#endif /* _ASM_X86_MMAN_H */
4760+diff --git a/linux-headers/linux/mman.h b/linux-headers/linux/mman.h
4761+new file mode 100644
4762+index 0000000000..3c44b6f480
4763+--- /dev/null
4764++++ b/linux-headers/linux/mman.h
4765+@@ -0,0 +1,38 @@
4766++/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
4767++#ifndef _LINUX_MMAN_H
4768++#define _LINUX_MMAN_H
4769++
4770++#include <asm/mman.h>
4771++#include <asm-generic/hugetlb_encode.h>
4772++
4773++#define MREMAP_MAYMOVE 1
4774++#define MREMAP_FIXED 2
4775++
4776++#define OVERCOMMIT_GUESS 0
4777++#define OVERCOMMIT_ALWAYS 1
4778++#define OVERCOMMIT_NEVER 2
4779++
4780++/*
4781++ * Huge page size encoding when MAP_HUGETLB is specified, and a huge page
4782++ * size other than the default is desired. See hugetlb_encode.h.
4783++ * All known huge page size encodings are provided here. It is the
4784++ * responsibility of the application to know which sizes are supported on
4785++ * the running system. See mmap(2) man page for details.
4786++ */
4787++#define MAP_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT
4788++#define MAP_HUGE_MASK HUGETLB_FLAG_ENCODE_MASK
4789++
4790++#define MAP_HUGE_64KB HUGETLB_FLAG_ENCODE_64KB
4791++#define MAP_HUGE_512KB HUGETLB_FLAG_ENCODE_512KB
4792++#define MAP_HUGE_1MB HUGETLB_FLAG_ENCODE_1MB
4793++#define MAP_HUGE_2MB HUGETLB_FLAG_ENCODE_2MB
4794++#define MAP_HUGE_8MB HUGETLB_FLAG_ENCODE_8MB
4795++#define MAP_HUGE_16MB HUGETLB_FLAG_ENCODE_16MB
4796++#define MAP_HUGE_32MB HUGETLB_FLAG_ENCODE_32MB
4797++#define MAP_HUGE_256MB HUGETLB_FLAG_ENCODE_256MB
4798++#define MAP_HUGE_512MB HUGETLB_FLAG_ENCODE_512MB
4799++#define MAP_HUGE_1GB HUGETLB_FLAG_ENCODE_1GB
4800++#define MAP_HUGE_2GB HUGETLB_FLAG_ENCODE_2GB
4801++#define MAP_HUGE_16GB HUGETLB_FLAG_ENCODE_16GB
4802++
4803++#endif /* _LINUX_MMAN_H */
4804+--
4805+2.22.0
4806+
4807diff --git a/debian/patches/ubuntu/lp-1836154-linux-headers-update-against-Linux-5.2-rc1.patch b/debian/patches/ubuntu/lp-1836154-linux-headers-update-against-Linux-5.2-rc1.patch
4808new file mode 100644
4809index 0000000..cc73081
4810--- /dev/null
4811+++ b/debian/patches/ubuntu/lp-1836154-linux-headers-update-against-Linux-5.2-rc1.patch
4812@@ -0,0 +1,1978 @@
4813+From d9cb4336159a00bd0d9c81b93f02874ef3626057 Mon Sep 17 00:00:00 2001
4814+From: Cornelia Huck <cohuck@redhat.com>
4815+Date: Thu, 16 May 2019 19:10:36 +0200
4816+Subject: [PATCH] linux headers: update against Linux 5.2-rc1
4817+
4818+commit a188339ca5a396acc588e5851ed7e19f66b0ebd9
4819+
4820+Signed-off-by: Cornelia Huck <cohuck@redhat.com>
4821+
4822+Origin: upstream, https://git.qemu.org/?p=qemu.git;a=commit;h=d9cb4336159a00bd0d9c81b93f02874ef3626057
4823+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1836154
4824+Last-Update: 2019-07-16
4825+
4826+---
4827+ .../infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h | 15 +-
4828+ include/standard-headers/drm/drm_fourcc.h | 114 +++++++++++-
4829+ include/standard-headers/linux/ethtool.h | 48 +++--
4830+ .../linux/input-event-codes.h | 9 +-
4831+ include/standard-headers/linux/input.h | 6 +-
4832+ include/standard-headers/linux/pci_regs.h | 140 ++++++++-------
4833+ .../standard-headers/linux/virtio_config.h | 6 +
4834+ include/standard-headers/linux/virtio_gpu.h | 12 +-
4835+ include/standard-headers/linux/virtio_ring.h | 10 --
4836+ .../standard-headers/rdma/vmw_pvrdma-abi.h | 1 +
4837+ linux-headers/asm-arm/unistd-common.h | 32 ++++
4838+ linux-headers/asm-arm64/kvm.h | 43 +++++
4839+ linux-headers/asm-arm64/sve_context.h | 53 ++++++
4840+ linux-headers/asm-arm64/unistd.h | 2 +
4841+ linux-headers/asm-generic/mman-common.h | 4 +-
4842+ linux-headers/asm-generic/unistd.h | 170 ++++++++++++++----
4843+ linux-headers/asm-mips/mman.h | 4 +-
4844+ linux-headers/asm-mips/unistd_n32.h | 30 ++++
4845+ linux-headers/asm-mips/unistd_n64.h | 10 ++
4846+ linux-headers/asm-mips/unistd_o32.h | 40 +++++
4847+ linux-headers/asm-powerpc/kvm.h | 48 +++++
4848+ linux-headers/asm-powerpc/unistd_32.h | 40 +++++
4849+ linux-headers/asm-powerpc/unistd_64.h | 21 +++
4850+ linux-headers/asm-s390/kvm.h | 5 +-
4851+ linux-headers/asm-s390/unistd_32.h | 43 +++++
4852+ linux-headers/asm-s390/unistd_64.h | 24 +++
4853+ linux-headers/asm-x86/kvm.h | 1 +
4854+ linux-headers/asm-x86/unistd_32.h | 40 +++++
4855+ linux-headers/asm-x86/unistd_64.h | 10 ++
4856+ linux-headers/asm-x86/unistd_x32.h | 10 ++
4857+ linux-headers/linux/kvm.h | 15 +-
4858+ linux-headers/linux/mman.h | 4 +
4859+ linux-headers/linux/psci.h | 7 +
4860+ linux-headers/linux/psp-sev.h | 18 +-
4861+ linux-headers/linux/vfio.h | 4 +
4862+ linux-headers/linux/vfio_ccw.h | 12 ++
4863+ 36 files changed, 907 insertions(+), 144 deletions(-)
4864+ create mode 100644 linux-headers/asm-arm64/sve_context.h
4865+
4866+diff --git a/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h b/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h
4867+index 422eb3f4c1..d019872608 100644
4868+--- a/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h
4869++++ b/include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h
4870+@@ -57,7 +57,8 @@
4871+
4872+ #define PVRDMA_ROCEV1_VERSION 17
4873+ #define PVRDMA_ROCEV2_VERSION 18
4874+-#define PVRDMA_VERSION PVRDMA_ROCEV2_VERSION
4875++#define PVRDMA_PPN64_VERSION 19
4876++#define PVRDMA_VERSION PVRDMA_PPN64_VERSION
4877+
4878+ #define PVRDMA_BOARD_ID 1
4879+ #define PVRDMA_REV_ID 1
4880+@@ -279,8 +280,10 @@ struct pvrdma_device_shared_region {
4881+ /* W: Async ring page info. */
4882+ struct pvrdma_ring_page_info cq_ring_pages;
4883+ /* W: CQ ring page info. */
4884+- uint32_t uar_pfn; /* W: UAR pageframe. */
4885+- uint32_t pad2; /* Pad to 8-byte align. */
4886++ union {
4887++ uint32_t uar_pfn; /* W: UAR pageframe. */
4888++ uint64_t uar_pfn64; /* W: 64-bit UAR page frame. */
4889++ };
4890+ struct pvrdma_device_caps caps; /* R: Device capabilities. */
4891+ };
4892+
4893+@@ -411,8 +414,10 @@ struct pvrdma_cmd_query_pkey_resp {
4894+
4895+ struct pvrdma_cmd_create_uc {
4896+ struct pvrdma_cmd_hdr hdr;
4897+- uint32_t pfn; /* UAR page frame number */
4898+- uint8_t reserved[4];
4899++ union {
4900++ uint32_t pfn; /* UAR page frame number */
4901++ uint64_t pfn64; /* 64-bit UAR page frame number */
4902++ };
4903+ };
4904+
4905+ struct pvrdma_cmd_create_uc_resp {
4906+diff --git a/include/standard-headers/drm/drm_fourcc.h b/include/standard-headers/drm/drm_fourcc.h
4907+index 44490607f9..a308c91b4f 100644
4908+--- a/include/standard-headers/drm/drm_fourcc.h
4909++++ b/include/standard-headers/drm/drm_fourcc.h
4910+@@ -143,6 +143,17 @@ extern "C" {
4911+ #define DRM_FORMAT_RGBA1010102 fourcc_code('R', 'A', '3', '0') /* [31:0] R:G:B:A 10:10:10:2 little endian */
4912+ #define DRM_FORMAT_BGRA1010102 fourcc_code('B', 'A', '3', '0') /* [31:0] B:G:R:A 10:10:10:2 little endian */
4913+
4914++/*
4915++ * Floating point 64bpp RGB
4916++ * IEEE 754-2008 binary16 half-precision float
4917++ * [15:0] sign:exponent:mantissa 1:5:10
4918++ */
4919++#define DRM_FORMAT_XRGB16161616F fourcc_code('X', 'R', '4', 'H') /* [63:0] x:R:G:B 16:16:16:16 little endian */
4920++#define DRM_FORMAT_XBGR16161616F fourcc_code('X', 'B', '4', 'H') /* [63:0] x:B:G:R 16:16:16:16 little endian */
4921++
4922++#define DRM_FORMAT_ARGB16161616F fourcc_code('A', 'R', '4', 'H') /* [63:0] A:R:G:B 16:16:16:16 little endian */
4923++#define DRM_FORMAT_ABGR16161616F fourcc_code('A', 'B', '4', 'H') /* [63:0] A:B:G:R 16:16:16:16 little endian */
4924++
4925+ /* packed YCbCr */
4926+ #define DRM_FORMAT_YUYV fourcc_code('Y', 'U', 'Y', 'V') /* [31:0] Cr0:Y1:Cb0:Y0 8:8:8:8 little endian */
4927+ #define DRM_FORMAT_YVYU fourcc_code('Y', 'V', 'Y', 'U') /* [31:0] Cb0:Y1:Cr0:Y0 8:8:8:8 little endian */
4928+@@ -150,7 +161,29 @@ extern "C" {
4929+ #define DRM_FORMAT_VYUY fourcc_code('V', 'Y', 'U', 'Y') /* [31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian */
4930+
4931+ #define DRM_FORMAT_AYUV fourcc_code('A', 'Y', 'U', 'V') /* [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */
4932+-#define DRM_FORMAT_XYUV8888 fourcc_code('X', 'Y', 'U', 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */
4933++#define DRM_FORMAT_XYUV8888 fourcc_code('X', 'Y', 'U', 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */
4934++#define DRM_FORMAT_VUY888 fourcc_code('V', 'U', '2', '4') /* [23:0] Cr:Cb:Y 8:8:8 little endian */
4935++#define DRM_FORMAT_VUY101010 fourcc_code('V', 'U', '3', '0') /* Y followed by U then V, 10:10:10. Non-linear modifier only */
4936++
4937++/*
4938++ * packed Y2xx indicate for each component, xx valid data occupy msb
4939++ * 16-xx padding occupy lsb
4940++ */
4941++#define DRM_FORMAT_Y210 fourcc_code('Y', '2', '1', '0') /* [63:0] Cr0:0:Y1:0:Cb0:0:Y0:0 10:6:10:6:10:6:10:6 little endian per 2 Y pixels */
4942++#define DRM_FORMAT_Y212 fourcc_code('Y', '2', '1', '2') /* [63:0] Cr0:0:Y1:0:Cb0:0:Y0:0 12:4:12:4:12:4:12:4 little endian per 2 Y pixels */
4943++#define DRM_FORMAT_Y216 fourcc_code('Y', '2', '1', '6') /* [63:0] Cr0:Y1:Cb0:Y0 16:16:16:16 little endian per 2 Y pixels */
4944++
4945++/*
4946++ * packed Y4xx indicate for each component, xx valid data occupy msb
4947++ * 16-xx padding occupy lsb except Y410
4948++ */
4949++#define DRM_FORMAT_Y410 fourcc_code('Y', '4', '1', '0') /* [31:0] A:Cr:Y:Cb 2:10:10:10 little endian */
4950++#define DRM_FORMAT_Y412 fourcc_code('Y', '4', '1', '2') /* [63:0] A:0:Cr:0:Y:0:Cb:0 12:4:12:4:12:4:12:4 little endian */
4951++#define DRM_FORMAT_Y416 fourcc_code('Y', '4', '1', '6') /* [63:0] A:Cr:Y:Cb 16:16:16:16 little endian */
4952++
4953++#define DRM_FORMAT_XVYU2101010 fourcc_code('X', 'V', '3', '0') /* [31:0] X:Cr:Y:Cb 2:10:10:10 little endian */
4954++#define DRM_FORMAT_XVYU12_16161616 fourcc_code('X', 'V', '3', '6') /* [63:0] X:0:Cr:0:Y:0:Cb:0 12:4:12:4:12:4:12:4 little endian */
4955++#define DRM_FORMAT_XVYU16161616 fourcc_code('X', 'V', '4', '8') /* [63:0] X:Cr:Y:Cb 16:16:16:16 little endian */
4956+
4957+ /*
4958+ * packed YCbCr420 2x2 tiled formats
4959+@@ -166,6 +199,15 @@ extern "C" {
4960+ /* [63:0] X3:X2:Y3:Cr0:Y2:X1:X0:Y1:Cb0:Y0 1:1:10:10:10:1:1:10:10:10 little endian */
4961+ #define DRM_FORMAT_X0L2 fourcc_code('X', '0', 'L', '2')
4962+
4963++/*
4964++ * 1-plane YUV 4:2:0
4965++ * In these formats, the component ordering is specified (Y, followed by U
4966++ * then V), but the exact Linear layout is undefined.
4967++ * These formats can only be used with a non-Linear modifier.
4968++ */
4969++#define DRM_FORMAT_YUV420_8BIT fourcc_code('Y', 'U', '0', '8')
4970++#define DRM_FORMAT_YUV420_10BIT fourcc_code('Y', 'U', '1', '0')
4971++
4972+ /*
4973+ * 2 plane RGB + A
4974+ * index 0 = RGB plane, same format as the corresponding non _A8 format has
4975+@@ -194,6 +236,34 @@ extern "C" {
4976+ #define DRM_FORMAT_NV24 fourcc_code('N', 'V', '2', '4') /* non-subsampled Cr:Cb plane */
4977+ #define DRM_FORMAT_NV42 fourcc_code('N', 'V', '4', '2') /* non-subsampled Cb:Cr plane */
4978+
4979++/*
4980++ * 2 plane YCbCr MSB aligned
4981++ * index 0 = Y plane, [15:0] Y:x [10:6] little endian
4982++ * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [10:6:10:6] little endian
4983++ */
4984++#define DRM_FORMAT_P210 fourcc_code('P', '2', '1', '0') /* 2x1 subsampled Cr:Cb plane, 10 bit per channel */
4985++
4986++/*
4987++ * 2 plane YCbCr MSB aligned
4988++ * index 0 = Y plane, [15:0] Y:x [10:6] little endian
4989++ * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [10:6:10:6] little endian
4990++ */
4991++#define DRM_FORMAT_P010 fourcc_code('P', '0', '1', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel */
4992++
4993++/*
4994++ * 2 plane YCbCr MSB aligned
4995++ * index 0 = Y plane, [15:0] Y:x [12:4] little endian
4996++ * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [12:4:12:4] little endian
4997++ */
4998++#define DRM_FORMAT_P012 fourcc_code('P', '0', '1', '2') /* 2x2 subsampled Cr:Cb plane 12 bits per channel */
4999++
5000++/*
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches