Commit 25007f0d authored by chenzheng's avatar chenzheng Committed by yangxiangkai
Browse files

virtcca bugfix: compile warning clean

virtcca inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IAM53S



--------------------------------

VirtCCA compile warning clean, repaired variable
'ver' is uninitialized when used,
and no-previous-prototype for function-xxxxx

Fixes: 67e11ee6 ("kvm: add virtcca cvm host feature")
Signed-off-by: default avatarchenzheng <chenzheng71@huawei.com>
parent eccf28ee
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -36,7 +36,6 @@ static struct miscdevice ioctl_dev = {

static int __init tmm_tsi_init(void)
{
	unsigned long ver;
	int ret;

	if (!is_virtcca_cvm_world())
@@ -53,10 +52,6 @@ static int __init tmm_tsi_init(void)
	if (!token.buf)
		return -ENOMEM;

	pr_warn("tmm_tsi: module loaded (version %lu.%lu).\n",
			TSI_ABI_VERSION_GET_MAJOR(ver),
			TSI_ABI_VERSION_GET_MINOR(ver));

	return 0;
}

+1 −0
Original line number Diff line number Diff line
@@ -136,6 +136,7 @@ int kvm_vm_ioctl_enable_cap(struct kvm *kvm,
		break;
#ifdef CONFIG_HISI_VIRTCCA_HOST
	case KVM_CAP_ARM_TMM:
		r = 0;
		if (static_branch_unlikely(&virtcca_cvm_is_available))
			r = kvm_cvm_enable_cap(kvm, cap);
		break;
+0 −12
Original line number Diff line number Diff line
@@ -127,15 +127,3 @@ u64 tmi_ttt_unmap_range(u64 rd, u64 map_addr, u64 size, u64 node_id)
	arm_smccc_1_1_smc(TMI_TMM_TTT_UNMAP_RANGE, rd, map_addr, size, node_id, &res);
	return res.a1;
}

u64 tmi_tmm_inf_test(u64 x1, u64 x2, u64 x3, u64 x4, u64 x5)
{
	struct arm_smccc_res res;
	u64 vttbr_el2_pa = __pa(x2);
	u64 cvm_params_pa = __pa(x3);
	u64 tec_params_pa = __pa(x4);

	arm_smccc_1_1_smc(TMI_TMM_INF_TEST, x1, vttbr_el2_pa, cvm_params_pa, tec_params_pa, x5, &res);
	return res.a1;
}
EXPORT_SYMBOL_GPL(tmi_tmm_inf_test);
 No newline at end of file
+4 −19
Original line number Diff line number Diff line
@@ -67,31 +67,16 @@ static bool tmm_supports(unsigned long feature)
	return !!u64_get_bits(tmm_feat_reg0, feature);
}

bool kvm_cvm_supports_sve(void)
static bool kvm_cvm_supports_sve(void)
{
	return tmm_supports(TMI_FEATURE_REGISTER_0_SVE_EN);
}

bool kvm_cvm_supports_pmu(void)
static bool kvm_cvm_supports_pmu(void)
{
	return tmm_supports(TMI_FEATURE_REGISTER_0_PMU_EN);
}

u32 kvm_cvm_ipa_limit(void)
{
	return u64_get_bits(tmm_feat_reg0, TMI_FEATURE_REGISTER_0_S2SZ);
}

u32 kvm_cvm_get_num_brps(void)
{
	return u64_get_bits(tmm_feat_reg0, TMI_FEATURE_REGISTER_0_NUM_BPS);
}

u32 kvm_cvm_get_num_wrps(void)
{
	return u64_get_bits(tmm_feat_reg0, TMI_FEATURE_REGISTER_0_NUM_WPS);
}

static int cvm_vmid_reserve(void)
{
	int ret;
@@ -241,7 +226,7 @@ static int kvm_cvm_ttt_create(struct virtcca_cvm *cvm,
	return tmi_ttt_create(numa_set, cvm->rd, addr, level);
}

int kvm_cvm_create_ttt_levels(struct kvm *kvm, struct virtcca_cvm *cvm,
static int kvm_cvm_create_ttt_levels(struct kvm *kvm, struct virtcca_cvm *cvm,
			unsigned long ipa,
			int level,
			int max_level,
@@ -308,7 +293,7 @@ static bool is_data_create_region(phys_addr_t ipa_base,
	return false;
}

int kvm_cvm_populate_par_region(struct kvm *kvm, u64 numa_set,
static int kvm_cvm_populate_par_region(struct kvm *kvm, u64 numa_set,
			phys_addr_t ipa_base, phys_addr_t ipa_end,
			struct kvm_cap_arm_tmm_populate_region_args *args)
{