Module Name: src
Committed By: jdolecek
Date: Wed May 13 16:13:14 UTC 2020
Modified Files:
src/sys/arch/xen/xen: xengnt.c
Log Message:
need to set the version on resume same as during initialization
part of PR port-xen/55207
To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 src/sys/arch/xen/xen/xengnt.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/xen/xen/xengnt.c
diff -u src/sys/arch/xen/xen/xengnt.c:1.37 src/sys/arch/xen/xen/xengnt.c:1.38
--- src/sys/arch/xen/xen/xengnt.c:1.37 Sat Apr 25 15:26:18 2020
+++ src/sys/arch/xen/xen/xengnt.c Wed May 13 16:13:14 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: xengnt.c,v 1.37 2020/04/25 15:26:18 bouyer Exp $ */
+/* $NetBSD: xengnt.c,v 1.38 2020/05/13 16:13:14 jdolecek Exp $ */
/*
* Copyright (c) 2006 Manuel Bouyer.
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xengnt.c,v 1.37 2020/04/25 15:26:18 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xengnt.c,v 1.38 2020/05/13 16:13:14 jdolecek Exp $");
#include <sys/types.h>
#include <sys/param.h>
@@ -102,13 +102,6 @@ xengnt_init(void)
*/
gnt_nr_grant_frames = gnt_max_grant_frames;
-
- struct gnttab_set_version gntversion;
- gntversion.version = 2;
- rc = HYPERVISOR_grant_table_op(GNTTABOP_set_version, &gntversion, 1);
- if (rc < 0 || gntversion.version != 2)
- panic("GNTTABOP_set_version 2 failed %d", rc);
-
nr_grant_entries =
gnt_max_grant_frames * NR_GRANT_ENTRIES_PER_PAGE;
@@ -132,7 +125,6 @@ xengnt_init(void)
mutex_init(&grant_lock, MUTEX_DEFAULT, IPL_VM);
xengnt_resume();
-
}
/*
@@ -141,8 +133,15 @@ xengnt_init(void)
bool
xengnt_resume(void)
{
+ int rc;
int previous_nr_grant_frames = gnt_nr_grant_frames;
+ struct gnttab_set_version gntversion;
+ gntversion.version = 2;
+ rc = HYPERVISOR_grant_table_op(GNTTABOP_set_version, &gntversion, 1);
+ if (rc < 0 || gntversion.version != 2)
+ panic("GNTTABOP_set_version 2 failed %d", rc);
+
last_gnt_entry = 0;
gnt_nr_grant_frames = 0;