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
Showing the changes to include/uapi (5 of 816 files). Show all
Unified · Split
| @@ -63,9 +63,6 @@ union __sifields { · 62 unmodified lines | ||
| 63 | 63 | /* SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGTRAP, SIGEMT */ |
| 64 | 64 | struct { |
| 65 | 65 | void __user *_addr; /* faulting insn/memory ref. */ |
| 66 | −#ifdef __ARCH_SI_TRAPNO | |
| 67 | − int _trapno; /* TRAP # which caused the signal */ | |
| 68 | −#endif | |
| 69 | 66 | #ifdef __ia64__ |
| 70 | 67 | int _imm; /* immediate value for "break" */ |
| 71 | 68 | unsigned int _flags; /* see ia64 si_flags */ |
| @@ -75,6 +72,8 @@ union __sifields { · 3 unmodified lines | ||
| 75 | 72 | #define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? \ |
| 76 | 73 | sizeof(short) : __alignof__(void *)) |
| 77 | 74 | union { |
| 75 | + /* used on alpha and sparc */ | |
| 76 | + int _trapno; /* TRAP # which caused the signal */ | |
| 78 | 77 | /* |
| 79 | 78 | * used when si_code=BUS_MCEERR_AR or |
| 80 | 79 | * used when si_code=BUS_MCEERR_AO |
| @@ -92,7 +91,10 @@ union __sifields { · 11 unmodified lines | ||
| 92 | 91 | __u32 _pkey; |
| 93 | 92 | } _addr_pkey; |
| 94 | 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 | 99 | } _sigfault; |
| 98 | 100 | |
| @@ -150,14 +152,13 @@ typedef struct siginfo { · 51 unmodified lines | ||
| 150 | 152 | #define si_int _sifields._rt._sigval.sival_int |
| 151 | 153 | #define si_ptr _sifields._rt._sigval.sival_ptr |
| 152 | 154 | #define si_addr _sifields._sigfault._addr |
| 153 | −#ifdef __ARCH_SI_TRAPNO | |
| 154 | 155 | #define si_trapno _sifields._sigfault._trapno |
| 155 | −#endif | |
| 156 | 156 | #define si_addr_lsb _sifields._sigfault._addr_lsb |
| 157 | 157 | #define si_lower _sifields._sigfault._addr_bnd._lower |
| 158 | 158 | #define si_upper _sifields._sigfault._addr_bnd._upper |
| 159 | 159 | #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 | |
| 161 | 162 | #define si_band _sifields._sigpoll._band |
| 162 | 163 | #define si_fd _sifields._sigpoll._fd |
| 163 | 164 | #define si_call_addr _sifields._sigsys._call_addr |
| @@ -1111,6 +1111,7 @@ struct kvm_ppc_resize_hpt { · 1110 unmodified lines | ||
| 1111 | 1111 | #define KVM_CAP_PPC_RPT_INVALIDATE 202 |
| 1112 | 1112 | #define KVM_CAP_BINARY_STATS_FD 203 |
| 1113 | 1113 | #define KVM_CAP_EXIT_ON_EMULATION_FAILURE 204 |
| 1114 | +#define KVM_CAP_ARM_MTE 205 | |
| 1114 | 1115 | |
| 1115 | 1116 | #ifdef KVM_CAP_IRQ_ROUTING |
| 1116 | 1117 | |
| @@ -1456,6 +1457,7 @@ struct kvm_s390_ucas_mapping { · 339 unmodified lines | ||
| 1456 | 1457 | /* Available with KVM_CAP_PMU_EVENT_FILTER */ |
| 1457 | 1458 | #define KVM_SET_PMU_EVENT_FILTER _IOW(KVMIO, 0xb2, struct kvm_pmu_event_filter) |
| 1458 | 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 | 1462 | /* ioctl for vm fd */ |
| 1461 | 1463 | #define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device) |
| @@ -464,7 +464,7 @@ struct perf_event_attr { · 463 unmodified lines | ||
| 464 | 464 | |
| 465 | 465 | /* |
| 466 | 466 | * 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 | 469 | __u64 sig_data; |
| 470 | 470 | }; |
| @@ -39,8 +39,6 @@ struct signalfd_siginfo { · 38 unmodified lines | ||
| 39 | 39 | __s32 ssi_syscall; |
| 40 | 40 | __u64 ssi_call_addr; |
| 41 | 41 | __u32 ssi_arch; |
| 42 | − __u32 __pad3; | |
| 43 | − __u64 ssi_perf; | |
| 44 | 42 | |
| 45 | 43 | /* |
| 46 | 44 | * Pad strcture to 128 bytes. Remember to update the |
| @@ -51,7 +49,7 @@ struct signalfd_siginfo { · 4 unmodified lines | ||
| 51 | 49 | * comes out of a read(2) and we really don't want to have |
| 52 | 50 | * a compat on read(2). |
| 53 | 51 | */ |
| 54 | − __u8 __pad[16]; | |
| 52 | + __u8 __pad[28]; | |
| 55 | 53 | }; |
| 56 | 54 | |
| 57 | 55 | |
| @@ -239,6 +239,39 @@ enum gaudi_engine_id { · 238 unmodified lines | ||
| 239 | 239 | 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 | + | |
| 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 | + | |
| 242 | 275 | enum hl_device_status { |
| 243 | 276 | HL_DEVICE_STATUS_OPERATIONAL, |
| 244 | 277 | HL_DEVICE_STATUS_IN_RESET, |