Browse Source

linux headers: update against Linux 5.2-rc1

commit a188339ca5

Signed-off-by: Cornelia Huck <cohuck@redhat.com>
master
Cornelia Huck 1 month ago
parent
commit
d9cb433615
36 changed files with 907 additions and 144 deletions
  1. 10
    5
      include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h
  2. 113
    1
      include/standard-headers/drm/drm_fourcc.h
  3. 38
    10
      include/standard-headers/linux/ethtool.h
  4. 7
    2
      include/standard-headers/linux/input-event-codes.h
  5. 5
    1
      include/standard-headers/linux/input.h
  6. 73
    67
      include/standard-headers/linux/pci_regs.h
  7. 6
    0
      include/standard-headers/linux/virtio_config.h
  8. 10
    2
      include/standard-headers/linux/virtio_gpu.h
  9. 0
    10
      include/standard-headers/linux/virtio_ring.h
  10. 1
    0
      include/standard-headers/rdma/vmw_pvrdma-abi.h
  11. 32
    0
      linux-headers/asm-arm/unistd-common.h
  12. 43
    0
      linux-headers/asm-arm64/kvm.h
  13. 53
    0
      linux-headers/asm-arm64/sve_context.h
  14. 2
    0
      linux-headers/asm-arm64/unistd.h
  15. 1
    3
      linux-headers/asm-generic/mman-common.h
  16. 137
    33
      linux-headers/asm-generic/unistd.h
  17. 1
    3
      linux-headers/asm-mips/mman.h
  18. 30
    0
      linux-headers/asm-mips/unistd_n32.h
  19. 10
    0
      linux-headers/asm-mips/unistd_n64.h
  20. 40
    0
      linux-headers/asm-mips/unistd_o32.h
  21. 48
    0
      linux-headers/asm-powerpc/kvm.h
  22. 40
    0
      linux-headers/asm-powerpc/unistd_32.h
  23. 21
    0
      linux-headers/asm-powerpc/unistd_64.h
  24. 4
    1
      linux-headers/asm-s390/kvm.h
  25. 43
    0
      linux-headers/asm-s390/unistd_32.h
  26. 24
    0
      linux-headers/asm-s390/unistd_64.h
  27. 1
    0
      linux-headers/asm-x86/kvm.h
  28. 40
    0
      linux-headers/asm-x86/unistd_32.h
  29. 10
    0
      linux-headers/asm-x86/unistd_64.h
  30. 10
    0
      linux-headers/asm-x86/unistd_x32.h
  31. 13
    2
      linux-headers/linux/kvm.h
  32. 4
    0
      linux-headers/linux/mman.h
  33. 7
    0
      linux-headers/linux/psci.h
  34. 14
    4
      linux-headers/linux/psp-sev.h
  35. 4
    0
      linux-headers/linux/vfio.h
  36. 12
    0
      linux-headers/linux/vfio_ccw.h

+ 10
- 5
include/standard-headers/drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h View File

@@ -57,7 +57,8 @@
57 57
 
58 58
 #define PVRDMA_ROCEV1_VERSION		17
59 59
 #define PVRDMA_ROCEV2_VERSION		18
60
-#define PVRDMA_VERSION			PVRDMA_ROCEV2_VERSION
60
+#define PVRDMA_PPN64_VERSION		19
61
+#define PVRDMA_VERSION			PVRDMA_PPN64_VERSION
61 62
 
62 63
 #define PVRDMA_BOARD_ID			1
63 64
 #define PVRDMA_REV_ID			1
@@ -279,8 +280,10 @@ struct pvrdma_device_shared_region {
279 280
 						/* W: Async ring page info. */
280 281
 	struct pvrdma_ring_page_info cq_ring_pages;
281 282
 						/* W: CQ ring page info. */
282
-	uint32_t uar_pfn;				/* W: UAR pageframe. */
283
-	uint32_t pad2;				/* Pad to 8-byte align. */
283
+	union {
284
+		uint32_t uar_pfn;			/* W: UAR pageframe. */
285
+		uint64_t uar_pfn64;			/* W: 64-bit UAR page frame. */
286
+	};
284 287
 	struct pvrdma_device_caps caps;		/* R: Device capabilities. */
285 288
 };
286 289
 
