diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2010-12-23 15:25:57 +0000 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2010-12-23 15:25:57 +0000 |
commit | 3e446a35ee82c738367e8f90e3bc9166687043a8 (patch) | |
tree | d2ed5fd210a798cb5c54007a08e8bd2b9e9a221f /tools/xenpaging | |
parent | 252cb308e37470915d0f64c730e4e2e829ec2512 (diff) | |
download | xen-3e446a35ee82c738367e8f90e3bc9166687043a8.tar.gz xen-3e446a35ee82c738367e8f90e3bc9166687043a8.tar.bz2 xen-3e446a35ee82c738367e8f90e3bc9166687043a8.zip |
libxc: convert evtchn interfaces to use an opaque handle type
This makes the interface consistent with the changes made to the main
interface in 21483:779c0ef9682c.
Also fix some references to "struct xc_interface" which should have
been simply "xc_interface" in tools/xenpaging, and update QEMU_TAG to
pull in the corresponding qemu change.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/xenpaging')
-rw-r--r-- | tools/xenpaging/mem_event.h | 2 | ||||
-rw-r--r-- | tools/xenpaging/policy_default.c | 2 | ||||
-rw-r--r-- | tools/xenpaging/xc.c | 12 | ||||
-rw-r--r-- | tools/xenpaging/xc.h | 4 | ||||
-rw-r--r-- | tools/xenpaging/xenpaging.c | 14 |
5 files changed, 17 insertions, 17 deletions
diff --git a/tools/xenpaging/mem_event.h b/tools/xenpaging/mem_event.h index 9f7bdf008a..807b21816b 100644 --- a/tools/xenpaging/mem_event.h +++ b/tools/xenpaging/mem_event.h @@ -40,7 +40,7 @@ typedef struct mem_event { domid_t domain_id; - int xce_handle; + xc_evtchn *xce_handle; int port; mem_event_back_ring_t back_ring; mem_event_shared_page_t *shared_page; diff --git a/tools/xenpaging/policy_default.c b/tools/xenpaging/policy_default.c index ea32407ca4..e1e727991d 100644 --- a/tools/xenpaging/policy_default.c +++ b/tools/xenpaging/policy_default.c @@ -70,7 +70,7 @@ int policy_init(xenpaging_t *paging) int policy_choose_victim(xenpaging_t *paging, domid_t domain_id, xenpaging_victim_t *victim) { - struct xc_interface *xch = paging->xc_handle; + xc_interface *xch = paging->xc_handle; unsigned long wrap = current_gfn; ASSERT(victim != NULL); diff --git a/tools/xenpaging/xc.c b/tools/xenpaging/xc.c index 3b9c836aa0..d1a62ff77f 100644 --- a/tools/xenpaging/xc.c +++ b/tools/xenpaging/xc.c @@ -65,9 +65,9 @@ int xc_mem_paging_flush_ioemu_cache(domid_t domain_id) return rc; } -int xc_wait_for_event_or_timeout(xc_interface *xch, int xce_handle, unsigned long ms) +int xc_wait_for_event_or_timeout(xc_interface *xch, xc_evtchn *xce, unsigned long ms) { - struct pollfd fd = { .fd = xce_handle, .events = POLLIN | POLLERR }; + struct pollfd fd = { .fd = xc_evtchn_fd(xce), .events = POLLIN | POLLERR }; int port; int rc; @@ -83,14 +83,14 @@ int xc_wait_for_event_or_timeout(xc_interface *xch, int xce_handle, unsigned lon if ( rc == 1 ) { - port = xc_evtchn_pending(xce_handle); + port = xc_evtchn_pending(xce); if ( port == -1 ) { ERROR("Failed to read port from event channel"); goto err; } - rc = xc_evtchn_unmask(xce_handle, port); + rc = xc_evtchn_unmask(xce, port); if ( rc != 0 ) { ERROR("Failed to unmask event channel port"); @@ -106,9 +106,9 @@ int xc_wait_for_event_or_timeout(xc_interface *xch, int xce_handle, unsigned lon return -errno; } -int xc_wait_for_event(xc_interface *xch, int xce_handle) +int xc_wait_for_event(xc_interface *xch, xc_evtchn *xce) { - return xc_wait_for_event_or_timeout(xch, xce_handle, -1); + return xc_wait_for_event_or_timeout(xch, xce, -1); } int xc_get_platform_info(xc_interface *xc_handle, domid_t domain_id, diff --git a/tools/xenpaging/xc.h b/tools/xenpaging/xc.h index 5febb89ef3..41cf310c47 100644 --- a/tools/xenpaging/xc.h +++ b/tools/xenpaging/xc.h @@ -53,8 +53,8 @@ typedef struct xc_platform_info { int alloc_bitmap(unsigned long **bitmap, unsigned long bitmap_size); int xc_mem_paging_flush_ioemu_cache(domid_t domain_id); -int xc_wait_for_event(xc_interface *xch, int xce_handle); -int xc_wait_for_event_or_timeout(xc_interface *xch, int xce_handle, unsigned long ms); +int xc_wait_for_event(xc_interface *xch, xc_evtchn *xce); +int xc_wait_for_event_or_timeout(xc_interface *xch, xc_evtchn *xce, unsigned long ms); int xc_get_platform_info(xc_interface *xc_handle, domid_t domain_id, xc_platform_info_t *platform_info); diff --git a/tools/xenpaging/xenpaging.c b/tools/xenpaging/xenpaging.c index 74e4f56589..508068f9c5 100644 --- a/tools/xenpaging/xenpaging.c +++ b/tools/xenpaging/xenpaging.c @@ -144,8 +144,8 @@ xenpaging_t *xenpaging_init(domid_t domain_id) } /* Open event channel */ - paging->mem_event.xce_handle = xc_evtchn_open(); - if ( paging->mem_event.xce_handle < 0 ) + paging->mem_event.xce_handle = xc_evtchn_open(NULL, 0); + if ( paging->mem_event.xce_handle == NULL ) { ERROR("Failed to open event channel"); goto err; @@ -246,7 +246,7 @@ xenpaging_t *xenpaging_init(domid_t domain_id) int xenpaging_teardown(xenpaging_t *paging) { int rc; - struct xc_interface *xch; + xc_interface *xch; if ( paging == NULL ) return 0; @@ -274,7 +274,7 @@ int xenpaging_teardown(xenpaging_t *paging) { ERROR("Error closing event channel"); } - paging->mem_event.xce_handle = -1; + paging->mem_event.xce_handle = NULL; /* Close connection to Xen */ rc = xc_interface_close(xch); @@ -338,7 +338,7 @@ static int put_response(mem_event_t *mem_event, mem_event_response_t *rsp) int xenpaging_evict_page(xenpaging_t *paging, xenpaging_victim_t *victim, int fd, int i) { - struct xc_interface *xch = paging->xc_handle; + xc_interface *xch = paging->xc_handle; void *page; unsigned long gfn; int ret; @@ -412,7 +412,7 @@ static int xenpaging_resume_page(xenpaging_t *paging, mem_event_response_t *rsp, static int xenpaging_populate_page(xenpaging_t *paging, uint64_t *gfn, int fd, int i) { - struct xc_interface *xch = paging->xc_handle; + xc_interface *xch = paging->xc_handle; unsigned long _gfn; void *page; int ret; @@ -467,7 +467,7 @@ static int xenpaging_populate_page(xenpaging_t *paging, static int evict_victim(xenpaging_t *paging, domid_t domain_id, xenpaging_victim_t *victim, int fd, int i) { - struct xc_interface *xch = paging->xc_handle; + xc_interface *xch = paging->xc_handle; int j = 0; int ret; |