lkml.org 
[lkml]   [2008]   [Mar]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 12 of 31] x86/pgtable.h: demacro ptep_set_access_flags
    Date
    From
    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    ---
    arch/x86/mm/pgtable.c | 16 ++++++++++++++++
    include/asm-x86/pgtable.h | 13 +++----------
    2 files changed, 19 insertions(+), 10 deletions(-)

    diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
    --- a/arch/x86/mm/pgtable.c
    +++ b/arch/x86/mm/pgtable.c
    @@ -1,5 +1,6 @@
    #include <linux/mm.h>
    #include <asm/pgalloc.h>
    +#include <asm/pgtable.h>
    #include <asm/tlb.h>

    pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
    @@ -246,3 +247,18 @@
    free_page((unsigned long)pgd);
    }
    #endif
    +
    +int ptep_set_access_flags(struct vm_area_struct *vma,
    + unsigned long address, pte_t *ptep,
    + pte_t entry, int dirty)
    +{
    + int changed = !pte_same(*ptep, entry);
    +
    + if (changed && dirty) {
    + *ptep = entry;
    + pte_update_defer(vma->vm_mm, address, ptep);
    + flush_tlb_page(vma, address);
    + }
    +
    + return changed;
    +}
    diff --git a/include/asm-x86/pgtable.h b/include/asm-x86/pgtable.h
    --- a/include/asm-x86/pgtable.h
    +++ b/include/asm-x86/pgtable.h
    @@ -299,16 +299,9 @@
    * bit at the same time.
    */
    #define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS
    -#define ptep_set_access_flags(vma, address, ptep, entry, dirty) \
    -({ \
    - int __changed = !pte_same(*(ptep), entry); \
    - if (__changed && dirty) { \
    - *ptep = entry; \
    - pte_update_defer((vma)->vm_mm, (address), (ptep)); \
    - flush_tlb_page(vma, address); \
    - } \
    - __changed; \
    -})
    +extern int ptep_set_access_flags(struct vm_area_struct *vma,
    + unsigned long address, pte_t *ptep,
    + pte_t entry, int dirty);

    #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG
    #define ptep_test_and_clear_young(vma, addr, ptep) ({ \



    \
     
     \ /
      Last update: 2008-03-18 06:35    [W:0.024 / U:149.392 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site