@@ -411,8 +414,10 @@ struct pvrdma_cmd_query_pkey_resp {
411 414
 
412 415
 struct pvrdma_cmd_create_uc {
413 416
 	struct pvrdma_cmd_hdr hdr;
414
-	uint32_t pfn; /* UAR page frame number */
415
-	uint8_t reserved[4];
417
+	union {
418
+		uint32_t pfn; /* UAR page frame number */
419
+		uint64_t pfn64; /* 64-bit UAR page frame number */
420
+	};
416 421
 };
417 422
 
418 423
 struct pvrdma_cmd_create_uc_resp {

+ 113
- 1
include/standard-headers/drm/drm_fourcc.h View File

@@ -143,6 +143,17 @@ extern "C" {
143 143
 #define DRM_FORMAT_RGBA1010102	fourcc_code('R', 'A', '3', '0') /* [31:0] R:G:B:A 10:10:10:2 little endian */
144 144
 #define DRM_FORMAT_BGRA1010102	fourcc_code('B', 'A', '3', '0') /* [31:0] B:G:R:A 10:10:10:2 little endian */
145 145
 
146
+/*
147
+ * Floating point 64bpp RGB
148
+ * IEEE 754-2008 binary16 half-precision float
149
+ * [15:0] sign:exponent:mantissa 1:5:10
150
+ */
151
+#define DRM_FORMAT_XRGB16161616F fourcc_code('X', 'R', '4', 'H') /* [63:0] x:R:G:B 16:16:16:16 little endian */
152
+#define DRM_FORMAT_XBGR16161616F fourcc_code('X', 'B', '4', 'H') /* [63:0] x:B:G:R 16:16:16:16 little endian */
153
+
154
+#define DRM_FORMAT_ARGB16161616F fourcc_code('A', 'R', '4', 'H') /* [63:0] A:R:G:B 16:16:16:16 little endian */
155
+#define DRM_FORMAT_ABGR16161616F fourcc_code('A', 'B', '4', 'H') /* [63:0] A:B:G:R 16:16:16:16 little endian */
156
+
146 157
 /* packed YCbCr */
147 158
 #define DRM_FORMAT_YUYV		fourcc_code('Y', 'U', 'Y', 'V') /* [31:0] Cr0:Y1:Cb0:Y0 8:8:8:8 little endian */
148 159
 #define DRM_FORMAT_YVYU		fourcc_code('Y', 'V', 'Y', 'U') /* [31:0] Cb0:Y1:Cr0:Y0 8:8:8:8 little endian */
@@ -150,7 +161,29 @@ extern "C" {
150 161
 #define DRM_FORMAT_VYUY		fourcc_code('V', 'Y', 'U', 'Y') /* [31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian */
151 162
 
152 163
 #define DRM_FORMAT_AYUV		fourcc_code('A', 'Y', 'U', 'V') /* [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */
153
-#define DRM_FORMAT_XYUV8888		fourcc_code('X', 'Y', 'U', 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */
164
+#define DRM_FORMAT_XYUV8888	fourcc_code('X', 'Y', 'U', 'V') /* [31:0] X:Y:Cb:Cr 8:8:8:8 little endian */
165
+#define DRM_FORMAT_VUY888	fourcc_code('V', 'U', '2', '4') /* [23:0] Cr:Cb:Y 8:8:8 little endian */
166
+#define DRM_FORMAT_VUY101010	fourcc_code('V', 'U', '3', '0') /* Y followed by U then V, 10:10:10. Non-linear modifier only */
167
+
168
+/*
169
+ * packed Y2xx indicate for each component, xx valid data occupy msb
170
+ * 16-xx padding occupy lsb
171
+ */
172
+#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 */
173
+#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 */
174
+#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 */
175
+
176
+/*
177
+ * packed Y4xx indicate for each component, xx valid data occupy msb
178
+ * 16-xx padding occupy lsb except Y410
179
+ */
180
+#define DRM_FORMAT_Y410         fourcc_code('Y', '4', '1', '0') /* [31:0] A:Cr:Y:Cb 2:10:10:10 little endian */
181
+#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 */
182
+#define DRM_FORMAT_Y416         fourcc_code('Y', '4', '1', '6') /* [63:0] A:Cr:Y:Cb 16:16:16:16 little endian */
183
+
184
+#define DRM_FORMAT_XVYU2101010	fourcc_code('X', 'V', '3', '0') /* [31:0] X:Cr:Y:Cb 2:10:10:10 little endian */
185
+#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 */
186
+#define DRM_FORMAT_XVYU16161616	fourcc_code('X', 'V', '4', '8') /* [63:0] X:Cr:Y:Cb 16:16:16:16 little endian */
154 187
 
155 188
 /*
156 189
  * packed YCbCr420 2x2 tiled formats
@@ -166,6 +199,15 @@ extern "C" {
166 199
 /* [63:0]   X3:X2:Y3:Cr0:Y2:X1:X0:Y1:Cb0:Y0  1:1:10:10:10:1:1:10:10:10 little endian */
167 200
 #define DRM_FORMAT_X0L2		fourcc_code('X', '0', 'L', '2')
168 201
 
202
+/*
203
+ * 1-plane YUV 4:2:0
204
+ * In these formats, the component ordering is specified (Y, followed by U
205
+ * then V), but the exact Linear layout is undefined.
206
+ * These formats can only be used with a non-Linear modifier.
207
+ */
208
+#define DRM_FORMAT_YUV420_8BIT	fourcc_code('Y', 'U', '0', '8')
209
+#define DRM_FORMAT_YUV420_10BIT	fourcc_code('Y', 'U', '1', '0')
210
+
169 211
 /*
170 212
  * 2 plane RGB + A
171 213
  * index 0 = RGB plane, same format as the corresponding non _A8 format has
@@ -194,6 +236,34 @@ extern "C" {
194 236
 #define DRM_FORMAT_NV24		fourcc_code('N', 'V', '2', '4') /* non-subsampled Cr:Cb plane */
195 237
 #define DRM_FORMAT_NV42		fourcc_code('N', 'V', '4', '2') /* non-subsampled Cb:Cr plane */
196 238
 
239
+/*
240
+ * 2 plane YCbCr MSB aligned
241
+ * index 0 = Y plane, [15:0] Y:x [10:6] little endian
242
+ * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [10:6:10:6] little endian
243
+ */
244
+#define DRM_FORMAT_P210		fourcc_code('P', '2', '1', '0') /* 2x1 subsampled Cr:Cb plane, 10 bit per channel */
245
+
246
+/*
247
+ * 2 plane YCbCr MSB aligned
248
+ * index 0 = Y plane, [15:0] Y:x [10:6] little endian
249
+ * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [10:6:10:6] little endian
250
+ */
251
+#define DRM_FORMAT_P010		fourcc_code('P', '0', '1', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel */
252
+
253
+/*
254
+ * 2 plane YCbCr MSB aligned
255
+ * index 0 = Y plane, [15:0] Y:x [12:4] little endian
256
+ * index 1 = Cr:Cb plane, [31:0] Cr:x:Cb:x [12:4:12:4] little endian
257
+ */
258
+#define DRM_FORMAT_P012		fourcc_code('P', '0', '1', '2') /* 2x2 subsampled Cr:Cb plane 12 bits per channel */
259
+
260
+/*
261
+ * 2 plane YCbCr MSB aligned
262
+ * index 0 = Y plane, [15:0] Y little endian
263
+ * index 1 = Cr:Cb plane, [31:0] Cr:Cb [16:16] little endian
264
+ */
265
+#define DRM_FORMAT_P016		fourcc_code('P', '0', '1', '6') /* 2x2 subsampled Cr:Cb plane 16 bits per channel */
266
+
197 267
 /*
198 268
  * 3 plane YCbCr
199 269
  * index 0: Y plane, [7:0] Y
@@ -237,6 +307,8 @@ extern "C" {
237 307
 #define DRM_FORMAT_MOD_VENDOR_VIVANTE 0x06
238 308
 #define DRM_FORMAT_MOD_VENDOR_BROADCOM 0x07
239 309
 #define DRM_FORMAT_MOD_VENDOR_ARM     0x08
310
+#define DRM_FORMAT_MOD_VENDOR_ALLWINNER 0x09
311
+
240 312
 /* add more to the end as needed */
241 313
 
242 314
 #define DRM_FORMAT_RESERVED	      ((1ULL << 56) - 1)
@@ -571,6 +643,9 @@ extern "C" {
571 643
  * AFBC has several features which may be supported and/or used, which are
572 644
  * represented using bits in the modifier. Not all combinations are valid,
573 645
  * and different devices or use-cases may support different combinations.
646
+ *
647
+ * Further information on the use of AFBC modifiers can be found in
648
+ * Documentation/gpu/afbc.rst
574 649
  */
575 650
 #define DRM_FORMAT_MOD_ARM_AFBC(__afbc_mode)	fourcc_mod_code(ARM, __afbc_mode)
576 651
 
@@ -580,10 +655,18 @@ extern "C" {
580 655
  * Indicates the superblock size(s) used for the AFBC buffer. The buffer
581 656
  * size (in pixels) must be aligned to a multiple of the superblock size.
582 657
  * Four lowest significant bits(LSBs) are reserved for block size.
658
+ *
659
+ * Where one superblock size is specified, it applies to all planes of the
660
+ * buffer (e.g. 16x16, 32x8). When multiple superblock sizes are specified,
661
+ * the first applies to the Luma plane and the second applies to the Chroma
662
+ * plane(s). e.g. (32x8_64x4 means 32x8 Luma, with 64x4 Chroma).
663
+ * Multiple superblock sizes are only valid for multi-plane YCbCr formats.
583 664
  */
584 665
 #define AFBC_FORMAT_MOD_BLOCK_SIZE_MASK      0xf
585 666
 #define AFBC_FORMAT_MOD_BLOCK_SIZE_16x16     (1ULL)
586 667
 #define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8      (2ULL)
668
+#define AFBC_FORMAT_MOD_BLOCK_SIZE_64x4      (3ULL)
669
+#define AFBC_FORMAT_MOD_BLOCK_SIZE_32x8_64x4 (4ULL)
587 670
 
588 671
 /*
589 672
  * AFBC lossless colorspace transform
@@ -643,6 +726,35 @@ extern "C" {
643 726
  */
644 727
 #define AFBC_FORMAT_MOD_SC      (1ULL <<  9)
645 728
 
729
+/*
730
+ * AFBC double-buffer
731
+ *
732
+ * Indicates that the buffer is allocated in a layout safe for front-buffer
733
+ * rendering.
734
+ */
735
+#define AFBC_FORMAT_MOD_DB      (1ULL << 10)
736
+
737
+/*
738
+ * AFBC buffer content hints
739
+ *
740
+ * Indicates that the buffer includes per-superblock content hints.
741
+ */
742
+#define AFBC_FORMAT_MOD_BCH     (1ULL << 11)
743
+
744
+/*
745
+ * Allwinner tiled modifier
746
+ *
747
+ * This tiling mode is implemented by the VPU found on all Allwinner platforms,
748
+ * codenamed sunxi. It is associated with a YUV format that uses either 2 or 3
749
+ * planes.
750
+ *
751
+ * With this tiling, the luminance samples are disposed in tiles representing
752
+ * 32x32 pixels and the chrominance samples in tiles representing 32x64 pixels.
753
+ * The pixel order in each tile is linear and the tiles are disposed linearly,
754
+ * both in row-major order.
755
+ */
756
+#define DRM_FORMAT_MOD_ALLWINNER_TILED fourcc_mod_code(ALLWINNER, 1)
757
+
646 758
 #if defined(__cplusplus)
647 759
 }
648 760
 #endif

+ 38
- 10
include/standard-headers/linux/ethtool.h View File

@@ -252,9 +252,17 @@ struct ethtool_tunable {
252 252
 #define DOWNSHIFT_DEV_DEFAULT_COUNT	0xff
253 253
 #define DOWNSHIFT_DEV_DISABLE		0
254 254
 
255
+/* Time in msecs after which link is reported as down
256
+ * 0 = lowest time supported by the PHY
257
+ * 0xff = off, link down detection according to standard
258
+ */
259
+#define ETHTOOL_PHY_FAST_LINK_DOWN_ON	0
260
+#define ETHTOOL_PHY_FAST_LINK_DOWN_OFF	0xff
261
+
255 262
 enum phy_tunable_id {
256 263
 	ETHTOOL_PHY_ID_UNSPEC,
257 264
 	ETHTOOL_PHY_DOWNSHIFT,
265
+	ETHTOOL_PHY_FAST_LINK_DOWN,
258 266
 	/*
259 267
 	 * Add your fresh new phy tunable attribute above and remember to update
260 268
 	 * phy_tunable_strings[] in net/core/ethtool.c
@@ -1432,6 +1440,13 @@ enum ethtool_link_mode_bit_indices {
1432 1440
 	ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT	= 29,
1433 1441
 	ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT	= 30,
1434 1442
 	ETHTOOL_LINK_MODE_25000baseCR_Full_BIT	= 31,
1443
+
1444
+	/* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
1445
+	 * 31. Please do NOT define any SUPPORTED_* or ADVERTISED_*
1446
+	 * macro for bits > 31. The only way to use indices > 31 is to
1447
+	 * use the new ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API.
1448
+	 */
1449
+
1435 1450
 	ETHTOOL_LINK_MODE_25000baseKR_Full_BIT	= 32,
1436 1451
 	ETHTOOL_LINK_MODE_25000baseSR_Full_BIT	= 33,
1437 1452
 	ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT	= 34,
@@ -1453,15 +1468,24 @@ enum ethtool_link_mode_bit_indices {
1453 1468
 	ETHTOOL_LINK_MODE_FEC_NONE_BIT	= 49,
1454 1469
 	ETHTOOL_LINK_MODE_FEC_RS_BIT	= 50,
1455 1470
 	ETHTOOL_LINK_MODE_FEC_BASER_BIT	= 51,
1456
-
1457
-	/* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
1458
-	 * 31. Please do NOT define any SUPPORTED_* or ADVERTISED_*
1459
-	 * macro for bits > 31. The only way to use indices > 31 is to
1460
-	 * use the new ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API.
1461
-	 */
1462
-
1463
-	__ETHTOOL_LINK_MODE_LAST
1464
-	  = ETHTOOL_LINK_MODE_FEC_BASER_BIT,
1471
+	ETHTOOL_LINK_MODE_50000baseKR_Full_BIT		 = 52,
1472
+	ETHTOOL_LINK_MODE_50000baseSR_Full_BIT		 = 53,
1473
+	ETHTOOL_LINK_MODE_50000baseCR_Full_BIT		 = 54,
1474
+	ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT	 = 55,
1475
+	ETHTOOL_LINK_MODE_50000baseDR_Full_BIT		 = 56,
1476
+	ETHTOOL_LINK_MODE_100000baseKR2_Full_BIT	 = 57,
1477
+	ETHTOOL_LINK_MODE_100000baseSR2_Full_BIT	 = 58,
1478
+	ETHTOOL_LINK_MODE_100000baseCR2_Full_BIT	 = 59,
1479
+	ETHTOOL_LINK_MODE_100000baseLR2_ER2_FR2_Full_BIT = 60,
1480
+	ETHTOOL_LINK_MODE_100000baseDR2_Full_BIT	 = 61,
1481
+	ETHTOOL_LINK_MODE_200000baseKR4_Full_BIT	 = 62,
1482
+	ETHTOOL_LINK_MODE_200000baseSR4_Full_BIT	 = 63,
1483
+	ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT = 64,
1484
+	ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT	 = 65,
1485
+	ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT	 = 66,
1486
+
1487
+	/* must be last entry */
1488
+	__ETHTOOL_LINK_MODE_MASK_NBITS
1465 1489
 };
1466 1490
 
1467 1491
 #define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name)	\
@@ -1569,12 +1593,13 @@ enum ethtool_link_mode_bit_indices {
1569 1593
 #define SPEED_50000		50000
1570 1594
 #define SPEED_56000		56000
1571 1595
 #define SPEED_100000		100000
1596
+#define SPEED_200000		200000
1572 1597
 
1573 1598
 #define SPEED_UNKNOWN		-1
1574 1599
 
1575 1600
 static inline int ethtool_validate_speed(uint32_t speed)
1576 1601
 {
1577
-	return speed <= INT_MAX || speed == SPEED_UNKNOWN;
1602
+	return speed <= INT_MAX || speed == (uint32_t)SPEED_UNKNOWN;
1578 1603
 }
1579 1604
 
1580 1605
 /* Duplex, half or full. */
@@ -1687,6 +1712,9 @@ static inline int ethtool_validate_duplex(uint8_t duplex)
1687 1712
 #define ETH_MODULE_SFF_8436		0x4
1688 1713
 #define ETH_MODULE_SFF_8436_LEN		256
1689 1714
 
1715
+#define ETH_MODULE_SFF_8636_MAX_LEN     640
1716
+#define ETH_MODULE_SFF_8436_MAX_LEN     640
1717
+
1690 1718
 /* Reset flags */
1691 1719
 /* The reset() operation must clear the flags for the components which
1692 1720
  * were actually reset.  On successful return, the flags indicate the

+ 7
- 2
include/standard-headers/linux/input-event-codes.h View File

@@ -439,10 +439,12 @@
439 439
 #define KEY_TITLE		0x171
440 440
 #define KEY_SUBTITLE		0x172
441 441
 #define KEY_ANGLE		0x173
442
-#define KEY_ZOOM		0x174
442
+#define KEY_FULL_SCREEN		0x174	/* AC View Toggle */
443
+#define KEY_ZOOM		KEY_FULL_SCREEN
443 444
 #define KEY_MODE		0x175
444 445
 #define KEY_KEYBOARD		0x176
445
-#define KEY_SCREEN		0x177
446
+#define KEY_ASPECT_RATIO	0x177	/* HUTRR37: Aspect */
447
+#define KEY_SCREEN		KEY_ASPECT_RATIO
446 448
 #define KEY_PC			0x178	/* Media Select Computer */
447 449
 #define KEY_TV			0x179	/* Media Select TV */
448 450
 #define KEY_TV2			0x17a	/* Media Select Cable */
@@ -604,6 +606,7 @@
604 606
 #define KEY_SCREENSAVER		0x245	/* AL Screen Saver */
605 607
 #define KEY_VOICECOMMAND		0x246	/* Listening Voice Command */
606 608
 #define KEY_ASSISTANT		0x247	/* AL Context-aware desktop assistant */
609
+#define KEY_KBD_LAYOUT_NEXT	0x248	/* AC Next Keyboard Layout Select */
607 610
 
608 611
 #define KEY_BRIGHTNESS_MIN		0x250	/* Set Brightness to Minimum */
609 612
 #define KEY_BRIGHTNESS_MAX		0x251	/* Set Brightness to Maximum */
@@ -716,6 +719,8 @@
716 719
  * the situation described above.
717 720
  */
718 721
 #define REL_RESERVED		0x0a
722
+#define REL_WHEEL_HI_RES	0x0b
723
+#define REL_HWHEEL_HI_RES	0x0c
719 724
 #define REL_MAX			0x0f
720 725
 #define REL_CNT			(REL_MAX+1)
721 726
 

+ 5
- 1
include/standard-headers/linux/input.h View File

@@ -23,13 +23,17 @@
23 23
  */
24 24
 
25 25
 struct input_event {
26
-#if (HOST_LONG_BITS != 32 || !defined(__USE_TIME_BITS64)) && !defined(__KERNEL)
26
+#if (HOST_LONG_BITS != 32 || !defined(__USE_TIME_BITS64)) && !defined(__KERNEL__)
27 27
 	struct timeval time;
28 28
 #define input_event_sec time.tv_sec
29 29
 #define input_event_usec time.tv_usec
30 30
 #else
31 31
 	unsigned long __sec;
32
+#if defined(__sparc__) && defined(__arch64__)
33
+	unsigned int __usec;
34
+#else
32 35
 	unsigned long __usec;
36
+#endif
33 37
 #define input_event_sec  __sec
34 38
 #define input_event_usec __usec
35 39
 #endif

+ 73
- 67
include/standard-headers/linux/pci_regs.h View File

@@ -1,7 +1,5 @@
1 1
 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 2
 /*
3
- *	pci_regs.h
4
- *
5 3
  *	PCI standard defines
6 4
  *	Copyright 1994, Drew Eckhardt
7 5
  *	Copyright 1997--1999 Martin Mares <mj@ucw.cz>
@@ -15,7 +13,7 @@
15 13
  *	PCI System Design Guide
16 14
  *
17 15
  *	For HyperTransport information, please consult the following manuals
18
- *	from http://www.hypertransport.org
16
+ *	from http://www.hypertransport.org :
19 17
  *
20 18
  *	The HyperTransport I/O Link Specification
21 19
  */
@@ -301,7 +299,7 @@
301 299
 #define  PCI_SID_ESR_FIC	0x20	/* First In Chassis Flag */
302 300
 #define PCI_SID_CHASSIS_NR	3	/* Chassis Number */
303 301
 
304
-/* Message Signalled Interrupts registers */
302
+/* Message Signalled Interrupt registers */
305 303
 
306 304
 #define PCI_MSI_FLAGS		2	/* Message Control */
307 305
 #define  PCI_MSI_FLAGS_ENABLE	0x0001	/* MSI feature enabled */
@@ -319,7 +317,7 @@
319 317
 #define PCI_MSI_MASK_64		16	/* Mask bits register for 64-bit devices */
320 318
 #define PCI_MSI_PENDING_64	20	/* Pending intrs for 64-bit devices */
321 319
 
322
-/* MSI-X registers */
320
+/* MSI-X registers (in MSI-X capability) */
323 321
 #define PCI_MSIX_FLAGS		2	/* Message Control */
324 322
 #define  PCI_MSIX_FLAGS_QSIZE	0x07FF	/* Table size */
325 323
 #define  PCI_MSIX_FLAGS_MASKALL	0x4000	/* Mask all vectors for this function */
@@ -333,13 +331,13 @@
333 331
 #define PCI_MSIX_FLAGS_BIRMASK	PCI_MSIX_PBA_BIR /* deprecated */
334 332
 #define PCI_CAP_MSIX_SIZEOF	12	/* size of MSIX registers */
335 333
 
336
-/* MSI-X Table entry format */
334
+/* MSI-X Table entry format (in memory mapped by a BAR) */
337 335
 #define PCI_MSIX_ENTRY_SIZE		16
338
-#define  PCI_MSIX_ENTRY_LOWER_ADDR	0
339
-#define  PCI_MSIX_ENTRY_UPPER_ADDR	4
340
-#define  PCI_MSIX_ENTRY_DATA		8
341
-#define  PCI_MSIX_ENTRY_VECTOR_CTRL	12
342
-#define   PCI_MSIX_ENTRY_CTRL_MASKBIT	1
336
+#define PCI_MSIX_ENTRY_LOWER_ADDR	0  /* Message Address */
337
+#define PCI_MSIX_ENTRY_UPPER_ADDR	4  /* Message Upper Address */
338
+#define PCI_MSIX_ENTRY_DATA		8  /* Message Data */
339
+#define PCI_MSIX_ENTRY_VECTOR_CTRL	12 /* Vector Control */
340
+#define  PCI_MSIX_ENTRY_CTRL_MASKBIT	0x00000001
343 341
 
344 342
 /* CompactPCI Hotswap Register */
345 343
 
@@ -372,6 +370,12 @@
372 370
 #define PCI_EA_FIRST_ENT_BRIDGE	8	/* First EA Entry for Bridges */
373 371
 #define  PCI_EA_ES		0x00000007 /* Entry Size */
374 372
 #define  PCI_EA_BEI		0x000000f0 /* BAR Equivalent Indicator */
373
+
374
+/* EA fixed Secondary and Subordinate bus numbers for Bridge */
375
+#define PCI_EA_SEC_BUS_MASK	0xff
376
+#define PCI_EA_SUB_BUS_MASK	0xff00
377
+#define PCI_EA_SUB_BUS_SHIFT	8
378
+
375 379
 /* 0-5 map to BARs 0-5 respectively */
376 380
 #define   PCI_EA_BEI_BAR0		0
377 381
 #define   PCI_EA_BEI_BAR5		5
@@ -465,19 +469,19 @@
465 469
 /* PCI Express capability registers */
466 470
 
467 471
 #define PCI_EXP_FLAGS		2	/* Capabilities register */
468
-#define PCI_EXP_FLAGS_VERS	0x000f	/* Capability version */
469
-#define PCI_EXP_FLAGS_TYPE	0x00f0	/* Device/Port type */
470
-#define  PCI_EXP_TYPE_ENDPOINT	0x0	/* Express Endpoint */
471
-#define  PCI_EXP_TYPE_LEG_END	0x1	/* Legacy Endpoint */
472
-#define  PCI_EXP_TYPE_ROOT_PORT 0x4	/* Root Port */
473
-#define  PCI_EXP_TYPE_UPSTREAM	0x5	/* Upstream Port */
474
-#define  PCI_EXP_TYPE_DOWNSTREAM 0x6	/* Downstream Port */
475
-#define  PCI_EXP_TYPE_PCI_BRIDGE 0x7	/* PCIe to PCI/PCI-X Bridge */
476
-#define  PCI_EXP_TYPE_PCIE_BRIDGE 0x8	/* PCI/PCI-X to PCIe Bridge */
477
-#define  PCI_EXP_TYPE_RC_END	0x9	/* Root Complex Integrated Endpoint */
478
-#define  PCI_EXP_TYPE_RC_EC	0xa	/* Root Complex Event Collector */
479
-#define PCI_EXP_FLAGS_SLOT	0x0100	/* Slot implemented */
480
-#define PCI_EXP_FLAGS_IRQ	0x3e00	/* Interrupt message number */
472
+#define  PCI_EXP_FLAGS_VERS	0x000f	/* Capability version */
473
+#define  PCI_EXP_FLAGS_TYPE	0x00f0	/* Device/Port type */
474
+#define   PCI_EXP_TYPE_ENDPOINT	   0x0	/* Express Endpoint */
475
+#define   PCI_EXP_TYPE_LEG_END	   0x1	/* Legacy Endpoint */
476
+#define   PCI_EXP_TYPE_ROOT_PORT   0x4	/* Root Port */
477
+#define   PCI_EXP_TYPE_UPSTREAM	   0x5	/* Upstream Port */
478
+#define   PCI_EXP_TYPE_DOWNSTREAM  0x6	/* Downstream Port */
479
+#define   PCI_EXP_TYPE_PCI_BRIDGE  0x7	/* PCIe to PCI/PCI-X Bridge */
480
+#define   PCI_EXP_TYPE_PCIE_BRIDGE 0x8	/* PCI/PCI-X to PCIe Bridge */
481
+#define   PCI_EXP_TYPE_RC_END	   0x9	/* Root Complex Integrated Endpoint */
482
+#define   PCI_EXP_TYPE_RC_EC	   0xa	/* Root Complex Event Collector */
483
+#define  PCI_EXP_FLAGS_SLOT	0x0100	/* Slot implemented */
484
+#define  PCI_EXP_FLAGS_IRQ	0x3e00	/* Interrupt message number */
481 485
 #define PCI_EXP_DEVCAP		4	/* Device capabilities */
482 486
 #define  PCI_EXP_DEVCAP_PAYLOAD	0x00000007 /* Max_Payload_Size */
483 487
 #define  PCI_EXP_DEVCAP_PHANTOM	0x00000018 /* Phantom functions */
@@ -616,8 +620,8 @@
616 620
 #define PCI_EXP_RTCAP		30	/* Root Capabilities */
617 621
 #define  PCI_EXP_RTCAP_CRSVIS	0x0001	/* CRS Software Visibility capability */
618 622
 #define PCI_EXP_RTSTA		32	/* Root Status */
619
-#define PCI_EXP_RTSTA_PME	0x00010000 /* PME status */
620
-#define PCI_EXP_RTSTA_PENDING	0x00020000 /* PME pending */
623
+#define  PCI_EXP_RTSTA_PME	0x00010000 /* PME status */
624
+#define  PCI_EXP_RTSTA_PENDING	0x00020000 /* PME pending */
621 625
 /*
622 626
  * The Device Capabilities 2, Device Status 2, Device Control 2,
623 627
  * Link Capabilities 2, Link Status 2, Link Control 2,
@@ -637,13 +641,13 @@
637 641
 #define  PCI_EXP_DEVCAP2_OBFF_MASK	0x000c0000 /* OBFF support mechanism */
638 642
 #define  PCI_EXP_DEVCAP2_OBFF_MSG	0x00040000 /* New message signaling */
639 643
 #define  PCI_EXP_DEVCAP2_OBFF_WAKE	0x00080000 /* Re-use WAKE# for OBFF */
640
-#define PCI_EXP_DEVCAP2_EE_PREFIX	0x00200000 /* End-End TLP Prefix */
644
+#define  PCI_EXP_DEVCAP2_EE_PREFIX	0x00200000 /* End-End TLP Prefix */
641 645
 #define PCI_EXP_DEVCTL2		40	/* Device Control 2 */
642 646
 #define  PCI_EXP_DEVCTL2_COMP_TIMEOUT	0x000f	/* Completion Timeout Value */
643 647
 #define  PCI_EXP_DEVCTL2_COMP_TMOUT_DIS	0x0010	/* Completion Timeout Disable */
644 648
 #define  PCI_EXP_DEVCTL2_ARI		0x0020	/* Alternative Routing-ID */
645
-#define PCI_EXP_DEVCTL2_ATOMIC_REQ	0x0040	/* Set Atomic requests */
646
-#define PCI_EXP_DEVCTL2_ATOMIC_EGRESS_BLOCK 0x0080 /* Block atomic egress */
649
+#define  PCI_EXP_DEVCTL2_ATOMIC_REQ	0x0040	/* Set Atomic requests */
650
+#define  PCI_EXP_DEVCTL2_ATOMIC_EGRESS_BLOCK 0x0080 /* Block atomic egress */
647 651
 #define  PCI_EXP_DEVCTL2_IDO_REQ_EN	0x0100	/* Allow IDO for requests */
648 652
 #define  PCI_EXP_DEVCTL2_IDO_CMP_EN	0x0200	/* Allow IDO for completions */
649 653
 #define  PCI_EXP_DEVCTL2_LTR_EN		0x0400	/* Enable LTR mechanism */
@@ -659,11 +663,11 @@
659 663
 #define  PCI_EXP_LNKCAP2_SLS_16_0GB	0x00000010 /* Supported Speed 16GT/s */
660 664
 #define  PCI_EXP_LNKCAP2_CROSSLINK	0x00000100 /* Crosslink supported */
661 665
 #define PCI_EXP_LNKCTL2		48	/* Link Control 2 */
662
-#define PCI_EXP_LNKCTL2_TLS		0x000f
663
-#define PCI_EXP_LNKCTL2_TLS_2_5GT	0x0001 /* Supported Speed 2.5GT/s */
664
-#define PCI_EXP_LNKCTL2_TLS_5_0GT	0x0002 /* Supported Speed 5GT/s */
665
-#define PCI_EXP_LNKCTL2_TLS_8_0GT	0x0003 /* Supported Speed 8GT/s */
666
-#define PCI_EXP_LNKCTL2_TLS_16_0GT	0x0004 /* Supported Speed 16GT/s */
666
+#define  PCI_EXP_LNKCTL2_TLS		0x000f
667
+#define  PCI_EXP_LNKCTL2_TLS_2_5GT	0x0001 /* Supported Speed 2.5GT/s */
668
+#define  PCI_EXP_LNKCTL2_TLS_5_0GT	0x0002 /* Supported Speed 5GT/s */
669
+#define  PCI_EXP_LNKCTL2_TLS_8_0GT	0x0003 /* Supported Speed 8GT/s */
670
+#define  PCI_EXP_LNKCTL2_TLS_16_0GT	0x0004 /* Supported Speed 16GT/s */
667 671
 #define PCI_EXP_LNKSTA2		50	/* Link Status 2 */
668 672
 #define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2	52	/* v2 endpoints with link end here */
669 673
 #define PCI_EXP_SLTCAP2		52	/* Slot Capabilities 2 */
@@ -752,18 +756,18 @@
752 756
 #define  PCI_ERR_CAP_ECRC_CHKE	0x00000100	/* ECRC Check Enable */
753 757
 #define PCI_ERR_HEADER_LOG	28	/* Header Log Register (16 bytes) */
754 758
 #define PCI_ERR_ROOT_COMMAND	44	/* Root Error Command */
755
-#define PCI_ERR_ROOT_CMD_COR_EN		0x00000001 /* Correctable Err Reporting Enable */
756
-#define PCI_ERR_ROOT_CMD_NONFATAL_EN	0x00000002 /* Non-Fatal Err Reporting Enable */
757
-#define PCI_ERR_ROOT_CMD_FATAL_EN	0x00000004 /* Fatal Err Reporting Enable */
759
+#define  PCI_ERR_ROOT_CMD_COR_EN	0x00000001 /* Correctable Err Reporting Enable */
760
+#define  PCI_ERR_ROOT_CMD_NONFATAL_EN	0x00000002 /* Non-Fatal Err Reporting Enable */
761
+#define  PCI_ERR_ROOT_CMD_FATAL_EN	0x00000004 /* Fatal Err Reporting Enable */
758 762
 #define PCI_ERR_ROOT_STATUS	48
759
-#define PCI_ERR_ROOT_COR_RCV		0x00000001 /* ERR_COR Received */
760
-#define PCI_ERR_ROOT_MULTI_COR_RCV	0x00000002 /* Multiple ERR_COR */
761
-#define PCI_ERR_ROOT_UNCOR_RCV		0x00000004 /* ERR_FATAL/NONFATAL */
762
-#define PCI_ERR_ROOT_MULTI_UNCOR_RCV	0x00000008 /* Multiple FATAL/NONFATAL */
763
-#define PCI_ERR_ROOT_FIRST_FATAL	0x00000010 /* First UNC is Fatal */
764
-#define PCI_ERR_ROOT_NONFATAL_RCV	0x00000020 /* Non-Fatal Received */
765
-#define PCI_ERR_ROOT_FATAL_RCV		0x00000040 /* Fatal Received */
766
-#define PCI_ERR_ROOT_AER_IRQ		0xf8000000 /* Advanced Error Interrupt Message Number */
763
+#define  PCI_ERR_ROOT_COR_RCV		0x00000001 /* ERR_COR Received */
764
+#define  PCI_ERR_ROOT_MULTI_COR_RCV	0x00000002 /* Multiple ERR_COR */
765
+#define  PCI_ERR_ROOT_UNCOR_RCV		0x00000004 /* ERR_FATAL/NONFATAL */
766
+#define  PCI_ERR_ROOT_MULTI_UNCOR_RCV	0x00000008 /* Multiple FATAL/NONFATAL */
767
+#define  PCI_ERR_ROOT_FIRST_FATAL	0x00000010 /* First UNC is Fatal */
768
+#define  PCI_ERR_ROOT_NONFATAL_RCV	0x00000020 /* Non-Fatal Received */
769
+#define  PCI_ERR_ROOT_FATAL_RCV		0x00000040 /* Fatal Received */
770
+#define  PCI_ERR_ROOT_AER_IRQ		0xf8000000 /* Advanced Error Interrupt Message Number */
767 771
 #define PCI_ERR_ROOT_ERR_SRC	52	/* Error Source Identification */
768 772
 
769 773
 /* Virtual Channel */
@@ -866,6 +870,7 @@
866 870
 #define PCI_ATS_CAP		0x04	/* ATS Capability Register */
867 871
 #define  PCI_ATS_CAP_QDEP(x)	((x) & 0x1f)	/* Invalidate Queue Depth */
868 872
 #define  PCI_ATS_MAX_QDEP	32	/* Max Invalidate Queue Depth */
873
+#define  PCI_ATS_CAP_PAGE_ALIGNED	0x0020 /* Page Aligned Request */
869 874
 #define PCI_ATS_CTRL		0x06	/* ATS Control Register */
870 875
 #define  PCI_ATS_CTRL_ENABLE	0x8000	/* ATS Enable */
871 876
 #define  PCI_ATS_CTRL_STU(x)	((x) & 0x1f)	/* Smallest Translation Unit */
@@ -874,12 +879,13 @@
874 879
 
875 880
 /* Page Request Interface */
876 881
 #define PCI_PRI_CTRL		0x04	/* PRI control register */
877
-#define  PCI_PRI_CTRL_ENABLE	0x01	/* Enable */
878
-#define  PCI_PRI_CTRL_RESET	0x02	/* Reset */
882
+#define  PCI_PRI_CTRL_ENABLE	0x0001	/* Enable */
883
+#define  PCI_PRI_CTRL_RESET	0x0002	/* Reset */
879 884
 #define PCI_PRI_STATUS		0x06	/* PRI status register */
880
-#define  PCI_PRI_STATUS_RF	0x001	/* Response Failure */
881
-#define  PCI_PRI_STATUS_UPRGI	0x002	/* Unexpected PRG index */
882
-#define  PCI_PRI_STATUS_STOPPED	0x100	/* PRI Stopped */
885
+#define  PCI_PRI_STATUS_RF	0x0001	/* Response Failure */
886
+#define  PCI_PRI_STATUS_UPRGI	0x0002	/* Unexpected PRG index */
887
+#define  PCI_PRI_STATUS_STOPPED	0x0100	/* PRI Stopped */
888
+#define  PCI_PRI_STATUS_PASID	0x8000	/* PRG Response PASID Required */
883 889
 #define PCI_PRI_MAX_REQ		0x08	/* PRI max reqs supported */
884 890
 #define PCI_PRI_ALLOC_REQ	0x0c	/* PRI max reqs allowed */
885 891
 #define PCI_EXT_CAP_PRI_SIZEOF	16
@@ -896,16 +902,16 @@
896 902
 
897 903
 /* Single Root I/O Virtualization */
898 904
 #define PCI_SRIOV_CAP		0x04	/* SR-IOV Capabilities */
899
-#define  PCI_SRIOV_CAP_VFM	0x01	/* VF Migration Capable */
905
+#define  PCI_SRIOV_CAP_VFM	0x00000001  /* VF Migration Capable */
900 906
 #define  PCI_SRIOV_CAP_INTR(x)	((x) >> 21) /* Interrupt Message Number */
901 907
 #define PCI_SRIOV_CTRL		0x08	/* SR-IOV Control */
902
-#define  PCI_SRIOV_CTRL_VFE	0x01	/* VF Enable */
903
-#define  PCI_SRIOV_CTRL_VFM	0x02	/* VF Migration Enable */
904
-#define  PCI_SRIOV_CTRL_INTR	0x04	/* VF Migration Interrupt Enable */
905
-#define  PCI_SRIOV_CTRL_MSE	0x08	/* VF Memory Space Enable */
906
-#define  PCI_SRIOV_CTRL_ARI	0x10	/* ARI Capable Hierarchy */
908
+#define  PCI_SRIOV_CTRL_VFE	0x0001	/* VF Enable */
909
+#define  PCI_SRIOV_CTRL_VFM	0x0002	/* VF Migration Enable */
910
+#define  PCI_SRIOV_CTRL_INTR	0x0004	/* VF Migration Interrupt Enable */
911
+#define  PCI_SRIOV_CTRL_MSE	0x0008	/* VF Memory Space Enable */
912
+#define  PCI_SRIOV_CTRL_ARI	0x0010	/* ARI Capable Hierarchy */
907 913
 #define PCI_SRIOV_STATUS	0x0a	/* SR-IOV Status */
908
-#define  PCI_SRIOV_STATUS_VFM	0x01	/* VF Migration Status */
914
+#define  PCI_SRIOV_STATUS_VFM	0x0001	/* VF Migration Status */
909 915
 #define PCI_SRIOV_INITIAL_VF	0x0c	/* Initial VFs */
910 916
 #define PCI_SRIOV_TOTAL_VF	0x0e	/* Total VFs */
911 917
 #define PCI_SRIOV_NUM_VF	0x10	/* Number of VFs */
@@ -935,13 +941,13 @@
935 941
 
936 942
 /* Access Control Service */
937 943
 #define PCI_ACS_CAP		0x04	/* ACS Capability Register */
938
-#define  PCI_ACS_SV		0x01	/* Source Validation */
939
-#define  PCI_ACS_TB		0x02	/* Translation Blocking */
940
-#define  PCI_ACS_RR		0x04	/* P2P Request Redirect */
941
-#define  PCI_ACS_CR		0x08	/* P2P Completion Redirect */
942
-#define  PCI_ACS_UF		0x10	/* Upstream Forwarding */
943
-#define  PCI_ACS_EC		0x20	/* P2P Egress Control */
944
-#define  PCI_ACS_DT		0x40	/* Direct Translated P2P */
944
+#define  PCI_ACS_SV		0x0001	/* Source Validation */
945
+#define  PCI_ACS_TB		0x0002	/* Translation Blocking */
946
+#define  PCI_ACS_RR		0x0004	/* P2P Request Redirect */
947
+#define  PCI_ACS_CR		0x0008	/* P2P Completion Redirect */
948
+#define  PCI_ACS_UF		0x0010	/* Upstream Forwarding */
949
+#define  PCI_ACS_EC		0x0020	/* P2P Egress Control */
950
+#define  PCI_ACS_DT		0x0040	/* Direct Translated P2P */
945 951
 #define PCI_ACS_EGRESS_BITS	0x05	/* ACS Egress Control Vector Size */
946 952
 #define PCI_ACS_CTRL		0x06	/* ACS Control Register */
947 953
 #define PCI_ACS_EGRESS_CTL_V	0x08	/* ACS Egress Control Vector */
@@ -991,9 +997,9 @@
991 997
 #define  PCI_EXP_DPC_CAP_DL_ACTIVE	0x1000	/* ERR_COR signal on DL_Active supported */
992 998
 
993 999
 #define PCI_EXP_DPC_CTL			6	/* DPC control */
994
-#define  PCI_EXP_DPC_CTL_EN_FATAL 	0x0001	/* Enable trigger on ERR_FATAL message */
995
-#define  PCI_EXP_DPC_CTL_EN_NONFATAL 	0x0002	/* Enable trigger on ERR_NONFATAL message */
996
-#define  PCI_EXP_DPC_CTL_INT_EN 	0x0008	/* DPC Interrupt Enable */
1000
+#define  PCI_EXP_DPC_CTL_EN_FATAL	0x0001	/* Enable trigger on ERR_FATAL message */
1001
+#define  PCI_EXP_DPC_CTL_EN_NONFATAL	0x0002	/* Enable trigger on ERR_NONFATAL message */
1002
+#define  PCI_EXP_DPC_CTL_INT_EN		0x0008	/* DPC Interrupt Enable */
997 1003
 
998 1004
 #define PCI_EXP_DPC_STATUS		8	/* DPC Status */
999 1005
 #define  PCI_EXP_DPC_STATUS_TRIGGER	    0x0001 /* Trigger Status */

+ 6
- 0
include/standard-headers/linux/virtio_config.h View File

@@ -78,6 +78,12 @@
78 78
 /* This feature indicates support for the packed virtqueue layout. */
79 79
 #define VIRTIO_F_RING_PACKED		34
80 80
 
81
+/*
82
+ * This feature indicates that memory accesses by the driver and the
83
+ * device are ordered in a way described by the platform.
84
+ */
85
+#define VIRTIO_F_ORDER_PLATFORM		36
86
+
81 87
 /*
82 88
  * Does the device support Single Root I/O Virtualization?
83 89
  */

+ 10
- 2
include/standard-headers/linux/virtio_gpu.h View File

@@ -40,8 +40,16 @@
40 40
 
41 41
 #include "standard-headers/linux/types.h"
42 42
 
43
-#define VIRTIO_GPU_F_VIRGL 0
44
-#define VIRTIO_GPU_F_EDID  1
43
+/*
44
+ * VIRTIO_GPU_CMD_CTX_*
45
+ * VIRTIO_GPU_CMD_*_3D
46
+ */
47
+#define VIRTIO_GPU_F_VIRGL               0
48
+
49
+/*
50
+ * VIRTIO_GPU_CMD_GET_EDID
51
+ */
52
+#define VIRTIO_GPU_F_EDID                1
45 53
 
46 54
 enum virtio_gpu_ctrl_type {
47 55
 	VIRTIO_GPU_UNDEFINED = 0,

+ 0
- 10
include/standard-headers/linux/virtio_ring.h View File

@@ -211,14 +211,4 @@ struct vring_packed_desc {
211 211
 	uint16_t flags;
212 212
 };
213 213
 
214
-struct vring_packed {
215
-	unsigned int num;
216
-
217
-	struct vring_packed_desc *desc;
218
-
219
-	struct vring_packed_desc_event *driver;
220
-
221
-	struct vring_packed_desc_event *device;
222
-};
223
-
224 214
 #endif /* _LINUX_VIRTIO_RING_H */

+ 1
- 0
include/standard-headers/rdma/vmw_pvrdma-abi.h View File

@@ -78,6 +78,7 @@ enum pvrdma_wr_opcode {
78 78
 	PVRDMA_WR_MASKED_ATOMIC_FETCH_AND_ADD,
79 79
 	PVRDMA_WR_BIND_MW,
80 80
 	PVRDMA_WR_REG_SIG_MR,
81
+	PVRDMA_WR_ERROR,
81 82
 };
82 83
 
83 84
 enum pvrdma_wc_status {

+ 32
- 0
linux-headers/asm-arm/unistd-common.h View File

@@ -356,5 +356,37 @@
356 356
 #define __NR_statx (__NR_SYSCALL_BASE + 397)
357 357
 #define __NR_rseq (__NR_SYSCALL_BASE + 398)
358 358
 #define __NR_io_pgetevents (__NR_SYSCALL_BASE + 399)
359
+#define __NR_migrate_pages (__NR_SYSCALL_BASE + 400)
360
+#define __NR_kexec_file_load (__NR_SYSCALL_BASE + 401)
361
+#define __NR_clock_gettime64 (__NR_SYSCALL_BASE + 403)
362
+#define __NR_clock_settime64 (__NR_SYSCALL_BASE + 404)
363
+#define __NR_clock_adjtime64 (__NR_SYSCALL_BASE + 405)
364
+#define __NR_clock_getres_time64 (__NR_SYSCALL_BASE + 406)
365
+#define __NR_clock_nanosleep_time64 (__NR_SYSCALL_BASE + 407)
366
+#define __NR_timer_gettime64 (__NR_SYSCALL_BASE + 408)
367
+#define __NR_timer_settime64 (__NR_SYSCALL_BASE + 409)
368
+#define __NR_timerfd_gettime64 (__NR_SYSCALL_BASE + 410)
369
+#define __NR_timerfd_settime64 (__NR_SYSCALL_BASE + 411)
370
+#define __NR_utimensat_time64 (__NR_SYSCALL_BASE + 412)
371
+#define __NR_pselect6_time64 (__NR_SYSCALL_BASE + 413)
372
+#define __NR_ppoll_time64 (__NR_SYSCALL_BASE + 414)
373
+#define __NR_io_pgetevents_time64 (__NR_SYSCALL_BASE + 416)
374
+#define __NR_recvmmsg_time64 (__NR_SYSCALL_BASE + 417)
375
+#define __NR_mq_timedsend_time64 (__NR_SYSCALL_BASE + 418)
376
+#define __NR_mq_timedreceive_time64 (__NR_SYSCALL_BASE + 419)
377
+#define __NR_semtimedop_time64 (__NR_SYSCALL_BASE + 420)
378
+#define __NR_rt_sigtimedwait_time64 (__NR_SYSCALL_BASE + 421)
379
+#define __NR_futex_time64 (__NR_SYSCALL_BASE + 422)
380
+#define __NR_sched_rr_get_interval_time64 (__NR_SYSCALL_BASE + 423)
381
+#define __NR_pidfd_send_signal (__NR_SYSCALL_BASE + 424)
382
+#define __NR_io_uring_setup (__NR_SYSCALL_BASE + 425)
383
+#define __NR_io_uring_enter (__NR_SYSCALL_BASE + 426)
384
+#define __NR_io_uring_register (__NR_SYSCALL_BASE + 427)
385
+#define __NR_open_tree (__NR_SYSCALL_BASE + 428)
386
+#define __NR_move_mount (__NR_SYSCALL_BASE + 429)
387
+#define __NR_fsopen (__NR_SYSCALL_BASE + 430)
388
+#define __NR_fsconfig (__NR_SYSCALL_BASE + 431)
389
+#define __NR_fsmount (__NR_SYSCALL_BASE + 432)
390
+#define __NR_fspick (__NR_SYSCALL_BASE + 433)
359 391
 
360 392
 #endif /* _ASM_ARM_UNISTD_COMMON_H */

+ 43
- 0
linux-headers/asm-arm64/kvm.h View File

@@ -35,6 +35,7 @@
35 35
 #include <linux/psci.h>
36 36
 #include <linux/types.h>
37 37
 #include <asm/ptrace.h>
38
+#include <asm/sve_context.h>
38 39
 
39 40
 #define __KVM_HAVE_GUEST_DEBUG
40 41
 #define __KVM_HAVE_IRQ_LINE
@@ -102,6 +103,9 @@ struct kvm_regs {
102 103
 #define KVM_ARM_VCPU_EL1_32BIT		1 /* CPU running a 32bit VM */
103 104
 #define KVM_ARM_VCPU_PSCI_0_2		2 /* CPU uses PSCI v0.2 */
104 105
 #define KVM_ARM_VCPU_PMU_V3		3 /* Support guest PMUv3 */
106
+#define KVM_ARM_VCPU_SVE		4 /* enable SVE for this CPU */
107
+#define KVM_ARM_VCPU_PTRAUTH_ADDRESS	5 /* VCPU uses address authentication */
108
+#define KVM_ARM_VCPU_PTRAUTH_GENERIC	6 /* VCPU uses generic authentication */
105 109
 
106 110
 struct kvm_vcpu_init {
107 111
 	__u32 target;
@@ -226,6 +230,45 @@ struct kvm_vcpu_events {
226 230
 					 KVM_REG_ARM_FW | ((r) & 0xffff))
227 231
 #define KVM_REG_ARM_PSCI_VERSION	KVM_REG_ARM_FW_REG(0)
228 232
 
233
+/* SVE registers */
234
+#define KVM_REG_ARM64_SVE		(0x15 << KVM_REG_ARM_COPROC_SHIFT)
235
+
236
+/* Z- and P-regs occupy blocks at the following offsets within this range: */
237
+#define KVM_REG_ARM64_SVE_ZREG_BASE	0
238
+#define KVM_REG_ARM64_SVE_PREG_BASE	0x400
239
+#define KVM_REG_ARM64_SVE_FFR_BASE	0x600
240
+
241
+#define KVM_ARM64_SVE_NUM_ZREGS		__SVE_NUM_ZREGS
242
+#define KVM_ARM64_SVE_NUM_PREGS		__SVE_NUM_PREGS
243
+
244
+#define KVM_ARM64_SVE_MAX_SLICES	32
245
+
246
+#define KVM_REG_ARM64_SVE_ZREG(n, i)					\
247
+	(KVM_REG_ARM64 | KVM_REG_ARM64_SVE | KVM_REG_ARM64_SVE_ZREG_BASE | \
248
+	 KVM_REG_SIZE_U2048 |						\
249
+	 (((n) & (KVM_ARM64_SVE_NUM_ZREGS - 1)) << 5) |			\
250
+	 ((i) & (KVM_ARM64_SVE_MAX_SLICES - 1)))
251
+
252
+#define KVM_REG_ARM64_SVE_PREG(n, i)					\
253
+	(KVM_REG_ARM64 | KVM_REG_ARM64_SVE | KVM_REG_ARM64_SVE_PREG_BASE | \
254
+	 KVM_REG_SIZE_U256 |						\
255
+	 (((n) & (KVM_ARM64_SVE_NUM_PREGS - 1)) << 5) |			\
256
+	 ((i) & (KVM_ARM64_SVE_MAX_SLICES - 1)))
257
+
258
+#define KVM_REG_ARM64_SVE_FFR(i)					\
259
+	(KVM_REG_ARM64 | KVM_REG_ARM64_SVE | KVM_REG_ARM64_SVE_FFR_BASE | \
260
+	 KVM_REG_SIZE_U256 |						\
261
+	 ((i) & (KVM_ARM64_SVE_MAX_SLICES - 1)))
262
+
263
+#define KVM_ARM64_SVE_VQ_MIN __SVE_VQ_MIN
264
+#define KVM_ARM64_SVE_VQ_MAX __SVE_VQ_MAX
265
+
266
+/* Vector lengths pseudo-register: */
267
+#define KVM_REG_ARM64_SVE_VLS		(KVM_REG_ARM64 | KVM_REG_ARM64_SVE | \
268
+					 KVM_REG_SIZE_U512 | 0xffff)
269
+#define KVM_ARM64_SVE_VLS_WORDS	\
270
+	((KVM_ARM64_SVE_VQ_MAX - KVM_ARM64_SVE_VQ_MIN) / 64 + 1)
271
+
229 272
 /* Device Control API: ARM VGIC */
230 273
 #define KVM_DEV_ARM_VGIC_GRP_ADDR	0
231 274
 #define KVM_DEV_ARM_VGIC_GRP_DIST_REGS	1

+ 53
- 0
linux-headers/asm-arm64/sve_context.h View File

@@ -0,0 +1,53 @@
1
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2
+/* Copyright (C) 2017-2018 ARM Limited */
3
+
4
+/*
5
+ * For use by other UAPI headers only.
6
+ * Do not make direct use of header or its definitions.
7
+ */
8
+
9
+#ifndef __ASM_SVE_CONTEXT_H
10
+#define __ASM_SVE_CONTEXT_H
11
+
12
+#include <linux/types.h>
13
+
14
+#define __SVE_VQ_BYTES		16	/* number of bytes per quadword */
15
+
16
+#define __SVE_VQ_MIN		1
17
+#define __SVE_VQ_MAX		512
18
+
19
+#define __SVE_VL_MIN		(__SVE_VQ_MIN * __SVE_VQ_BYTES)
20
+#define __SVE_VL_MAX		(__SVE_VQ_MAX * __SVE_VQ_BYTES)
21
+
22
+#define __SVE_NUM_ZREGS		32
23
+#define __SVE_NUM_PREGS		16
24
+
25
+#define __sve_vl_valid(vl)			\
26
+	((vl) % __SVE_VQ_BYTES == 0 &&		\
27
+	 (vl) >= __SVE_VL_MIN &&		\
28
+	 (vl) <= __SVE_VL_MAX)
29
+
30
+#define __sve_vq_from_vl(vl)	((vl) / __SVE_VQ_BYTES)
31
+#define __sve_vl_from_vq(vq)	((vq) * __SVE_VQ_BYTES)
32
+
33
+#define __SVE_ZREG_SIZE(vq)	((__u32)(vq) * __SVE_VQ_BYTES)
34
+#define __SVE_PREG_SIZE(vq)	((__u32)(vq) * (__SVE_VQ_BYTES / 8))
35
+#define __SVE_FFR_SIZE(vq)	__SVE_PREG_SIZE(vq)
36
+
37
+#define __SVE_ZREGS_OFFSET	0
38
+#define __SVE_ZREG_OFFSET(vq, n) \
39
+	(__SVE_ZREGS_OFFSET + __SVE_ZREG_SIZE(vq) * (n))
40
+#define __SVE_ZREGS_SIZE(vq) \
41
+	(__SVE_ZREG_OFFSET(vq, __SVE_NUM_ZREGS) - __SVE_ZREGS_OFFSET)
42
+
43
+#define __SVE_PREGS_OFFSET(vq) \
44
+	(__SVE_ZREGS_OFFSET + __SVE_ZREGS_SIZE(vq))
45
+#define __SVE_PREG_OFFSET(vq, n) \
46
+	(__SVE_PREGS_OFFSET(vq) + __SVE_PREG_SIZE(vq) * (n))
47
+#define __SVE_PREGS_SIZE(vq) \
48
+	(__SVE_PREG_OFFSET(vq, __SVE_NUM_PREGS) - __SVE_PREGS_OFFSET(vq))
49
+
50
+#define __SVE_FFR_OFFSET(vq) \
51
+	(__SVE_PREGS_OFFSET(vq) + __SVE_PREGS_SIZE(vq))
52
+
53
+#endif /* ! _UAPI__ASM_SVE_CONTEXT_H */

+ 2
- 0
linux-headers/asm-arm64/unistd.h View File

@@ -17,5 +17,7 @@
17 17
 
18 18
 #define __ARCH_WANT_RENAMEAT
19 19
 #define __ARCH_WANT_NEW_STAT
20
+#define __ARCH_WANT_SET_GET_RLIMIT
21
+#define __ARCH_WANT_TIME32_SYSCALLS
20 22
 
21 23
 #include <asm-generic/unistd.h>

+ 1
- 3
linux-headers/asm-generic/mman-common.h View File

@@ -15,9 +15,7 @@
15 15
 #define PROT_GROWSDOWN	0x01000000	/* mprotect flag: extend change to start of growsdown vma */
16 16
 #define PROT_GROWSUP	0x02000000	/* mprotect flag: extend change to end of growsup vma */
17 17
 
18
-#define MAP_SHARED	0x01		/* Share changes */
19
-#define MAP_PRIVATE	0x02		/* Changes are private */
20
-#define MAP_SHARED_VALIDATE 0x03	/* share + validate extension flags */
18
+/* 0x01 - 0x03 are defined in linux/mman.h */
21 19
 #define MAP_TYPE	0x0f		/* Mask for type of mapping */
22 20
 #define MAP_FIXED	0x10		/* Interpret addr exactly */
23 21
 #define MAP_ANONYMOUS	0x20		/* don't use a file */

+ 137
- 33
linux-headers/asm-generic/unistd.h View File

@@ -38,8 +38,10 @@ __SYSCALL(__NR_io_destroy, sys_io_destroy)
38 38
 __SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit)
39 39
 #define __NR_io_cancel 3
40 40
 __SYSCALL(__NR_io_cancel, sys_io_cancel)
41
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
41 42
 #define __NR_io_getevents 4
42
-__SC_COMP(__NR_io_getevents, sys_io_getevents, compat_sys_io_getevents)
43
+__SC_3264(__NR_io_getevents, sys_io_getevents_time32, sys_io_getevents)
44
+#endif
43 45
 
44 46
 /* fs/xattr.c */
45 47
 #define __NR_setxattr 5
@@ -179,7 +181,7 @@ __SYSCALL(__NR_fchownat, sys_fchownat)
179 181
 #define __NR_fchown 55
180 182
 __SYSCALL(__NR_fchown, sys_fchown)
181 183
 #define __NR_openat 56
182
-__SC_COMP(__NR_openat, sys_openat, compat_sys_openat)
184
+__SYSCALL(__NR_openat, sys_openat)
183 185
 #define __NR_close 57
184 186
 __SYSCALL(__NR_close, sys_close)
185 187
 #define __NR_vhangup 58
@@ -222,10 +224,12 @@ __SC_COMP(__NR_pwritev, sys_pwritev, compat_sys_pwritev)
222 224
 __SYSCALL(__NR3264_sendfile, sys_sendfile64)
223 225
 
224 226
 /* fs/select.c */
227
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
225 228
 #define __NR_pselect6 72
226
-__SC_COMP(__NR_pselect6, sys_pselect6, compat_sys_pselect6)
229
+__SC_COMP_3264(__NR_pselect6, sys_pselect6_time32, sys_pselect6, compat_sys_pselect6_time32)
227 230
 #define __NR_ppoll 73
228
-__SC_COMP(__NR_ppoll, sys_ppoll, compat_sys_ppoll)
231
+__SC_COMP_3264(__NR_ppoll, sys_ppoll_time32, sys_ppoll, compat_sys_ppoll_time32)
232
+#endif
229 233
 
230 234
 /* fs/signalfd.c */
231 235
 #define __NR_signalfd4 74
@@ -269,16 +273,20 @@ __SC_COMP(__NR_sync_file_range, sys_sync_file_range, \
269 273
 /* fs/timerfd.c */
270 274
 #define __NR_timerfd_create 85
271 275
 __SYSCALL(__NR_timerfd_create, sys_timerfd_create)
276
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
272 277
 #define __NR_timerfd_settime 86
273
-__SC_COMP(__NR_timerfd_settime, sys_timerfd_settime, \
274
-	  compat_sys_timerfd_settime)
278
+__SC_3264(__NR_timerfd_settime, sys_timerfd_settime32, \
279
+	  sys_timerfd_settime)
275 280
 #define __NR_timerfd_gettime 87
276
-__SC_COMP(__NR_timerfd_gettime, sys_timerfd_gettime, \
277
-	  compat_sys_timerfd_gettime)
281
+__SC_3264(__NR_timerfd_gettime, sys_timerfd_gettime32, \
282
+	  sys_timerfd_gettime)
283
+#endif
278 284
 
279 285
 /* fs/utimes.c */
286
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
280 287
 #define __NR_utimensat 88
281
-__SC_COMP(__NR_utimensat, sys_utimensat, compat_sys_utimensat)
288
+__SC_3264(__NR_utimensat, sys_utimensat_time32, sys_utimensat)
289
+#endif
282 290
 
283 291
 /* kernel/acct.c */
284 292
 #define __NR_acct 89
@@ -309,8 +317,10 @@ __SYSCALL(__NR_set_tid_address, sys_set_tid_address)
309 317
 __SYSCALL(__NR_unshare, sys_unshare)
310 318
 
311 319
 /* kernel/futex.c */
320
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
312 321
 #define __NR_futex 98
313
-__SC_COMP(__NR_futex, sys_futex, compat_sys_futex)
322
+__SC_3264(__NR_futex, sys_futex_time32, sys_futex)
323
+#endif
314 324
 #define __NR_set_robust_list 99
315 325
 __SC_COMP(__NR_set_robust_list, sys_set_robust_list, \
316 326
 	  compat_sys_set_robust_list)
@@ -319,8 +329,10 @@ __SC_COMP(__NR_get_robust_list, sys_get_robust_list, \
319 329
 	  compat_sys_get_robust_list)
320 330
 
321 331
 /* kernel/hrtimer.c */
332
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
322 333
 #define __NR_nanosleep 101
323
-__SC_COMP(__NR_nanosleep, sys_nanosleep, compat_sys_nanosleep)
334
+__SC_3264(__NR_nanosleep, sys_nanosleep_time32, sys_nanosleep)
335
+#endif
324 336
 
325 337
 /* kernel/itimer.c */
326 338
 #define __NR_getitimer 102
@@ -341,23 +353,29 @@ __SYSCALL(__NR_delete_module, sys_delete_module)
341 353
 /* kernel/posix-timers.c */
342 354
 #define __NR_timer_create 107
343 355
 __SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create)
356
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
344 357
 #define __NR_timer_gettime 108
345
-__SC_COMP(__NR_timer_gettime, sys_timer_gettime, compat_sys_timer_gettime)
358
+__SC_3264(__NR_timer_gettime, sys_timer_gettime32, sys_timer_gettime)
359
+#endif
346 360
 #define __NR_timer_getoverrun 109
347 361
 __SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun)
362
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
348 363
 #define __NR_timer_settime 110
349
-__SC_COMP(__NR_timer_settime, sys_timer_settime, compat_sys_timer_settime)
364
+__SC_3264(__NR_timer_settime, sys_timer_settime32, sys_timer_settime)
365
+#endif
350 366
 #define __NR_timer_delete 111
351 367
 __SYSCALL(__NR_timer_delete, sys_timer_delete)
368
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
352 369
 #define __NR_clock_settime 112
353
-__SC_COMP(__NR_clock_settime, sys_clock_settime, compat_sys_clock_settime)
370
+__SC_3264(__NR_clock_settime, sys_clock_settime32, sys_clock_settime)
354 371
 #define __NR_clock_gettime 113
355
-__SC_COMP(__NR_clock_gettime, sys_clock_gettime, compat_sys_clock_gettime)
372
+__SC_3264(__NR_clock_gettime, sys_clock_gettime32, sys_clock_gettime)
356 373
 #define __NR_clock_getres 114
357
-__SC_COMP(__NR_clock_getres, sys_clock_getres, compat_sys_clock_getres)
374
+__SC_3264(__NR_clock_getres, sys_clock_getres_time32, sys_clock_getres)
358 375
 #define __NR_clock_nanosleep 115
359
-__SC_COMP(__NR_clock_nanosleep, sys_clock_nanosleep, \
360
-	  compat_sys_clock_nanosleep)
376
+__SC_3264(__NR_clock_nanosleep, sys_clock_nanosleep_time32, \
377
+	  sys_clock_nanosleep)
378
+#endif
361 379
 
362 380
 /* kernel/printk.c */
363 381
 #define __NR_syslog 116
@@ -388,9 +406,11 @@ __SYSCALL(__NR_sched_yield, sys_sched_yield)
388 406
 __SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max)
389 407
 #define __NR_sched_get_priority_min 126
390 408
 __SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min)
409
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
391 410
 #define __NR_sched_rr_get_interval 127
392
-__SC_COMP(__NR_sched_rr_get_interval, sys_sched_rr_get_interval, \
393
-	  compat_sys_sched_rr_get_interval)
411
+__SC_3264(__NR_sched_rr_get_interval, sys_sched_rr_get_interval_time32, \
412
+	  sys_sched_rr_get_interval)
413
+#endif
394 414
 
395 415
 /* kernel/signal.c */
396 416
 #define __NR_restart_syscall 128
@@ -411,9 +431,11 @@ __SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction)
411 431
 __SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask)
412 432
 #define __NR_rt_sigpending 136
413 433
 __SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending)
434
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
414 435
 #define __NR_rt_sigtimedwait 137
415
-__SC_COMP(__NR_rt_sigtimedwait, sys_rt_sigtimedwait, \
416
-	  compat_sys_rt_sigtimedwait)
436
+__SC_COMP_3264(__NR_rt_sigtimedwait, sys_rt_sigtimedwait_time32, \
437
+	  sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time32)
438
+#endif
417 439
 #define __NR_rt_sigqueueinfo 138
418 440
 __SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \
419 441
 	  compat_sys_rt_sigqueueinfo)
@@ -467,10 +489,15 @@ __SYSCALL(__NR_uname, sys_newuname)
467 489
 __SYSCALL(__NR_sethostname, sys_sethostname)
468 490
 #define __NR_setdomainname 162
469 491
 __SYSCALL(__NR_setdomainname, sys_setdomainname)
492
+
493
+#ifdef __ARCH_WANT_SET_GET_RLIMIT
494
+/* getrlimit and setrlimit are superseded with prlimit64 */
470 495
 #define __NR_getrlimit 163
471 496
 __SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit)
472 497
 #define __NR_setrlimit 164
473 498
 __SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit)
499
+#endif
500
+
474 501
 #define __NR_getrusage 165
475 502
 __SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage)
476 503
 #define __NR_umask 166
@@ -481,12 +508,14 @@ __SYSCALL(__NR_prctl, sys_prctl)
481 508
 __SYSCALL(__NR_getcpu, sys_getcpu)
482 509
 
483 510
 /* kernel/time.c */
511
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
484 512
 #define __NR_gettimeofday 169
485 513
 __SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday)
