mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
bitkeeper revision 1.1159.187.40 (41ac36a5yZurzjumuK6eZfIthngj5Q)
Fix ptep_set_access_flags() macro.
This commit is contained in:
1 parent
9e34879530
commit
eaaafa8ef5
1 file changed
+3
-15
@@ -421,31 +421,19 @@ extern pte_t *lookup_address(unsigned long address);
|
||||
#define update_mmu_cache(vma,address,pte) do { } while (0)
|
||||
#define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS
|
||||
|
||||
#if 0
|
||||
#define ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \
|
||||
do { \
|
||||
if (__dirty) { \
|
||||
queue_l1_entry_update((__ptep), (__entry).pte_low); \
|
||||
flush_tlb_page(__vma, __address); \
|
||||
xen_flush_page_update_queue(); \
|
||||
} \
|
||||
} while (0)
|
||||
#else
|
||||
#define ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \
|
||||
do { \
|
||||
if (__dirty) { \
|
||||
if ( likely(vma->vm_mm == current->mm) ) { \
|
||||
if ( likely((__vma)->vm_mm == current->mm) ) { \
|
||||
xen_flush_page_update_queue(); \
|
||||
HYPERVISOR_update_va_mapping(address>>PAGE_SHIFT, entry, UVMF_INVLPG); \
|
||||
HYPERVISOR_update_va_mapping((__address)>>PAGE_SHIFT, (__entry), UVMF_INVLPG); \
|
||||
} else { \
|
||||
xen_l1_entry_update((__ptep), (__entry).pte_low); \
|
||||
flush_tlb_page(__vma, __address); \
|
||||
flush_tlb_page((__vma), (__address)); \
|
||||
} \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#endif
|
||||
|
||||
#define __HAVE_ARCH_PTEP_ESTABLISH
|
||||
#define ptep_establish(__vma, __address, __ptep, __entry) \
|
||||
do { \
|
||||
|
||||