80 lines
2.4 KiB
Diff
80 lines
2.4 KiB
Diff
|
changeset: 23578:7299a9a44b35
|
||
|
user: Olaf Hering <olaf@aepfle.de>
|
||
|
date: Wed Jun 22 14:47:09 2011 +0100
|
||
|
files: tools/xenpaging/xenpaging.c tools/xenpaging/xenpaging.h
|
||
|
description:
|
||
|
xenpaging: add xs_handle to struct xenpaging
|
||
|
|
||
|
A xs_handle is currently used in the xc_mem_paging_flush_ioemu_cache()
|
||
|
function and will be used by a subsequent patch.
|
||
|
Add it to struct xenpaging.
|
||
|
|
||
|
Signed-off-by: Olaf Hering <olaf@aepfle.de>
|
||
|
Committed-by: Ian Jackson <ian.jackson.citrix.com>
|
||
|
Acked-by: Ian Campbell <ian.campbell@citrix.com>
|
||
|
|
||
|
|
||
|
---
|
||
|
tools/xenpaging/xenpaging.c | 14 ++++++++++++++
|
||
|
tools/xenpaging/xenpaging.h | 1 +
|
||
|
2 files changed, 15 insertions(+)
|
||
|
|
||
|
Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c
|
||
|
===================================================================
|
||
|
--- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c
|
||
|
+++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c
|
||
|
@@ -28,6 +28,7 @@
|
||
|
#include <signal.h>
|
||
|
#include <unistd.h>
|
||
|
#include <xc_private.h>
|
||
|
+#include <xs.h>
|
||
|
|
||
|
#include <xen/mem_event.h>
|
||
|
|
||
|
@@ -92,6 +93,14 @@ static xenpaging_t *xenpaging_init(domid
|
||
|
paging = malloc(sizeof(xenpaging_t));
|
||
|
memset(paging, 0, sizeof(xenpaging_t));
|
||
|
|
||
|
+ /* Open connection to xenstore */
|
||
|
+ paging->xs_handle = xs_open(0);
|
||
|
+ if ( paging->xs_handle == NULL )
|
||
|
+ {
|
||
|
+ ERROR("Error initialising xenstore connection");
|
||
|
+ goto err;
|
||
|
+ }
|
||
|
+
|
||
|
p = getenv("XENPAGING_POLICY_MRU_SIZE");
|
||
|
if ( p && *p )
|
||
|
{
|
||
|
@@ -221,6 +230,8 @@ static xenpaging_t *xenpaging_init(domid
|
||
|
err:
|
||
|
if ( paging )
|
||
|
{
|
||
|
+ if ( paging->xs_handle )
|
||
|
+ xs_close(paging->xs_handle);
|
||
|
xc_interface_close(xch);
|
||
|
if ( paging->mem_event.shared_page )
|
||
|
{
|
||
|
@@ -277,6 +288,9 @@ static int xenpaging_teardown(xenpaging_
|
||
|
}
|
||
|
paging->mem_event.xce_handle = NULL;
|
||
|
|
||
|
+ /* Close connection to xenstore */
|
||
|
+ xs_close(paging->xs_handle);
|
||
|
+
|
||
|
/* Close connection to Xen */
|
||
|
rc = xc_interface_close(xch);
|
||
|
if ( rc != 0 )
|
||
|
Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.h
|
||
|
===================================================================
|
||
|
--- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.h
|
||
|
+++ xen-4.1.2-testing/tools/xenpaging/xenpaging.h
|
||
|
@@ -36,6 +36,7 @@
|
||
|
|
||
|
typedef struct xenpaging {
|
||
|
xc_interface *xc_handle;
|
||
|
+ struct xs_handle *xs_handle;
|
||
|
|
||
|
xc_platform_info_t *platform_info;
|
||
|
xc_domaininfo_t *domain_info;
|