@@ -747,7 +747,9 @@ void hvm_domain_destroy(struct domain *d)
hvm_destroy_cacheattr_region_list(d);
- hvm_funcs.domain_destroy(d);
+ if ( hvm_funcs.domain_destroy )
+ alternative_vcall(hvm_funcs.domain_destroy, d);
+
rtc_deinit(d);
stdvga_deinit(d);
vioapic_deinit(d);
@@ -1155,10 +1155,6 @@ static int svm_domain_initialise(struct domain *d)
return 0;
}
-static void svm_domain_destroy(struct domain *d)
-{
-}
-
static int svm_vcpu_initialise(struct vcpu *v)
{
int rc;
@@ -2425,7 +2421,6 @@ static struct hvm_function_table __initdata svm_function_table = {
.cpu_up = svm_cpu_up,
.cpu_down = svm_cpu_down,
.domain_initialise = svm_domain_initialise,
- .domain_destroy = svm_domain_destroy,
.vcpu_initialise = svm_vcpu_initialise,
.vcpu_destroy = svm_vcpu_destroy,
.save_cpu_ctxt = svm_save_vmcb_ctxt,
This method is currently empty for SVM so make it optional and, while in the neighbourhood, make it an alternative_vcall(). Signed-off-by: Paul Durrant <pdurrant@amazon.com> --- Cc: Jan Beulich <jbeulich@suse.com> Cc: Andrew Cooper <andrew.cooper3@citrix.com> Cc: Wei Liu <wl@xen.org> Cc: "Roger Pau Monné" <roger.pau@citrix.com> Cc: George Dunlap <george.dunlap@citrix.com> v4: - New in v4 (disaggregated from v3 patch #3) --- xen/arch/x86/hvm/hvm.c | 4 +++- xen/arch/x86/hvm/svm/svm.c | 5 ----- 2 files changed, 3 insertions(+), 6 deletions(-)