486 514
 #define __NR_settimeofday 170
487 515
 __SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday)
488 516
 #define __NR_adjtimex 171
489
-__SC_COMP(__NR_adjtimex, sys_adjtimex, compat_sys_adjtimex)
517
+__SC_3264(__NR_adjtimex, sys_adjtimex_time32, sys_adjtimex)
518
+#endif
490 519
 
491 520
 /* kernel/timer.c */
492 521
 #define __NR_getpid 172
@@ -511,11 +540,13 @@ __SC_COMP(__NR_sysinfo, sys_sysinfo, compat_sys_sysinfo)
511 540
 __SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open)
512 541
 #define __NR_mq_unlink 181
513 542
 __SYSCALL(__NR_mq_unlink, sys_mq_unlink)
543
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
514 544
 #define __NR_mq_timedsend 182
515
-__SC_COMP(__NR_mq_timedsend, sys_mq_timedsend, compat_sys_mq_timedsend)
545
+__SC_3264(__NR_mq_timedsend, sys_mq_timedsend_time32, sys_mq_timedsend)
516 546
 #define __NR_mq_timedreceive 183
517
-__SC_COMP(__NR_mq_timedreceive, sys_mq_timedreceive, \
518
-	  compat_sys_mq_timedreceive)
547
+__SC_3264(__NR_mq_timedreceive, sys_mq_timedreceive_time32, \
548
+	  sys_mq_timedreceive)
549
+#endif
519 550
 #define __NR_mq_notify 184
