@samitouri / QOSamiQemu / commits / db8da70bd3

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;