Commit 117c4950 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

tools kvm headers arm64: Update KVM headers from the kernel sources

To pick the changes from:

  2cde51f1 ("KVM: arm64: Hide KVM_REG_ARM_*_BMAP_BIT_COUNT from userspace")
  b22216e1 ("KVM: arm64: Add vendor hypervisor firmware register")
  428fd678 ("KVM: arm64: Add standard hypervisor firmware register")
  05714cab ("KVM: arm64: Setup a framework for hypercall bitmap firmware registers")
  18f3976f ("KVM: arm64: uapi: Add kvm_debug_exit_arch.hsr_high")
  a5905d6a ("KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated")

That don't causes any changes in tooling (when built on x86), only
addresses this perf build warning:

  Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/kvm.h' differs from latest version at 'arch/arm64/include/uapi/asm/kvm.h'
  diff -u tools/arch/arm64/include/uapi/asm/kvm.h arch/arm64/include/uapi/asm/kvm.h

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexandru Elisei <alexandru.elisei@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Ian Rogers <irogers@google.com>
Cc: James Morse <james.morse@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Raghavendra Rao Ananta <rananta@google.com>
Link: https://lore.kernel.org/lkml/YrsWcDQyJC+xsfmm@kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 49c692b7
Loading
Loading
Loading
Loading
+36 −0
Original line number Diff line number Diff line
@@ -139,8 +139,10 @@ struct kvm_guest_debug_arch {
	__u64 dbg_wvr[KVM_ARM_MAX_DBG_REGS];
};

#define KVM_DEBUG_ARCH_HSR_HIGH_VALID	(1 << 0)
struct kvm_debug_exit_arch {
	__u32 hsr;
	__u32 hsr_high;	/* ESR_EL2[61:32] */
	__u64 far;	/* used for watchpoints */
};

@@ -332,6 +334,40 @@ struct kvm_arm_copy_mte_tags {
#define KVM_ARM64_SVE_VLS_WORDS	\
	((KVM_ARM64_SVE_VQ_MAX - KVM_ARM64_SVE_VQ_MIN) / 64 + 1)

/* Bitmap feature firmware registers */
#define KVM_REG_ARM_FW_FEAT_BMAP		(0x0016 << KVM_REG_ARM_COPROC_SHIFT)
#define KVM_REG_ARM_FW_FEAT_BMAP_REG(r)		(KVM_REG_ARM64 | KVM_REG_SIZE_U64 | \
						KVM_REG_ARM_FW_FEAT_BMAP |	\
						((r) & 0xffff))

#define KVM_REG_ARM_STD_BMAP			KVM_REG_ARM_FW_FEAT_BMAP_REG(0)

enum {
	KVM_REG_ARM_STD_BIT_TRNG_V1_0	= 0,
#ifdef __KERNEL__
	KVM_REG_ARM_STD_BMAP_BIT_COUNT,
#endif
};

#define KVM_REG_ARM_STD_HYP_BMAP		KVM_REG_ARM_FW_FEAT_BMAP_REG(1)

enum {
	KVM_REG_ARM_STD_HYP_BIT_PV_TIME	= 0,
#ifdef __KERNEL__
	KVM_REG_ARM_STD_HYP_BMAP_BIT_COUNT,
#endif
};

#define KVM_REG_ARM_VENDOR_HYP_BMAP		KVM_REG_ARM_FW_FEAT_BMAP_REG(2)

enum {
	KVM_REG_ARM_VENDOR_HYP_BIT_FUNC_FEAT	= 0,
	KVM_REG_ARM_VENDOR_HYP_BIT_PTP		= 1,
#ifdef __KERNEL__
	KVM_REG_ARM_VENDOR_HYP_BMAP_BIT_COUNT,
#endif
};

/* Device Control API: ARM VGIC */
#define KVM_DEV_ARM_VGIC_GRP_ADDR	0
#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS	1