520 551
 __SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify)
521 552
 #define __NR_mq_getsetattr 185
@@ -536,8 +567,10 @@ __SC_COMP(__NR_msgsnd, sys_msgsnd, compat_sys_msgsnd)
536 567
 __SYSCALL(__NR_semget, sys_semget)
537 568
 #define __NR_semctl 191
538 569
 __SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)
570
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
539 571
 #define __NR_semtimedop 192
540
-__SC_COMP(__NR_semtimedop, sys_semtimedop, compat_sys_semtimedop)
572
+__SC_COMP(__NR_semtimedop, sys_semtimedop, sys_semtimedop_time32)
573
+#endif
541 574
 #define __NR_semop 193
542 575
 __SYSCALL(__NR_semop, sys_semop)
543 576
 
@@ -658,8 +691,10 @@ __SC_COMP(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo, \
658 691
 __SYSCALL(__NR_perf_event_open, sys_perf_event_open)
659 692
 #define __NR_accept4 242
660 693
 __SYSCALL(__NR_accept4, sys_accept4)
694
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
661 695
 #define __NR_recvmmsg 243
662
-__SC_COMP(__NR_recvmmsg, sys_recvmmsg, compat_sys_recvmmsg)
696
+__SC_COMP_3264(__NR_recvmmsg, sys_recvmmsg_time32, sys_recvmmsg, compat_sys_recvmmsg_time32)
697
+#endif
663 698
 
664 699
 /*
665 700
  * Architectures may provide up to 16 syscalls of their own
@@ -667,8 +702,10 @@ __SC_COMP(__NR_recvmmsg, sys_recvmmsg, compat_sys_recvmmsg)
667 702
  */
668 703
 #define __NR_arch_specific_syscall 244
669 704
 
705
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
670 706
 #define __NR_wait4 260
671 707
 __SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4)
