* [PATCH] linux-headers: Update to include KVM_CAP_PPC_COMPAT_CAPS
@ 2026-08-19 4:59 Amit Machhiwal
2026-08-23 5:59 ` Harsh Prateek Bora
2026-08-24 11:15 ` Amit Machhiwal
0 siblings, 2 replies; 5+ messages in thread
From: Amit Machhiwal @ 2026-08-19 4:59 UTC (permalink / raw)
To: qemu-devel, kvm, Michael S. Tsirkin, Cornelia Huck
Cc: Amit Machhiwal, Harsh Prateek Bora, Chinmay Rath
Sync linux headers from Linux kernel commit 1200d84f4c0a
("Merge tag 'powerpc-7.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux").
This picks up the new KVM_CAP_PPC_COMPAT_CAPS capability for powerpc,
which introduces:
- struct kvm_ppc_compat_caps: reports processor compatibility modes
supported by the host (POWER9, POWER10, POWER11)
- KVM_PPC_GET_COMPAT_CAPS ioctl (KVMIO 0xb8)
- KVM_CAP_PPC_COMPAT_CAPS (cap #250) in linux/kvm.h
The sync is needed to get the corresponding Qemu series[1] merged.
[1]: https://lore.kernel.org/all/20260812170854.58709-1-amachhiw@linux.ibm.com/
Signed-off-by: Amit Machhiwal <amachhiw@linux.ibm.com>
---
include/standard-headers/linux/const.h | 4 ++--
| 1 +
| 6 +++++-
| 1 +
| 1 +
| 1 +
| 1 +
| 18 ++++++++++++++++++
| 1 +
| 1 +
| 1 +
| 1 +
| 1 +
| 1 +
| 1 +
| 1 +
| 4 ++--
| 3 +++
18 files changed, 43 insertions(+), 5 deletions(-)
diff --git a/include/standard-headers/linux/const.h b/include/standard-headers/linux/const.h
index c6a9d0c9835c..92635cec4aed 100644
--- a/include/standard-headers/linux/const.h
+++ b/include/standard-headers/linux/const.h
@@ -13,7 +13,7 @@
* leave it unchanged in asm.
*/
-#ifdef __ASSEMBLY__
+#ifdef __ASSEMBLER__
#define _AC(X,Y) X
#define _AT(T,X) X
#else
@@ -28,7 +28,7 @@
#define _BITUL(x) (_UL(1) << (x))
#define _BITULL(x) (_ULL(1) << (x))
-#if !defined(__ASSEMBLY__)
+#if !defined(__ASSEMBLER__)
/*
* Missing __asm__ support
*
--git a/linux-headers/asm-arm64/unistd_64.h b/linux-headers/asm-arm64/unistd_64.h
index 70b3754a4247..4329a2ad54c2 100644
--- a/linux-headers/asm-arm64/unistd_64.h
+++ b/linux-headers/asm-arm64/unistd_64.h
@@ -328,6 +328,7 @@
#define __NR_file_setattr 469
#define __NR_listns 470
#define __NR_rseq_slice_yield 471
+#define __NR_fchroot 472
#endif /* _ASM_UNISTD_64_H */
--git a/linux-headers/asm-generic/unistd.h b/linux-headers/asm-generic/unistd.h
index a627acc8fb5f..5b7e77a7c736 100644
--- a/linux-headers/asm-generic/unistd.h
+++ b/linux-headers/asm-generic/unistd.h
@@ -863,8 +863,12 @@ __SYSCALL(__NR_listns, sys_listns)
#define __NR_rseq_slice_yield 471
__SYSCALL(__NR_rseq_slice_yield, sys_rseq_slice_yield)
+/* fs/open.c */
+#define __NR_fchroot 472
+__SYSCALL(__NR_fchroot, sys_fchroot)
+
#undef __NR_syscalls
-#define __NR_syscalls 472
+#define __NR_syscalls 473
/*
* 32 bit systems traditionally used different
--git a/linux-headers/asm-loongarch/unistd_64.h b/linux-headers/asm-loongarch/unistd_64.h
index 3a29d86e1dee..b525f2d7b881 100644
--- a/linux-headers/asm-loongarch/unistd_64.h
+++ b/linux-headers/asm-loongarch/unistd_64.h
@@ -325,6 +325,7 @@
#define __NR_file_setattr 469
#define __NR_listns 470
#define __NR_rseq_slice_yield 471
+#define __NR_fchroot 472
#endif /* _ASM_UNISTD_64_H */
--git a/linux-headers/asm-mips/unistd_n32.h b/linux-headers/asm-mips/unistd_n32.h
index 5fa1ee0cb465..f883da76c999 100644
--- a/linux-headers/asm-mips/unistd_n32.h
+++ b/linux-headers/asm-mips/unistd_n32.h
@@ -400,5 +400,6 @@
#define __NR_file_setattr (__NR_Linux + 469)
#define __NR_listns (__NR_Linux + 470)
#define __NR_rseq_slice_yield (__NR_Linux + 471)
+#define __NR_fchroot (__NR_Linux + 472)
#endif /* _ASM_UNISTD_N32_H */
--git a/linux-headers/asm-mips/unistd_n64.h b/linux-headers/asm-mips/unistd_n64.h
index e1f873d83a5d..59837eb86628 100644
--- a/linux-headers/asm-mips/unistd_n64.h
+++ b/linux-headers/asm-mips/unistd_n64.h
@@ -376,5 +376,6 @@
#define __NR_file_setattr (__NR_Linux + 469)
#define __NR_listns (__NR_Linux + 470)
#define __NR_rseq_slice_yield (__NR_Linux + 471)
+#define __NR_fchroot (__NR_Linux + 472)
#endif /* _ASM_UNISTD_N64_H */
--git a/linux-headers/asm-mips/unistd_o32.h b/linux-headers/asm-mips/unistd_o32.h
index 8207e9ca4f67..485872076e92 100644
--- a/linux-headers/asm-mips/unistd_o32.h
+++ b/linux-headers/asm-mips/unistd_o32.h
@@ -446,5 +446,6 @@
#define __NR_file_setattr (__NR_Linux + 469)
#define __NR_listns (__NR_Linux + 470)
#define __NR_rseq_slice_yield (__NR_Linux + 471)
+#define __NR_fchroot (__NR_Linux + 472)
#endif /* _ASM_UNISTD_O32_H */
--git a/linux-headers/asm-powerpc/kvm.h b/linux-headers/asm-powerpc/kvm.h
index 077c5437f521..913a64b901a3 100644
--- a/linux-headers/asm-powerpc/kvm.h
+++ b/linux-headers/asm-powerpc/kvm.h
@@ -437,6 +437,24 @@ struct kvm_ppc_cpu_char {
__u64 behaviour_mask; /* valid bits in behaviour */
};
+/* For KVM_PPC_GET_COMPAT_CAPS */
+struct kvm_ppc_compat_caps {
+ __u64 size; /* Size of this structure */
+ __u64 flags; /* Reserved for future use */
+ __u64 compat_capabilities; /* Capabilities supported by the host */
+};
+#define KVM_PPC_COMPAT_CAPS_SIZE_VER0 24 /* sizeof first published struct */
+
+/*
+ * Capability bits for compat_capabilities field in kvm_ppc_compat_caps.
+ * These bits indicate which processor compatibility modes are supported.
+ */
+#define KVM_PPC_COMPAT_CAP_POWER9 (1ULL << 62)
+#define KVM_PPC_COMPAT_CAP_POWER10 (1ULL << 61)
+#define KVM_PPC_COMPAT_CAP_POWER11 (1ULL << 60)
+#define KVM_PPC_COMPAT_BITMASK (KVM_PPC_COMPAT_CAP_POWER9 | \
+ KVM_PPC_COMPAT_CAP_POWER10 | \
+ KVM_PPC_COMPAT_CAP_POWER11)
/*
* Values for character and character_mask.
* These are identical to the values used by H_GET_CPU_CHARACTERISTICS.
--git a/linux-headers/asm-powerpc/unistd_32.h b/linux-headers/asm-powerpc/unistd_32.h
index 1f633601201b..2677c54903a4 100644
--- a/linux-headers/asm-powerpc/unistd_32.h
+++ b/linux-headers/asm-powerpc/unistd_32.h
@@ -453,6 +453,7 @@
#define __NR_file_setattr 469
#define __NR_listns 470
#define __NR_rseq_slice_yield 471
+#define __NR_fchroot 472
#endif /* _ASM_UNISTD_32_H */
--git a/linux-headers/asm-powerpc/unistd_64.h b/linux-headers/asm-powerpc/unistd_64.h
index 87439c53c121..6fc19ccccdb9 100644
--- a/linux-headers/asm-powerpc/unistd_64.h
+++ b/linux-headers/asm-powerpc/unistd_64.h
@@ -425,6 +425,7 @@
#define __NR_file_setattr 469
#define __NR_listns 470
#define __NR_rseq_slice_yield 471
+#define __NR_fchroot 472
#endif /* _ASM_UNISTD_64_H */
--git a/linux-headers/asm-riscv/unistd_32.h b/linux-headers/asm-riscv/unistd_32.h
index 828f3c2b9de1..1039bdc6cf5b 100644
--- a/linux-headers/asm-riscv/unistd_32.h
+++ b/linux-headers/asm-riscv/unistd_32.h
@@ -319,6 +319,7 @@
#define __NR_file_setattr 469
#define __NR_listns 470
#define __NR_rseq_slice_yield 471
+#define __NR_fchroot 472
#endif /* _ASM_UNISTD_32_H */
--git a/linux-headers/asm-riscv/unistd_64.h b/linux-headers/asm-riscv/unistd_64.h
index 8fa59835a333..72040a54987a 100644
--- a/linux-headers/asm-riscv/unistd_64.h
+++ b/linux-headers/asm-riscv/unistd_64.h
@@ -329,6 +329,7 @@
#define __NR_file_setattr 469
#define __NR_listns 470
#define __NR_rseq_slice_yield 471
+#define __NR_fchroot 472
#endif /* _ASM_UNISTD_64_H */
--git a/linux-headers/asm-s390/unistd_64.h b/linux-headers/asm-s390/unistd_64.h
index 01f674c1bcb7..3d3747e3ca1f 100644
--- a/linux-headers/asm-s390/unistd_64.h
+++ b/linux-headers/asm-s390/unistd_64.h
@@ -391,6 +391,7 @@
#define __NR_file_setattr 469
#define __NR_listns 470
#define __NR_rseq_slice_yield 471
+#define __NR_fchroot 472
#endif /* _ASM_UNISTD_64_H */
--git a/linux-headers/asm-x86/unistd_32.h b/linux-headers/asm-x86/unistd_32.h
index e94546882962..7f298247f805 100644
--- a/linux-headers/asm-x86/unistd_32.h
+++ b/linux-headers/asm-x86/unistd_32.h
@@ -462,6 +462,7 @@
#define __NR_file_setattr 469
#define __NR_listns 470
#define __NR_rseq_slice_yield 471
+#define __NR_fchroot 472
#endif /* _ASM_UNISTD_32_H */
--git a/linux-headers/asm-x86/unistd_64.h b/linux-headers/asm-x86/unistd_64.h
index 3c49b00ed13c..fbddeb4bc381 100644
--- a/linux-headers/asm-x86/unistd_64.h
+++ b/linux-headers/asm-x86/unistd_64.h
@@ -386,6 +386,7 @@
#define __NR_file_setattr 469
#define __NR_listns 470
#define __NR_rseq_slice_yield 471
+#define __NR_fchroot 472
#endif /* _ASM_UNISTD_64_H */
--git a/linux-headers/asm-x86/unistd_x32.h b/linux-headers/asm-x86/unistd_x32.h
index bd2af9ad088d..629770ed4baa 100644
--- a/linux-headers/asm-x86/unistd_x32.h
+++ b/linux-headers/asm-x86/unistd_x32.h
@@ -339,6 +339,7 @@
#define __NR_file_setattr (__X32_SYSCALL_BIT + 469)
#define __NR_listns (__X32_SYSCALL_BIT + 470)
#define __NR_rseq_slice_yield (__X32_SYSCALL_BIT + 471)
+#define __NR_fchroot (__X32_SYSCALL_BIT + 472)
#define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
#define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
#define __NR_ioctl (__X32_SYSCALL_BIT + 514)
--git a/linux-headers/linux/const.h b/linux-headers/linux/const.h
index c6a9d0c9835c..92635cec4aed 100644
--- a/linux-headers/linux/const.h
+++ b/linux-headers/linux/const.h
@@ -13,7 +13,7 @@
* leave it unchanged in asm.
*/
-#ifdef __ASSEMBLY__
+#ifdef __ASSEMBLER__
#define _AC(X,Y) X
#define _AT(T,X) X
#else
@@ -28,7 +28,7 @@
#define _BITUL(x) (_UL(1) << (x))
#define _BITULL(x) (_ULL(1) << (x))
-#if !defined(__ASSEMBLY__)
+#if !defined(__ASSEMBLER__)
/*
* Missing __asm__ support
*
--git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
index dd52e2a65bfd..aea4ab5c6953 100644
--- a/linux-headers/linux/kvm.h
+++ b/linux-headers/linux/kvm.h
@@ -986,6 +986,7 @@ struct kvm_enable_cap {
#define KVM_CAP_S390_KEYOP 247
#define KVM_CAP_S390_VSIE_ESAMODE 248
#define KVM_CAP_S390_HPAGE_2G 249
+#define KVM_CAP_PPC_COMPAT_CAPS 250
struct kvm_irq_routing_irqchip {
__u32 irqchip;
@@ -1330,6 +1331,8 @@ struct kvm_s390_keyop {
/* Available with KVM_CAP_COUNTER_OFFSET */
#define KVM_ARM_SET_COUNTER_OFFSET _IOW(KVMIO, 0xb5, struct kvm_arm_counter_offset)
#define KVM_ARM_GET_REG_WRITABLE_MASKS _IOR(KVMIO, 0xb6, struct reg_mask_range)
+/* Available with KVM_CAP_PPC_COMPAT_CAPS */
+#define KVM_PPC_GET_COMPAT_CAPS _IO(KVMIO, 0xb8)
/* ioctl for vm fd */
#define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device)
base-commit: fa19879df1658f96ac07365fca8835b7decd6995
--
2.50.1 (Apple Git-155)
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] linux-headers: Update to include KVM_CAP_PPC_COMPAT_CAPS
2026-08-19 4:59 [PATCH] linux-headers: Update to include KVM_CAP_PPC_COMPAT_CAPS Amit Machhiwal
@ 2026-08-23 5:59 ` Harsh Prateek Bora
2026-08-24 9:04 ` Cornelia Huck
2026-08-24 11:15 ` Amit Machhiwal
1 sibling, 1 reply; 5+ messages in thread
From: Harsh Prateek Bora @ 2026-08-23 5:59 UTC (permalink / raw)
To: Amit Machhiwal, qemu-devel, kvm, Michael S. Tsirkin,
Cornelia Huck
Cc: Chinmay Rath
Hi Cornelia,
Will you be picking it up sometime soon or shall I fold in with
respective qemu patches depending on it? Please let me know. TIA.
regards,
Harsh
On 19/08/26 10:29 am, Amit Machhiwal wrote:
> Sync linux headers from Linux kernel commit 1200d84f4c0a
> ("Merge tag 'powerpc-7.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux").
>
> This picks up the new KVM_CAP_PPC_COMPAT_CAPS capability for powerpc,
> which introduces:
> - struct kvm_ppc_compat_caps: reports processor compatibility modes
> supported by the host (POWER9, POWER10, POWER11)
> - KVM_PPC_GET_COMPAT_CAPS ioctl (KVMIO 0xb8)
> - KVM_CAP_PPC_COMPAT_CAPS (cap #250) in linux/kvm.h
>
> The sync is needed to get the corresponding Qemu series[1] merged.
>
> [1]: https://lore.kernel.org/all/20260812170854.58709-1-amachhiw@linux.ibm.com/
>
> Signed-off-by: Amit Machhiwal <amachhiw@linux.ibm.com>
> ---
> include/standard-headers/linux/const.h | 4 ++--
> linux-headers/asm-arm64/unistd_64.h | 1 +
> linux-headers/asm-generic/unistd.h | 6 +++++-
> linux-headers/asm-loongarch/unistd_64.h | 1 +
> linux-headers/asm-mips/unistd_n32.h | 1 +
> linux-headers/asm-mips/unistd_n64.h | 1 +
> linux-headers/asm-mips/unistd_o32.h | 1 +
> linux-headers/asm-powerpc/kvm.h | 18 ++++++++++++++++++
> linux-headers/asm-powerpc/unistd_32.h | 1 +
> linux-headers/asm-powerpc/unistd_64.h | 1 +
> linux-headers/asm-riscv/unistd_32.h | 1 +
> linux-headers/asm-riscv/unistd_64.h | 1 +
> linux-headers/asm-s390/unistd_64.h | 1 +
> linux-headers/asm-x86/unistd_32.h | 1 +
> linux-headers/asm-x86/unistd_64.h | 1 +
> linux-headers/asm-x86/unistd_x32.h | 1 +
> linux-headers/linux/const.h | 4 ++--
> linux-headers/linux/kvm.h | 3 +++
> 18 files changed, 43 insertions(+), 5 deletions(-)
>
> diff --git a/include/standard-headers/linux/const.h b/include/standard-headers/linux/const.h
> index c6a9d0c9835c..92635cec4aed 100644
> --- a/include/standard-headers/linux/const.h
> +++ b/include/standard-headers/linux/const.h
> @@ -13,7 +13,7 @@
> * leave it unchanged in asm.
> */
>
> -#ifdef __ASSEMBLY__
> +#ifdef __ASSEMBLER__
> #define _AC(X,Y) X
> #define _AT(T,X) X
> #else
> @@ -28,7 +28,7 @@
> #define _BITUL(x) (_UL(1) << (x))
> #define _BITULL(x) (_ULL(1) << (x))
>
> -#if !defined(__ASSEMBLY__)
> +#if !defined(__ASSEMBLER__)
> /*
> * Missing __asm__ support
> *
> diff --git a/linux-headers/asm-arm64/unistd_64.h b/linux-headers/asm-arm64/unistd_64.h
> index 70b3754a4247..4329a2ad54c2 100644
> --- a/linux-headers/asm-arm64/unistd_64.h
> +++ b/linux-headers/asm-arm64/unistd_64.h
> @@ -328,6 +328,7 @@
> #define __NR_file_setattr 469
> #define __NR_listns 470
> #define __NR_rseq_slice_yield 471
> +#define __NR_fchroot 472
>
>
> #endif /* _ASM_UNISTD_64_H */
> diff --git a/linux-headers/asm-generic/unistd.h b/linux-headers/asm-generic/unistd.h
> index a627acc8fb5f..5b7e77a7c736 100644
> --- a/linux-headers/asm-generic/unistd.h
> +++ b/linux-headers/asm-generic/unistd.h
> @@ -863,8 +863,12 @@ __SYSCALL(__NR_listns, sys_listns)
> #define __NR_rseq_slice_yield 471
> __SYSCALL(__NR_rseq_slice_yield, sys_rseq_slice_yield)
>
> +/* fs/open.c */
> +#define __NR_fchroot 472
> +__SYSCALL(__NR_fchroot, sys_fchroot)
> +
> #undef __NR_syscalls
> -#define __NR_syscalls 472
> +#define __NR_syscalls 473
>
> /*
> * 32 bit systems traditionally used different
> diff --git a/linux-headers/asm-loongarch/unistd_64.h b/linux-headers/asm-loongarch/unistd_64.h
> index 3a29d86e1dee..b525f2d7b881 100644
> --- a/linux-headers/asm-loongarch/unistd_64.h
> +++ b/linux-headers/asm-loongarch/unistd_64.h
> @@ -325,6 +325,7 @@
> #define __NR_file_setattr 469
> #define __NR_listns 470
> #define __NR_rseq_slice_yield 471
> +#define __NR_fchroot 472
>
>
> #endif /* _ASM_UNISTD_64_H */
> diff --git a/linux-headers/asm-mips/unistd_n32.h b/linux-headers/asm-mips/unistd_n32.h
> index 5fa1ee0cb465..f883da76c999 100644
> --- a/linux-headers/asm-mips/unistd_n32.h
> +++ b/linux-headers/asm-mips/unistd_n32.h
> @@ -400,5 +400,6 @@
> #define __NR_file_setattr (__NR_Linux + 469)
> #define __NR_listns (__NR_Linux + 470)
> #define __NR_rseq_slice_yield (__NR_Linux + 471)
> +#define __NR_fchroot (__NR_Linux + 472)
>
> #endif /* _ASM_UNISTD_N32_H */
> diff --git a/linux-headers/asm-mips/unistd_n64.h b/linux-headers/asm-mips/unistd_n64.h
> index e1f873d83a5d..59837eb86628 100644
> --- a/linux-headers/asm-mips/unistd_n64.h
> +++ b/linux-headers/asm-mips/unistd_n64.h
> @@ -376,5 +376,6 @@
> #define __NR_file_setattr (__NR_Linux + 469)
> #define __NR_listns (__NR_Linux + 470)
> #define __NR_rseq_slice_yield (__NR_Linux + 471)
> +#define __NR_fchroot (__NR_Linux + 472)
>
> #endif /* _ASM_UNISTD_N64_H */
> diff --git a/linux-headers/asm-mips/unistd_o32.h b/linux-headers/asm-mips/unistd_o32.h
> index 8207e9ca4f67..485872076e92 100644
> --- a/linux-headers/asm-mips/unistd_o32.h
> +++ b/linux-headers/asm-mips/unistd_o32.h
> @@ -446,5 +446,6 @@
> #define __NR_file_setattr (__NR_Linux + 469)
> #define __NR_listns (__NR_Linux + 470)
> #define __NR_rseq_slice_yield (__NR_Linux + 471)
> +#define __NR_fchroot (__NR_Linux + 472)
>
> #endif /* _ASM_UNISTD_O32_H */
> diff --git a/linux-headers/asm-powerpc/kvm.h b/linux-headers/asm-powerpc/kvm.h
> index 077c5437f521..913a64b901a3 100644
> --- a/linux-headers/asm-powerpc/kvm.h
> +++ b/linux-headers/asm-powerpc/kvm.h
> @@ -437,6 +437,24 @@ struct kvm_ppc_cpu_char {
> __u64 behaviour_mask; /* valid bits in behaviour */
> };
>
> +/* For KVM_PPC_GET_COMPAT_CAPS */
> +struct kvm_ppc_compat_caps {
> + __u64 size; /* Size of this structure */
> + __u64 flags; /* Reserved for future use */
> + __u64 compat_capabilities; /* Capabilities supported by the host */
> +};
> +#define KVM_PPC_COMPAT_CAPS_SIZE_VER0 24 /* sizeof first published struct */
> +
> +/*
> + * Capability bits for compat_capabilities field in kvm_ppc_compat_caps.
> + * These bits indicate which processor compatibility modes are supported.
> + */
> +#define KVM_PPC_COMPAT_CAP_POWER9 (1ULL << 62)
> +#define KVM_PPC_COMPAT_CAP_POWER10 (1ULL << 61)
> +#define KVM_PPC_COMPAT_CAP_POWER11 (1ULL << 60)
> +#define KVM_PPC_COMPAT_BITMASK (KVM_PPC_COMPAT_CAP_POWER9 | \
> + KVM_PPC_COMPAT_CAP_POWER10 | \
> + KVM_PPC_COMPAT_CAP_POWER11)
> /*
> * Values for character and character_mask.
> * These are identical to the values used by H_GET_CPU_CHARACTERISTICS.
> diff --git a/linux-headers/asm-powerpc/unistd_32.h b/linux-headers/asm-powerpc/unistd_32.h
> index 1f633601201b..2677c54903a4 100644
> --- a/linux-headers/asm-powerpc/unistd_32.h
> +++ b/linux-headers/asm-powerpc/unistd_32.h
> @@ -453,6 +453,7 @@
> #define __NR_file_setattr 469
> #define __NR_listns 470
> #define __NR_rseq_slice_yield 471
> +#define __NR_fchroot 472
>
>
> #endif /* _ASM_UNISTD_32_H */
> diff --git a/linux-headers/asm-powerpc/unistd_64.h b/linux-headers/asm-powerpc/unistd_64.h
> index 87439c53c121..6fc19ccccdb9 100644
> --- a/linux-headers/asm-powerpc/unistd_64.h
> +++ b/linux-headers/asm-powerpc/unistd_64.h
> @@ -425,6 +425,7 @@
> #define __NR_file_setattr 469
> #define __NR_listns 470
> #define __NR_rseq_slice_yield 471
> +#define __NR_fchroot 472
>
>
> #endif /* _ASM_UNISTD_64_H */
> diff --git a/linux-headers/asm-riscv/unistd_32.h b/linux-headers/asm-riscv/unistd_32.h
> index 828f3c2b9de1..1039bdc6cf5b 100644
> --- a/linux-headers/asm-riscv/unistd_32.h
> +++ b/linux-headers/asm-riscv/unistd_32.h
> @@ -319,6 +319,7 @@
> #define __NR_file_setattr 469
> #define __NR_listns 470
> #define __NR_rseq_slice_yield 471
> +#define __NR_fchroot 472
>
>
> #endif /* _ASM_UNISTD_32_H */
> diff --git a/linux-headers/asm-riscv/unistd_64.h b/linux-headers/asm-riscv/unistd_64.h
> index 8fa59835a333..72040a54987a 100644
> --- a/linux-headers/asm-riscv/unistd_64.h
> +++ b/linux-headers/asm-riscv/unistd_64.h
> @@ -329,6 +329,7 @@
> #define __NR_file_setattr 469
> #define __NR_listns 470
> #define __NR_rseq_slice_yield 471
> +#define __NR_fchroot 472
>
>
> #endif /* _ASM_UNISTD_64_H */
> diff --git a/linux-headers/asm-s390/unistd_64.h b/linux-headers/asm-s390/unistd_64.h
> index 01f674c1bcb7..3d3747e3ca1f 100644
> --- a/linux-headers/asm-s390/unistd_64.h
> +++ b/linux-headers/asm-s390/unistd_64.h
> @@ -391,6 +391,7 @@
> #define __NR_file_setattr 469
> #define __NR_listns 470
> #define __NR_rseq_slice_yield 471
> +#define __NR_fchroot 472
>
>
> #endif /* _ASM_UNISTD_64_H */
> diff --git a/linux-headers/asm-x86/unistd_32.h b/linux-headers/asm-x86/unistd_32.h
> index e94546882962..7f298247f805 100644
> --- a/linux-headers/asm-x86/unistd_32.h
> +++ b/linux-headers/asm-x86/unistd_32.h
> @@ -462,6 +462,7 @@
> #define __NR_file_setattr 469
> #define __NR_listns 470
> #define __NR_rseq_slice_yield 471
> +#define __NR_fchroot 472
>
>
> #endif /* _ASM_UNISTD_32_H */
> diff --git a/linux-headers/asm-x86/unistd_64.h b/linux-headers/asm-x86/unistd_64.h
> index 3c49b00ed13c..fbddeb4bc381 100644
> --- a/linux-headers/asm-x86/unistd_64.h
> +++ b/linux-headers/asm-x86/unistd_64.h
> @@ -386,6 +386,7 @@
> #define __NR_file_setattr 469
> #define __NR_listns 470
> #define __NR_rseq_slice_yield 471
> +#define __NR_fchroot 472
>
>
> #endif /* _ASM_UNISTD_64_H */
> diff --git a/linux-headers/asm-x86/unistd_x32.h b/linux-headers/asm-x86/unistd_x32.h
> index bd2af9ad088d..629770ed4baa 100644
> --- a/linux-headers/asm-x86/unistd_x32.h
> +++ b/linux-headers/asm-x86/unistd_x32.h
> @@ -339,6 +339,7 @@
> #define __NR_file_setattr (__X32_SYSCALL_BIT + 469)
> #define __NR_listns (__X32_SYSCALL_BIT + 470)
> #define __NR_rseq_slice_yield (__X32_SYSCALL_BIT + 471)
> +#define __NR_fchroot (__X32_SYSCALL_BIT + 472)
> #define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
> #define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
> #define __NR_ioctl (__X32_SYSCALL_BIT + 514)
> diff --git a/linux-headers/linux/const.h b/linux-headers/linux/const.h
> index c6a9d0c9835c..92635cec4aed 100644
> --- a/linux-headers/linux/const.h
> +++ b/linux-headers/linux/const.h
> @@ -13,7 +13,7 @@
> * leave it unchanged in asm.
> */
>
> -#ifdef __ASSEMBLY__
> +#ifdef __ASSEMBLER__
> #define _AC(X,Y) X
> #define _AT(T,X) X
> #else
> @@ -28,7 +28,7 @@
> #define _BITUL(x) (_UL(1) << (x))
> #define _BITULL(x) (_ULL(1) << (x))
>
> -#if !defined(__ASSEMBLY__)
> +#if !defined(__ASSEMBLER__)
> /*
> * Missing __asm__ support
> *
> diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
> index dd52e2a65bfd..aea4ab5c6953 100644
> --- a/linux-headers/linux/kvm.h
> +++ b/linux-headers/linux/kvm.h
> @@ -986,6 +986,7 @@ struct kvm_enable_cap {
> #define KVM_CAP_S390_KEYOP 247
> #define KVM_CAP_S390_VSIE_ESAMODE 248
> #define KVM_CAP_S390_HPAGE_2G 249
> +#define KVM_CAP_PPC_COMPAT_CAPS 250
>
> struct kvm_irq_routing_irqchip {
> __u32 irqchip;
> @@ -1330,6 +1331,8 @@ struct kvm_s390_keyop {
> /* Available with KVM_CAP_COUNTER_OFFSET */
> #define KVM_ARM_SET_COUNTER_OFFSET _IOW(KVMIO, 0xb5, struct kvm_arm_counter_offset)
> #define KVM_ARM_GET_REG_WRITABLE_MASKS _IOR(KVMIO, 0xb6, struct reg_mask_range)
> +/* Available with KVM_CAP_PPC_COMPAT_CAPS */
> +#define KVM_PPC_GET_COMPAT_CAPS _IO(KVMIO, 0xb8)
>
> /* ioctl for vm fd */
> #define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device)
>
> base-commit: fa19879df1658f96ac07365fca8835b7decd6995
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] linux-headers: Update to include KVM_CAP_PPC_COMPAT_CAPS
2026-08-23 5:59 ` Harsh Prateek Bora
@ 2026-08-24 9:04 ` Cornelia Huck
2026-08-24 10:20 ` Harsh Prateek Bora
0 siblings, 1 reply; 5+ messages in thread
From: Cornelia Huck @ 2026-08-24 9:04 UTC (permalink / raw)
To: Harsh Prateek Bora, Amit Machhiwal, qemu-devel, kvm,
Michael S. Tsirkin
Cc: Chinmay Rath
On Sun, Aug 23 2026, Harsh Prateek Bora <harshpb@linux.ibm.com> wrote:
> Hi Cornelia,
>
> Will you be picking it up sometime soon or shall I fold in with
> respective qemu patches depending on it? Please let me know. TIA.
For headers updates, the usual process is to simply include them with
the series making use of the updates, so please just send them together
with your series.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] linux-headers: Update to include KVM_CAP_PPC_COMPAT_CAPS
2026-08-24 9:04 ` Cornelia Huck
@ 2026-08-24 10:20 ` Harsh Prateek Bora
0 siblings, 0 replies; 5+ messages in thread
From: Harsh Prateek Bora @ 2026-08-24 10:20 UTC (permalink / raw)
To: Cornelia Huck, Amit Machhiwal, qemu-devel, kvm,
Michael S. Tsirkin
Cc: Chinmay Rath
On 24/08/26 2:34 pm, Cornelia Huck wrote:
> On Sun, Aug 23 2026, Harsh Prateek Bora <harshpb@linux.ibm.com> wrote:
>
>> Hi Cornelia,
>>
>> Will you be picking it up sometime soon or shall I fold in with
>> respective qemu patches depending on it? Please let me know. TIA.
>
> For headers updates, the usual process is to simply include them with
> the series making use of the updates, so please just send them together
> with your series.
Sure, I will include it in my next PR then. Thanks!
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] linux-headers: Update to include KVM_CAP_PPC_COMPAT_CAPS
2026-08-19 4:59 [PATCH] linux-headers: Update to include KVM_CAP_PPC_COMPAT_CAPS Amit Machhiwal
2026-08-23 5:59 ` Harsh Prateek Bora
@ 2026-08-24 11:15 ` Amit Machhiwal
1 sibling, 0 replies; 5+ messages in thread
From: Amit Machhiwal @ 2026-08-24 11:15 UTC (permalink / raw)
To: qemu-devel, kvm, Michael S. Tsirkin, Cornelia Huck
Cc: Amit Machhiwal, Harsh Prateek Bora, Chinmay Rath
On 2026/08/19 10:29 AM, Amit Machhiwal wrote:
> Sync linux headers from Linux kernel commit 1200d84f4c0a
> ("Merge tag 'powerpc-7.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux").
>
> This picks up the new KVM_CAP_PPC_COMPAT_CAPS capability for powerpc,
> which introduces:
> - struct kvm_ppc_compat_caps: reports processor compatibility modes
> supported by the host (POWER9, POWER10, POWER11)
> - KVM_PPC_GET_COMPAT_CAPS ioctl (KVMIO 0xb8)
> - KVM_CAP_PPC_COMPAT_CAPS (cap #250) in linux/kvm.h
>
> The sync is needed to get the corresponding Qemu series[1] merged.
>
> [1]: https://lore.kernel.org/all/20260812170854.58709-1-amachhiw@linux.ibm.com/
>
> Signed-off-by: Amit Machhiwal <amachhiw@linux.ibm.com>
> ---
> include/standard-headers/linux/const.h | 4 ++--
> linux-headers/asm-arm64/unistd_64.h | 1 +
> linux-headers/asm-generic/unistd.h | 6 +++++-
> linux-headers/asm-loongarch/unistd_64.h | 1 +
> linux-headers/asm-mips/unistd_n32.h | 1 +
> linux-headers/asm-mips/unistd_n64.h | 1 +
> linux-headers/asm-mips/unistd_o32.h | 1 +
> linux-headers/asm-powerpc/kvm.h | 18 ++++++++++++++++++
> linux-headers/asm-powerpc/unistd_32.h | 1 +
> linux-headers/asm-powerpc/unistd_64.h | 1 +
> linux-headers/asm-riscv/unistd_32.h | 1 +
> linux-headers/asm-riscv/unistd_64.h | 1 +
> linux-headers/asm-s390/unistd_64.h | 1 +
> linux-headers/asm-x86/unistd_32.h | 1 +
> linux-headers/asm-x86/unistd_64.h | 1 +
> linux-headers/asm-x86/unistd_x32.h | 1 +
> linux-headers/linux/const.h | 4 ++--
> linux-headers/linux/kvm.h | 3 +++
> 18 files changed, 43 insertions(+), 5 deletions(-)
>
CI link: https://gitlab.com/amachhiw/qemu/-/pipelines/2784536213 (Passed)
Thanks,
Amit
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-08-24 11:15 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-19 4:59 [PATCH] linux-headers: Update to include KVM_CAP_PPC_COMPAT_CAPS Amit Machhiwal
2026-08-23 5:59 ` Harsh Prateek Bora
2026-08-24 9:04 ` Cornelia Huck
2026-08-24 10:20 ` Harsh Prateek Bora
2026-08-24 11:15 ` Amit Machhiwal
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox