8xx.c (6754862249d324b11f1361a5353e234325d805ec) 8xx.c (25ae981fafaa140a12e4c830992b4fe997071124)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * This file contains the routines for initializing the MMU
4 * on the 8xx series of chips.
5 * -- christophe
6 *
7 * Derived from arch/powerpc/mm/40x_mmu.c:
8 */
9
10#include <linux/memblock.h>
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * This file contains the routines for initializing the MMU
4 * on the 8xx series of chips.
5 * -- christophe
6 *
7 * Derived from arch/powerpc/mm/40x_mmu.c:
8 */
9
10#include <linux/memblock.h>
11#include <linux/mmu_context.h>
12#include <linux/hugetlb.h>
11#include <linux/hugetlb.h>
13#include <asm/fixmap.h>
14#include <asm/code-patching.h>
15#include <asm/inst.h>
16
17#include <mm/mmu_decl.h>
18
19#define IMMR_SIZE (FIX_IMMR_SIZE << PAGE_SHIFT)
20
21extern int __map_without_ltlbs;
22
23static unsigned long block_mapped_ram;

--- 183 unchanged lines hidden (view full) ---

207 * physical on those processors
208 */
209 BUG_ON(first_memblock_base != 0);
210
211 /* 8xx can only access 32MB at the moment */
212 memblock_set_current_limit(min_t(u64, first_memblock_size, SZ_32M));
213}
214
12
13#include <mm/mmu_decl.h>
14
15#define IMMR_SIZE (FIX_IMMR_SIZE << PAGE_SHIFT)
16
17extern int __map_without_ltlbs;
18
19static unsigned long block_mapped_ram;

--- 183 unchanged lines hidden (view full) ---

203 * physical on those processors
204 */
205 BUG_ON(first_memblock_base != 0);
206
207 /* 8xx can only access 32MB at the moment */
208 memblock_set_current_limit(min_t(u64, first_memblock_size, SZ_32M));
209}
210
215#ifdef CONFIG_PPC_KUAP
216struct static_key_false disable_kuap_key;
217EXPORT_SYMBOL(disable_kuap_key);
218
219void setup_kuap(bool disabled)
220{
221 if (disabled) {
222 static_branch_enable(&disable_kuap_key);
223 return;
224 }
225
226 pr_info("Activating Kernel Userspace Access Protection\n");
227
228 mtspr(SPRN_MD_AP, MD_APG_KUAP);
229}
230#endif
231
232int pud_clear_huge(pud_t *pud)
233{
234 return 0;
235}
236
237int pmd_clear_huge(pmd_t *pmd)
238{
239 return 0;
240}
211int pud_clear_huge(pud_t *pud)
212{
213 return 0;
214}
215
216int pmd_clear_huge(pmd_t *pmd)
217{
218 return 0;
219}