12 #include <linux/signal.h>
14 #include <linux/sched.h>
15 #include <linux/kernel.h>
16 #include <linux/errno.h>
17 #include <linux/string.h>
18 #include <linux/types.h>
19 #include <linux/ptrace.h>
20 #include <linux/mman.h>
23 #include <linux/perf_event.h>
27 #include <asm/uaccess.h>
28 #include <asm/pgalloc.h>
29 #include <asm/mmu_context.h>
33 unsigned long long match, pteh=0, lpage;
39 lpage = neff_sign_extend(page);
44 asm volatile (
"getcfg %1, 0, %0"
49 __flush_tlb_slot(tlb);
55 asm volatile (
"getcfg %1, 0, %0"
60 __flush_tlb_slot(tlb);
83 unsigned long long match, pteh=0, pteh_epn, pteh_low;
101 asm volatile (
"getcfg %1, 0, %0"
106 pteh_low = pteh & ~PAGE_MASK;
108 if (pteh_low == match && pteh_epn >= start && pteh_epn <= end)
109 __flush_tlb_slot(tlb);
114 asm volatile (
"getcfg %1, 0, %0"
119 pteh_low = pteh & ~PAGE_MASK;
121 if (pteh_low == match && pteh_epn >= start && pteh_epn <= end)
122 __flush_tlb_slot(tlb);
148 unsigned long flags, tlb;
154 __flush_tlb_slot(tlb);
158 __flush_tlb_slot(tlb);