708
+#endif
672 709
 #define __NR_prlimit64 261
673 710
 __SYSCALL(__NR_prlimit64, sys_prlimit64)
674 711
 #define __NR_fanotify_init 262
@@ -678,10 +715,11 @@ __SYSCALL(__NR_fanotify_mark, sys_fanotify_mark)
678 715
 #define __NR_name_to_handle_at         264
679 716
 __SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at)
680 717
 #define __NR_open_by_handle_at         265
681
-__SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \
682
-	  compat_sys_open_by_handle_at)
718
+__SYSCALL(__NR_open_by_handle_at, sys_open_by_handle_at)
719
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
683 720
 #define __NR_clock_adjtime 266
684
-__SC_COMP(__NR_clock_adjtime, sys_clock_adjtime, compat_sys_clock_adjtime)
721
+__SC_3264(__NR_clock_adjtime, sys_clock_adjtime32, sys_clock_adjtime)
722
+#endif
685 723
 #define __NR_syncfs 267
686 724
 __SYSCALL(__NR_syncfs, sys_syncfs)
687 725
 #define __NR_setns 268
@@ -734,15 +772,81 @@ __SYSCALL(__NR_pkey_alloc,    sys_pkey_alloc)
734 772
 __SYSCALL(__NR_pkey_free,     sys_pkey_free)
