[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] xencomm: Code style cleanups.



# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1188312259 -3600
# Node ID f4a0804d18f984c81f6b597960dca849cfcd7fb9
# Parent  c93e2a822d6f0232ff6f57787eb1c432641cffa1
xencomm: Code style cleanups.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 xen/common/xencomm.c |  135 ++++++++++++++++++++++++++-------------------------
 1 files changed, 70 insertions(+), 65 deletions(-)

diff -r c93e2a822d6f -r f4a0804d18f9 xen/common/xencomm.c
--- a/xen/common/xencomm.c      Tue Aug 28 15:32:27 2007 +0100
+++ b/xen/common/xencomm.c      Tue Aug 28 15:44:19 2007 +0100
@@ -1,4 +1,6 @@
-/*
+/******************************************************************************
+ * xencomm.c
+ *
  * 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; either version 2 of the License, or
@@ -34,13 +36,13 @@
 #define xc_dprintk(f, a...) ((void)0)
 #endif
 
-static void*
+static void *
 xencomm_vaddr(unsigned long paddr, struct page_info *page)
 {
     return (void*)((paddr & ~PAGE_MASK) | (unsigned long)page_to_virt(page));
 }
 
-/* get_page() to prevent from another vcpu freeing the page */
+/* get_page() to prevent another vcpu freeing the page. */
 static int
 xencomm_get_page(unsigned long paddr, struct page_info **page)
 {
@@ -103,19 +105,19 @@ xencomm_ctxt_address(struct xencomm_ctxt
 }
 
 static int
-xencomm_ctxt_init(const void* handle, struct xencomm_ctxt *ctxt)
+xencomm_ctxt_init(const void *handle, struct xencomm_ctxt *ctxt)
 {
     struct page_info *page;
     struct xencomm_desc *desc;
     int ret;
 
-    /* avoid unaligned access */
-    if ( (unsigned long)handle % __alignof__(*desc) != 0 )
+    /* Avoid unaligned access. */
+    if ( ((unsigned long)handle % __alignof__(*desc)) != 0 )
         return -EINVAL;
     if ( xencomm_desc_cross_page_boundary((unsigned long)handle) )
         return -EINVAL;
 
-    /* first we need to access the descriptor */
+    /* First we need to access the descriptor. */
     ret = xencomm_get_page((unsigned long)handle, &page);
     if ( ret )
         return ret;
@@ -128,10 +130,8 @@ xencomm_ctxt_init(const void* handle, st
         return -EINVAL;
     }
 
-    ctxt->nr_addrs = desc->nr_addrs; /* copy before use.
-                                      * It is possible for a guest domain to
-                                      * modify concurrently.
-                                      */
+    /* Copy before use: It is possible for a guest to modify concurrently. */
+    ctxt->nr_addrs = desc->nr_addrs;
     ctxt->desc_in_paddr = (struct xencomm_desc*)handle;
     ctxt->page = page;
     ctxt->address = &desc->address[0];
@@ -141,28 +141,29 @@ static int
 static int
 xencomm_ctxt_next(struct xencomm_ctxt *ctxt, int i)
 {
+    unsigned long paddr;
+    struct page_info *page;
+    int ret;
+
     BUG_ON(i >= ctxt->nr_addrs);
-    /* in i == 0 case, we already calculated in xecomm_addr_init() */
+
+    /* In i == 0 case, we already calculated in xecomm_addr_init(). */
     if ( i != 0 )
         ctxt->address++;
-    
-    /* When crossing page boundary, machine address must be calculated. */
-    if ( ((unsigned long)ctxt->address & ~PAGE_MASK) == 0 )
-    {
-        unsigned long paddr =
-            (unsigned long)&(ctxt->desc_in_paddr->address[i]);
-        struct page_info *page;
-        int ret;
-
-        ret = xencomm_get_page(paddr, &page);
-        if ( ret == 0 )
-        {
-            put_page(ctxt->page);
-            ctxt->page = page;
-            ctxt->address = xencomm_vaddr(paddr, page);
-        }
+
+    if ( ((unsigned long)ctxt->address & ~PAGE_MASK) != 0 )
+        return 0;
+
+    /* Crossing page boundary: machine address must be calculated. */
+    paddr = (unsigned long)&ctxt->desc_in_paddr->address[i];
+    ret = xencomm_get_page(paddr, &page);
+    if ( ret )
         return ret;
-    }
+
+    put_page(ctxt->page);
+    ctxt->page = page;
+    ctxt->address = xencomm_vaddr(paddr, page);
+
     return 0;
 }
 
@@ -177,25 +178,22 @@ xencomm_copy_chunk_from(
     unsigned long to, unsigned long paddr, unsigned int  len)
 {
     struct page_info *page;
-
-    while (1)
-    {
-        int res;
+    int res;
+
+    do {
         res = xencomm_get_page(paddr, &page);
-        if ( res != 0 )
-        {
-            if ( res == -EAGAIN )
-                continue; /* Try again. */
-            return res;
-        }
-        xc_dprintk("%lx[%d] -> %lx\n",
-                   (unsigned long)xencomm_vaddr(paddr, page), len, to);
-
-        memcpy((void *)to, xencomm_vaddr(paddr, page), len);
-        put_page(page);
-        return 0;
-    }
-    /* NOTREACHED */
+    } while ( res == -EAGAIN );
+
+    if ( res )
+        return res;
+
+    xc_dprintk("%lx[%d] -> %lx\n",
+               (unsigned long)xencomm_vaddr(paddr, page), len, to);
+
+    memcpy((void *)to, xencomm_vaddr(paddr, page), len);
+    put_page(page);
+
+    return 0;
 }
 
 static unsigned long
@@ -296,25 +294,22 @@ xencomm_copy_chunk_to(
     unsigned long paddr, unsigned long from, unsigned int  len)
 {
     struct page_info *page;
-
-    while (1)
-    {
-        int res;
+    int res;
+
+    do {
         res = xencomm_get_page(paddr, &page);
-        if ( res != 0 )
-        {
-            if ( res == -EAGAIN )
-                continue; /* Try again.  */
-            return res;
-        }
-        xc_dprintk("%lx[%d] -> %lx\n", from, len,
-                   (unsigned long)xencomm_vaddr(paddr, page));
-
-        memcpy(xencomm_vaddr(paddr, page), (void *)from, len);
-        put_page(page);
-        return 0;
-    }
-    /* NOTREACHED */
+    } while ( res == -EAGAIN );
+
+    if ( res )
+        return res;
+
+    xc_dprintk("%lx[%d] -> %lx\n", from, len,
+               (unsigned long)xencomm_vaddr(paddr, page));
+
+    memcpy(xencomm_vaddr(paddr, page), (void *)from, len);
+    put_page(page);
+
+    return 0;
 }
 
 static unsigned long
@@ -494,3 +489,13 @@ out:
     xencomm_ctxt_done(&ctxt);
     return res;
 }
+
+/*
+ * Local variables:
+ * mode: C
+ * c-set-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.