File indexing completed on 2025-05-11 08:23:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 #include <bspopts.h>
0037
0038 #include <libcpu/powerpc-utility.h>
0039
0040 .global qoriq_tlb1_write
0041 .global qoriq_tlb1_invalidate
0042 .global qoriq_tlb1_invalidate_all_by_ts
0043
0044 .section ".bsp_start_text", "ax"
0045
0046 qoriq_tlb1_write:
0047 rlwinm r3, r3, 16, 10, 15
0048 #ifdef __powerpc64__
0049 rldicr r8, r8, 0, 51
0050 #else
0051 rlwinm r8, r8, 0, 0, 19
0052 #endif
0053 oris r3, r3, 0x1000
0054 mtspr FSL_EIS_MAS0, r3
0055 oris r4, r4, 0xc000
0056 rlwinm r9, r9, 8, 20, 23
0057 or r9, r4, r9
0058 mtspr FSL_EIS_MAS1, r9
0059 or r5, r8, r5
0060 mtspr FSL_EIS_MAS2, r5
0061 or r6, r8, r6
0062 mtspr FSL_EIS_MAS3, r6
0063 #ifdef __powerpc64__
0064 srdi r8, r8, 32
0065 or r7, r7, r8
0066 mtspr FSL_EIS_MAS7, r7
0067 #endif
0068 mtspr FSL_EIS_MAS7, r7
0069 #if defined(QORIQ_HAS_HYPERVISOR_MODE) && !defined(QORIQ_IS_HYPERVISOR_GUEST)
0070 li r0, 0
0071 mtspr FSL_EIS_MAS8, r0
0072 #endif
0073 isync
0074 msync
0075 tlbwe
0076 isync
0077 blr
0078
0079 qoriq_tlb1_invalidate:
0080 rlwinm r3, r3, 16, 10, 15
0081 oris r3, r3, 0x1000
0082 mtspr FSL_EIS_MAS0, r3
0083 li r0, 0
0084 mtspr FSL_EIS_MAS1, r0
0085 mtspr FSL_EIS_MAS2, r0
0086 mtspr FSL_EIS_MAS3, r0
0087 mtspr FSL_EIS_MAS7, r0
0088 #if defined(QORIQ_HAS_HYPERVISOR_MODE) && !defined(QORIQ_IS_HYPERVISOR_GUEST)
0089 mtspr FSL_EIS_MAS8, r0
0090 #endif
0091 isync
0092 msync
0093 tlbwe
0094 isync
0095 blr
0096
0097
0098 qoriq_tlb1_invalidate_all_by_ts:
0099 mflr r12
0100 li r11, QORIQ_TLB1_ENTRY_COUNT
0101 mtctr r11
0102 li r11, 0
0103 mr r10, r3
0104
0105 2:
0106 rlwinm r0, r11, 16, 10, 15
0107 oris r0, r0, (FSL_EIS_MAS0_TLBSEL >> 16)
0108 mtspr FSL_EIS_MAS0, r0
0109 tlbre
0110 mfspr r0, FSL_EIS_MAS1
0111 rlwinm r0, r0, 20, 31, 31
0112 cmpw r0, r10
0113 bne 1f
0114 mr r3, r11
0115 bl qoriq_tlb1_invalidate
0116 1:
0117 addi r11, r11, 1
0118 bdnz 2b
0119 mtlr r12
0120 blr