forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-09-20 cf4ce59b3b70238352c7f1729f0f7223214828ad
kernel/arch/powerpc/kernel/fsl_booke_entry_mapping.S
....@@ -153,35 +153,24 @@
153153 tlbivax 0,r9
154154 TLBSYNC
155155
156
-/*
157
- * The mapping only needs to be cache-coherent on SMP, except on
158
- * Freescale e500mc derivatives where it's also needed for coherent DMA.
159
- */
160
-#if defined(CONFIG_SMP) || defined(CONFIG_PPC_E500MC)
161
-#define M_IF_NEEDED MAS2_M
162
-#else
163
-#define M_IF_NEEDED 0
164
-#endif
165
-
166156 #if defined(ENTRY_MAPPING_BOOT_SETUP)
167157
168
-/* 6. Setup KERNELBASE mapping in TLB1[0] */
158
+/* 6. Setup kernstart_virt_addr mapping in TLB1[0] */
169159 lis r6,0x1000 /* Set MAS0(TLBSEL) = TLB1(1), ESEL = 0 */
170160 mtspr SPRN_MAS0,r6
171161 lis r6,(MAS1_VALID|MAS1_IPROT)@h
172162 ori r6,r6,(MAS1_TSIZE(BOOK3E_PAGESZ_64M))@l
173163 mtspr SPRN_MAS1,r6
174
- lis r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_NEEDED)@h
175
- ori r6,r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_NEEDED)@l
164
+ lis r6,MAS2_EPN_MASK(BOOK3E_PAGESZ_64M)@h
165
+ ori r6,r6,MAS2_EPN_MASK(BOOK3E_PAGESZ_64M)@l
166
+ and r6,r6,r20
167
+ ori r6,r6,MAS2_M_IF_NEEDED@l
176168 mtspr SPRN_MAS2,r6
177169 mtspr SPRN_MAS3,r8
178170 tlbwe
179171
180
-/* 7. Jump to KERNELBASE mapping */
181
- lis r6,(KERNELBASE & ~0xfff)@h
182
- ori r6,r6,(KERNELBASE & ~0xfff)@l
183
- rlwinm r7,r25,0,0x03ffffff
184
- add r6,r7,r6
172
+/* 7. Jump to kernstart_virt_addr mapping */
173
+ mr r6,r20
185174
186175 #elif defined(ENTRY_MAPPING_KEXEC_SETUP)
187176 /*