hypercalls.c (500050f0d28868af302a3c24d7d1d0191521286e) hypercalls.c (a8e190cdae1bf8e9e490776b8179babc1962bb25)
1// SPDX-License-Identifier: GPL-2.0
2// Copyright (C) 2019 Arm Ltd.
3
4#include <linux/arm-smccc.h>
5#include <linux/kvm_host.h>
6
7#include <asm/kvm_emulate.h>
8

--- 57 unchanged lines hidden (view full) ---

66 case ARM_SMCCC_HV_PV_TIME_FEATURES:
67 val = kvm_hypercall_pv_features(vcpu);
68 break;
69 case ARM_SMCCC_HV_PV_TIME_ST:
70 gpa = kvm_init_stolen_time(vcpu);
71 if (gpa != GPA_INVALID)
72 val = gpa;
73 break;
1// SPDX-License-Identifier: GPL-2.0
2// Copyright (C) 2019 Arm Ltd.
3
4#include <linux/arm-smccc.h>
5#include <linux/kvm_host.h>
6
7#include <asm/kvm_emulate.h>
8

--- 57 unchanged lines hidden (view full) ---

66 case ARM_SMCCC_HV_PV_TIME_FEATURES:
67 val = kvm_hypercall_pv_features(vcpu);
68 break;
69 case ARM_SMCCC_HV_PV_TIME_ST:
70 gpa = kvm_init_stolen_time(vcpu);
71 if (gpa != GPA_INVALID)
72 val = gpa;
73 break;
74 case ARM_SMCCC_TRNG_VERSION:
75 case ARM_SMCCC_TRNG_FEATURES:
76 case ARM_SMCCC_TRNG_GET_UUID:
77 case ARM_SMCCC_TRNG_RND32:
78 case ARM_SMCCC_TRNG_RND64:
79 return kvm_trng_call(vcpu);
74 default:
75 return kvm_psci_call(vcpu);
76 }
77
78 smccc_set_retval(vcpu, val, 0, 0, 0);
79 return 1;
80}
80 default:
81 return kvm_psci_call(vcpu);
82 }
83
84 smccc_set_retval(vcpu, val, 0, 0, 0);
85 return 1;
86}