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
This commit is contained in:
@@ -63,9 +63,6 @@ union __sifields {
|
||||
/* SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGTRAP, SIGEMT */
|
||||
struct {
|
||||
void __user *_addr; /* faulting insn/memory ref. */
|
||||
#ifdef __ARCH_SI_TRAPNO
|
||||
int _trapno; /* TRAP # which caused the signal */
|
||||
#endif
|
||||
#ifdef __ia64__
|
||||
int _imm; /* immediate value for "break" */
|
||||
unsigned int _flags; /* see ia64 si_flags */
|
||||
@@ -75,6 +72,8 @@ union __sifields {
|
||||
#define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? \
|
||||
sizeof(short) : __alignof__(void *))
|
||||
union {
|
||||
/* used on alpha and sparc */
|
||||
int _trapno; /* TRAP # which caused the signal */
|
||||
/*
|
||||
* used when si_code=BUS_MCEERR_AR or
|
||||
* used when si_code=BUS_MCEERR_AO
|
||||
@@ -92,7 +91,10 @@ union __sifields {
|
||||
__u32 _pkey;
|
||||
} _addr_pkey;
|
||||
/* used when si_code=TRAP_PERF */
|
||||
unsigned long _perf;
|
||||
struct {
|
||||
unsigned long _data;
|
||||
__u32 _type;
|
||||
} _perf;
|
||||
};
|
||||
} _sigfault;
|
||||
|
||||
@@ -150,14 +152,13 @@ typedef struct siginfo {
|
||||
#define si_int _sifields._rt._sigval.sival_int
|
||||
#define si_ptr _sifields._rt._sigval.sival_ptr
|
||||
#define si_addr _sifields._sigfault._addr
|
||||
#ifdef __ARCH_SI_TRAPNO
|
||||
#define si_trapno _sifields._sigfault._trapno
|
||||
#endif
|
||||
#define si_addr_lsb _sifields._sigfault._addr_lsb
|
||||
#define si_lower _sifields._sigfault._addr_bnd._lower
|
||||
#define si_upper _sifields._sigfault._addr_bnd._upper
|
||||
#define si_pkey _sifields._sigfault._addr_pkey._pkey
|
||||
#define si_perf _sifields._sigfault._perf
|
||||
#define si_perf_data _sifields._sigfault._perf._data
|
||||
#define si_perf_type _sifields._sigfault._perf._type
|
||||
#define si_band _sifields._sigpoll._band
|
||||
#define si_fd _sifields._sigpoll._fd
|
||||
#define si_call_addr _sifields._sigsys._call_addr
|
||||
|
||||
@@ -1111,6 +1111,7 @@ struct kvm_ppc_resize_hpt {
|
||||
#define KVM_CAP_PPC_RPT_INVALIDATE 202
|
||||
#define KVM_CAP_BINARY_STATS_FD 203
|
||||
#define KVM_CAP_EXIT_ON_EMULATION_FAILURE 204
|
||||
#define KVM_CAP_ARM_MTE 205
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
@@ -1456,6 +1457,7 @@ struct kvm_s390_ucas_mapping {
|
||||
/* Available with KVM_CAP_PMU_EVENT_FILTER */
|
||||
#define KVM_SET_PMU_EVENT_FILTER _IOW(KVMIO, 0xb2, struct kvm_pmu_event_filter)
|
||||
#define KVM_PPC_SVM_OFF _IO(KVMIO, 0xb3)
|
||||
#define KVM_ARM_MTE_COPY_TAGS _IOR(KVMIO, 0xb4, struct kvm_arm_copy_mte_tags)
|
||||
|
||||
/* ioctl for vm fd */
|
||||
#define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device)
|
||||
|
||||
@@ -464,7 +464,7 @@ struct perf_event_attr {
|
||||
|
||||
/*
|
||||
* User provided data if sigtrap=1, passed back to user via
|
||||
* siginfo_t::si_perf, e.g. to permit user to identify the event.
|
||||
* siginfo_t::si_perf_data, e.g. to permit user to identify the event.
|
||||
*/
|
||||
__u64 sig_data;
|
||||
};
|
||||
|
||||
@@ -39,8 +39,6 @@ struct signalfd_siginfo {
|
||||
__s32 ssi_syscall;
|
||||
__u64 ssi_call_addr;
|
||||
__u32 ssi_arch;
|
||||
__u32 __pad3;
|
||||
__u64 ssi_perf;
|
||||
|
||||
/*
|
||||
* Pad strcture to 128 bytes. Remember to update the
|
||||
@@ -51,7 +49,7 @@ struct signalfd_siginfo {
|
||||
* comes out of a read(2) and we really don't want to have
|
||||
* a compat on read(2).
|
||||
*/
|
||||
__u8 __pad[16];
|
||||
__u8 __pad[28];
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -239,6 +239,39 @@ enum gaudi_engine_id {
|
||||
GAUDI_ENGINE_ID_SIZE
|
||||
};
|
||||
|
||||
/*
|
||||
* ASIC specific PLL index
|
||||
*
|
||||
* Used to retrieve in frequency info of different IPs via
|
||||
* HL_INFO_PLL_FREQUENCY under HL_IOCTL_INFO IOCTL. The enums need to be
|
||||
* used as an index in struct hl_pll_frequency_info
|
||||
*/
|
||||
|
||||
enum hl_goya_pll_index {
|
||||
HL_GOYA_CPU_PLL = 0,
|
||||
HL_GOYA_IC_PLL,
|
||||
HL_GOYA_MC_PLL,
|
||||
HL_GOYA_MME_PLL,
|
||||
HL_GOYA_PCI_PLL,
|
||||
HL_GOYA_EMMC_PLL,
|
||||
HL_GOYA_TPC_PLL,
|
||||
HL_GOYA_PLL_MAX
|
||||
};
|
||||
|
||||
enum hl_gaudi_pll_index {
|
||||
HL_GAUDI_CPU_PLL = 0,
|
||||
HL_GAUDI_PCI_PLL,
|
||||
HL_GAUDI_SRAM_PLL,
|
||||
HL_GAUDI_HBM_PLL,
|
||||
HL_GAUDI_NIC_PLL,
|
||||
HL_GAUDI_DMA_PLL,
|
||||
HL_GAUDI_MESH_PLL,
|
||||
HL_GAUDI_MME_PLL,
|
||||
HL_GAUDI_TPC_PLL,
|
||||
HL_GAUDI_IF_PLL,
|
||||
HL_GAUDI_PLL_MAX
|
||||
};
|
||||
|
||||
enum hl_device_status {
|
||||
HL_DEVICE_STATUS_OPERATIONAL,
|
||||
HL_DEVICE_STATUS_IN_RESET,
|
||||
|
||||
Reference in New Issue
Block a user