lkml.org 
[lkml]   [2024]   [Apr]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v19 105/130] KVM: TDX: handle KVM hypercall with TDG.VP.VMCALL
    >+static int tdx_emulate_vmcall(struct kvm_vcpu *vcpu)
    >+{
    >+ unsigned long nr, a0, a1, a2, a3, ret;
    >+

    do you need to emulate xen/hyper-v hypercalls here?

    Nothing tells userspace that xen/hyper-v hypercalls are not supported and
    so userspace may expose related CPUID leafs to TD guests.

    >+ /*
    >+ * ABI for KVM tdvmcall argument:
    >+ * In Guest-Hypervisor Communication Interface(GHCI) specification,
    >+ * Non-zero leaf number (R10 != 0) is defined to indicate
    >+ * vendor-specific. KVM uses this for KVM hypercall. NOTE: KVM
    >+ * hypercall number starts from one. Zero isn't used for KVM hypercall
    >+ * number.
    >+ *
    >+ * R10: KVM hypercall number
    >+ * arguments: R11, R12, R13, R14.
    >+ */
    >+ nr = kvm_r10_read(vcpu);
    >+ a0 = kvm_r11_read(vcpu);
    >+ a1 = kvm_r12_read(vcpu);
    >+ a2 = kvm_r13_read(vcpu);
    >+ a3 = kvm_r14_read(vcpu);
    >+
    >+ ret = __kvm_emulate_hypercall(vcpu, nr, a0, a1, a2, a3, true, 0);
    >+
    >+ tdvmcall_set_return_code(vcpu, ret);
    >+
    >+ if (nr == KVM_HC_MAP_GPA_RANGE && !ret)
    >+ return 0;

    Can you add a comment to call out that KVM_HC_MAP_GPA_RANGE is redirected to
    the userspace?

    >+ return 1;
    >+}

    \
     
     \ /
      Last update: 2024-04-02 10:53    [W:3.372 / U:0.408 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site