ia64/xen-unstable

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