History

Merge tag 'kvmarm-5.14' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD

KVM/arm64 updates for v5.14. - Add MTE support in guests, complete with tag save/restore interface - Reduce the impact of CMOs by moving them in the page-table code - Allow device block mappings at stage-2 - Reduce the footprint of the vmemmap in protected mode - Support the vGIC on dumb systems such as the Apple M1 - Add selftest infrastructure to support multiple configuration and apply that to PMU/non-PMU setups - Add selftests for the debug architecture - The usual crop of PMU fixes

Paolo Bonzini committed 5 years ago

Commit b8917b42 parents 79b1e56 188982c816 files · +9374 −4407Browse files

Showing the changes to include/uapi (5 of 816 files). Show all

Unified · Split

5 files
  1. include/uapi/asm-generic/siginfo.h +8 −7
  2. include/uapi/linux/kvm.h +2 −0
  3. include/uapi/linux/perf_event.h +1 −1
  4. include/uapi/linux/signalfd.h +1 −3
  5. include/uapi/misc/habanalabs.h +33 −0
include/uapi/asm-generic/siginfo.h+8−7
@@ -63,9 +63,6 @@ union __sifields { · 62 unmodified lines
6363 /* SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGTRAP, SIGEMT */
6464 struct {
6565 void __user *_addr; /* faulting insn/memory ref. */
66−#ifdef __ARCH_SI_TRAPNO
67− int _trapno; /* TRAP # which caused the signal */
68−#endif
6966 #ifdef __ia64__
7067 int _imm; /* immediate value for "break" */
7168 unsigned int _flags; /* see ia64 si_flags */
@@ -75,6 +72,8 @@ union __sifields { · 3 unmodified lines
7572 #define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? \
7673 sizeof(short) : __alignof__(void *))
7774 union {
75+ /* used on alpha and sparc */
76+ int _trapno; /* TRAP # which caused the signal */
7877 /*
7978 * used when si_code=BUS_MCEERR_AR or
8079 * used when si_code=BUS_MCEERR_AO
@@ -92,7 +91,10 @@ union __sifields { · 11 unmodified lines
9291 __u32 _pkey;
9392 } _addr_pkey;
9493 /* used when si_code=TRAP_PERF */
95− unsigned long _perf;
94+ struct {
95+ unsigned long _data;
96+ __u32 _type;
97+ } _perf;
9698 };
9799 } _sigfault;
98100
@@ -150,14 +152,13 @@ typedef struct siginfo { · 51 unmodified lines
150152 #define si_int _sifields._rt._sigval.sival_int
151153 #define si_ptr _sifields._rt._sigval.sival_ptr
152154 #define si_addr _sifields._sigfault._addr
153−#ifdef __ARCH_SI_TRAPNO
154155 #define si_trapno _sifields._sigfault._trapno
155−#endif
156156 #define si_addr_lsb _sifields._sigfault._addr_lsb
157157 #define si_lower _sifields._sigfault._addr_bnd._lower
158158 #define si_upper _sifields._sigfault._addr_bnd._upper
159159 #define si_pkey _sifields._sigfault._addr_pkey._pkey
160−#define si_perf _sifields._sigfault._perf
160+#define si_perf_data _sifields._sigfault._perf._data
161+#define si_perf_type _sifields._sigfault._perf._type
161162 #define si_band _sifields._sigpoll._band
162163 #define si_fd _sifields._sigpoll._fd
163164 #define si_call_addr _sifields._sigsys._call_addr
include/uapi/linux/kvm.h+2−0
@@ -1111,6 +1111,7 @@ struct kvm_ppc_resize_hpt { · 1110 unmodified lines
11111111 #define KVM_CAP_PPC_RPT_INVALIDATE 202
11121112 #define KVM_CAP_BINARY_STATS_FD 203
11131113 #define KVM_CAP_EXIT_ON_EMULATION_FAILURE 204
1114+#define KVM_CAP_ARM_MTE 205
11141115
11151116 #ifdef KVM_CAP_IRQ_ROUTING
11161117
@@ -1456,6 +1457,7 @@ struct kvm_s390_ucas_mapping { · 339 unmodified lines
14561457 /* Available with KVM_CAP_PMU_EVENT_FILTER */
14571458 #define KVM_SET_PMU_EVENT_FILTER _IOW(KVMIO, 0xb2, struct kvm_pmu_event_filter)
14581459 #define KVM_PPC_SVM_OFF _IO(KVMIO, 0xb3)
1460+#define KVM_ARM_MTE_COPY_TAGS _IOR(KVMIO, 0xb4, struct kvm_arm_copy_mte_tags)
14591461
14601462 /* ioctl for vm fd */
14611463 #define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device)
include/uapi/linux/perf_event.h+1−1
@@ -464,7 +464,7 @@ struct perf_event_attr { · 463 unmodified lines
464464
465465 /*
466466 * User provided data if sigtrap=1, passed back to user via
467− * siginfo_t::si_perf, e.g. to permit user to identify the event.
467+ * siginfo_t::si_perf_data, e.g. to permit user to identify the event.
468468 */
469469 __u64 sig_data;
470470 };
include/uapi/linux/signalfd.h+1−3
@@ -39,8 +39,6 @@ struct signalfd_siginfo { · 38 unmodified lines
3939 __s32 ssi_syscall;
4040 __u64 ssi_call_addr;
4141 __u32 ssi_arch;
42− __u32 __pad3;
43− __u64 ssi_perf;
4442
4543 /*
4644 * Pad strcture to 128 bytes. Remember to update the
@@ -51,7 +49,7 @@ struct signalfd_siginfo { · 4 unmodified lines
5149 * comes out of a read(2) and we really don't want to have
5250 * a compat on read(2).
5351 */
54− __u8 __pad[16];
52+ __u8 __pad[28];
5553 };
5654
5755
include/uapi/misc/habanalabs.h+33−0
@@ -239,6 +239,39 @@ enum gaudi_engine_id { · 238 unmodified lines
239239 GAUDI_ENGINE_ID_SIZE
240240 };
241241
242+/*
243+ * ASIC specific PLL index
244+ *
245+ * Used to retrieve in frequency info of different IPs via
246+ * HL_INFO_PLL_FREQUENCY under HL_IOCTL_INFO IOCTL. The enums need to be
247+ * used as an index in struct hl_pll_frequency_info
248+ */
249+
250+enum hl_goya_pll_index {
251+ HL_GOYA_CPU_PLL = 0,
252+ HL_GOYA_IC_PLL,
253+ HL_GOYA_MC_PLL,
254+ HL_GOYA_MME_PLL,
255+ HL_GOYA_PCI_PLL,
256+ HL_GOYA_EMMC_PLL,
257+ HL_GOYA_TPC_PLL,
258+ HL_GOYA_PLL_MAX
259+};
260+
261+enum hl_gaudi_pll_index {
262+ HL_GAUDI_CPU_PLL = 0,
263+ HL_GAUDI_PCI_PLL,
264+ HL_GAUDI_SRAM_PLL,
265+ HL_GAUDI_HBM_PLL,
266+ HL_GAUDI_NIC_PLL,
267+ HL_GAUDI_DMA_PLL,
268+ HL_GAUDI_MESH_PLL,
269+ HL_GAUDI_MME_PLL,
270+ HL_GAUDI_TPC_PLL,
271+ HL_GAUDI_IF_PLL,
272+ HL_GAUDI_PLL_MAX
273+};
274+
242275 enum hl_device_status {
243276 HL_DEVICE_STATUS_OPERATIONAL,
244277 HL_DEVICE_STATUS_IN_RESET,