diff options
author | vh249@arcadians.cl.cam.ac.uk <vh249@arcadians.cl.cam.ac.uk> | 2005-06-24 09:39:40 +0000 |
---|---|---|
committer | vh249@arcadians.cl.cam.ac.uk <vh249@arcadians.cl.cam.ac.uk> | 2005-06-24 09:39:40 +0000 |
commit | a3adbd6c3cabd7e5fa757827c0f058c7b19b889b (patch) | |
tree | 3b148c209d8d20bd5bb6c07d9c505e8de59f4e9f | |
parent | f90af1a519af771ee0d15af53b61223440178ca9 (diff) | |
parent | 5f2c0a19bfe0920261cb37b52916ab424bf9c9ed (diff) | |
download | xen-a3adbd6c3cabd7e5fa757827c0f058c7b19b889b.tar.gz xen-a3adbd6c3cabd7e5fa757827c0f058c7b19b889b.tar.bz2 xen-a3adbd6c3cabd7e5fa757827c0f058c7b19b889b.zip |
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
-rw-r--r-- | linux-2.6.11-xen-sparse/arch/xen/i386/mm/pgtable.c | 4 | ||||
-rw-r--r-- | linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/head.S | 2 | ||||
-rw-r--r-- | linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c | 2 | ||||
-rw-r--r-- | linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c | 2 | ||||
-rw-r--r-- | linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c | 2 | ||||
-rw-r--r-- | linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c | 2 | ||||
-rw-r--r-- | tools/libxc/xc_linux_build.c | 4 | ||||
-rw-r--r-- | xen/common/grant_table.c | 6 |
8 files changed, 15 insertions, 9 deletions
diff --git a/linux-2.6.11-xen-sparse/arch/xen/i386/mm/pgtable.c b/linux-2.6.11-xen-sparse/arch/xen/i386/mm/pgtable.c index f3756654c3..06495cd9de 100644 --- a/linux-2.6.11-xen-sparse/arch/xen/i386/mm/pgtable.c +++ b/linux-2.6.11-xen-sparse/arch/xen/i386/mm/pgtable.c @@ -461,7 +461,8 @@ void mm_pin(struct mm_struct *mm) mm_walk(mm, PAGE_KERNEL_RO); HYPERVISOR_update_va_mapping( (unsigned long)mm->pgd, - pfn_pte(virt_to_phys(mm->pgd)>>PAGE_SHIFT, PAGE_KERNEL_RO), 0); + pfn_pte(virt_to_phys(mm->pgd)>>PAGE_SHIFT, PAGE_KERNEL_RO), + UVMF_TLB_FLUSH); xen_pgd_pin(__pa(mm->pgd)); mm->context.pinned = 1; spin_lock(&mm_unpinned_lock); @@ -480,6 +481,7 @@ void mm_unpin(struct mm_struct *mm) (unsigned long)mm->pgd, pfn_pte(virt_to_phys(mm->pgd)>>PAGE_SHIFT, PAGE_KERNEL), 0); mm_walk(mm, PAGE_KERNEL); + xen_tlb_flush(); mm->context.pinned = 0; spin_lock(&mm_unpinned_lock); list_add(&mm->context.unpinned, &mm_unpinned); diff --git a/linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/head.S b/linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/head.S index 8a9caf951a..d7000838d8 100644 --- a/linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/head.S +++ b/linux-2.6.11-xen-sparse/arch/xen/x86_64/kernel/head.S @@ -16,7 +16,7 @@ #include <linux/linkage.h> .section __xen_guest - .ascii "GUEST_OS=linux,GUEST_VER=2.6,XEN_VER=3.0,VIRT_BASE=0xffffffff80100000" + .ascii "GUEST_OS=linux,GUEST_VER=2.6,XEN_VER=3.0,VIRT_BASE=0xffffffff80000000" .ascii ",LOADER=generic" /* .ascii ",PT_MODE_WRITABLE" */ .byte 0 diff --git a/linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c b/linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c index 46d55d1fd4..f6bf04fe5b 100644 --- a/linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c +++ b/linux-2.6.11-xen-sparse/drivers/xen/blkback/interface.c @@ -174,7 +174,7 @@ void blkif_connect(blkif_be_connect_t *connect) return; } - prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED); + prot = __pgprot(_KERNPG_TABLE); error = direct_remap_area_pages(&init_mm, VMALLOC_VMADDR(vma->addr), shmem_frame<<PAGE_SHIFT, PAGE_SIZE, prot, domid); diff --git a/linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c b/linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c index 98c6cfa98b..e7d918124d 100644 --- a/linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c +++ b/linux-2.6.11-xen-sparse/drivers/xen/netback/interface.c @@ -300,7 +300,7 @@ void netif_connect(netif_be_connect_t *connect) return; } - prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED); + prot = __pgprot(_KERNPG_TABLE); error = direct_remap_area_pages(&init_mm, VMALLOC_VMADDR(vma->addr), tx_shmem_frame<<PAGE_SHIFT, PAGE_SIZE, diff --git a/linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c b/linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c index c1a16e8000..edca62bba5 100644 --- a/linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c +++ b/linux-2.6.11-xen-sparse/drivers/xen/usbback/interface.c @@ -170,7 +170,7 @@ void usbif_connect(usbif_be_connect_t *connect) return; } - prot = __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_DIRTY | _PAGE_ACCESSED); + prot = __pgprot(_KERNPG_TABLE); error = direct_remap_area_pages(&init_mm, VMALLOC_VMADDR(vma->addr), shmem_frame<<PAGE_SHIFT, PAGE_SIZE, prot, domid); diff --git a/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c b/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c index 0a4cf8b4ea..ac73bd0f2f 100644 --- a/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c +++ b/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c @@ -646,7 +646,7 @@ static void dispatch_usb_io(usbif_priv_t *up, usbif_request_t *req) ASSERT(buffer_mach); /* Always map writeable for now. */ - remap_prot = _PAGE_PRESENT|_PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_RW; + remap_prot = _KERNPG_TABLE; for ( i = 0, offset = 0; offset < req->length; i++, offset += PAGE_SIZE ) diff --git a/tools/libxc/xc_linux_build.c b/tools/libxc/xc_linux_build.c index 3692dbd5e5..dc92fff3f6 100644 --- a/tools/libxc/xc_linux_build.c +++ b/tools/libxc/xc_linux_build.c @@ -81,8 +81,8 @@ static int setup_guest(int xc_handle, int rc; unsigned long nr_pt_pages; - unsigned long ppt_alloc; - unsigned long *physmap, *physmap_e, physmap_pfn; + unsigned long ppt_alloc, physmap_pfn; + u32 *physmap, *physmap_e; struct load_funcs load_funcs; struct domain_setup_info dsi; diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c index 9e7b7223e9..2afdbca0bf 100644 --- a/xen/common/grant_table.c +++ b/xen/common/grant_table.c @@ -258,7 +258,11 @@ __gnttab_activate_grant_ref( { /* Write update into the pagetable. */ l1_pgentry_t pte; - pte = l1e_from_pfn(frame, _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_DIRTY); + pte = l1e_from_pfn(frame, _PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_DIRTY +#if defined(__x86_64__) + | _PAGE_USER +#endif + ); if ( !(dev_hst_ro_flags & GNTMAP_readonly) ) l1e_add_flags(pte,_PAGE_RW); rc = update_grant_va_mapping( host_virt_addr, pte, |