WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH 1 of 3] Move libxl_device_pci_reset in to libxl_p

On Wed, 2010-07-28 at 20:40 +0100, Gianni Tedesco wrote:
> tools/libxl/libxl_device.c |  34 ----------------------------------
>  tools/libxl/libxl_pci.c    |  33 +++++++++++++++++++++++++++++++++
>  2 files changed, 33 insertions(+), 34 deletions(-)
> 
> 
> Signed-off-by: Gianni Tedesco <gianni.tedesco@xxxxxxxxxx>

diff -r ebede381efe8 -r 6d858d8546d4 tools/libxl/libxl_device.c
--- a/tools/libxl/libxl_device.c        Tue Jul 27 18:09:22 2010 +0100
+++ b/tools/libxl/libxl_device.c        Wed Jul 28 18:37:39 2010 +0100
@@ -377,40 +377,6 @@ int libxl_device_del(libxl_ctx *c
     return 0;
 }
 
-int libxl_device_pci_reset(libxl_ctx *ctx, unsigned int domain, unsigned int 
bus,
-                         unsigned int dev, unsigned int func)
-{
-    char *reset = "/sys/bus/pci/drivers/pciback/do_flr";
-    int fd, rc;
-
-    fd = open(reset, O_WRONLY);
-    if (fd > 0) {
-        char *buf = libxl_sprintf(ctx, PCI_BDF, domain, bus, dev, func);
-        rc = write(fd, buf, strlen(buf));
-        if (rc < 0)
-            XL_LOG(ctx, XL_LOG_ERROR, "write to %s returned %d", reset, rc);
-        close(fd);
-        return rc < 0 ? rc : 0;
-    }
-    if (errno != ENOENT)
-        XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "Failed to access pciback path %s", 
reset);
-    reset = libxl_sprintf(ctx, "/sys/bus/pci/devices/"PCI_BDF"/reset", domain, 
bus, dev, func);
-    fd = open(reset, O_WRONLY);
-    if (fd > 0) {
-        rc = write(fd, "1", 1);
-        if (rc < 0)
-            XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "write to %s returned %d", reset, 
rc);
-        close(fd);
-        return rc < 0 ? rc : 0;
-    }
-    if (errno == ENOENT) {
-        XL_LOG(ctx, XL_LOG_ERROR, "The kernel doesn't support PCI device reset 
from sysfs");
-    } else {
-        XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "Failed to access reset path %s", 
reset);
-    }
-    return -1;
-}
-
 int libxl_wait_for_device_model(libxl_ctx *ctx,
                                 uint32_t domid, char *state,
                                 int (*check_callback)(libxl_ctx *ctx,
diff -r ebede381efe8 -r 6d858d8546d4 tools/libxl/libxl_pci.c
--- a/tools/libxl/libxl_pci.c   Tue Jul 27 18:09:22 2010 +0100
+++ b/tools/libxl/libxl_pci.c   Wed Jul 28 18:37:39 2010 +0100
@@ -536,3 +536,36 @@ int libxl_device_pci_init(libxl_device_p
     return 0;
 }
 
+int libxl_device_pci_reset(libxl_ctx *ctx, unsigned int domain, unsigned int 
bus,
+                         unsigned int dev, unsigned int func)
+{
+    char *reset = "/sys/bus/pci/drivers/pciback/do_flr";
+    int fd, rc;
+
+    fd = open(reset, O_WRONLY);
+    if (fd > 0) {
+        char *buf = libxl_sprintf(ctx, PCI_BDF, domain, bus, dev, func);
+        rc = write(fd, buf, strlen(buf));
+        if (rc < 0)
+            XL_LOG(ctx, XL_LOG_ERROR, "write to %s returned %d", reset, rc);
+        close(fd);
+        return rc < 0 ? rc : 0;
+    }
+    if (errno != ENOENT)
+        XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "Failed to access pciback path %s", 
reset);
+    reset = libxl_sprintf(ctx, "/sys/bus/pci/devices/"PCI_BDF"/reset", domain, 
bus, dev, func);
+    fd = open(reset, O_WRONLY);
+    if (fd > 0) {
+        rc = write(fd, "1", 1);
+        if (rc < 0)
+            XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "write to %s returned %d", reset, 
rc);
+        close(fd);
+        return rc < 0 ? rc : 0;
+    }
+    if (errno == ENOENT) {
+        XL_LOG(ctx, XL_LOG_ERROR, "The kernel doesn't support PCI device reset 
from sysfs");
+    } else {
+        XL_LOG_ERRNO(ctx, XL_LOG_ERROR, "Failed to access reset path %s", 
reset);
+    }
+    return -1;
+}



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel