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
63 /* SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGTRAP, SIGEMT */63 /* SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGTRAP, SIGEMT */
64 struct {64 struct {
65 void __user *_addr; /* faulting insn/memory ref. */65 void __user *_addr; /* faulting insn/memory ref. */
66#ifdef __ARCH_SI_TRAPNO
67 int _trapno; /* TRAP # which caused the signal */
68#endif
69#ifdef __ia64__66#ifdef __ia64__
70 int _imm; /* immediate value for "break" */67 int _imm; /* immediate value for "break" */
71 unsigned int _flags; /* see ia64 si_flags */68 unsigned int _flags; /* see ia64 si_flags */
@@ -75,6 +72,8 @@ union __sifields { · 3 unmodified lines
75#define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? \72#define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? \
76 sizeof(short) : __alignof__(void *))73 sizeof(short) : __alignof__(void *))
77 union {74 union {
75 /* used on alpha and sparc */
76 int _trapno; /* TRAP # which caused the signal */
78 /*77 /*
79 * used when si_code=BUS_MCEERR_AR or78 * used when si_code=BUS_MCEERR_AR or
80 * used when si_code=BUS_MCEERR_AO79 * used when si_code=BUS_MCEERR_AO
@@ -92,7 +91,10 @@ union __sifields { · 11 unmodified lines
92 __u32 _pkey;91 __u32 _pkey;
93 } _addr_pkey;92 } _addr_pkey;
94 /* used when si_code=TRAP_PERF */93 /* used when si_code=TRAP_PERF */
95 unsigned long _perf;94 struct {
95 unsigned long _data;
96 __u32 _type;
97 } _perf;
96 };98 };
97 } _sigfault;99 } _sigfault;
98 100
@@ -150,14 +152,13 @@ typedef struct siginfo { · 51 unmodified lines
150#define si_int _sifields._rt._sigval.sival_int152#define si_int _sifields._rt._sigval.sival_int
151#define si_ptr _sifields._rt._sigval.sival_ptr153#define si_ptr _sifields._rt._sigval.sival_ptr
152#define si_addr _sifields._sigfault._addr154#define si_addr _sifields._sigfault._addr
153#ifdef __ARCH_SI_TRAPNO
154#define si_trapno _sifields._sigfault._trapno155#define si_trapno _sifields._sigfault._trapno
155#endif
156#define si_addr_lsb _sifields._sigfault._addr_lsb156#define si_addr_lsb _sifields._sigfault._addr_lsb
157#define si_lower _sifields._sigfault._addr_bnd._lower157#define si_lower _sifields._sigfault._addr_bnd._lower
158#define si_upper _sifields._sigfault._addr_bnd._upper158#define si_upper _sifields._sigfault._addr_bnd._upper
159#define si_pkey _sifields._sigfault._addr_pkey._pkey159#define si_pkey _sifields._sigfault._addr_pkey._pkey
160#define si_perf _sifields._sigfault._perf160#define si_perf_data _sifields._sigfault._perf._data
161#define si_perf_type _sifields._sigfault._perf._type
161#define si_band _sifields._sigpoll._band162#define si_band _sifields._sigpoll._band
162#define si_fd _sifields._sigpoll._fd163#define si_fd _sifields._sigpoll._fd
163#define si_call_addr _sifields._sigsys._call_addr164#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
1111#define KVM_CAP_PPC_RPT_INVALIDATE 2021111#define KVM_CAP_PPC_RPT_INVALIDATE 202
1112#define KVM_CAP_BINARY_STATS_FD 2031112#define KVM_CAP_BINARY_STATS_FD 203
1113#define KVM_CAP_EXIT_ON_EMULATION_FAILURE 2041113#define KVM_CAP_EXIT_ON_EMULATION_FAILURE 204
1114#define KVM_CAP_ARM_MTE 205
1114 1115
1115#ifdef KVM_CAP_IRQ_ROUTING1116#ifdef KVM_CAP_IRQ_ROUTING
1116 1117
@@ -1456,6 +1457,7 @@ struct kvm_s390_ucas_mapping { · 339 unmodified lines
1456/* Available with KVM_CAP_PMU_EVENT_FILTER */1457/* Available with KVM_CAP_PMU_EVENT_FILTER */
1457#define KVM_SET_PMU_EVENT_FILTER _IOW(KVMIO, 0xb2, struct kvm_pmu_event_filter)1458#define KVM_SET_PMU_EVENT_FILTER _IOW(KVMIO, 0xb2, struct kvm_pmu_event_filter)
1458#define KVM_PPC_SVM_OFF _IO(KVMIO, 0xb3)1459#define KVM_PPC_SVM_OFF _IO(KVMIO, 0xb3)
1460#define KVM_ARM_MTE_COPY_TAGS _IOR(KVMIO, 0xb4, struct kvm_arm_copy_mte_tags)
1459 1461
1460/* ioctl for vm fd */1462/* ioctl for vm fd */
1461#define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device)1463#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
464 464
465 /*465 /*
466 * User provided data if sigtrap=1, passed back to user via466 * 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.
468 */468 */
469 __u64 sig_data;469 __u64 sig_data;
470};470};
include/uapi/linux/signalfd.h+1−3
@@ -39,8 +39,6 @@ struct signalfd_siginfo { · 38 unmodified lines
39 __s32 ssi_syscall;39 __s32 ssi_syscall;
40 __u64 ssi_call_addr;40 __u64 ssi_call_addr;
41 __u32 ssi_arch;41 __u32 ssi_arch;
42 __u32 __pad3;
43 __u64 ssi_perf;
44 42
45 /*43 /*
46 * Pad strcture to 128 bytes. Remember to update the44 * Pad strcture to 128 bytes. Remember to update the
@@ -51,7 +49,7 @@ struct signalfd_siginfo { · 4 unmodified lines
51 * comes out of a read(2) and we really don't want to have49 * comes out of a read(2) and we really don't want to have
52 * a compat on read(2).50 * a compat on read(2).
53 */51 */
54 __u8 __pad[16];52 __u8 __pad[28];
55};53};
56 54
57 55
include/uapi/misc/habanalabs.h+33−0
@@ -239,6 +239,39 @@ enum gaudi_engine_id { · 238 unmodified lines
239 GAUDI_ENGINE_ID_SIZE239 GAUDI_ENGINE_ID_SIZE
240};240};
241 241
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
250enum 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
261enum 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
242enum hl_device_status {275enum hl_device_status {
243 HL_DEVICE_STATUS_OPERATIONAL,276 HL_DEVICE_STATUS_OPERATIONAL,
244 HL_DEVICE_STATUS_IN_RESET,277 HL_DEVICE_STATUS_IN_RESET,