From 57ea955dd313ed5a93c5092dc4a9b22dfcb01949 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Thu, 17 Dec 2009 06:27:57 +0000 Subject: Adds 'memory_sharing' option to domain config scripts. It passes domain id to the tapdisk2 process if sharing is enabled (tapdisk2 is not normally aware what domain it is working for). Signed-off-by: Grzegorz Milos --- tools/memshr/interface.c | 16 ++++++++++++++++ tools/memshr/memshr.h | 1 + 2 files changed, 17 insertions(+) (limited to 'tools/memshr') diff --git a/tools/memshr/interface.c b/tools/memshr/interface.c index 9ab20c213c..2c2f45423b 100644 --- a/tools/memshr/interface.c +++ b/tools/memshr/interface.c @@ -21,6 +21,12 @@ #include "memshr-priv.h" #include "shm.h" +typedef struct { + int enabled; + domid_t domid; +} memshr_vbd_info_t; + +memshr_vbd_info_t vbd_info = {0, DOMID_INVALID}; typedef struct { struct shared_memshr_info *shared_info; @@ -32,6 +38,11 @@ private_memshr_info_t memshr; #define SHARED_INFO (memshr.shared_info) +void memshr_set_domid(int domid) +{ + vbd_info.domid = domid; +} + void memshr_daemon_initialize(void) { void *shm_base_addr; @@ -88,5 +99,10 @@ void memshr_vbd_initialize(void) DPRINTF("Failed to open blockshr_hash.\n"); return; } + + if(vbd_info.domid == DOMID_INVALID) + return; + + vbd_info.enabled = 1; } diff --git a/tools/memshr/memshr.h b/tools/memshr/memshr.h index 412ddb1a42..351323715c 100644 --- a/tools/memshr/memshr.h +++ b/tools/memshr/memshr.h @@ -23,6 +23,7 @@ typedef uint64_t xen_mfn_t; +extern void memshr_set_domid(int domid); extern void memshr_daemon_initialize(void); extern void memshr_vbd_initialize(void); -- cgit v1.2.3