@zigc/lib 0.17.0-dev.131 → 0.17.0-dev.135

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
  2. package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
  3. package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
  4. package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
  5. package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
  6. package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
  7. package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
  8. package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
  9. package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
  10. package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
  11. package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
  12. package/libc/include/any-linux-any/linux/android/binder.h +1 -1
  13. package/libc/include/any-linux-any/linux/bpf.h +28 -0
  14. package/libc/include/any-linux-any/linux/btrfs.h +1 -0
  15. package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
  16. package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
  17. package/libc/include/any-linux-any/linux/dpll.h +1 -0
  18. package/libc/include/any-linux-any/linux/elf.h +2 -0
  19. package/libc/include/any-linux-any/linux/ethtool.h +21 -5
  20. package/libc/include/any-linux-any/linux/fs.h +1 -0
  21. package/libc/include/any-linux-any/linux/hyperv.h +1 -1
  22. package/libc/include/any-linux-any/linux/idxd.h +134 -134
  23. package/libc/include/any-linux-any/linux/if_alg.h +1 -1
  24. package/libc/include/any-linux-any/linux/if_link.h +1 -0
  25. package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
  26. package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
  27. package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
  28. package/libc/include/any-linux-any/linux/io_uring.h +33 -2
  29. package/libc/include/any-linux-any/linux/iommufd.h +39 -0
  30. package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
  31. package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
  32. package/libc/include/any-linux-any/linux/kvm.h +30 -6
  33. package/libc/include/any-linux-any/linux/landlock.h +22 -8
  34. package/libc/include/any-linux-any/linux/magic.h +1 -0
  35. package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
  36. package/libc/include/any-linux-any/linux/mount.h +11 -2
  37. package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
  38. package/libc/include/any-linux-any/linux/mshv.h +2 -0
  39. package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
  40. package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
  41. package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
  42. package/libc/include/any-linux-any/linux/nfs.h +1 -1
  43. package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
  44. package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
  45. package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
  46. package/libc/include/any-linux-any/linux/nl80211.h +104 -3
  47. package/libc/include/any-linux-any/linux/pci.h +7 -0
  48. package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
  49. package/libc/include/any-linux-any/linux/pcitest.h +1 -0
  50. package/libc/include/any-linux-any/linux/perf_event.h +24 -3
  51. package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
  52. package/libc/include/any-linux-any/linux/prctl.h +30 -0
  53. package/libc/include/any-linux-any/linux/rseq.h +62 -5
  54. package/libc/include/any-linux-any/linux/shm.h +0 -1
  55. package/libc/include/any-linux-any/linux/stddef.h +4 -0
  56. package/libc/include/any-linux-any/linux/sysctl.h +1 -2
  57. package/libc/include/any-linux-any/linux/taskstats.h +12 -1
  58. package/libc/include/any-linux-any/linux/tcp.h +23 -3
  59. package/libc/include/any-linux-any/linux/typelimits.h +8 -0
  60. package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
  61. package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
  62. package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
  63. package/libc/include/any-linux-any/linux/vduse.h +80 -5
  64. package/libc/include/any-linux-any/linux/version.h +3 -3
  65. package/libc/include/any-linux-any/linux/vfio.h +4 -0
  66. package/libc/include/any-linux-any/linux/videodev2.h +3 -0
  67. package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
  68. package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
  69. package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
  70. package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
  71. package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
  72. package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
  73. package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
  74. package/libc/include/arc-linux-any/asm/swab.h +0 -63
  75. package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
  76. package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
  77. package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
  78. package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
  79. package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
  80. package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
  81. package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
  82. package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
  83. package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
  84. package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
  85. package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
  86. package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
  87. package/libc/include/mips-linux-any/asm/errno.h +2 -0
  88. package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
  89. package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
  90. package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
  91. package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
  92. package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
  93. package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
  94. package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
  95. package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
  96. package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
  97. package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
  98. package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
  99. package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
  100. package/libc/include/sparc-linux-any/asm/errno.h +2 -0
  101. package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
  102. package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
  103. package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
  104. package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
  105. package/libc/include/x86-linux-any/asm/kvm.h +13 -8
  106. package/libc/include/x86-linux-any/asm/svm.h +16 -16
  107. package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
  108. package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
  109. package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
  110. package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
  111. package/package.json +1 -1
  112. package/std/os/linux/syscalls.zig +26 -1
  113. package/libc/include/hexagon-linux-any/asm/signal.h +0 -29
  114. package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
@@ -17,6 +17,9 @@
17
17
  #define MANA_IB_UVERBS_ABI_VERSION 1
18
18
 
19
19
  enum mana_ib_create_cq_flags {
20
+ /* Reserved for backward compatibility. Legacy
21
+ * kernel versions use it to create CQs in RNIC
22
+ */
20
23
  MANA_IB_CREATE_RNIC_CQ = 1 << 0,
21
24
  };
22
25
 
@@ -94,16 +94,15 @@ struct utp_upiu_header {
94
94
  };
