mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-16 15:11:52 +00:00
Finally (!?) get to the bottom of the mysterious G3 boot-time panics.
After a number of tests using nop's to change the alignment, it was confirmed that the mtibat instructions should be cache-aligned. FreeScale app note AN2540 indicates that the isync before and after the mtdbat is the right thing to do, but sync/isync isn't required before the mtibat so it has been removed. Fix by using a ".balign 32" to pull the code in question to the correct alignment. MFC after: 3 days
This commit is contained in:
parent
a4fd64c861
commit
29afdbaab4
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=152147
@ -569,7 +569,7 @@ pmap_bootstrap(vm_offset_t kernelstart, vm_offset_t kernelend)
|
|||||||
*/
|
*/
|
||||||
batu = BATU(0x00000000, BAT_BL_256M, BAT_Vs);
|
batu = BATU(0x00000000, BAT_BL_256M, BAT_Vs);
|
||||||
batl = BATL(0x00000000, BAT_M, BAT_PP_RW);
|
batl = BATL(0x00000000, BAT_M, BAT_PP_RW);
|
||||||
__asm ("sync; isync; \n"
|
__asm (".balign 32; \n"
|
||||||
"mtibatu 0,%0; mtibatl 0,%1; isync; \n"
|
"mtibatu 0,%0; mtibatl 0,%1; isync; \n"
|
||||||
"mtdbatu 0,%0; mtdbatl 0,%1; isync"
|
"mtdbatu 0,%0; mtdbatl 0,%1; isync"
|
||||||
:: "r"(batu), "r"(batl));
|
:: "r"(batu), "r"(batl));
|
||||||
|
Loading…
Reference in New Issue
Block a user