svn commit: r308435 - stable/11/sys/amd64/vmm/amd

Andriy Gapon avg at FreeBSD.org
Tue Nov 8 07:18:35 UTC 2016


Author: avg
Date: Tue Nov  8 07:18:33 2016
New Revision: 308435
URL: https://svnweb.freebsd.org/changeset/base/308435

Log:
  MFC r307903,307904,308039,308050: vmm/svm: iopm_bitmap and msr_bitmap
  must be contiguous in physical memory

Modified:
  stable/11/sys/amd64/vmm/amd/svm.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/amd64/vmm/amd/svm.c
==============================================================================
--- stable/11/sys/amd64/vmm/amd/svm.c	Tue Nov  8 06:50:18 2016	(r308434)
+++ stable/11/sys/amd64/vmm/amd/svm.c	Tue Nov  8 07:18:33 2016	(r308435)
@@ -514,10 +514,11 @@ svm_vminit(struct vm *vm, pmap_t pmap)
 {
 	struct svm_softc *svm_sc;
 	struct svm_vcpu *vcpu;
-	vm_paddr_t msrpm_pa, iopm_pa, pml4_pa;	
+	vm_paddr_t msrpm_pa, iopm_pa, pml4_pa;
 	int i;
 
-	svm_sc = malloc(sizeof (struct svm_softc), M_SVM, M_WAITOK | M_ZERO);
+	svm_sc = contigmalloc(sizeof (*svm_sc), M_SVM, M_WAITOK | M_ZERO,
+	    0, ~(vm_paddr_t)0, PAGE_SIZE, 0);
 	svm_sc->vm = vm;
 	svm_sc->nptp = (vm_offset_t)vtophys(pmap->pm_pml4);
 
@@ -534,7 +535,7 @@ svm_vminit(struct vm *vm, pmap_t pmap)
 	svm_msr_rw_ok(svm_sc->msr_bitmap, MSR_GSBASE);
 	svm_msr_rw_ok(svm_sc->msr_bitmap, MSR_FSBASE);
 	svm_msr_rw_ok(svm_sc->msr_bitmap, MSR_KGSBASE);
-	
+
 	svm_msr_rw_ok(svm_sc->msr_bitmap, MSR_STAR);
 	svm_msr_rw_ok(svm_sc->msr_bitmap, MSR_LSTAR);
 	svm_msr_rw_ok(svm_sc->msr_bitmap, MSR_CSTAR);
@@ -2042,7 +2043,7 @@ svm_vmcleanup(void *arg)
 {
 	struct svm_softc *sc = arg;
 
-	free(sc, M_SVM);
+	contigfree(sc, sizeof (*sc), M_SVM);
 }
 
 static register_t *


More information about the svn-src-all mailing list