95
95
 
96
96
  /**
97
- * struct utp_upiu_query - upiu request buffer structure for
98
- * query request.
99
- * @opcode: command to perform B-0
100
- * @idn: a value that indicates the particular type of data B-1
101
- * @index: Index to further identify data B-2
102
- * @selector: Index to further identify data B-3
97
+ * struct utp_upiu_query - QUERY REQUEST UPIU structure.
98
+ * @opcode: query function to perform B-0
99
+ * @idn: descriptor or attribute identification number B-1
100
+ * @index: Index that further identifies which data to access B-2
101
+ * @selector: Index that further identifies which data to access B-3
103
102
  * @reserved_osf: spec reserved field B-4,5
104
- * @length: number of descriptor bytes to read/write B-6,7
105
- * @value: Attribute value to be written DW-5
106
- * @reserved: spec reserved DW-6,7
103
+ * @length: number of descriptor bytes to read or write B-6,7
104
+ * @value: if @opcode == UPIU_QUERY_OPCODE_WRITE_ATTR, the value to be written B-6,7
105
+ * @reserved: reserved for future use DW-6,7
107
106
  */
108
107
  struct utp_upiu_query {
109
108
  __u8 opcode;
@@ -56,6 +56,9 @@
56
56
  #define SOF_TKN_SCHED_LP_MODE 207
57
57
  #define SOF_TKN_SCHED_MEM_USAGE 208
58
58
  #define SOF_TKN_SCHED_USE_CHAIN_DMA 209
59
+ #define SOF_TKN_SCHED_KCPS 210
60
+ #define SOF_TKN_SCHED_DIRECTION 211
61
+ #define SOF_TKN_SCHED_DIRECTION_VALID 212
59
62
 
60
63
  /* volume */
61
64
  #define SOF_TKN_VOLUME_RAMP_STEP_TYPE 250
@@ -107,6 +110,9 @@
107
110
  #define SOF_TKN_COMP_NO_WNAME_IN_KCONTROL_NAME 417
108
111
 
109
112
  #define SOF_TKN_COMP_SCHED_DOMAIN 418
113
+ #define SOF_TKN_COMP_DOMAIN_ID 419
114
+ #define SOF_TKN_COMP_HEAP_BYTES_REQUIREMENT 420
115
+ #define SOF_TKN_COMP_STACK_BYTES_REQUIREMENT 421
110
116
 
111
117
  /* SSP */
112
118
  #define SOF_TKN_INTEL_SSP_CLKS_CONTROL 500
@@ -19,9 +19,6 @@
19
19
 
20
20
  #include <linux/types.h>
21
21
 
22
- /* Native single cycle endian swap insn */
23
- #ifdef CONFIG_ARC_HAS_SWAPE
24
-
25
22
  #define __arch_swab32(x) \
26
23
  ({ \
27
24
  unsigned int tmp = x; \
@@ -32,66 +29,6 @@
32
29
  tmp; \
33
30
  })
34
31
 
35
- #else
36
-
37
- /* Several ways of Endian-Swap Emulation for ARC
38
- * 0: kernel generic
39
- * 1: ARC optimised "C"
40
- * 2: ARC Custom instruction
41
- */
42
- #define ARC_BSWAP_TYPE 1
43
-
44
- #if (ARC_BSWAP_TYPE == 1) /******* Software only ********/
45
-
46
- /* The kernel default implementation of htonl is
47
- * return x<<24 | x>>24 |
48
- * (x & (__u32)0x0000ff00UL)<<8 | (x & (__u32)0x00ff0000UL)>>8;
49
- *
50
- * This generates 9 instructions on ARC (excluding the ld/st)
51
- *
52
- * 8051fd8c: ld r3,[r7,20] ; Mem op : Get the value to be swapped
53
- * 8051fd98: asl r5,r3,24 ; get 3rd Byte
54
- * 8051fd9c: lsr r2,r3,24 ; get 0th Byte
55
- * 8051fda0: and r4,r3,0xff00
56
- * 8051fda8: asl r4,r4,8 ; get 1st Byte
57
- * 8051fdac: and r3,r3,0x00ff0000
58
- * 8051fdb4: or r2,r2,r5 ; combine 0th and 3rd Bytes
59
- * 8051fdb8: lsr r3,r3,8 ; 2nd Byte at correct place in Dst Reg
60
- * 8051fdbc: or r2,r2,r4 ; combine 0,3 Bytes with 1st Byte
61
- * 8051fdc0: or r2,r2,r3 ; combine 0,3,1 Bytes with 2nd Byte
62
- * 8051fdc4: st r2,[r1,20] ; Mem op : save result back to mem
63
- *
64
- * Joern suggested a better "C" algorithm which is great since
65
- * (1) It is portable to any architecture
66
- * (2) At the same time it takes advantage of ARC ISA (rotate intrns)
67
- */
68
-
69
- #define __arch_swab32(x) \
70
- ({ unsigned long __in = (x), __tmp; \
71
- __tmp = __in << 8 | __in >> 24; /* ror tmp,in,24 */ \
72
- __in = __in << 24 | __in >> 8; /* ror in,in,8 */ \
73
- __tmp ^= __in; \
74
- __tmp &= 0xff00ff; \
75
- __tmp ^ __in; \
76
- })
77
-
78
- #elif (ARC_BSWAP_TYPE == 2) /* Custom single cycle bswap instruction */
79
-
80
- #define __arch_swab32(x) \
81
- ({ \
82
- unsigned int tmp = x; \
83
- __asm__( \
84
- " .extInstruction bswap, 7, 0x00, SUFFIX_NONE, SYNTAX_2OP \n"\
85
- " bswap %0, %1 \n"\
86
- : "=r" (tmp) \
87
- : "r" (tmp)); \
88
- tmp; \
89
- })
90
-
91
- #endif /* ARC_BSWAP_TYPE=zzz */
92
-
93
- #endif /* CONFIG_ARC_HAS_SWAPE */
94
-
95
32
  #if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
96
33
  #define __SWAB_64_THRU_32__
97
34
  #endif
@@ -351,6 +351,7 @@
351
351
  #define __NR_file_getattr 468
352
352
  #define __NR_file_setattr 469
353
353
  #define __NR_listns 470
354
+ #define __NR_rseq_slice_yield 471
354
355
 
355
356
 
356
357
  #endif /* _ASM_UNISTD_32_H */
@@ -89,15 +89,6 @@
89
89
  #define PSR_IT_MASK 0x0600fc00 /* If-Then execution state mask */
90
90
  #define PSR_ENDIAN_MASK 0x00000200 /* Endianness state mask */
91
91
 
92
- /*
93
- * Default endianness state
94
- */
95
- #ifdef CONFIG_CPU_ENDIAN_BE8
96
- #define PSR_ENDSTATE PSR_E_BIT
97
- #else
98
- #define PSR_ENDSTATE 0
99
- #endif
100
-
101
92
  /*
102
93
  * These are 'magic' values for PTRACE_PEEKUSR that return info about where a
103
94
  * process is located in memory.
@@ -424,5 +424,6 @@
424
424
  #define __NR_file_getattr (__NR_SYSCALL_BASE + 468)
425
425
  #define __NR_file_setattr (__NR_SYSCALL_BASE + 469)
426
426
  #define __NR_listns (__NR_SYSCALL_BASE + 470)
427
+ #define __NR_rseq_slice_yield (__NR_SYSCALL_BASE + 471)
427
428
 
428
429
  #endif /* _ASM_UNISTD_EABI_H */
@@ -436,5 +436,6 @@
436
436
  #define __NR_file_getattr (__NR_SYSCALL_BASE + 468)
437
437
  #define __NR_file_setattr (__NR_SYSCALL_BASE + 469)
438
438
  #define __NR_listns (__NR_SYSCALL_BASE + 470)
439
+ #define __NR_rseq_slice_yield (__NR_SYSCALL_BASE + 471)
439
440
 
440
441
  #endif /* _ASM_UNISTD_OABI_H */
@@ -347,6 +347,7 @@
347
347
  #define __NR_file_getattr 468
348
348
  #define __NR_file_setattr 469
349
349
  #define __NR_listns 470
350
+ #define __NR_rseq_slice_yield 471
350
351
 
351
352
 
352
353
  #endif /* _ASM_UNISTD_32_H */
@@ -346,6 +346,7 @@
346
346
  #define __NR_file_getattr 468
347
347
  #define __NR_file_setattr 469
348
348
  #define __NR_listns 470
349
+ #define __NR_rseq_slice_yield 471
349
350
 
350
351
 
351
352
  #endif /* _ASM_UNISTD_32_H */
@@ -18,5 +18,6 @@
18
18
  #define HWCAP_LOONGARCH_LBT_MIPS (1 << 12)
19
19
  #define HWCAP_LOONGARCH_PTW (1 << 13)
20
20
  #define HWCAP_LOONGARCH_LSPW (1 << 14)
21
+ #define HWCAP_LOONGARCH_SCQ (1 << 15)
21
22
 
22
23
  #endif /* _ASM_HWCAP_H */
@@ -105,6 +105,7 @@ struct kvm_fpu {
105
105
  #define KVM_LOONGARCH_VM_FEAT_PV_STEALTIME 7
106
106
  #define KVM_LOONGARCH_VM_FEAT_PTW 8
107
107
  #define KVM_LOONGARCH_VM_FEAT_MSGINT 9
108
+ #define KVM_LOONGARCH_VM_FEAT_PV_PREEMPT 10
108
109
 
109
110
  /* Device Control API on vcpu fd */
110
111
  #define KVM_LOONGARCH_VCPU_CPUCFG 0
@@ -15,6 +15,7 @@
15
15
  #define CPUCFG_KVM_FEATURE (CPUCFG_KVM_BASE + 4)
16
16
  #define KVM_FEATURE_IPI 1
17
17
  #define KVM_FEATURE_STEAL_TIME 2
18
+ #define KVM_FEATURE_PREEMPT 3
18
19
  /* BIT 24 - 31 are features configurable by user space vmm */
19
20
  #define KVM_FEATURE_VIRT_EXTIOI 24
20
21
  #define KVM_FEATURE_USER_HCALL 25
@@ -292,6 +292,7 @@
292
292
  #define __NR_landlock_create_ruleset 444
293
293
  #define __NR_landlock_add_rule 445
294
294
  #define __NR_landlock_restrict_self 446
295
+ #define __NR_memfd_secret 447
295
296
  #define __NR_process_mrelease 448
296
297
  #define __NR_futex_waitv 449
297
298
  #define __NR_set_mempolicy_home_node 450
@@ -315,6 +316,7 @@
315
316
  #define __NR_file_getattr 468
316
317
  #define __NR_file_setattr 469
317
318
  #define __NR_listns 470
319
+ #define __NR_rseq_slice_yield 471
318
320
 
319
321
 
320
322
  #endif /* _ASM_UNISTD_32_H */
@@ -300,6 +300,7 @@
300
300
  #define __NR_landlock_create_ruleset 444
301
301
  #define __NR_landlock_add_rule 445
302
302
  #define __NR_landlock_restrict_self 446
303
+ #define __NR_memfd_secret 447
303
304
  #define __NR_process_mrelease 448
304
305
  #define __NR_futex_waitv 449
305
306
  #define __NR_set_mempolicy_home_node 450
@@ -323,6 +324,7 @@
323
324
  #define __NR_file_getattr 468
324
325
  #define __NR_file_setattr 469
325
326
  #define __NR_listns 470
327
+ #define __NR_rseq_slice_yield 471
326
328
 
327
329
 
328
330
  #endif /* _ASM_UNISTD_64_H */
@@ -443,6 +443,7 @@
443
443
  #define __NR_file_getattr 468
444
444
  #define __NR_file_setattr 469
445
445
  #define __NR_listns 470
446
+ #define __NR_rseq_slice_yield 471
446
447
 
447
448
 
448
449
  #endif /* _ASM_UNISTD_32_H */
@@ -50,6 +50,7 @@
50
50
  #define EDOTDOT 73 /* RFS specific error */
51
51
  #define EMULTIHOP 74 /* Multihop attempted */
52
52
  #define EBADMSG 77 /* Not a data message */
53
+ #define EFSBADCRC EBADMSG /* Bad CRC detected */
53
54
  #define ENAMETOOLONG 78 /* File name too long */
54
55
  #define EOVERFLOW 79 /* Value too large for defined data type */
55
56
  #define ENOTUNIQ 80 /* Name not unique on network */
@@ -88,6 +89,7 @@
88
89
  #define EISCONN 133 /* Transport endpoint is already connected */
89
90
  #define ENOTCONN 134 /* Transport endpoint is not connected */
90
91
  #define EUCLEAN 135 /* Structure needs cleaning */
92
+ #define EFSCORRUPTED EUCLEAN /* Filesystem is corrupted */
91
93
  #define ENOTNAM 137 /* Not a XENIX named type file */
92
94
  #define ENAVAIL 138 /* No XENIX semaphores available */
93
95
  #define EISNAM 139 /* Is a named type file */
@@ -399,5 +399,6 @@
399
399
  #define __NR_file_getattr (__NR_Linux + 468)
400
400
  #define __NR_file_setattr (__NR_Linux + 469)
401
401
  #define __NR_listns (__NR_Linux + 470)
402
+ #define __NR_rseq_slice_yield (__NR_Linux + 471)
402
403
 
403
404
  #endif /* _ASM_UNISTD_N32_H */
@@ -375,5 +375,6 @@
375
375
  #define __NR_file_getattr (__NR_Linux + 468)
376
376
  #define __NR_file_setattr (__NR_Linux + 469)
377
377
  #define __NR_listns (__NR_Linux + 470)
378
+ #define __NR_rseq_slice_yield (__NR_Linux + 471)
378
379
 
379
380
  #endif /* _ASM_UNISTD_N64_H */
@@ -445,5 +445,6 @@
445
445
  #define __NR_file_getattr (__NR_Linux + 468)
446
446
  #define __NR_file_setattr (__NR_Linux + 469)
447
447
  #define __NR_listns (__NR_Linux + 470)
448
+ #define __NR_rseq_slice_yield (__NR_Linux + 471)
448
449
 
449
450
  #endif /* _ASM_UNISTD_O32_H */
@@ -452,6 +452,7 @@
452
452
  #define __NR_file_getattr 468
453
453
  #define __NR_file_setattr 469
454
454
  #define __NR_listns 470
455
+ #define __NR_rseq_slice_yield 471
455
456
 
456
457
 
457
458
  #endif /* _ASM_UNISTD_32_H */
@@ -424,6 +424,7 @@
424
424
  #define __NR_file_getattr 468
425
425
  #define __NR_file_setattr 469
426
426
  #define __NR_listns 470
427
+ #define __NR_rseq_slice_yield 471
427
428
 
428
429
 
429
430
  #endif /* _ASM_UNISTD_64_H */
@@ -86,6 +86,7 @@ struct riscv_hwprobe {
86
86
  #define RISCV_HWPROBE_EXT_ZICBOP (1ULL << 60)
87
87
  #define RISCV_HWPROBE_EXT_ZILSD (1ULL << 61)
88
88
  #define RISCV_HWPROBE_EXT_ZCLSD (1ULL << 62)
89
+ #define RISCV_HWPROBE_EXT_ZICFILP (1ULL << 63)
89
90
 
90
91
  #define RISCV_HWPROBE_KEY_CPUPERF_0 5
91
92
  #define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0)
@@ -113,6 +114,9 @@ struct riscv_hwprobe {
113
114
  #define RISCV_HWPROBE_KEY_VENDOR_EXT_SIFIVE_0 13
114
115
  #define RISCV_HWPROBE_KEY_VENDOR_EXT_MIPS_0 14
115
116
  #define RISCV_HWPROBE_KEY_ZICBOP_BLOCK_SIZE 15
117
+ #define RISCV_HWPROBE_KEY_IMA_EXT_1 16
118
+ #define RISCV_HWPROBE_EXT_ZICFISS (1ULL << 0)
119
+
116
120
  /* Increase RISCV_HWPROBE_MAX_KEY when adding items. */
117
121
 
118
122
  /* Flags */
@@ -192,6 +192,9 @@ enum KVM_RISCV_ISA_EXT_ID {
192
192
  KVM_RISCV_ISA_EXT_ZFBFMIN,
193
193
  KVM_RISCV_ISA_EXT_ZVFBFMIN,
194
194
  KVM_RISCV_ISA_EXT_ZVFBFWMA,
195
+ KVM_RISCV_ISA_EXT_ZCLSD,
196
+ KVM_RISCV_ISA_EXT_ZILSD,
197
+ KVM_RISCV_ISA_EXT_ZALASR,
195
198
  KVM_RISCV_ISA_EXT_MAX,
196
199
  };
197
200
 
@@ -9,6 +9,7 @@
9
9
  #ifndef __ASSEMBLER__
10
10
 
11
11
  #include <linux/types.h>
12
+ #include <linux/const.h>
12
13
 
13
14
  #define PTRACE_GETFDPIC 33
14
15
 
@@ -127,6 +128,42 @@ struct __riscv_v_regset_state {
127
128
  */
128
129
  #define RISCV_MAX_VLENB (8192)
129
130
 
131
+ struct __sc_riscv_cfi_state {
132
+ unsigned long ss_ptr; /* shadow stack pointer */
133
+ };
134
+
135
+ #define PTRACE_CFI_BRANCH_LANDING_PAD_EN_BIT 0
136
+ #define PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_BIT 1
137
+ #define PTRACE_CFI_BRANCH_EXPECTED_LANDING_PAD_BIT 2
138
+ #define PTRACE_CFI_SHADOW_STACK_EN_BIT 3
139
+ #define PTRACE_CFI_SHADOW_STACK_LOCK_BIT 4
140
+ #define PTRACE_CFI_SHADOW_STACK_PTR_BIT 5
141
+
142
+ #define PTRACE_CFI_BRANCH_LANDING_PAD_EN_STATE _BITUL(PTRACE_CFI_BRANCH_LANDING_PAD_EN_BIT)
143
+ #define PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_STATE \
144
+ _BITUL(PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_BIT)
145
+ #define PTRACE_CFI_BRANCH_EXPECTED_LANDING_PAD_STATE \
146
+ _BITUL(PTRACE_CFI_BRANCH_EXPECTED_LANDING_PAD_BIT)
147
+ #define PTRACE_CFI_SHADOW_STACK_EN_STATE _BITUL(PTRACE_CFI_SHADOW_STACK_EN_BIT)
148
+ #define PTRACE_CFI_SHADOW_STACK_LOCK_STATE _BITUL(PTRACE_CFI_SHADOW_STACK_LOCK_BIT)
149
+ #define PTRACE_CFI_SHADOW_STACK_PTR_STATE _BITUL(PTRACE_CFI_SHADOW_STACK_PTR_BIT)
150
+
151
+ #define PTRACE_CFI_STATE_INVALID_MASK ~(PTRACE_CFI_BRANCH_LANDING_PAD_EN_STATE | \
152
+ PTRACE_CFI_BRANCH_LANDING_PAD_LOCK_STATE | \
153
+ PTRACE_CFI_BRANCH_EXPECTED_LANDING_PAD_STATE | \
154
+ PTRACE_CFI_SHADOW_STACK_EN_STATE | \
155
+ PTRACE_CFI_SHADOW_STACK_LOCK_STATE | \
156
+ PTRACE_CFI_SHADOW_STACK_PTR_STATE)
157
+
158
+ struct __cfi_status {
159
+ __u64 cfi_state;
160
+ };
161
+
162
+ struct user_cfi_state {
163
+ struct __cfi_status cfi_status;
164
+ __u64 shstk_ptr;
165
+ };
166
+
130
167
  #endif /* __ASSEMBLER__ */
131
168
 
132
169
  #endif /* _ASM_RISCV_PTRACE_H */
@@ -10,6 +10,7 @@
10
10
 
11
11
  /* The Magic number for signal context frame header. */
12
12
  #define RISCV_V_MAGIC 0x53465457
13
+ #define RISCV_ZICFISS_MAGIC 0x9487
13
14
  #define END_MAGIC 0x0
14
15
 
15
16
  /* The size of END signal context header. */
@@ -318,6 +318,7 @@
318
318
  #define __NR_file_getattr 468
319
319
  #define __NR_file_setattr 469
320
320
  #define __NR_listns 470
321
+ #define __NR_rseq_slice_yield 471
321
322
 
322
323
 
323
324
  #endif /* _ASM_UNISTD_32_H */
@@ -328,6 +328,7 @@
328
328
  #define __NR_file_getattr 468
329
329
  #define __NR_file_setattr 469
330
330
  #define __NR_listns 470
331
+ #define __NR_rseq_slice_yield 471
331
332
 
332
333
 
333
334
  #endif /* _ASM_UNISTD_64_H */
@@ -390,6 +390,7 @@
390
390
  #define __NR_file_getattr 468
391
391
  #define __NR_file_setattr 469
392
392
  #define __NR_listns 470
393
+ #define __NR_rseq_slice_yield 471
393
394
 
394
395
 
395
396
  #endif /* _ASM_UNISTD_64_H */
@@ -48,6 +48,7 @@
48
48
  #define ENOSR 74 /* Out of streams resources */
49
49
  #define ENOMSG 75 /* No message of desired type */
50
50
  #define EBADMSG 76 /* Not a data message */
51
+ #define EFSBADCRC EBADMSG /* Bad CRC detected */
51
52
  #define EIDRM 77 /* Identifier removed */
52
53
  #define EDEADLK 78 /* Resource deadlock would occur */
53
54
  #define ENOLCK 79 /* No record locks available */
@@ -91,6 +92,7 @@
91
92
  #define ENOTUNIQ 115 /* Name not unique on network */
92
93
  #define ERESTART 116 /* Interrupted syscall should be restarted */
93
94
  #define EUCLEAN 117 /* Structure needs cleaning */
95
+ #define EFSCORRUPTED EUCLEAN /* Filesystem is corrupted */
94
96
  #define ENOTNAM 118 /* Not a XENIX named type file */
95
97
  #define ENAVAIL 119 /* No XENIX semaphores available */
96
98
  #define EISNAM 120 /* Is a named type file */
@@ -5,10 +5,10 @@
5
5
  #include <asm/ioctl.h>
6
6
 
7
7
  /* Big T */
8
- #define TCGETA _IOR('T', 1, struct termio)
9
- #define TCSETA _IOW('T', 2, struct termio)
10
- #define TCSETAW _IOW('T', 3, struct termio)
11
- #define TCSETAF _IOW('T', 4, struct termio)
8
+ #define TCGETA 0x40125401 /* _IOR('T', 1, struct termio) */
9
+ #define TCSETA 0x80125402 /* _IOW('T', 2, struct termio) */
10
+ #define TCSETAW 0x80125403 /* _IOW('T', 3, struct termio) */
11
+ #define TCSETAF 0x80125404 /* _IOW('T', 4, struct termio) */
12
12
  #define TCSBRK _IO('T', 5)
13
13
  #define TCXONC _IO('T', 6)
14
14
  #define TCFLSH _IO('T', 7)
@@ -406,6 +406,7 @@
406
406
  #define __NR_fsmount 432
407
407
  #define __NR_fspick 433
408
408
  #define __NR_pidfd_open 434
409
+ #define __NR_clone3 435
409
410
  #define __NR_close_range 436
410
411
  #define __NR_openat2 437
411
412
  #define __NR_pidfd_getfd 438
@@ -440,6 +441,7 @@
440
441
  #define __NR_file_getattr 468
441
442
  #define __NR_file_setattr 469
442
443
  #define __NR_listns 470
444
+ #define __NR_rseq_slice_yield 471
443
445
 
444
446
 
445
447
  #endif /* _ASM_UNISTD_32_H */
@@ -369,6 +369,7 @@
369
369
  #define __NR_fsmount 432
370
370
  #define __NR_fspick 433
371
371
  #define __NR_pidfd_open 434
372
+ #define __NR_clone3 435
372
373
  #define __NR_close_range 436
373
374
  #define __NR_openat2 437
374
375
  #define __NR_pidfd_getfd 438
@@ -403,6 +404,7 @@
403
404
  #define __NR_file_getattr 468
404
405
  #define __NR_file_setattr 469
405
406
  #define __NR_listns 470
407
+ #define __NR_rseq_slice_yield 471
406
408
 
407
409
 
408
410
  #endif /* _ASM_UNISTD_64_H */
@@ -11,10 +11,6 @@
11
11
  #define AT_SYSINFO_EHDR 33
12
12
 
13
13
  /* entries in ARCH_DLINFO: */
14
- #if defined(CONFIG_IA32_EMULATION) || !defined(CONFIG_X86_64)
15
- # define AT_VECTOR_SIZE_ARCH 3
16
- #else /* else it's non-compat x86-64 */
17
14
  # define AT_VECTOR_SIZE_ARCH 2
18
- #endif
19
15
 
20
16
  #endif /* _ASM_X86_AUXVEC_H */
@@ -197,13 +197,13 @@ struct kvm_msrs {
197
197
  __u32 nmsrs; /* number of msrs in entries */
198
198
  __u32 pad;
199
199
 
200
- struct kvm_msr_entry entries[];
200
+ __DECLARE_FLEX_ARRAY(struct kvm_msr_entry, entries);
201
201
  };
202
202
 
203
203
  /* for KVM_GET_MSR_INDEX_LIST */
204
204
  struct kvm_msr_list {
205
205
  __u32 nmsrs; /* number of msrs in entries */
206
- __u32 indices[];
206
+ __DECLARE_FLEX_ARRAY(__u32, indices);
207
207
  };
208
208
 
209
209
  /* Maximum size of any access bitmap in bytes */
@@ -243,7 +243,7 @@ struct kvm_cpuid_entry {
243
243
  struct kvm_cpuid {
244
244
  __u32 nent;
245
245
  __u32 padding;
246
- struct kvm_cpuid_entry entries[];
246
+ __DECLARE_FLEX_ARRAY(struct kvm_cpuid_entry, entries);
247
247
  };
248
248
 
249
249
  struct kvm_cpuid_entry2 {
@@ -265,7 +265,7 @@ struct kvm_cpuid_entry2 {
265
265
  struct kvm_cpuid2 {
266
266
  __u32 nent;
267
267
  __u32 padding;
268
- struct kvm_cpuid_entry2 entries[];
268
+ __DECLARE_FLEX_ARRAY(struct kvm_cpuid_entry2, entries);
269
269
  };
270
270
 
271
271
  /* for KVM_GET_PIT and KVM_SET_PIT */
@@ -396,7 +396,7 @@ struct kvm_xsave {
396
396
  * the contents of CPUID leaf 0xD on the host.
397
397
  */
398
398
  __u32 region[1024];
399
- __u32 extra[];
399
+ __DECLARE_FLEX_ARRAY(__u32, extra);
400
400
  };
401
401
 
402
402
  #define KVM_MAX_XCRS 16
@@ -474,6 +474,7 @@ struct kvm_sync_regs {
474
474
  #define KVM_X86_QUIRK_SLOT_ZAP_ALL (1 << 7)
475
475
  #define KVM_X86_QUIRK_STUFF_FEATURE_MSRS (1 << 8)
476
476
  #define KVM_X86_QUIRK_IGNORE_GUEST_PAT (1 << 9)
477
+ #define KVM_X86_QUIRK_VMCS12_ALLOW_FREEZE_IN_SMM (1 << 10)
477
478
 
478
479
  #define KVM_STATE_NESTED_FORMAT_VMX 0
479
480
  #define KVM_STATE_NESTED_FORMAT_SVM 1
@@ -501,6 +502,7 @@ struct kvm_sync_regs {
501
502
  #define KVM_X86_GRP_SEV 1
502
503
  # define KVM_X86_SEV_VMSA_FEATURES 0
503
504
  # define KVM_X86_SNP_POLICY_BITS 1
505
+ # define KVM_X86_SEV_SNP_REQ_CERTS 2
504
506
 
505
507
  struct kvm_vmx_nested_state_data {
506
508
  __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE];
@@ -562,7 +564,7 @@ struct kvm_pmu_event_filter {
562
564
  __u32 fixed_counter_bitmap;
563
565
  __u32 flags;
564
566
  __u32 pad[4];
565
- __u64 events[];
567
+ __DECLARE_FLEX_ARRAY(__u64, events);
566
568
  };
567
569
 
568
570
  #define KVM_PMU_EVENT_ALLOW 0
@@ -741,6 +743,7 @@ enum sev_cmd_id {
741
743
  KVM_SEV_SNP_LAUNCH_START = 100,
742
744
  KVM_SEV_SNP_LAUNCH_UPDATE,
743
745
  KVM_SEV_SNP_LAUNCH_FINISH,
746
+ KVM_SEV_SNP_ENABLE_REQ_CERTS,
744
747
 
745
748
  KVM_SEV_NR_MAX,
746
749
  };
@@ -912,8 +915,10 @@ struct kvm_sev_snp_launch_finish {
912
915
  __u64 pad1[4];
913
916
  };
914
917
 
915
- #define KVM_X2APIC_API_USE_32BIT_IDS (1ULL << 0)
916
- #define KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK (1ULL << 1)
918
+ #define KVM_X2APIC_API_USE_32BIT_IDS _BITULL(0)
919
+ #define KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK _BITULL(1)
920
+ #define KVM_X2APIC_ENABLE_SUPPRESS_EOI_BROADCAST _BITULL(2)
921
+ #define KVM_X2APIC_DISABLE_SUPPRESS_EOI_BROADCAST _BITULL(3)
917
922
 
918
923
  struct kvm_hyperv_eventfd {
919
924
  __u32 conn_id;
@@ -103,38 +103,38 @@
103
103
  #define SVM_EXIT_VMGEXIT 0x403
104
104
 
105
105
  /* SEV-ES software-defined VMGEXIT events */
106
- #define SVM_VMGEXIT_MMIO_READ 0x80000001
107
- #define SVM_VMGEXIT_MMIO_WRITE 0x80000002
108
- #define SVM_VMGEXIT_NMI_COMPLETE 0x80000003
109
- #define SVM_VMGEXIT_AP_HLT_LOOP 0x80000004
110
- #define SVM_VMGEXIT_AP_JUMP_TABLE 0x80000005
106
+ #define SVM_VMGEXIT_MMIO_READ 0x80000001ull
107
+ #define SVM_VMGEXIT_MMIO_WRITE 0x80000002ull
108
+ #define SVM_VMGEXIT_NMI_COMPLETE 0x80000003ull
109
+ #define SVM_VMGEXIT_AP_HLT_LOOP 0x80000004ull
110
+ #define SVM_VMGEXIT_AP_JUMP_TABLE 0x80000005ull
111
111
  #define SVM_VMGEXIT_SET_AP_JUMP_TABLE 0
112
112
  #define SVM_VMGEXIT_GET_AP_JUMP_TABLE 1
113
- #define SVM_VMGEXIT_PSC 0x80000010
114
- #define SVM_VMGEXIT_GUEST_REQUEST 0x80000011
115
- #define SVM_VMGEXIT_EXT_GUEST_REQUEST 0x80000012
116
- #define SVM_VMGEXIT_AP_CREATION 0x80000013
113
+ #define SVM_VMGEXIT_PSC 0x80000010ull
114
+ #define SVM_VMGEXIT_GUEST_REQUEST 0x80000011ull
115
+ #define SVM_VMGEXIT_EXT_GUEST_REQUEST 0x80000012ull
116
+ #define SVM_VMGEXIT_AP_CREATION 0x80000013ull
117
117
  #define SVM_VMGEXIT_AP_CREATE_ON_INIT 0
118
118
  #define SVM_VMGEXIT_AP_CREATE 1
119
119
  #define SVM_VMGEXIT_AP_DESTROY 2
120
- #define SVM_VMGEXIT_SNP_RUN_VMPL 0x80000018
121
- #define SVM_VMGEXIT_SAVIC 0x8000001a
120
+ #define SVM_VMGEXIT_SNP_RUN_VMPL 0x80000018ull
121
+ #define SVM_VMGEXIT_SAVIC 0x8000001aull
122
122
  #define SVM_VMGEXIT_SAVIC_REGISTER_GPA 0
123
123
  #define SVM_VMGEXIT_SAVIC_UNREGISTER_GPA 1
124
124
  #define SVM_VMGEXIT_SAVIC_SELF_GPA ~0ULL
125
- #define SVM_VMGEXIT_HV_FEATURES 0x8000fffd
126
- #define SVM_VMGEXIT_TERM_REQUEST 0x8000fffe
125
+ #define SVM_VMGEXIT_HV_FEATURES 0x8000fffdull
126
+ #define SVM_VMGEXIT_TERM_REQUEST 0x8000fffeull
127
127
  #define SVM_VMGEXIT_TERM_REASON(reason_set, reason_code) \
128
128
  /* SW_EXITINFO1[3:0] */ \
129
129
  (((((u64)reason_set) & 0xf)) | \
130
130
  /* SW_EXITINFO1[11:4] */ \
131
131
  ((((u64)reason_code) & 0xff) << 4))
132
- #define SVM_VMGEXIT_UNSUPPORTED_EVENT 0x8000ffff
132
+ #define SVM_VMGEXIT_UNSUPPORTED_EVENT 0x8000ffffull
133
133
 
134
134
  /* Exit code reserved for hypervisor/software use */
135
- #define SVM_EXIT_SW 0xf0000000
135
+ #define SVM_EXIT_SW 0xf0000000ull
136
136
 
137
- #define SVM_EXIT_ERR -1
137
+ #define SVM_EXIT_ERR -1ull
138
138
 
139
139
  #define SVM_EXIT_REASONS \
140
140
  { SVM_EXIT_READ_CR0, "read_cr0" }, \