735 773
 #define __NR_statx 291
736 774
 __SYSCALL(__NR_statx,     sys_statx)
775
+#if defined(__ARCH_WANT_TIME32_SYSCALLS) || __BITS_PER_LONG != 32
737 776
 #define __NR_io_pgetevents 292
738
-__SC_COMP(__NR_io_pgetevents, sys_io_pgetevents, compat_sys_io_pgetevents)
777
+__SC_COMP_3264(__NR_io_pgetevents, sys_io_pgetevents_time32, sys_io_pgetevents, compat_sys_io_pgetevents)
778
+#endif
739 779
 #define __NR_rseq 293
740 780
 __SYSCALL(__NR_rseq, sys_rseq)
741 781
 #define __NR_kexec_file_load 294
742 782
 __SYSCALL(__NR_kexec_file_load,     sys_kexec_file_load)
783
+/* 295 through 402 are unassigned to sync up with generic numbers, don't use */
784
+#if __BITS_PER_LONG == 32
785
+#define __NR_clock_gettime64 403
786
+__SYSCALL(__NR_clock_gettime64, sys_clock_gettime)
787
+#define __NR_clock_settime64 404
788
+__SYSCALL(__NR_clock_settime64, sys_clock_settime)
789
+#define __NR_clock_adjtime64 405
790
+__SYSCALL(__NR_clock_adjtime64, sys_clock_adjtime)
791
+#define __NR_clock_getres_time64 406
792
+__SYSCALL(__NR_clock_getres_time64, sys_clock_getres)
793
+#define __NR_clock_nanosleep_time64 407
794
+__SYSCALL(__NR_clock_nanosleep_time64, sys_clock_nanosleep)
795
+#define __NR_timer_gettime64 408
796
+__SYSCALL(__NR_timer_gettime64, sys_timer_gettime)
797
+#define __NR_timer_settime64 409
798
+__SYSCALL(__NR_timer_settime64, sys_timer_settime)
799
+#define __NR_timerfd_gettime64 410
800
+__SYSCALL(__NR_timerfd_gettime64, sys_timerfd_gettime)
801
+#define __NR_timerfd_settime64 411
802
+__SYSCALL(__NR_timerfd_settime64, sys_timerfd_settime)
803
+#define __NR_utimensat_time64 412
804
+__SYSCALL(__NR_utimensat_time64, sys_utimensat)
805
+#define __NR_pselect6_time64 413
806
+__SC_COMP(__NR_pselect6_time64, sys_pselect6, compat_sys_pselect6_time64)
807
+#define __NR_ppoll_time64 414
808
+__SC_COMP(__NR_ppoll_time64, sys_ppoll, compat_sys_ppoll_time64)
809
+#define __NR_io_pgetevents_time64 416
810
+__SYSCALL(__NR_io_pgetevents_time64, sys_io_pgetevents)
811
+#define __NR_recvmmsg_time64 417
812
+__SC_COMP(__NR_recvmmsg_time64, sys_recvmmsg, compat_sys_recvmmsg_time64)
813
+#define __NR_mq_timedsend_time64 418
814
+__SYSCALL(__NR_mq_timedsend_time64, sys_mq_timedsend)
815
+#define __NR_mq_timedreceive_time64 419
816
+__SYSCALL(__NR_mq_timedreceive_time64, sys_mq_timedreceive)
817
+#define __NR_semtimedop_time64 420
818
+__SYSCALL(__NR_semtimedop_time64, sys_semtimedop)
819
+#define __NR_rt_sigtimedwait_time64 421
820
+__SC_COMP(__NR_rt_sigtimedwait_time64, sys_rt_sigtimedwait, compat_sys_rt_sigtimedwait_time64)
821
+#define __NR_futex_time64 422
822
+__SYSCALL(__NR_futex_time64, sys_futex)
823
+#define __NR_sched_rr_get_interval_time64 423
824
+__SYSCALL(__NR_sched_rr_get_interval_time64, sys_sched_rr_get_interval)
825
+#endif
826
+
827
+#define __NR_pidfd_send_signal 424
828
+__SYSCALL(__NR_pidfd_send_signal, sys_pidfd_send_signal)
829
+#define __NR_io_uring_setup 425
830
+__SYSCALL(__NR_io_uring_setup, sys_io_uring_setup)
831
+#define __NR_io_uring_enter 426
832
+__SYSCALL(__NR_io_uring_enter, sys_io_uring_enter)
833
+#define __NR_io_uring_register 427
834
+__SYSCALL(__NR_io_uring_register, sys_io_uring_register)
835
+#define __NR_open_tree 428
836
+__SYSCALL(__NR_open_tree, sys_open_tree)
837
+#define __NR_move_mount 429
838
+__SYSCALL(__NR_move_mount, sys_move_mount)
839
+#define __NR_fsopen 430
840
+__SYSCALL(__NR_fsopen, sys_fsopen)
841
+#define __NR_fsconfig 431
842
+__SYSCALL(__NR_fsconfig, sys_fsconfig)
843
+#define __NR_fsmount 432
844
+__SYSCALL(__NR_fsmount, sys_fsmount)
845
+#define __NR_fspick 433
846
+__SYSCALL(__NR_fspick, sys_fspick)
743 847
 
744 848
 #undef __NR_syscalls
745
-#define __NR_syscalls 295
849
+#define __NR_syscalls 434
746 850
 
747 851
 /*
748 852
  * 32 bit systems traditionally used different

+ 1
- 3
linux-headers/asm-mips/mman.h View File

@@ -27,9 +27,7 @@
27 27
 /*
28 28
  * Flags for mmap
29 29
  */
30
-#define MAP_SHARED	0x001		/* Share changes */
31
-#define MAP_PRIVATE	0x002		/* Changes are private */
32
-#define MAP_SHARED_VALIDATE 0x003	/* share + validate extension flags */
30
+/* 0x01 - 0x03 are defined in linux/mman.h */
33 31
 #define MAP_TYPE	0x00f		/* Mask for type of mapping */
34 32
 #define MAP_FIXED	0x010		/* Interpret addr exactly */
35 33
 

+ 30
- 0
linux-headers/asm-mips/unistd_n32.h View File

@@ -333,6 +333,36 @@
333 333
 #define __NR_statx	(__NR_Linux + 330)
334 334
 #define __NR_rseq	(__NR_Linux + 331)
335 335
 #define __NR_io_pgetevents	(__NR_Linux + 332)
336
+#define __NR_clock_gettime64	(__NR_Linux + 403)
337
+#define __NR_clock_settime64	(__NR_Linux + 404)
338
+#define __NR_clock_adjtime64	(__NR_Linux + 405)
339
+#define __NR_clock_getres_time64	(__NR_Linux + 406)
340
+#define __NR_clock_nanosleep_time64	(__NR_Linux + 407)
341
+#define __NR_timer_gettime64	(__NR_Linux + 408)
342
+#define __NR_timer_settime64	(__NR_Linux + 409)
343
+#define __NR_timerfd_gettime64	(__NR_Linux + 410)
344
+#define __NR_timerfd_settime64	(__NR_Linux + 411)
345
+#define __NR_utimensat_time64	(__NR_Linux + 412)
346
+#define __NR_pselect6_time64	(__NR_Linux + 413)
347
+#define __NR_ppoll_time64	(__NR_Linux + 414)
348
+#define __NR_io_pgetevents_time64	(__NR_Linux + 416)
349
+#define __NR_recvmmsg_time64	(__NR_Linux + 417)
350
+#define __NR_mq_timedsend_time64	(__NR_Linux + 418)
351
+#define __NR_mq_timedreceive_time64	(__NR_Linux + 419)
352
+#define __NR_semtimedop_time64	(__NR_Linux + 420)
353
+#define __NR_rt_sigtimedwait_time64	(__NR_Linux + 421)
354
+#define __NR_futex_time64	(__NR_Linux + 422)
355
+#define __NR_sched_rr_get_interval_time64	(__NR_Linux + 423)
356
+#define __NR_pidfd_send_signal	(__NR_Linux + 424)
357
+#define __NR_io_uring_setup	(__NR_Linux + 425)
358
+#define __NR_io_uring_enter	(__NR_Linux + 426)
359
+#define __NR_io_uring_register	(__NR_Linux + 427)
360
+#define __NR_open_tree	(__NR_Linux + 428)
361
+#define __NR_move_mount	(__NR_Linux + 429)
362
+#define __NR_fsopen	(__NR_Linux + 430)
363
+#define __NR_fsconfig	(__NR_Linux + 431)
364
+#define __NR_fsmount	(__NR_Linux + 432)
365
+#define __NR_fspick	(__NR_Linux + 433)
336 366
 
337 367
 
338 368
 #endif /* _ASM_MIPS_UNISTD_N32_H */

+ 10
- 0
linux-headers/asm-mips/unistd_n64.h View File

@@ -329,6 +329,16 @@
329 329
 #define __NR_statx	(__NR_Linux + 326)
330 330
 #define __NR_rseq	(__NR_Linux + 327)
331 331
 #define __NR_io_pgetevents	(__NR_Linux + 328)
332
+#define __NR_pidfd_send_signal	(__NR_Linux + 424)
333
+#define __NR_io_uring_setup	(__NR_Linux + 425)
334
+#define __NR_io_uring_enter	(__NR_Linux + 426)
335
+#define __NR_io_uring_register	(__NR_Linux + 427)
336
+#define __NR_open_tree	(__NR_Linux + 428)
337
+#define __NR_move_mount	(__NR_Linux + 429)
338
+#define __NR_fsopen	(__NR_Linux + 430)
339
+#define __NR_fsconfig	(__NR_Linux + 431)
340
+#define __NR_fsmount	(__NR_Linux + 432)
341
+#define __NR_fspick	(__NR_Linux + 433)
332 342
 
333 343
 
334 344
 #endif /* _ASM_MIPS_UNISTD_N64_H */

+ 40
- 0
linux-headers/asm-mips/unistd_o32.h View File

@@ -369,6 +369,46 @@
369 369
 #define __NR_statx	(__NR_Linux + 366)
370 370
 #define __NR_rseq	(__NR_Linux + 367)
371 371
 #define __NR_io_pgetevents	(__NR_Linux + 368)
