td_params
u64 tdh_mng_init(struct tdx_td *td, u64 td_params, u64 *extended_err);
struct td_params *td_params)
td_params->eptp_controls = VMX_EPTP_MT_WB;
td_params->eptp_controls |= VMX_EPTP_PWL_5;
td_params->config_flags |= TDX_CONFIG_FLAGS_MAX_GPAW;
td_params->eptp_controls |= VMX_EPTP_PWL_4;
struct td_params *td_params)
value = &td_params->cpuid_values[i];
static int setup_tdparams(struct kvm *kvm, struct td_params *td_params,
td_params->max_vcpus = kvm->max_vcpus;
td_params->attributes = init_vm->attributes | td_conf->attributes_fixed1;
td_params->xfam = init_vm->xfam | td_conf->xfam_fixed1;
td_params->config_flags = TDX_CONFIG_FLAGS_NO_RBP_MOD;
td_params->tsc_frequency = TDX_TSC_KHZ_TO_25MHZ(kvm->arch.default_tsc_khz);
ret = setup_tdparams_eptp_controls(cpuid, td_params);
ret = setup_tdparams_cpuids(cpuid, td_params);
MEMCPY_SAME_SIZE(td_params->mrconfigid, init_vm->mrconfigid);
MEMCPY_SAME_SIZE(td_params->mrowner, init_vm->mrowner);
MEMCPY_SAME_SIZE(td_params->mrownerconfig, init_vm->mrownerconfig);
static int __tdx_td_init(struct kvm *kvm, struct td_params *td_params,
err = tdh_mng_init(&kvm_tdx->td, __pa(td_params), &rcx);
struct td_params *td_params = NULL;
BUILD_BUG_ON(sizeof(struct td_params) != 1024);
td_params = kzalloc_obj(struct td_params);
if (!td_params) {
ret = setup_tdparams(kvm, td_params, init_vm);
ret = __tdx_td_init(kvm, td_params, &cmd->hw_error);
kvm_tdx->attributes = td_params->attributes;
kvm_tdx->xfam = td_params->xfam;
if (td_params->config_flags & TDX_CONFIG_FLAGS_MAX_GPAW)
kfree(td_params);
u64 tdh_mng_init(struct tdx_td *td, u64 td_params, u64 *extended_err)
.rdx = td_params,