ia64/xen-unstable

changeset 6156:323a46d272ff

merge
author iap10@freefall.cl.cam.ac.uk
date Sat Aug 13 21:55:11 2005 +0000 (2005-08-13)
parents 1de047fc56f5 050bf85fb870
children 48da5e506589
files .hgignore linux-2.6-xen-sparse/arch/xen/i386/mm/highmem.c linux-2.6-xen-sparse/arch/xen/i386/mm/hypervisor.c linux-2.6-xen-sparse/arch/xen/i386/mm/pgtable.c linux-2.6-xen-sparse/drivers/xen/balloon/balloon.c linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c linux-2.6-xen-sparse/drivers/xen/blkback/interface.c linux-2.6-xen-sparse/drivers/xen/netback/netback.c linux-2.6-xen-sparse/include/asm-xen/asm-i386/hypercall.h linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgalloc.h linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-2level.h linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-3level.h linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgtable.h tools/libxc/Makefile tools/libxc/xc_core.c tools/libxc/xc_gnttab.c tools/libxc/xc_linux_build.c tools/libxc/xc_linux_restore.c tools/libxc/xc_linux_save.c tools/libxc/xc_load_elf.c tools/libxc/xc_ptrace.c tools/libxc/xc_vmx_build.c tools/python/xen/xend/XendDomainInfo.py tools/python/xen/xend/server/controller.py tools/xenstore/xenstored_core.c xen/Rules.mk xen/arch/ia64/grant_table.c xen/arch/x86/mm.c xen/arch/x86/setup.c xen/arch/x86/traps.c xen/common/grant_table.c xen/common/perfc.c xen/include/asm-x86/mm.h xen/include/public/grant_table.h xen/include/xen/grant_table.h
line diff
     2.1 --- a/linux-2.6-xen-sparse/arch/xen/i386/mm/highmem.c	Sat Aug 13 21:03:39 2005 +0000
     2.2 +++ b/linux-2.6-xen-sparse/arch/xen/i386/mm/highmem.c	Sat Aug 13 21:55:11 2005 +0000
     2.3 @@ -41,8 +41,7 @@ static void *__kmap_atomic(struct page *
     2.4  	if (!pte_none(*(kmap_pte-idx)))
     2.5  		BUG();
     2.6  #endif
     2.7 -	set_pte(kmap_pte-idx, mk_pte(page, prot));
     2.8 -	__flush_tlb_one(vaddr);
     2.9 +	set_pte_at_sync(&init_mm, vaddr, kmap_pte-idx, mk_pte(page, prot));
    2.10  
    2.11  	return (void*) vaddr;
    2.12  }
    11.1 --- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-2level.h	Sat Aug 13 21:03:39 2005 +0000
    11.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-2level.h	Sat Aug 13 21:55:11 2005 +0000
    11.3 @@ -14,7 +14,28 @@
    11.4   * hook is made available.
    11.5   */
    11.6  #define set_pte(pteptr, pteval) (*(pteptr) = pteval)
    11.7 -#define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval)
    11.8 +
    11.9 +inline static void set_pte_at(struct mm_struct *mm, unsigned long addr, 
   11.10 +		       pte_t *ptep, pte_t val )
   11.11 +{
   11.12 +    if ( ((mm != current->mm) && (mm != &init_mm)) ||
   11.13 +	 HYPERVISOR_update_va_mapping( (addr), (val), 0 ) )
   11.14 +    {
   11.15 +        set_pte(ptep, val);
   11.16 +    }
   11.17 +}
   11.18 +
   11.19 +inline static void set_pte_at_sync(struct mm_struct *mm, unsigned long addr, 
   11.20 +		       pte_t *ptep, pte_t val )
   11.21 +{
   11.22 +    if ( ((mm != current->mm) && (mm != &init_mm)) ||
   11.23 +	 HYPERVISOR_update_va_mapping( (addr), (val), UVMF_INVLPG ) )
   11.24 +    {
   11.25 +        set_pte(ptep, val);
   11.26 +	xen_invlpg(addr);
   11.27 +    }
   11.28 +}
   11.29 +
   11.30  #define set_pte_atomic(pteptr, pteval) set_pte(pteptr,pteval)
   11.31  
   11.32  #ifndef CONFIG_XEN_SHADOW_MODE
    12.1 --- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-3level.h	Sat Aug 13 21:03:39 2005 +0000
    12.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable-3level.h	Sat Aug 13 21:55:11 2005 +0000
    12.3 @@ -68,7 +68,27 @@ static inline void set_pte(pte_t *ptep, 
    12.4  		xen_l1_entry_update((pteptr), (pteval))
    12.5  # define set_pte_atomic(pteptr,pteval) set_pte(pteptr,pteval)
    12.6  #endif
    12.7 -#define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval)
    12.8 +
    12.9 +inline static void set_pte_at(struct mm_struct *mm, unsigned long addr, 
   12.10 +		       pte_t *ptep, pte_t val )
   12.11 +{
   12.12 +    if ( ((mm != current->mm) && (mm != &init_mm)) ||
   12.13 +	 HYPERVISOR_update_va_mapping( (addr), (val), 0 ) )
   12.14 +    {
   12.15 +        set_pte(ptep, val);
   12.16 +    }
   12.17 +}
   12.18 +
   12.19 +inline static void set_pte_at_sync(struct mm_struct *mm, unsigned long addr, 
   12.20 +		       pte_t *ptep, pte_t val )
   12.21 +{
   12.22 +    if ( ((mm != current->mm) && (mm != &init_mm)) ||
   12.23 +	 HYPERVISOR_update_va_mapping( (addr), (val), UVMF_INVLPG ) )
   12.24 +    {
   12.25 +        set_pte(ptep, val);
   12.26 +	xen_invlpg(addr);
   12.27 +    }
   12.28 +}
   12.29  
   12.30  #ifdef CONFIG_XEN_SHADOW_MODE
   12.31  # define set_pmd(pmdptr,pmdval) \
    14.1 --- a/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgtable.h	Sat Aug 13 21:03:39 2005 +0000
    14.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgtable.h	Sat Aug 13 21:55:11 2005 +0000
    14.3 @@ -265,7 +265,16 @@ static inline unsigned long pud_bad(pud_
    14.4         val &= ~(_PAGE_USER | _PAGE_DIRTY); 
    14.5         return val & ~(_PAGE_PRESENT | _PAGE_RW | _PAGE_ACCESSED);      
    14.6  } 
    14.7 -#define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval)
    14.8 +
    14.9 +inline static void set_pte_at(struct mm_struct *mm, unsigned long addr, 
   14.10 +		       pte_t *ptep, pte_t val )
   14.11 +{
   14.12 +    if ( ((mm != current->mm) && (mm != &init_mm)) ||
   14.13 +	 HYPERVISOR_update_va_mapping( (addr), (val), 0 ) )
   14.14 +    {
   14.15 +        set_pte(ptep, val);
   14.16 +    }
   14.17 +}
   14.18  
   14.19  #define pte_none(x)	(!(x).pte)
   14.20  #define pte_present(x)	((x).pte & (_PAGE_PRESENT | _PAGE_PROTNONE))