372
+#define __NR_semget	(__NR_Linux + 393)
373
+#define __NR_semctl	(__NR_Linux + 394)
374
+#define __NR_shmget	(__NR_Linux + 395)
375
+#define __NR_shmctl	(__NR_Linux + 396)
376
+#define __NR_shmat	(__NR_Linux + 397)
377
+#define __NR_shmdt	(__NR_Linux + 398)
378
+#define __NR_msgget	(__NR_Linux + 399)
379
+#define __NR_msgsnd	(__NR_Linux + 400)
380
+#define __NR_msgrcv	(__NR_Linux + 401)
381
+#define __NR_msgctl	(__NR_Linux + 402)
382
+#define __NR_clock_gettime64	(__NR_Linux + 403)
383
+#define __NR_clock_settime64	(__NR_Linux + 404)
384
+#define __NR_clock_adjtime64	(__NR_Linux + 405)
385
+#define __NR_clock_getres_time64	(__NR_Linux + 406)
386
+#define __NR_clock_nanosleep_time64	(__NR_Linux + 407)
387
+#define __NR_timer_gettime64	(__NR_Linux + 408)
388
+#define __NR_timer_settime64	(__NR_Linux + 409)
389
+#define __NR_timerfd_gettime64	(__NR_Linux + 410)
390
+#define __NR_timerfd_settime64	(__NR_Linux + 411)
391
+#define __NR_utimensat_time64	(__NR_Linux + 412)
392
+#define __NR_pselect6_time64	(__NR_Linux + 413)
393
+#define __NR_ppoll_time64	(__NR_Linux + 414)
394
+#define __NR_io_pgetevents_time64	(__NR_Linux + 416)
395
+#define __NR_recvmmsg_time64	(__NR_Linux + 417)
396
+#define __NR_mq_timedsend_time64	(__NR_Linux + 418)
397
+#define __NR_mq_timedreceive_time64	(__NR_Linux + 419)
398
+#define __NR_semtimedop_time64	(__NR_Linux + 420)
399
+#define __NR_rt_sigtimedwait_time64	(__NR_Linux + 421)
400
+#define __NR_futex_time64	(__NR_Linux + 422)
401
+#define __NR_sched_rr_get_interval_time64	(__NR_Linux + 423)
402
+#define __NR_pidfd_send_signal	(__NR_Linux + 424)
403
+#define __NR_io_uring_setup	(__NR_Linux + 425)
404
+#define __NR_io_uring_enter	(__NR_Linux + 426)
405
+#define __NR_io_uring_register	(__NR_Linux + 427)
406
+#define __NR_open_tree	(__NR_Linux + 428)
407
+#define __NR_move_mount	(__NR_Linux + 429)
408
+#define __NR_fsopen	(__NR_Linux + 430)
409
+#define __NR_fsconfig	(__NR_Linux + 431)
410
+#define __NR_fsmount	(__NR_Linux + 432)
411
+#define __NR_fspick	(__NR_Linux + 433)
372 412
 
373 413
 
374 414
 #endif /* _ASM_MIPS_UNISTD_O32_H */

+ 48
- 0
linux-headers/asm-powerpc/kvm.h View File

