summaryrefslogtreecommitdiffstats
path: root/sys/dev/xen/control/control.c
diff options
context:
space:
mode:
authorroyger <royger@FreeBSD.org>2014-06-16 08:48:42 +0000
committerroyger <royger@FreeBSD.org>2014-06-16 08:48:42 +0000
commitf013e4ff53da712d502ee27018f0a631f47b442c (patch)
tree4477500f87829c29d6037ef7592fe4503fb7878b /sys/dev/xen/control/control.c
parent8cb3293c2284670ddeecbac6a6a274b5cc9ad995 (diff)
downloadFreeBSD-src-f013e4ff53da712d502ee27018f0a631f47b442c.zip
FreeBSD-src-f013e4ff53da712d502ee27018f0a631f47b442c.tar.gz
xen: unify gnttab initialization for PVHVM and PVH
Switch the initialization of gnttab to use an unused physical memory range for both PVHVM and PVH. In the past PVHVM was using the xenpci BAR, but there's no reason to do that, and in fact FreeBSD was probably doing it because it was the way it was done in Windows, were drivers cannot probably request for unused physical memory ranges, but it was never enforced in the hypervisor. Sponsored by: Citrix Systems R&D Approved by: gibbs xen/gnttab.c: - Allocate contiguous physical memory for grant table frames for both PVHVM and PVH. - Since gnttab is not a device, use the xenpv device in order to request for this allocation. dev/xen/xenpci/xenpcivar.h: dev/xen/xenpci/xenpci.c: - Remove the now unused xenpci_alloc_space and xenpci_alloc_space_int functions. xen/gnttab.h: - Change the prototype of gnttab_init and gnttab_resume, that now takes a device_t parameter. dev/xen/control/control.c: x86/xen/xenpv.c: - Changes to accomodate the new prototype of gnttab_init and gnttab_resume.
Diffstat (limited to 'sys/dev/xen/control/control.c')
-rw-r--r--sys/dev/xen/control/control.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/xen/control/control.c b/sys/dev/xen/control/control.c
index 78894ba..665a5ac 100644
--- a/sys/dev/xen/control/control.c
+++ b/sys/dev/xen/control/control.c
@@ -287,7 +287,7 @@ xctrl_suspend()
}
HYPERVISOR_shared_info->arch.max_pfn = max_pfn;
- gnttab_resume();
+ gnttab_resume(NULL);
intr_resume(suspend_cancelled != 0);
local_irq_enable();
xencons_resume();
@@ -385,7 +385,7 @@ xctrl_suspend()
/*
* Reset grant table info.
*/
- gnttab_resume();
+ gnttab_resume(NULL);
#ifdef SMP
if (smp_started && !CPU_EMPTY(&cpu_suspend_map)) {
OpenPOWER on IntegriCloud