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-changelog

[Xen-changelog] Merge.

# HG changeset patch
# User sos22@xxxxxxxxxxxxxxxxxxxx
# Node ID 407358daf3898067df46434cb0fd8e160370d9f4
# Parent  43c294aea9ecbace908d321829a9f31e2c6f7a29
# Parent  2d31ebf402e1f4c2ae2b335b9474e1b08f64f15c
Merge.
Signed-off-by: Steven Smith, sos22@xxxxxxxxx

diff -r 43c294aea9ec -r 407358daf389 
linux-2.6-xen-sparse/drivers/xen/netback/netback.c
--- a/linux-2.6-xen-sparse/drivers/xen/netback/netback.c        Wed Jan 25 
16:15:11 2006
+++ b/linux-2.6-xen-sparse/drivers/xen/netback/netback.c        Wed Jan 25 
16:41:22 2006
@@ -39,10 +39,9 @@
 #define MAX_PENDING_REQS 256
 
 static struct sk_buff_head rx_queue;
-static multicall_entry_t rx_mcl[NET_RX_RING_SIZE*2+1];
+static multicall_entry_t rx_mcl[NET_RX_RING_SIZE+1];
 static mmu_update_t rx_mmu[NET_RX_RING_SIZE];
-
-static gnttab_transfer_t grant_rx_op[MAX_PENDING_REQS];
+static gnttab_transfer_t grant_rx_op[NET_RX_RING_SIZE];
 static unsigned char rx_notify[NR_IRQS];
 
 static unsigned long mmap_vstart;
@@ -245,7 +244,7 @@
                __skb_queue_tail(&rxq, skb);
 
                /* Filled the batch queue? */
-               if ((mcl - rx_mcl) == ARRAY_SIZE(rx_mcl))
+               if ((gop - grant_rx_op) == ARRAY_SIZE(grant_rx_op))
                        break;
        }
 
diff -r 43c294aea9ec -r 407358daf389 linux-2.6-xen-sparse/drivers/xen/util.c
--- a/linux-2.6-xen-sparse/drivers/xen/util.c   Wed Jan 25 16:15:11 2006
+++ b/linux-2.6-xen-sparse/drivers/xen/util.c   Wed Jan 25 16:41:22 2006
@@ -31,6 +31,7 @@
 
        return area;
 }
+EXPORT_SYMBOL(alloc_vm_area);
 
 void free_vm_area(struct vm_struct *area)
 {
@@ -39,6 +40,7 @@
        BUG_ON(ret != area);
        kfree(area);
 }
+EXPORT_SYMBOL(free_vm_area);
 
 void lock_vm_area(struct vm_struct *area)
 {
@@ -58,11 +60,13 @@
        for (i = 0; i < area->size; i += PAGE_SIZE)
                (void)__get_user(c, (char __user *)area->addr + i);
 }
+EXPORT_SYMBOL(lock_vm_area);
 
 void unlock_vm_area(struct vm_struct *area)
 {
        preempt_enable();
 }
+EXPORT_SYMBOL(unlock_vm_area);
 
 /*
  * Local variables:
diff -r 43c294aea9ec -r 407358daf389 
linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h
--- a/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h       Wed Jan 
25 16:15:11 2006
+++ b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h       Wed Jan 
25 16:41:22 2006
@@ -90,7 +90,7 @@
 ({                                                             \
        long __res, __ign1, __ign2, __ign3;                     \
        asm volatile (                                          \
-               "movq %8,%%r10; "                               \
+               "movq %7,%%r10; "                               \
                "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
                : "=a" (__res), "=D" (__ign1), "=S" (__ign2),   \
                "=d" (__ign3)                                   \
@@ -104,7 +104,7 @@
 ({                                                             \
        long __res, __ign1, __ign2, __ign3;                     \
        asm volatile (                                          \
-               "movq %8,%%r10; movq %9,%%r8; "                 \
+               "movq %7,%%r10; movq %8,%%r8; "                 \
                "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)"\
                : "=a" (__res), "=D" (__ign1), "=S" (__ign2),   \
                "=d" (__ign3)                                   \
diff -r 43c294aea9ec -r 407358daf389 xen/arch/ia64/xen/xenmisc.c
--- a/xen/arch/ia64/xen/xenmisc.c       Wed Jan 25 16:15:11 2006
+++ b/xen/arch/ia64/xen/xenmisc.c       Wed Jan 25 16:41:22 2006
@@ -290,13 +290,9 @@
 
 void context_switch(struct vcpu *prev, struct vcpu *next)
 {
-//printk("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
-//printk("@@@@@@ context switch from domain %d (%x) to domain %d (%x)\n",
-//prev->domain->domain_id,(long)prev&0xffffff,next->domain->domain_id,(long)next&0xffffff);
-//if (prev->domain->domain_id == 1 && next->domain->domain_id == 0) cs10foo();
-//if (prev->domain->domain_id == 0 && next->domain->domain_id == 1) cs01foo();
-//printk("@@sw%d/%x %d->%d\n",smp_processor_id(), hard_smp_processor_id (),
-//       prev->domain->domain_id,next->domain->domain_id);
+    uint64_t spsr;
+
+    local_irq_save(spsr);
     if(VMX_DOMAIN(prev)){
        vtm_domain_out(prev);
     }
@@ -331,6 +327,7 @@
            if (vcpu_timer_expired(current)) vcpu_pend_timer(current);
     }
 
+    local_irq_restore(spsr);
     context_saved(prev);
 }
 
diff -r 43c294aea9ec -r 407358daf389 xen/common/grant_table.c
--- a/xen/common/grant_table.c  Wed Jan 25 16:15:11 2006
+++ b/xen/common/grant_table.c  Wed Jan 25 16:41:22 2006
@@ -719,10 +719,18 @@
         }
 
         /* Check the passed page frame for basic validity. */
+        if ( unlikely(!pfn_valid(gop.mfn)) )
+        { 
+            DPRINTK("gnttab_transfer: out-of-range %lx\n",
+                    (unsigned long)gop.mfn);
+            (void)__put_user(GNTST_bad_page, &uop[i].status);
+            continue;
+        }
+
         page = pfn_to_page(gop.mfn);
-        if ( unlikely(!pfn_valid(gop.mfn) || IS_XEN_HEAP_FRAME(page)) )
+        if ( unlikely(IS_XEN_HEAP_FRAME(page)) )
         { 
-            DPRINTK("gnttab_transfer: out-of-range or xen frame %lx\n",
+            DPRINTK("gnttab_transfer: xen frame %lx\n",
                     (unsigned long)gop.mfn);
             (void)__put_user(GNTST_bad_page, &uop[i].status);
             continue;

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

<Prev in Thread] Current Thread [Next in Thread>