@@ -463,10 +463,12 @@ struct kvm_ppc_cpu_char {
463 463
 #define KVM_PPC_CPU_CHAR_BR_HINT_HONOURED	(1ULL << 58)
464 464
 #define KVM_PPC_CPU_CHAR_MTTRIG_THR_RECONF	(1ULL << 57)
465 465
 #define KVM_PPC_CPU_CHAR_COUNT_CACHE_DIS	(1ULL << 56)
466
+#define KVM_PPC_CPU_CHAR_BCCTR_FLUSH_ASSIST	(1ull << 54)
466 467
 
467 468
 #define KVM_PPC_CPU_BEHAV_FAVOUR_SECURITY	(1ULL << 63)
468 469
 #define KVM_PPC_CPU_BEHAV_L1D_FLUSH_PR		(1ULL << 62)
469 470
 #define KVM_PPC_CPU_BEHAV_BNDS_CHK_SPEC_BAR	(1ULL << 61)
471
+#define KVM_PPC_CPU_BEHAV_FLUSH_COUNT_CACHE	(1ull << 58)
470 472
 
471 473
 /* Per-vcpu XICS interrupt controller state */
472 474
 #define KVM_REG_PPC_ICP_STATE	(KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x8c)
@@ -480,6 +482,8 @@ struct kvm_ppc_cpu_char {
480 482
 #define  KVM_REG_PPC_ICP_PPRI_SHIFT	16	/* pending irq priority */
481 483
 #define  KVM_REG_PPC_ICP_PPRI_MASK	0xff
482 484
 
485
+#define KVM_REG_PPC_VP_STATE	(KVM_REG_PPC | KVM_REG_SIZE_U128 | 0x8d)
486
+
483 487
 /* Device control API: PPC-specific devices */
484 488
 #define KVM_DEV_MPIC_GRP_MISC		1
485 489
 #define   KVM_DEV_MPIC_BASE_ADDR	0	/* 64-bit */
@@ -675,4 +679,48 @@ struct kvm_ppc_cpu_char {
675 679
 #define  KVM_XICS_PRESENTED		(1ULL << 43)
676 680
 #define  KVM_XICS_QUEUED		(1ULL << 44)
677 681
 
682
+/* POWER9 XIVE Native Interrupt Controller */
683
+#define KVM_DEV_XIVE_GRP_CTRL		1
684
+#define   KVM_DEV_XIVE_RESET		1
685
+#define   KVM_DEV_XIVE_EQ_SYNC		2
686
+#define KVM_DEV_XIVE_GRP_SOURCE		2	/* 64-bit source identifier */
687
+#define KVM_DEV_XIVE_GRP_SOURCE_CONFIG	3	/* 64-bit source identifier */
688
+#define KVM_DEV_XIVE_GRP_EQ_CONFIG	4	/* 64-bit EQ identifier */
689
+#define KVM_DEV_XIVE_GRP_SOURCE_SYNC	5       /* 64-bit source identifier */
690
+
691
+/* Layout of 64-bit XIVE source attribute values */
692
+#define KVM_XIVE_LEVEL_SENSITIVE	(1ULL << 0)
693
+#define KVM_XIVE_LEVEL_ASSERTED		(1ULL << 1)
694
+
695
+/* Layout of 64-bit XIVE source configuration attribute values */
696
+#define KVM_XIVE_SOURCE_PRIORITY_SHIFT	0
697
+#define KVM_XIVE_SOURCE_PRIORITY_MASK	0x7
698
+#define KVM_XIVE_SOURCE_SERVER_SHIFT	3
699
+#define KVM_XIVE_SOURCE_SERVER_MASK	0xfffffff8ULL
700
+#define KVM_XIVE_SOURCE_MASKED_SHIFT	32
701
+#define KVM_XIVE_SOURCE_MASKED_MASK	0x100000000ULL
702
+#define KVM_XIVE_SOURCE_EISN_SHIFT	33
703
+#define KVM_XIVE_SOURCE_EISN_MASK	0xfffffffe00000000ULL
704
+
705
+/* Layout of 64-bit EQ identifier */
706
+#define KVM_XIVE_EQ_PRIORITY_SHIFT	0
707
+#define KVM_XIVE_EQ_PRIORITY_MASK	0x7
708
+#define KVM_XIVE_EQ_SERVER_SHIFT	3
709
+#define KVM_XIVE_EQ_SERVER_MASK		0xfffffff8ULL
710
+
711
+/* Layout of EQ configuration values (64 bytes) */
712
+struct kvm_ppc_xive_eq {
713
+	__u32 flags;
714
+	__u32 qshift;
715
+	__u64 qaddr;
716
+	__u32 qtoggle;
717
+	__u32 qindex;
718
+	__u8  pad[40];
719
+};
720
+
721
+#define KVM_XIVE_EQ_ALWAYS_NOTIFY	0x00000001
722
+
723
+#define KVM_XIVE_TIMA_PAGE_OFFSET	0
724
+#define KVM_XIVE_ESB_PAGE_OFFSET	4
725
+
678 726
 #endif /* __LINUX_KVM_POWERPC_H */

+ 40
- 0
linux-headers/asm-powerpc/unistd_32.h View File

@@ -376,6 +376,46 @@
376 376
 #define __NR_pkey_mprotect	386
377 377
 #define __NR_rseq	387
378 378
 #define __NR_io_pgetevents	388
379
+#define __NR_semget	393
380
+#define __NR_semctl	394
381
+#define __NR_shmget	395
382
+#define __NR_shmctl	396
383
+#define __NR_shmat	397
384
+#define __NR_shmdt	398
385
+#define __NR_msgget	399
386
+#define __NR_msgsnd	400
387
+#define __NR_msgrcv	401
388
+#define __NR_msgctl	402
389
+#define __NR_clock_gettime64	403
390
+#define __NR_clock_settime64	404
391
+#define __NR_clock_adjtime64	405
392
+#define __NR_clock_getres_time64	406
393
+#define __NR_clock_nanosleep_time64	407
394
+#define __NR_timer_gettime64	408
395
+#define __NR_timer_settime64	409
396
+#define __NR_timerfd_gettime64	410
397
+#define __NR_timerfd_settime64	411
398
+#define __NR_utimensat_time64	412
399
+#define __NR_pselect6_time64	413
400
+#define __NR_ppoll_time64	414
401
+#define __NR_io_pgetevents_time64	416
402
+#define __NR_recvmmsg_time64	417
403
+#define __NR_mq_timedsend_time64	418
404
+#define __NR_mq_timedreceive_time64	419
405
+#define __NR_semtimedop_time64	420
406
+#define __NR_rt_sigtimedwait_time64	421
407
+#define __NR_futex_time64	422
408
+#define __NR_sched_rr_get_interval_time64	423
409
+#define __NR_pidfd_send_signal	424
410
+#define __NR_io_uring_setup	425
411
+#define __NR_io_uring_enter	426
412
+#define __NR_io_uring_register	427
413
+#define __NR_open_tree	428
414
+#define __NR_move_mount	429
415
+#define __NR_fsopen	430
416
+#define __NR_fsconfig	431
417
+#define __NR_fsmount	432
418
+#define __NR_fspick	433
379 419
 
380 420
 
381 421
 #endif /* _ASM_POWERPC_UNISTD_32_H */

+ 21
- 0
linux-headers/asm-powerpc/unistd_64.h View File

@@ -367,6 +367,27 @@
367 367
 #define __NR_pkey_mprotect	386
368 368
 #define __NR_rseq	387
369 369
 #define __NR_io_pgetevents	388
370
+#define __NR_semtimedop	392
371
+#define __NR_semget	393
372
+#define __NR_semctl	394
373
+#define __NR_shmget	395
374
+#define __NR_shmctl	396
375
+#define __NR_shmat	397
376
+#define __NR_shmdt	398
377
+#define __NR_msgget	399
378
+#define __NR_msgsnd	400
379
+#define __NR_msgrcv	401
380
+#define __NR_msgctl	402
381
+#define __NR_pidfd_send_signal	424
382
+#define __NR_io_uring_setup	425
383
+#define __NR_io_uring_enter	426
384
+#define __NR_io_uring_register	427
385
+#define __NR_open_tree	428
386
+#define __NR_move_mount	429
387
+#define __NR_fsopen	430
388
+#define __NR_fsconfig	431
389
+#define __NR_fsmount	432
390
+#define __NR_fspick	433
370 391
 
371 392
 
372 393
 #endif /* _ASM_POWERPC_UNISTD_64_H */

+ 4
- 1
linux-headers/asm-s390/kvm.h View File

@@ -152,7 +152,10 @@ struct kvm_s390_vm_cpu_subfunc {
152 152
 	__u8 pcc[16];		/* with MSA4 */
153 153
 	__u8 ppno[16];		/* with MSA5 */
154 154
 	__u8 kma[16];		/* with MSA8 */
155
-	__u8 reserved[1808];
155
+	__u8 kdsa[16];		/* with MSA9 */
156
+	__u8 sortl[32];		/* with STFLE.150 */
157
+	__u8 dfltcc[32];	/* with STFLE.151 */
158
+	__u8 reserved[1728];
156 159
 };
157 160
 
158 161
 /* kvm attributes for crypto */

+ 43
- 0
linux-headers/asm-s390/unistd_32.h View File

@@ -363,5 +363,48 @@
363 363
 #define __NR_kexec_file_load 381
364 364
 #define __NR_io_pgetevents 382
365 365
 #define __NR_rseq 383
366
+#define __NR_pkey_mprotect 384
367
+#define __NR_pkey_alloc 385
368
+#define __NR_pkey_free 386
369
+#define __NR_semget 393
370
+#define __NR_semctl 394
371
+#define __NR_shmget 395
372
+#define __NR_shmctl 396
373
+#define __NR_shmat 397
374
+#define __NR_shmdt 398
375
+#define __NR_msgget 399
376
+#define __NR_msgsnd 400
377
+#define __NR_msgrcv 401
378
+#define __NR_msgctl 402
379
+#define __NR_clock_gettime64 403
380
+#define __NR_clock_settime64 404
381
+#define __NR_clock_adjtime64 405
382
+#define __NR_clock_getres_time64 406
383
+#define __NR_clock_nanosleep_time64 407
384
+#define __NR_timer_gettime64 408
385
+#define __NR_timer_settime64 409
386
+#define __NR_timerfd_gettime64 410
387
+#define __NR_timerfd_settime64 411
388
+#define __NR_utimensat_time64 412
389
+#define __NR_pselect6_time64 413
390
+#define __NR_ppoll_time64 414
391
+#define __NR_io_pgetevents_time64 416
392
+#define __NR_recvmmsg_time64 417
393
+#define __NR_mq_timedsend_time64 418
394
+#define __NR_mq_timedreceive_time64 419
395
+#define __NR_semtimedop_time64 420
396
+#define __NR_rt_sigtimedwait_time64 421
397
+#define __NR_futex_time64 422
398
+#define __NR_sched_rr_get_interval_time64 423
399
+#define __NR_pidfd_send_signal 424
400
+#define __NR_io_uring_setup 425
401
+#define __NR_io_uring_enter 426
402
+#define __NR_io_uring_register 427
403
+#define __NR_open_tree 428
404
+#define __NR_move_mount 429
405
+#define __NR_fsopen 430
406
+#define __NR_fsconfig 431
407
+#define __NR_fsmount 432
408
+#define __NR_fspick 433
366 409
 
367 410
 #endif /* _ASM_S390_UNISTD_32_H */

+ 24
- 0
linux-headers/asm-s390/unistd_64.h View File

@@ -330,5 +330,29 @@
330 330
 #define __NR_kexec_file_load 381
331 331
 #define __NR_io_pgetevents 382
332 332
 #define __NR_rseq 383
333
+#define __NR_pkey_mprotect 384
334
+#define __NR_pkey_alloc 385
335
+#define __NR_pkey_free 386
336
+#define __NR_semtimedop 392
337
+#define __NR_semget 393
338
+#define __NR_semctl 394
339
+#define __NR_shmget 395
340
+#define __NR_shmctl 396
341
+#define __NR_shmat 397
342
+#define __NR_shmdt 398
343
+#define __NR_msgget 399
344
+#define __NR_msgsnd 400
345
+#define __NR_msgrcv 401
346
+#define __NR_msgctl 402
347
+#define __NR_pidfd_send_signal 424
348
+#define __NR_io_uring_setup 425
349
+#define __NR_io_uring_enter 426
350
+#define __NR_io_uring_register 427
351
+#define __NR_open_tree 428
352
+#define __NR_move_mount 429
353
+#define __NR_fsopen 430
354
+#define __NR_fsconfig 431
355
+#define __NR_fsmount 432
356
+#define __NR_fspick 433
333 357
 
334 358
 #endif /* _ASM_S390_UNISTD_64_H */

+ 1
- 0
linux-headers/asm-x86/kvm.h View File

@@ -381,6 +381,7 @@ struct kvm_sync_regs {
381 381
 #define KVM_X86_QUIRK_LINT0_REENABLED	(1 << 0)
382 382
 #define KVM_X86_QUIRK_CD_NW_CLEARED	(1 << 1)
383 383
 #define KVM_X86_QUIRK_LAPIC_MMIO_HOLE	(1 << 2)
384
+#define KVM_X86_QUIRK_OUT_7E_INC_RIP	(1 << 3)
384 385
 
385 386
 #define KVM_STATE_NESTED_GUEST_MODE	0x00000001
386 387
 #define KVM_STATE_NESTED_RUN_PENDING	0x00000002

+ 40
- 0
linux-headers/asm-x86/unistd_32.h View File

@@ -384,5 +384,45 @@
384 384
 #define __NR_arch_prctl 384
385 385
 #define __NR_io_pgetevents 385
386 386
 #define __NR_rseq 386
387
+#define __NR_semget 393
388
+#define __NR_semctl 394
389
+#define __NR_shmget 395
390
+#define __NR_shmctl 396
391
+#define __NR_shmat 397
392
+#define __NR_shmdt 398
393
+#define __NR_msgget 399
394
+#define __NR_msgsnd 400
395
+#define __NR_msgrcv 401
396
+#define __NR_msgctl 402
397
+#define __NR_clock_gettime64 403
398
+#define __NR_clock_settime64 404
399
+#define __NR_clock_adjtime64 405
400
+#define __NR_clock_getres_time64 406
401
+#define __NR_clock_nanosleep_time64 407
402
+#define __NR_timer_gettime64 408
403
+#define __NR_timer_settime64 409
404
+#define __NR_timerfd_gettime64 410
405
+#define __NR_timerfd_settime64 411
406
+#define __NR_utimensat_time64 412
407
+#define __NR_pselect6_time64 413
408
+#define __NR_ppoll_time64 414
409
+#define __NR_io_pgetevents_time64 416
410
+#define __NR_recvmmsg_time64 417
411
+#define __NR_mq_timedsend_time64 418
412
+#define __NR_mq_timedreceive_time64 419
413
+#define __NR_semtimedop_time64 420
414
+#define __NR_rt_sigtimedwait_time64 421
415
+#define __NR_futex_time64 422
416
+#define __NR_sched_rr_get_interval_time64 423
417
+#define __NR_pidfd_send_signal 424
418
+#define __NR_io_uring_setup 425
419
+#define __NR_io_uring_enter 426
420
+#define __NR_io_uring_register 427
421
+#define __NR_open_tree 428
422
+#define __NR_move_mount 429
423
+#define __NR_fsopen 430
424
+#define __NR_fsconfig 431
425
+#define __NR_fsmount 432
426
+#define __NR_fspick 433
387 427
 
388 428
 #endif /* _ASM_X86_UNISTD_32_H */

+ 10
- 0
linux-headers/asm-x86/unistd_64.h View File

@@ -336,5 +336,15 @@
336 336
 #define __NR_statx 332
337 337
 #define __NR_io_pgetevents 333
338 338
 #define __NR_rseq 334
339
+#define __NR_pidfd_send_signal 424
340
+#define __NR_io_uring_setup 425
341
+#define __NR_io_uring_enter 426
342
+#define __NR_io_uring_register 427
343
+#define __NR_open_tree 428
344
+#define __NR_move_mount 429
345
+#define __NR_fsopen 430
346
+#define __NR_fsconfig 431
347
+#define __NR_fsmount 432
348
+#define __NR_fspick 433
339 349
 
340 350
 #endif /* _ASM_X86_UNISTD_64_H */

+ 10
- 0
linux-headers/asm-x86/unistd_x32.h View File

@@ -289,6 +289,16 @@
289 289
 #define __NR_statx (__X32_SYSCALL_BIT + 332)
290 290
 #define __NR_io_pgetevents (__X32_SYSCALL_BIT + 333)
291 291
 #define __NR_rseq (__X32_SYSCALL_BIT + 334)
292
+#define __NR_pidfd_send_signal (__X32_SYSCALL_BIT + 424)
293
+#define __NR_io_uring_setup (__X32_SYSCALL_BIT + 425)
294
+#define __NR_io_uring_enter (__X32_SYSCALL_BIT + 426)
295
+#define __NR_io_uring_register (__X32_SYSCALL_BIT + 427)
296
+#define __NR_open_tree (__X32_SYSCALL_BIT + 428)
297
+#define __NR_move_mount (__X32_SYSCALL_BIT + 429)
298
+#define __NR_fsopen (__X32_SYSCALL_BIT + 430)
299
+#define __NR_fsconfig (__X32_SYSCALL_BIT + 431)
300
+#define __NR_fsmount (__X32_SYSCALL_BIT + 432)
301
+#define __NR_fspick (__X32_SYSCALL_BIT + 433)
292 302
 #define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
293 303
 #define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
294 304
 #define __NR_ioctl (__X32_SYSCALL_BIT + 514)

+ 13
- 2
linux-headers/linux/kvm.h View File

@@ -986,8 +986,13 @@ struct kvm_ppc_resize_hpt {
986 986
 #define KVM_CAP_HYPERV_ENLIGHTENED_VMCS 163
987 987
 #define KVM_CAP_EXCEPTION_PAYLOAD 164
988 988
 #define KVM_CAP_ARM_VM_IPA_SIZE 165
989
-#define KVM_CAP_MANUAL_DIRTY_LOG_PROTECT 166
989
+#define KVM_CAP_MANUAL_DIRTY_LOG_PROTECT 166 /* Obsolete */
990 990
 #define KVM_CAP_HYPERV_CPUID 167
991
+#define KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 168
992
+#define KVM_CAP_PPC_IRQ_XIVE 169
993
+#define KVM_CAP_ARM_SVE 170
994
+#define KVM_CAP_ARM_PTRAUTH_ADDRESS 171
995
+#define KVM_CAP_ARM_PTRAUTH_GENERIC 172
991 996
 
992 997
 #ifdef KVM_CAP_IRQ_ROUTING
993 998
 
@@ -1145,6 +1150,7 @@ struct kvm_dirty_tlb {
1145 1150
 #define KVM_REG_SIZE_U256	0x0050000000000000ULL
1146 1151
 #define KVM_REG_SIZE_U512	0x0060000000000000ULL
1147 1152
 #define KVM_REG_SIZE_U1024	0x0070000000000000ULL
1153
+#define KVM_REG_SIZE_U2048	0x0080000000000000ULL
1148 1154
 
1149 1155
 struct kvm_reg_list {
1150 1156
 	__u64 n; /* number of regs */
@@ -1211,6 +1217,8 @@ enum kvm_device_type {
1211 1217
 #define KVM_DEV_TYPE_ARM_VGIC_V3	KVM_DEV_TYPE_ARM_VGIC_V3
1212 1218
 	KVM_DEV_TYPE_ARM_VGIC_ITS,
1213 1219
 #define KVM_DEV_TYPE_ARM_VGIC_ITS	KVM_DEV_TYPE_ARM_VGIC_ITS
1220
+	KVM_DEV_TYPE_XIVE,
1221
+#define KVM_DEV_TYPE_XIVE		KVM_DEV_TYPE_XIVE
1214 1222
 	KVM_DEV_TYPE_MAX,
1215 1223
 };
1216 1224
 
@@ -1434,12 +1442,15 @@ struct kvm_enc_region {
1434 1442
 #define KVM_GET_NESTED_STATE         _IOWR(KVMIO, 0xbe, struct kvm_nested_state)
1435 1443
 #define KVM_SET_NESTED_STATE         _IOW(KVMIO,  0xbf, struct kvm_nested_state)
1436 1444
 
1437
-/* Available with KVM_CAP_MANUAL_DIRTY_LOG_PROTECT */
1445
+/* Available with KVM_CAP_MANUAL_DIRTY_LOG_PROTECT_2 */
1438 1446
 #define KVM_CLEAR_DIRTY_LOG          _IOWR(KVMIO, 0xc0, struct kvm_clear_dirty_log)
1439 1447
 
1440 1448
 /* Available with KVM_CAP_HYPERV_CPUID */
1441 1449
 #define KVM_GET_SUPPORTED_HV_CPUID _IOWR(KVMIO, 0xc1, struct kvm_cpuid2)
1442 1450
 
1451
+/* Available with KVM_CAP_ARM_SVE */
1452
+#define KVM_ARM_VCPU_FINALIZE	  _IOW(KVMIO,  0xc2, int)
1453
+
1443 1454
 /* Secure Encrypted Virtualization command */
1444 1455
 enum sev_cmd_id {
1445 1456
 	/* Guest initialization commands */

+ 4
- 0
linux-headers/linux/mman.h View File

@@ -12,6 +12,10 @@
12 12
 #define OVERCOMMIT_ALWAYS		1
13 13
 #define OVERCOMMIT_NEVER		2
14 14
 
15
+#define MAP_SHARED	0x01		/* Share changes */
16
+#define MAP_PRIVATE	0x02		/* Changes are private */
17
+#define MAP_SHARED_VALIDATE 0x03	/* share + validate extension flags */
18
+
15 19
 /*
16 20
  * Huge page size encoding when MAP_HUGETLB is specified, and a huge page
17 21
  * size other than the default is desired.  See hugetlb_encode.h.

+ 7
- 0
linux-headers/linux/psci.h View File

@@ -49,8 +49,11 @@
49 49
 
50 50
 #define PSCI_1_0_FN_PSCI_FEATURES		PSCI_0_2_FN(10)
51 51
 #define PSCI_1_0_FN_SYSTEM_SUSPEND		PSCI_0_2_FN(14)
52
+#define PSCI_1_0_FN_SET_SUSPEND_MODE		PSCI_0_2_FN(15)
53
+#define PSCI_1_1_FN_SYSTEM_RESET2		PSCI_0_2_FN(18)
52 54
 
53 55
 #define PSCI_1_0_FN64_SYSTEM_SUSPEND		PSCI_0_2_FN64(14)
56
+#define PSCI_1_1_FN64_SYSTEM_RESET2		PSCI_0_2_FN64(18)
54 57
 
55 58
 /* PSCI v0.2 power state encoding for CPU_SUSPEND function */
56 59
 #define PSCI_0_2_POWER_STATE_ID_MASK		0xffff
@@ -97,6 +100,10 @@
97 100
 #define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK	\
98 101
 			(0x1 << PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT)
99 102
 
103
+#define PSCI_1_0_OS_INITIATED			BIT(0)
104
+#define PSCI_1_0_SUSPEND_MODE_PC		0
105
+#define PSCI_1_0_SUSPEND_MODE_OSI		1
106
+
100 107
 /* PSCI return values (inclusive of all PSCI versions) */
101 108
 #define PSCI_RET_SUCCESS			0
102 109
 #define PSCI_RET_NOT_SUPPORTED			-1

+ 14
- 4
linux-headers/linux/psp-sev.h View File

@@ -6,8 +6,7 @@
6 6
  *
7 7
  * Author: Brijesh Singh <brijesh.singh@amd.com>
8 8
  *
9
- * SEV spec 0.14 is available at:
10
- * http://support.amd.com/TechDocs/55766_SEV-KM%20API_Specification.pdf
9
+ * SEV API specification is available at: https://developer.amd.com/sev/
11 10
  *
12 11
  * This program is free software; you can redistribute it and/or modify
13 12
  * it under the terms of the GNU General Public License version 2 as
@@ -30,7 +29,8 @@ enum {
30 29
 	SEV_PDH_GEN,
31 30
 	SEV_PDH_CERT_EXPORT,
32 31
 	SEV_PEK_CERT_IMPORT,
33
-	SEV_GET_ID,
32
+	SEV_GET_ID,	/* This command is deprecated, use SEV_GET_ID2 */
33
+	SEV_GET_ID2,
34 34
 
35 35
 	SEV_MAX,
36 36
 };
@@ -125,7 +125,7 @@ struct sev_user_data_pdh_cert_export {
125 125
 } __attribute__((packed));
126 126
 
127 127
 /**
128
- * struct sev_user_data_get_id - GET_ID command parameters
128
+ * struct sev_user_data_get_id - GET_ID command parameters (deprecated)
129 129
  *
130 130
  * @socket1: Buffer to pass unique ID of first socket
131 131
  * @socket2: Buffer to pass unique ID of second socket
@@ -135,6 +135,16 @@ struct sev_user_data_get_id {
135 135
 	__u8 socket2[64];			/* Out */
136 136
 } __attribute__((packed));
137 137
 
138
+/**
139
+ * struct sev_user_data_get_id2 - GET_ID command parameters
140
+ * @address: Buffer to store unique ID
141
+ * @length: length of the unique ID
142
+ */
143
+struct sev_user_data_get_id2 {
144
+	__u64 address;				/* In */
145
+	__u32 length;				/* In/Out */
146
+} __attribute__((packed));
147
+
138 148
 /**
139 149
  * struct sev_issue_cmd - SEV ioctl parameters
140 150
  *

+ 4
- 0
linux-headers/linux/vfio.h View File

@@ -353,6 +353,10 @@ struct vfio_region_gfx_edid {
353 353
 #define VFIO_DEVICE_GFX_LINK_STATE_DOWN  2
354 354
 };
355 355
 
356
+#define VFIO_REGION_TYPE_CCW			(2)
357
+/* ccw sub-types */
358
+#define VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD	(1)
359
+
356 360
 /*
357 361
  * 10de vendor sub-type
358 362
  *

+ 12
- 0
linux-headers/linux/vfio_ccw.h View File

@@ -12,6 +12,7 @@
12 12
 
13 13
 #include <linux/types.h>
14 14
 
15
+/* used for START SUBCHANNEL, always present */
15 16
 struct ccw_io_region {
16 17
 #define ORB_AREA_SIZE 12
17 18
 	__u8	orb_area[ORB_AREA_SIZE];
@@ -22,4 +23,15 @@ struct ccw_io_region {
22 23
 	__u32	ret_code;
23 24
 } __attribute__((packed));
24 25
 
26
+/*
27
+ * used for processing commands that trigger asynchronous actions
28
+ * Note: this is controlled by a capability
29
+ */
30
+#define VFIO_CCW_ASYNC_CMD_HSCH (1 << 0)
31
+#define VFIO_CCW_ASYNC_CMD_CSCH (1 << 1)
32
+struct ccw_cmd_region {
33
+	__u32 command;
34
+	__u32 ret_code;
35
+} __attribute__((packed));
36
+
25 37
 #endif

Loading…
Cancel
Save