[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |