head_8xx.S (14e77332e74603efab8347c89d3cda447c3b97c9) head_8xx.S (2da37761671b5bdedbe04e6469cfa57cd6b6ae45)
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * PowerPC version
4 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
5 * Rewritten by Cort Dougan (cort@cs.nmt.edu) for PReP
6 * Copyright (C) 1996 Cort Dougan <cort@cs.nmt.edu>
7 * Low-level exception handlers and MMU support
8 * rewritten by Paul Mackerras.

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

13 * This file contains low-level support and setup for PowerPC 8xx
14 * embedded processors, including trap and interrupt dispatch.
15 */
16
17#include <linux/init.h>
18#include <linux/magic.h>
19#include <linux/pgtable.h>
20#include <linux/sizes.h>
1/* SPDX-License-Identifier: GPL-2.0-or-later */
2/*
3 * PowerPC version
4 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
5 * Rewritten by Cort Dougan (cort@cs.nmt.edu) for PReP
6 * Copyright (C) 1996 Cort Dougan <cort@cs.nmt.edu>
7 * Low-level exception handlers and MMU support
8 * rewritten by Paul Mackerras.

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

13 * This file contains low-level support and setup for PowerPC 8xx
14 * embedded processors, including trap and interrupt dispatch.
15 */
16
17#include <linux/init.h>
18#include <linux/magic.h>
19#include <linux/pgtable.h>
20#include <linux/sizes.h>
21#include <linux/linkage.h>
22
21#include <asm/processor.h>
22#include <asm/page.h>
23#include <asm/mmu.h>
24#include <asm/cache.h>
25#include <asm/cputable.h>
26#include <asm/thread_info.h>
27#include <asm/ppc_asm.h>
28#include <asm/asm-offsets.h>

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

620/* Set up the initial MMU state so we can do the first level of
621 * kernel initialization. This maps the first 8 MBytes of memory 1:1
622 * virtual to physical. Also, set the cache mode since that is defined
623 * by TLB entries and perform any additional mapping (like of the IMMR).
624 * If configured to pin some TLBs, we pin the first 8 Mbytes of kernel,
625 * 24 Mbytes of data, and the 512k IMMR space. Anything not covered by
626 * these mappings is mapped by page tables.
627 */
23#include <asm/processor.h>
24#include <asm/page.h>
25#include <asm/mmu.h>
26#include <asm/cache.h>
27#include <asm/cputable.h>
28#include <asm/thread_info.h>
29#include <asm/ppc_asm.h>
30#include <asm/asm-offsets.h>

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

622/* Set up the initial MMU state so we can do the first level of
623 * kernel initialization. This maps the first 8 MBytes of memory 1:1
624 * virtual to physical. Also, set the cache mode since that is defined
625 * by TLB entries and perform any additional mapping (like of the IMMR).
626 * If configured to pin some TLBs, we pin the first 8 Mbytes of kernel,
627 * 24 Mbytes of data, and the 512k IMMR space. Anything not covered by
628 * these mappings is mapped by page tables.
629 */
628initial_mmu:
630SYM_FUNC_START_LOCAL(initial_mmu)
629 li r8, 0
630 mtspr SPRN_MI_CTR, r8 /* remove PINNED ITLB entries */
631 lis r10, MD_TWAM@h
632 mtspr SPRN_MD_CTR, r10 /* remove PINNED DTLB entries */
633
634 tlbia /* Invalidate all TLB entries */
635
636 lis r8, MI_APG_INIT@h /* Set protection modes */

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

681 mfspr r8, SPRN_DER
682#ifdef CONFIG_PERF_EVENTS
683 rlwinm r8, r8, 0, ~0xc
684#else
685 rlwinm r8, r8, 0, ~0x8
686#endif
687 mtspr SPRN_DER, r8
688 blr
631 li r8, 0
632 mtspr SPRN_MI_CTR, r8 /* remove PINNED ITLB entries */
633 lis r10, MD_TWAM@h
634 mtspr SPRN_MD_CTR, r10 /* remove PINNED DTLB entries */
635
636 tlbia /* Invalidate all TLB entries */
637
638 lis r8, MI_APG_INIT@h /* Set protection modes */

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

683 mfspr r8, SPRN_DER
684#ifdef CONFIG_PERF_EVENTS
685 rlwinm r8, r8, 0, ~0xc
686#else
687 rlwinm r8, r8, 0, ~0x8
688#endif
689 mtspr SPRN_DER, r8
690 blr
691SYM_FUNC_END(initial_mmu)
689
690_GLOBAL(mmu_pin_tlb)
691 lis r9, (1f - PAGE_OFFSET)@h
692 ori r9, r9, (1f - PAGE_OFFSET)@l
693 mfmsr r10
694 mflr r11
695 li r12, MSR_KERNEL & ~(MSR_IR | MSR_DR | MSR_RI)
696 rlwinm r0, r10, 0, ~MSR_RI

--- 93 unchanged lines hidden ---
692
693_GLOBAL(mmu_pin_tlb)
694 lis r9, (1f - PAGE_OFFSET)@h
695 ori r9, r9, (1f - PAGE_OFFSET)@l
696 mfmsr r10
697 mflr r11
698 li r12, MSR_KERNEL & ~(MSR_IR | MSR_DR | MSR_RI)
699 rlwinm r0, r10, 0, ~MSR_RI

--- 93 unchanged lines hidden ---