hc
2023-12-06 08f87f769b595151be1afeff53e144f543faa614
kernel/arch/m68k/include/asm/sun3_pgtable.h
....@@ -110,15 +110,13 @@
110110
111111 #define pmd_set(pmdp,ptep) do {} while (0)
112112
113
-static inline void pgd_set(pgd_t *pgdp, pmd_t *pmdp)
114
-{
115
- pgd_val(*pgdp) = virt_to_phys(pmdp);
116
-}
117
-
118113 #define __pte_page(pte) \
119114 ((unsigned long) __va ((pte_val (pte) & SUN3_PAGE_PGNUM_MASK) << PAGE_SHIFT))
120
-#define __pmd_page(pmd) \
121
-((unsigned long) __va (pmd_val (pmd) & PAGE_MASK))
115
+
116
+static inline unsigned long pmd_page_vaddr(pmd_t pmd)
117
+{
118
+ return (unsigned long)__va(pmd_val(pmd) & PAGE_MASK);
119
+}
122120
123121 static inline int pte_none (pte_t pte) { return !pte_val (pte); }
124122 static inline int pte_present (pte_t pte) { return pte_val (pte) & SUN3_PAGE_VALID; }
....@@ -132,7 +130,7 @@
132130 ({ pte_t __pte; pte_val(__pte) = pfn | pgprot_val(pgprot); __pte; })
133131
134132 #define pte_page(pte) virt_to_page(__pte_page(pte))
135
-#define pmd_page(pmd) virt_to_page(__pmd_page(pmd))
133
+#define pmd_page(pmd) virt_to_page(pmd_page_vaddr(pmd))
136134
137135
138136 static inline int pmd_none2 (pmd_t *pmd) { return !pmd_val (*pmd); }
....@@ -145,16 +143,9 @@
145143 #define pmd_present(pmd) (!pmd_none2(&(pmd)))
146144 static inline void pmd_clear (pmd_t *pmdp) { pmd_val (*pmdp) = 0; }
147145
148
-static inline int pgd_none (pgd_t pgd) { return 0; }
149
-static inline int pgd_bad (pgd_t pgd) { return 0; }
150
-static inline int pgd_present (pgd_t pgd) { return 1; }
151
-static inline void pgd_clear (pgd_t *pgdp) {}
152
-
153146
154147 #define pte_ERROR(e) \
155148 pr_err("%s:%d: bad pte %08lx.\n", __FILE__, __LINE__, pte_val(e))
156
-#define pmd_ERROR(e) \
157
- pr_err("%s:%d: bad pmd %08lx.\n", __FILE__, __LINE__, pmd_val(e))
158149 #define pgd_ERROR(e) \
159150 pr_err("%s:%d: bad pgd %08lx.\n", __FILE__, __LINE__, pgd_val(e))
160151
....@@ -167,7 +158,6 @@
167158 static inline int pte_write(pte_t pte) { return pte_val(pte) & SUN3_PAGE_WRITEABLE; }
168159 static inline int pte_dirty(pte_t pte) { return pte_val(pte) & SUN3_PAGE_MODIFIED; }
169160 static inline int pte_young(pte_t pte) { return pte_val(pte) & SUN3_PAGE_ACCESSED; }
170
-static inline int pte_special(pte_t pte) { return 0; }
171161
172162 static inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) &= ~SUN3_PAGE_WRITEABLE; return pte; }
173163 static inline pte_t pte_mkclean(pte_t pte) { pte_val(pte) &= ~SUN3_PAGE_MODIFIED; return pte; }
....@@ -180,31 +170,9 @@
180170 //static inline pte_t pte_mkcache(pte_t pte) { pte_val(pte) &= SUN3_PAGE_NOCACHE; return pte; }
181171 // until then, use:
182172 static inline pte_t pte_mkcache(pte_t pte) { return pte; }
183
-static inline pte_t pte_mkspecial(pte_t pte) { return pte; }
184173
185174 extern pgd_t swapper_pg_dir[PTRS_PER_PGD];
186175 extern pgd_t kernel_pg_dir[PTRS_PER_PGD];
187
-
188
-/* Find an entry in a pagetable directory. */
189
-#define pgd_index(address) ((address) >> PGDIR_SHIFT)
190
-
191
-#define pgd_offset(mm, address) \
192
-((mm)->pgd + pgd_index(address))
193
-
194
-/* Find an entry in a kernel pagetable directory. */
195
-#define pgd_offset_k(address) pgd_offset(&init_mm, address)
196
-
197
-/* Find an entry in the second-level pagetable. */
198
-static inline pmd_t *pmd_offset (pgd_t *pgd, unsigned long address)
199
-{
200
- return (pmd_t *) pgd;
201
-}
202
-
203
-/* Find an entry in the third-level pagetable. */
204
-#define pte_index(address) ((address >> PAGE_SHIFT) & (PTRS_PER_PTE-1))
205
-#define pte_offset_kernel(pmd, address) ((pte_t *) __pmd_page(*pmd) + pte_index(address))
206
-#define pte_offset_map(pmd, address) ((pte_t *)page_address(pmd_page(*pmd)) + pte_index(address))
207
-#define pte_unmap(pte) do { } while (0)
208176
209177 /* Macros to (de)construct the fake PTEs representing swap pages. */
210178 #define __swp_type(x) ((x).val & 0x7F)