linux-headers: Update to Linux v7.2-rc1 with KVM_S390_VM_CPU_FEAT_ASTFLEIE2
Update headers to retrieve new architecture feature definitions. KVM_S390_VM_CPU_FEAT_ASTFLEIE2 is specifically needed here. Signed-off-by: Christoph Schlameuss <schlameuss@linux.ibm.com> Message-ID: <20260701-astfleie2-v3-1-f692dc7f4f24@linux.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Christoph Schlameuss committed
Jul 1, 2026 at 10:23 UTC
db8da70bd3da1a4b4c0393139863a8948731e541
10 files changed
+137
-27
include/standard-headers/drm/drm_fourcc.h
+32
-22
@@ -1,24 +1,6 @@
1
+/* SPDX-License-Identifier: MIT */
2
/*
3
* Copyright 2011 Intel Corporation
3
- *
4
- * Permission is hereby granted, free of charge, to any person obtaining a
5
- * copy of this software and associated documentation files (the "Software"),
6
- * to deal in the Software without restriction, including without limitation
7
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
- * and/or sell copies of the Software, and to permit persons to whom the
9
- * Software is furnished to do so, subject to the following conditions:
10
- *
11
- * The above copyright notice and this permission notice (including the next
12
- * paragraph) shall be included in all copies or substantial portions of the
13
- * Software.
14
- *
15
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
- * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
20
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
21
- * OTHER DEALINGS IN THE SOFTWARE.
4
*/
5
6
#ifndef DRM_FOURCC_H
@@ -241,9 +223,9 @@ extern "C" {
223
* [31:0] sign:exponent:mantissa 1:8:23
224
*/
225
#define DRM_FORMAT_R32F fourcc_code('R', ' ', ' ', 'F') /* [31:0] R 32 little endian */
244
-#define DRM_FORMAT_GR3232F fourcc_code('G', 'R', ' ', 'F') /* [63:0] R:G 32:32 little endian */
245
-#define DRM_FORMAT_BGR323232F fourcc_code('B', 'G', 'R', 'F') /* [95:0] R:G:B 32:32:32 little endian */
246
-#define DRM_FORMAT_ABGR32323232F fourcc_code('A', 'B', '8', 'F') /* [127:0] R:G:B:A 32:32:32:32 little endian */
226
+#define DRM_FORMAT_GR3232F fourcc_code('G', 'R', ' ', 'F') /* [63:0] G:R 32:32 little endian */
227
+#define DRM_FORMAT_BGR323232F fourcc_code('B', 'G', 'R', 'F') /* [95:0] B:G:R 32:32:32 little endian */
228
+#define DRM_FORMAT_ABGR32323232F fourcc_code('A', 'B', '8', 'F') /* [127:0] A:B:G:R 32:32:32:32 little endian */
229
230
/*
231
* RGBA format with 10-bit components packed in 64-bit per pixel, with 6 bits
@@ -263,6 +245,7 @@ extern "C" {
245
#define DRM_FORMAT_XVUY8888 fourcc_code('X', 'V', 'U', 'Y') /* [31:0] X:Cr:Cb:Y 8:8:8:8 little endian */
246
#define DRM_FORMAT_VUY888 fourcc_code('V', 'U', '2', '4') /* [23:0] Cr:Cb:Y 8:8:8 little endian */
247
#define DRM_FORMAT_VUY101010 fourcc_code('V', 'U', '3', '0') /* Y followed by U then V, 10:10:10. Non-linear modifier only */
248
+#define DRM_FORMAT_XVUY2101010 fourcc_code('X', 'Y', '3', '0') /* [31:0] x:Cr:Cb:Y 2:10:10:10 little endian */
249
250
/*
251
* packed Y2xx indicate for each component, xx valid data occupy msb
@@ -378,6 +361,14 @@ extern "C" {
361
*/
362
#define DRM_FORMAT_P030 fourcc_code('P', '0', '3', '0') /* 2x2 subsampled Cr:Cb plane 10 bits per channel packed */
363
364
+/*
365
+ * 2 plane YCbCr422.
366
+ * 3 10 bit components and 2 padding bits packed into 4 bytes.
367
+ * index 0 = Y plane, [31:0] x:Y2:Y1:Y0 2:10:10:10 little endian
368
+ * index 1 = Cr:Cb plane, [63:0] x:Cr2:Cb2:Cr1:x:Cb1:Cr0:Cb0 [2:10:10:10:2:10:10:10] little endian
369
+ */
370
+#define DRM_FORMAT_P230 fourcc_code('P', '2', '3', '0') /* 2x1 subsampled Cr:Cb plane 10 bits per channel packed */
371
+
372
/* 3 plane non-subsampled (444) YCbCr
373
* 16 bits per component, but only 10 bits are used and 6 bits are padded
374
* index 0: Y plane, [15:0] Y:x [10:6] little endian
@@ -394,6 +385,15 @@ extern "C" {
385
*/
386
#define DRM_FORMAT_Q401 fourcc_code('Q', '4', '0', '1')
387
388
+/*
389
+ * 3 plane non-subsampled (444) YCbCr LSB aligned
390
+ * 10 bpc, 30 bits per sample image data in a single contiguous buffer.
391
+ * index 0: Y plane, [31:0] x:Y2:Y1:Y0 [2:10:10:10] little endian
392
+ * index 1: Cb plane, [31:0] x:Cb2:Cb1:Cb0 [2:10:10:10] little endian
393
+ * index 2: Cr plane, [31:0] x:Cr2:Cr1:Cr0 [2:10:10:10] little endian
394
+ */
395
+#define DRM_FORMAT_T430 fourcc_code('T', '4', '3', '0')
396
+
397
/*
398
* 3 plane YCbCr LSB aligned
399
* In order to use these formats in a similar fashion to MSB aligned ones
@@ -450,6 +450,16 @@ extern "C" {
450
#define DRM_FORMAT_YUV444 fourcc_code('Y', 'U', '2', '4') /* non-subsampled Cb (1) and Cr (2) planes */
451
#define DRM_FORMAT_YVU444 fourcc_code('Y', 'V', '2', '4') /* non-subsampled Cr (1) and Cb (2) planes */
452
453
+/*
454
+ * Y-only (greyscale) formats
455
+ *
456
+ * The Y-only formats are handled similarly to the YCbCr formats in the display
457
+ * pipeline, with the Cb and Cr implicitly neutral (0.0 in nominal values). This
458
+ * also means that COLOR_RANGE property applies to the Y-only formats.
459
+ */
460
+
461
+#define DRM_FORMAT_Y8 fourcc_code('G', 'R', 'E', 'Y') /* 8-bit Y-only */
462
+#define DRM_FORMAT_XYYY2101010 fourcc_code('Y', 'P', 'A', '4') /* [31:0] x:Y2:Y1:Y0 2:10:10:10 little endian */
463
464
/*
465
* Format Modifiers:
include/standard-headers/linux/ethtool.h
+3
@@ -293,6 +293,9 @@ enum phy_tunable_id {
293
ETHTOOL_PHY_DOWNSHIFT,
294
ETHTOOL_PHY_FAST_LINK_DOWN,
295
ETHTOOL_PHY_EDPD,
296
+ ETHTOOL_PHY_SHORT_CABLE_PRESET,
297
+ ETHTOOL_PHY_LPF_BW,
298
+ ETHTOOL_PHY_DSP_EQ_INIT_VALUE,
299
/*
300
* Add your fresh new phy tunable attribute above and remember to update
301
* phy_tunable_strings[] in net/ethtool/common.c
include/standard-headers/linux/pci_regs.h
+2
@@ -1349,6 +1349,7 @@
1349
/* CXL r4.0, 8.1.3: PCIe DVSEC for CXL Device */
1350
#define PCI_DVSEC_CXL_DEVICE 0
1351
#define PCI_DVSEC_CXL_CAP 0xA
1352
+#define PCI_DVSEC_CXL_CACHE_CAPABLE _BITUL(0)
1353
#define PCI_DVSEC_CXL_MEM_CAPABLE _BITUL(2)
1354
#define PCI_DVSEC_CXL_HDM_COUNT __GENMASK(5, 4)
1355
#define PCI_DVSEC_CXL_CTRL 0xC
@@ -1357,6 +1358,7 @@
1358
#define PCI_DVSEC_CXL_RANGE_SIZE_LOW(i) (0x1C + (i * 0x10))
1359
#define PCI_DVSEC_CXL_MEM_INFO_VALID _BITUL(0)
1360
#define PCI_DVSEC_CXL_MEM_ACTIVE _BITUL(1)
1361
+#define PCI_DVSEC_CXL_MEM_ACTIVE_TIMEOUT __GENMASK(15, 13)
1362
#define PCI_DVSEC_CXL_MEM_SIZE_LOW __GENMASK(31, 28)
1363
#define PCI_DVSEC_CXL_RANGE_BASE_HIGH(i) (0x20 + (i * 0x10))
1364
#define PCI_DVSEC_CXL_RANGE_BASE_LOW(i) (0x24 + (i * 0x10))
include/standard-headers/linux/virtio_can.h
new
+78
@@ -0,0 +1,78 @@
1
+/* SPDX-License-Identifier: BSD-3-Clause */
2
+/*
3
+ * Copyright (C) 2021-2023 OpenSynergy GmbH
4
+ * Copyright Red Hat, Inc. 2025
5
+ */
6
+#ifndef _LINUX_VIRTIO_VIRTIO_CAN_H
7
+#define _LINUX_VIRTIO_VIRTIO_CAN_H
8
+
9
+#include "standard-headers/linux/types.h"
10
+#include "standard-headers/linux/virtio_types.h"
11
+#include "standard-headers/linux/virtio_ids.h"
12
+#include "standard-headers/linux/virtio_config.h"
13
+
14
+/* Feature bit numbers */
15
+#define VIRTIO_CAN_F_CAN_CLASSIC 0
16
+#define VIRTIO_CAN_F_CAN_FD 1
17
+#define VIRTIO_CAN_F_RTR_FRAMES 2
18
+#define VIRTIO_CAN_F_LATE_TX_ACK 3
19
+
20
+/* CAN Result Types */
21
+#define VIRTIO_CAN_RESULT_OK 0
22
+#define VIRTIO_CAN_RESULT_NOT_OK 1
23
+
24
+/* CAN flags to determine type of CAN Id */
25
+#define VIRTIO_CAN_FLAGS_EXTENDED 0x8000
26
+#define VIRTIO_CAN_FLAGS_FD 0x4000
27
+#define VIRTIO_CAN_FLAGS_RTR 0x2000
28
+
29
+#define VIRTIO_CAN_MAX_DLEN 64 /* this is like CANFD_MAX_DLEN */
30
+
31
+struct virtio_can_config {
32
+#define VIRTIO_CAN_S_CTRL_BUSOFF (1u << 0) /* Controller BusOff */
33
+ /* CAN controller status */
34
+ uint16_t status;
35
+};
36
+
37
+/* TX queue message types */
38
+struct virtio_can_tx_out {
39
+#define VIRTIO_CAN_TX 0x0001
40
+ uint16_t msg_type;
41
+ uint16_t length; /* 0..8 CC, 0..64 CAN-FD, 0..2048 CAN-XL, 12 bits */
42
+ uint8_t reserved_classic_dlc; /* If CAN classic length = 8 then DLC can be 8..15 */
43
+ uint8_t padding;
44
+ uint16_t reserved_xl_priority; /* May be needed for CAN XL priority */
45
+ uint32_t flags;
46
+ uint32_t can_id;
47
+ uint8_t sdu[] __counted_by_le(length);
48
+};
49
+
50
+struct virtio_can_tx_in {
51
+ uint8_t result;
52
+};
53
+
54
+/* RX queue message types */
55
+struct virtio_can_rx {
56
+#define VIRTIO_CAN_RX 0x0101
57
+ uint16_t msg_type;
58
+ uint16_t length; /* 0..8 CC, 0..64 CAN-FD, 0..2048 CAN-XL, 12 bits */
59
+ uint8_t reserved_classic_dlc; /* If CAN classic length = 8 then DLC can be 8..15 */
60
+ uint8_t padding;
61
+ uint16_t reserved_xl_priority; /* May be needed for CAN XL priority */
62
+ uint32_t flags;
63
+ uint32_t can_id;
64
+ uint8_t sdu[] __counted_by_le(length);
65
+};
66
+
67
+/* Control queue message types */
68
+struct virtio_can_control_out {
69
+#define VIRTIO_CAN_SET_CTRL_MODE_START 0x0201
70
+#define VIRTIO_CAN_SET_CTRL_MODE_STOP 0x0202
71
+ uint16_t msg_type;
72
+};
73
+
74
+struct virtio_can_control_in {
75
+ uint8_t result;
76
+};
77
+
78
+#endif /* #ifndef _LINUX_VIRTIO_VIRTIO_CAN_H */
include/standard-headers/linux/virtio_console.h
+1
-1
@@ -44,7 +44,7 @@
44
#define VIRTIO_CONSOLE_BAD_ID (~(uint32_t)0)
45
46
struct virtio_console_config {
47
- /* colums of the screens */
47
+ /* columns of the screens */
48
__virtio16 cols;
49
/* rows of the screens */
50
__virtio16 rows;
include/standard-headers/linux/virtio_gpu.h
+9
@@ -64,6 +64,14 @@
64
* context_init and multiple timelines
65
*/
66
#define VIRTIO_GPU_F_CONTEXT_INIT 4
67
+/*
68
+ * The device provides a valid blob_alignment
69
+ * field in its configuration and both
70
+ * VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB and
71
+ * VIRTIO_GPU_CMD_RESOURCE_MAP_BLOB requests
72
+ * must be aligned to that value.
73
+ */
74
+#define VIRTIO_GPU_F_BLOB_ALIGNMENT 5
75
76
enum virtio_gpu_ctrl_type {
77
VIRTIO_GPU_UNDEFINED = 0,
@@ -365,6 +373,7 @@ struct virtio_gpu_config {
373
uint32_t events_clear;
374
uint32_t num_scanouts;
375
uint32_t num_capsets;
376
+ uint32_t blob_alignment;
377
};
378
379
/* simple formats for fbcon/X use */
linux-headers/asm-s390/kvm.h
+1
@@ -444,6 +444,7 @@ struct kvm_s390_vm_cpu_machine {
444
#define KVM_S390_VM_CPU_FEAT_PFMFI 11
445
#define KVM_S390_VM_CPU_FEAT_SIGPIF 12
446
#define KVM_S390_VM_CPU_FEAT_KSS 13
447
+#define KVM_S390_VM_CPU_FEAT_ASTFLEIE2 14
448
struct kvm_s390_vm_cpu_feat {
449
__u64 feat[16];
450
};
linux-headers/asm-x86/kvm.h
+2
@@ -475,6 +475,7 @@ struct kvm_sync_regs {
475
#define KVM_X86_QUIRK_STUFF_FEATURE_MSRS (1 << 8)
476
#define KVM_X86_QUIRK_IGNORE_GUEST_PAT (1 << 9)
477
#define KVM_X86_QUIRK_VMCS12_ALLOW_FREEZE_IN_SMM (1 << 10)
478
+#define KVM_X86_QUIRK_NESTED_SVM_SHARED_PAT (1 << 11)
479
480
#define KVM_STATE_NESTED_FORMAT_VMX 0
481
#define KVM_STATE_NESTED_FORMAT_SVM 1
@@ -530,6 +531,7 @@ struct kvm_svm_nested_state_data {
531
532
struct kvm_svm_nested_state_hdr {
533
__u64 vmcb_pa;
534
+ __u64 gpat;
535
};
536
537
/* for KVM_CAP_NESTED_STATE */
linux-headers/linux/iommufd.h
+8
-4
@@ -224,13 +224,17 @@ struct iommu_ioas_map {
224
* @size: sizeof(struct iommu_ioas_map_file)
225
* @flags: same as for iommu_ioas_map
226
* @ioas_id: same as for iommu_ioas_map
227
- * @fd: the memfd to map
228
- * @start: byte offset from start of file to map from
227
+ * @fd: the memfd or supported dma-buf file to map
228
+ * @start: byte offset from start of the file to map from
229
* @length: same as for iommu_ioas_map
230
* @iova: same as for iommu_ioas_map
231
*
232
- * Set an IOVA mapping from a memfd file. All other arguments and semantics
233
- * match those of IOMMU_IOAS_MAP.
232
+ * Set an IOVA mapping from a memfd file. On kernels with dma-buf support,
233
+ * supported dma-buf files may also be accepted. This is not a generic
234
+ * dma-buf import path; currently supported dma-bufs include single-range
235
+ * VFIO PCI dma-bufs exported through VFIO_DEVICE_FEATURE_DMA_BUF, and
236
+ * other dma-bufs may be rejected. All other arguments and semantics match
237
+ * those of IOMMU_IOAS_MAP.
238
*/
239
struct iommu_ioas_map_file {
240
__u32 size;
linux-headers/linux/kvm.h
+1
@@ -985,6 +985,7 @@ struct kvm_enable_cap {
985
#define KVM_CAP_S390_USER_OPEREXEC 246
986
#define KVM_CAP_S390_KEYOP 247
987
#define KVM_CAP_S390_VSIE_ESAMODE 248
988
+#define KVM_CAP_S390_HPAGE_2G 249
989
990
struct kvm_irq_routing_irqchip {
991
__u32 irqchip;