static void battery_mgmt_pt_mode_init(void)
{
- int xc;
+ xc_interface *xc;
- xc = xc_interface_open();
- if ( xc == -1 )
+ xc = xc_interface_open(0,0,0);
+ if ( !xc )
{
fprintf(logfile, "%s: xc_interface_open failed\n", __FUNCTION__);
return;
if ( xc_domain_ioport_mapping(xc, domid, BATTERY_PORT_2, BATTERY_PORT_2, 0x1, 1) != 0 )
fprintf(logfile, "Failed to map port %x to guest\n", BATTERY_PORT_2);
- close(xc);
+ xc_interface_close(xc);
}
#ifdef BATTERY_MGMT_DEBUG_EXT
/* ------------------------------------------------------------- */
/* public */
-int xen_xc;
+xc_interface *xen_xc;
struct xs_handle *xenstore = NULL;
const char *xen_protocol;
fcntl(xc_evtchn_fd(xendev->evtchndev), F_SETFD, FD_CLOEXEC);
if (ops->flags & DEVOPS_FLAG_NEED_GNTDEV) {
- xendev->gnttabdev = xc_gnttab_open();
+ xendev->gnttabdev = xc_gnttab_open(xc_handle);
if (xendev->gnttabdev < 0) {
xen_be_printf(NULL, 0, "can't open gnttab device\n");
xc_evtchn_close(xendev->evtchndev);
if (xendev->evtchndev >= 0)
xc_evtchn_close(xendev->evtchndev);
if (xendev->gnttabdev >= 0)
- xc_gnttab_close(xendev->gnttabdev);
+ xc_gnttab_close(xc_handle, xendev->gnttabdev);
TAILQ_REMOVE(&xendevs, xendev, next);
qemu_free(xendev);
if (qemu_set_fd_handler(xs_fileno(xenstore), xenstore_update, NULL, NULL) < 0)
goto err;
- xen_xc = xc_interface_open();
- if (xen_xc == -1) {
+ xen_xc = xc_interface_open(0,0,0);
+ if (!xen_xc) {
xen_be_printf(NULL, 0, "can't open xen interface\n");
goto err;
}
/* ------------------------------------------------------------- */
/* variables */
-extern int xen_xc;
+extern xc_interface *xen_xc;
extern struct xs_handle *xenstore;
extern const char *xen_protocol;
PROT_READ|PROT_WRITE,
con->ring_ref);
else
- con->sring = xc_gnttab_map_grant_ref(xendev->gnttabdev, con->xendev.dom,
+ con->sring = xc_gnttab_map_grant_ref(xen_xc, xendev->gnttabdev, con->xendev.dom,
con->ring_ref,
PROT_READ|PROT_WRITE);
if (!con->sring)
if (!xendev->gnttabdev)
munmap(con->sring, XC_PAGE_SIZE);
else
- xc_gnttab_munmap(xendev->gnttabdev, con->sring, 1);
+ xc_gnttab_munmap(xen_xc, xendev->gnttabdev, con->sring, 1);
con->sring = NULL;
}
}
/* do not use 64b array to avoid underflow/overflow when strtol */
uint32_t vcpu_avail[(HVM_MAX_VCPUS + 31)/32] = {0};
-int xc_handle = -1;
+xc_interface *xc_handle;
char domain_name[64] = "Xen-no-name";
void cpu_reset(CPUX86State *env)
{
extern int s3_shutdown_flag;
- int xcHandle;
+ xc_interface *xcHandle;
int sts;
if (s3_shutdown_flag)
return;
- xcHandle = xc_interface_open();
- if (xcHandle < 0)
+ xcHandle = xc_interface_open(0,0,0);
+ if (!xcHandle)
fprintf(logfile, "Cannot acquire xenctrl handle\n");
else {
xc_domain_shutdown_hook(xcHandle, domid);
void destroy_hvm_domain(void)
{
- int xcHandle;
+ xc_interface *xcHandle;
int sts;
- xcHandle = xc_interface_open();
- if (xcHandle < 0)
+ xcHandle = xc_interface_open(0,0,0);
+ if (!xcHandle)
fprintf(logfile, "Cannot acquire xenctrl handle\n");
else {
sts = xc_domain_shutdown(xcHandle, domid, SHUTDOWN_poweroff);
bdrv_init();
dma_helper_init();
- xc_handle = xc_interface_open();
+ xc_handle = xc_interface_open(0,0,0); /* fixme check errors */
#ifdef CONFIG_STUBDOM
{
char *domid_s, *msg;
void main_loop_prepare(void);
-extern int xc_handle;
+extern xc_interface *xc_handle;
extern int xen_pause_requested;
extern int vcpus;
extern uint32_t vcpu_avail[];
fprintf(logfile, "can't store dev %s name for domid %d in %s from a stub domain\n", devName, domid, storeString);
return ENOSYS;
#else
- int xc_handle;
+ xc_interface *xc_handle;
struct xs_handle *xs;
char *path;
char *newpath;
return -1;
}
- xc_handle = xc_interface_open();
- if (xc_handle == -1) {
+ xc_handle = xc_interface_open(0,0,0);
+ if (xc_handle == NULL) {
fprintf(logfile, "xc_interface_open() error\n");
return -1;
}
free(path);
xs_daemon_close(xs);
- close(xc_handle);
+ xc_interface_close(xc_handle);
return 0;
#endif