direct-io.hg
changeset 5575:200f5dfe9647
bitkeeper revision 1.1750 (42bbd4dcGK7sWi0DELA8n8Ap3cfa0w)
Merge arcadians.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
into arcadians.cl.cam.ac.uk:/local/scratch-2/vh249/unstable.bk
Merge arcadians.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
into arcadians.cl.cam.ac.uk:/local/scratch-2/vh249/unstable.bk
author | vh249@arcadians.cl.cam.ac.uk |
---|---|
date | Fri Jun 24 09:39:40 2005 +0000 (2005-06-24) |
parents | ef4c824e3720 75ab24f43793 |
children | 48dd03e4b388 |
files | linux-2.6.11-xen-sparse/arch/xen/i386/mm/pgtable.c linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/head.S linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c tools/libxc/xc_linux_build.c xen/common/grant_table.c |
line diff
1.1 --- a/linux-2.6.11-xen-sparse/arch/xen/i386/mm/pgtable.c Fri Jun 24 08:28:36 2005 +0000 1.2 +++ b/linux-2.6.11-xen-sparse/arch/xen/i386/mm/pgtable.c Fri Jun 24 09:39:40 2005 +0000 1.3 @@ -461,7 +461,8 @@ void mm_pin(struct mm_struct *mm) 1.4 mm_walk(mm, PAGE_KERNEL_RO); 1.5 HYPERVISOR_update_va_mapping( 1.6 (unsigned long)mm->pgd, 1.7 - pfn_pte(virt_to_phys(mm->pgd)>>PAGE_SHIFT, PAGE_KERNEL_RO), 0); 1.8 + pfn_pte(virt_to_phys(mm->pgd)>>PAGE_SHIFT, PAGE_KERNEL_RO), 1.9 + UVMF_TLB_FLUSH); 1.10 xen_pgd_pin(__pa(mm->pgd)); 1.11 mm->context.pinned = 1; 1.12 spin_lock(&mm_unpinned_lock); 1.13 @@ -480,6 +481,7 @@ void mm_unpin(struct mm_struct *mm) 1.14 (unsigned long)mm->pgd, 1.15 pfn_pte(virt_to_phys(mm->pgd)>>PAGE_SHIFT, PAGE_KERNEL), 0); 1.16 mm_walk(mm, PAGE_KERNEL); 1.17 + xen_tlb_flush(); 1.18 mm->context.pinned = 0; 1.19 spin_lock(&mm_unpinned_lock); 1.20 list_add(&mm->context.unpinned, &mm_unpinned);
2.1 --- a/linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/head.S Fri Jun 24 08:28:36 2005 +0000 2.2 +++ b/linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/head.S Fri Jun 24 09:39:40 2005 +0000 2.3 @@ -16,7 +16,7 @@ 2.4 #include <linux/linkage.h> 2.5 2.6 .section __xen_guest 2.7 - .ascii "GUEST_OS=linux,GUEST_VER=2.6,XEN_VER=3.0,VIRT_BASE=0xffffffff80100000" 2.8 + .ascii "GUEST_OS=linux,GUEST_VER=2.6,XEN_VER=3.0,VIRT_BASE=0xffffffff80000000" 2.9 .ascii ",LOADER=generic" 2.10 /* .ascii ",PT_MODE_WRITABLE" */ 2.11 .byte 0
3.1 --- a/linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c Fri Jun 24 08:28:36 2005 +0000 3.2 +++ b/linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c Fri Jun 24 09:39:40 2005 +0000 3.3 @@ -174,7 +174,7 @@ void blkif_connect(blkif_be_connect_t *c 3.4 return; 3.5 } 3.6 3.7 - prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED); 3.8 + prot = __pgprot(_KERNPG_TABLE); 3.9 error = direct_remap_area_pages(&init_mm, VMALLOC_VMADDR(vma->addr), 3.10 shmem_frame<<PAGE_SHIFT, PAGE_SIZE, 3.11 prot, domid);
4.1 --- a/linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c Fri Jun 24 08:28:36 2005 +0000 4.2 +++ b/linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c Fri Jun 24 09:39:40 2005 +0000 4.3 @@ -300,7 +300,7 @@ void netif_connect(netif_be_connect_t *c 4.4 return; 4.5 } 4.6 4.7 - prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED); 4.8 + prot = __pgprot(_KERNPG_TABLE); 4.9 error = direct_remap_area_pages(&init_mm, 4.10 VMALLOC_VMADDR(vma->addr), 4.11 tx_shmem_frame<<PAGE_SHIFT, PAGE_SIZE,
5.1 --- a/linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c Fri Jun 24 08:28:36 2005 +0000 5.2 +++ b/linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c Fri Jun 24 09:39:40 2005 +0000 5.3 @@ -170,7 +170,7 @@ void usbif_connect(usbif_be_connect_t *c 5.4 return; 5.5 } 5.6 5.7 - prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED); 5.8 + prot = __pgprot(_KERNPG_TABLE); 5.9 error = direct_remap_area_pages(&init_mm, VMALLOC_VMADDR(vma->addr), 5.10 shmem_frame<<PAGE_SHIFT, PAGE_SIZE, 5.11 prot, domid);
6.1 --- a/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c Fri Jun 24 08:28:36 2005 +0000 6.2 +++ b/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c Fri Jun 24 09:39:40 2005 +0000 6.3 @@ -646,7 +646,7 @@ static void dispatch_usb_io(usbif_priv_t 6.4 ASSERT(buffer_mach); 6.5 6.6 /* Always map writeable for now. */ 6.7 - remap_prot = _PAGE_PRESENT|_PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_RW; 6.8 + remap_prot = _KERNPG_TABLE; 6.9 6.10 for ( i = 0, offset = 0; offset < req->length; 6.11 i++, offset += PAGE_SIZE )
7.1 --- a/tools/libxc/xc_linux_build.c Fri Jun 24 08:28:36 2005 +0000 7.2 +++ b/tools/libxc/xc_linux_build.c Fri Jun 24 09:39:40 2005 +0000 7.3 @@ -81,8 +81,8 @@ static int setup_guest(int xc_handle, 7.4 int rc; 7.5 7.6 unsigned long nr_pt_pages; 7.7 - unsigned long ppt_alloc; 7.8 - unsigned long *physmap, *physmap_e, physmap_pfn; 7.9 + unsigned long ppt_alloc, physmap_pfn; 7.10 + u32 *physmap, *physmap_e; 7.11 7.12 struct load_funcs load_funcs; 7.13 struct domain_setup_info dsi;
8.1 --- a/xen/common/grant_table.c Fri Jun 24 08:28:36 2005 +0000 8.2 +++ b/xen/common/grant_table.c Fri Jun 24 09:39:40 2005 +0000 8.3 @@ -258,7 +258,11 @@ static int 8.4 { 8.5 /* Write update into the pagetable. */ 8.6 l1_pgentry_t pte; 8.7 - pte = l1e_from_pfn(frame, _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_DIRTY); 8.8 + pte = l1e_from_pfn(frame, _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_DIRTY 8.9 +#if defined(__x86_64__) 8.10 + | _PAGE_USER 8.11 +#endif 8.12 + ); 8.13 if ( !(dev_hst_ro_flags & GNTMAP_readonly) ) 8.14 l1e_add_flags(pte,_PAGE_RW); 8.15 rc = update_grant_va_mapping( host_virt_addr, pte,