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;
        }

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to