pkgsrc/sysutils/xentools3/patches/patch-bt
bouyer f9a2cde352 Rename xentools30 to xentools3 to acknowledge that Xen dropped one digit
in version numbers, and upgrade to 3.1.0.
Changes since 3.0.4:
    *   XenAPI 1.0 support
          o XML configuration files for virtual machines;
          o VM life-cycle management operations; and
          o Secure on- or off-box XML-RPC with bindings for many languages
    * Basic save/restore/migrate support for HVM (e.g. Windows) VMs;
    * Dynamic memory control for HVM guests;
    * 32-on-64 PV guest support (run PAE PV VMs on a 64-bit Xen!); and
    * Blktap copy-on-write disk support.

It also fixes some HVM bugs.
2007-06-14 19:39:45 +00:00

78 lines
1.6 KiB
Text

$NetBSD: patch-bt,v 1.1.1.1 2007/06/14 19:39:46 bouyer Exp $
--- /dev/null 2007-04-25 19:26:24.000000000 +0200
+++ xenstore/xenstored_netbsd.c 2007-04-25 19:28:19.000000000 +0200
@@ -0,0 +1,73 @@
+/******************************************************************************
+ *
+ * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ *
+ * Copyright (C) 2005 Rusty Russell IBM Corporation
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation, version 2 of the
+ * License.
+ */
+
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <sys/mman.h>
+
+#include "xenstored_core.h"
+
+#define XENSTORED_PROC_KVA "/dev/xsd_kva"
+#define XENSTORED_PROC_PORT "/kern/xen/xsd_port"
+
+evtchn_port_t xenbus_evtchn(void)
+{
+ int fd;
+ int rc;
+ evtchn_port_t port;
+ char str[20];
+
+ fd = open(XENSTORED_PROC_PORT, O_RDONLY);
+ if (fd == -1)
+ return -1;
+
+ rc = read(fd, str, sizeof(str));
+ if (rc == -1)
+ {
+ int err = errno;
+ close(fd);
+ errno = err;
+ return -1;
+ }
+
+ str[rc] = '\0';
+ port = strtoul(str, NULL, 0);
+
+ close(fd);
+ return port;
+}
+
+void *xenbus_map(void)
+{
+ int fd;
+ void *addr;
+
+ fd = open(XENSTORED_PROC_KVA, O_RDWR);
+ if (fd == -1)
+ return NULL;
+
+ addr = mmap(NULL, getpagesize(), PROT_READ|PROT_WRITE,
+ MAP_SHARED, fd, 0);
+
+ if (addr == MAP_FAILED)
+ addr = NULL;
+
+ close(fd);
+
+ return addr;
+}
+
+void xenbus_notify_running(void)
+{
+}