Signed-off-by: Brijesh Singh <brijesh.si...@amd.com>
---
 arch/x86/kvm/svm.c |   23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 4af195d..88b8f89 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -5779,6 +5779,25 @@ err_1:
        return ret;
 }
 
+static int sev_api_version(int *psp_ret)
+{
+       int ret;
+       struct psp_data_status *status;
+
+       status = kzalloc(sizeof(*status), GFP_KERNEL);
+       if (!status)
+               return -ENOMEM;
+
+       ret = psp_platform_status(status, psp_ret);
+       if (ret)
+               goto err;
+
+       ret = (status->api_major << 8) | status->api_minor;
+err:
+       kfree(status);
+       return ret;
+}
+
 static int amd_sev_issue_cmd(struct kvm *kvm,
                             struct kvm_sev_issue_cmd __user *user_data)
 {
@@ -5819,6 +5838,10 @@ static int amd_sev_issue_cmd(struct kvm *kvm,
                                        &arg.ret_code);
                break;
        }
+       case KVM_SEV_API_VERSION: {
+               r = sev_api_version(&arg.ret_code);
+               break;
+       }
        default:
                break;
        }

--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to