direct-io.hg
changeset 2335:ccc97f55e26d
bitkeeper revision 1.1159.1.97 (412a08767NwPLKMuv2wKJw0mVgoNjg)
2.6 update_va_mapping on demand fault path (currently disabled)
2.6 update_va_mapping on demand fault path (currently disabled)
author | iap10@labyrinth.cl.cam.ac.uk |
---|---|
date | Mon Aug 23 15:08:38 2004 +0000 (2004-08-23) |
parents | 7c3a3f3cf69b |
children | 869c20f2977b |
files | linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/pgtable.h |
line diff
1.1 --- a/linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/pgtable.h Mon Aug 23 15:07:41 2004 +0000 1.2 +++ b/linux-2.6.7-xen-sparse/include/asm-xen/asm-i386/pgtable.h Mon Aug 23 15:08:38 2004 +0000 1.3 @@ -361,6 +361,8 @@ static inline pte_t pte_modify(pte_t pte 1.4 */ 1.5 #define update_mmu_cache(vma,address,pte) do { } while (0) 1.6 #define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS 1.7 + 1.8 +#if 1 1.9 #define ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \ 1.10 do { \ 1.11 if (__dirty) { \ 1.12 @@ -368,6 +370,21 @@ static inline pte_t pte_modify(pte_t pte 1.13 flush_tlb_page(__vma, __address); \ 1.14 } \ 1.15 } while (0) 1.16 +#else 1.17 +#define ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \ 1.18 + do { \ 1.19 + if (__dirty) { \ 1.20 + if ( likely(vma->vm_mm == current->mm) ) { \ 1.21 + xen_flush_page_update_queue(); \ 1.22 + HYPERVISOR_update_va_mapping(address>>PAGE_SHIFT, entry, UVMF_INVLPG); \ 1.23 + } else { \ 1.24 + queue_l1_entry_update((__ptep), (__entry).pte_low); \ 1.25 + xen_flush_page_update_queue(); \ 1.26 + } \ 1.27 + } \ 1.28 + } while (0) 1.29 + 1.30 +#endif 1.31 1.32 /* Encode and de-code a swap entry */ 1.33 #define __swp_type(x) (((x).val >> 1) & 0x1f)