linux/arch/ppc/boot/simple/clear.S
Linus Torvalds 1da177e4c3 Linux-2.6.12-rc2
Initial git repository build. I'm not bothering with the full history,
even though we have it. We can create a separate "historical" git
archive of that later if we want to, and in the meantime it's about
3.2GB when imported into git - space that would just make the early
git days unnecessarily complicated, when we don't have a lot of good
infrastructure for it.

Let it rip!
2005-04-16 15:20:36 -07:00

20 lines
522 B
ArmAsm

/*
* Code to call _setup_L2CR to flus, invalidate and disable the L2,
* and if present, do the same to the L3.
*/
#define CLEAR_CACHES \
bl _setup_L2CR; \
\
/* If 745x, turn off L3CR as well */ \
mfspr r8,SPRN_PVR; \
srwi r8,r8,16; \
\
cmpli cr0,r8,0x8000; /* 7450 */ \
cmpli cr1,r8,0x8001; /* 7455 */ \
cmpli cr2,r8,0x8002; /* 7457 */ \
/* Now test if any are true. */ \
cror 4*cr0+eq,4*cr0+eq,4*cr1+eq; \
cror 4*cr0+eq,4*cr0+eq,4*cr2+eq; \
beql _setup_L3CR