[POWERPC] Remove unused function call_with_mmu_off
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
9b47569a9d
commit
a240da35a1
@ -101,48 +101,6 @@ _GLOBAL(call___do_IRQ)
|
|||||||
blr
|
blr
|
||||||
#endif /* CONFIG_IRQSTACKS */
|
#endif /* CONFIG_IRQSTACKS */
|
||||||
|
|
||||||
/*
|
|
||||||
* To be called by C code which needs to do some operations with MMU
|
|
||||||
* disabled. Note that interrupts have to be disabled by the caller
|
|
||||||
* prior to calling us. The code called _MUST_ be in the RMO of course
|
|
||||||
* and part of the linear mapping as we don't attempt to translate the
|
|
||||||
* stack pointer at all. The function is called with the stack switched
|
|
||||||
* to this CPU emergency stack
|
|
||||||
*
|
|
||||||
* prototype is void *call_with_mmu_off(void *func, void *data);
|
|
||||||
*
|
|
||||||
* the called function is expected to be of the form
|
|
||||||
*
|
|
||||||
* void *called(void *data);
|
|
||||||
*/
|
|
||||||
_GLOBAL(call_with_mmu_off)
|
|
||||||
mflr r0 /* get link, save it on stackframe */
|
|
||||||
std r0,16(r1)
|
|
||||||
mr r1,r5 /* save old stack ptr */
|
|
||||||
ld r1,PACAEMERGSP(r13) /* get emerg. stack */
|
|
||||||
subi r1,r1,STACK_FRAME_OVERHEAD
|
|
||||||
std r0,16(r1) /* save link on emerg. stack */
|
|
||||||
std r5,0(r1) /* save old stack ptr in backchain */
|
|
||||||
ld r3,0(r3) /* get to real function ptr (assume same TOC) */
|
|
||||||
bl 2f /* we need LR to return, continue at label 2 */
|
|
||||||
|
|
||||||
ld r0,16(r1) /* we return here from the call, get LR and */
|
|
||||||
ld r1,0(r1) /* .. old stack ptr */
|
|
||||||
mtspr SPRN_SRR0,r0 /* and get back to virtual mode with these */
|
|
||||||
mfmsr r4
|
|
||||||
ori r4,r4,MSR_IR|MSR_DR
|
|
||||||
mtspr SPRN_SRR1,r4
|
|
||||||
rfid
|
|
||||||
|
|
||||||
2: mtspr SPRN_SRR0,r3 /* coming from above, enter real mode */
|
|
||||||
mr r3,r4 /* get parameter */
|
|
||||||
mfmsr r0
|
|
||||||
ori r0,r0,MSR_IR|MSR_DR
|
|
||||||
xori r0,r0,MSR_IR|MSR_DR
|
|
||||||
mtspr SPRN_SRR1,r0
|
|
||||||
rfid
|
|
||||||
|
|
||||||
|
|
||||||
.section ".toc","aw"
|
.section ".toc","aw"
|
||||||
PPC64_CACHES:
|
PPC64_CACHES:
|
||||||
.tc ppc64_caches[TC],ppc64_caches
|
.tc ppc64_caches[TC],ppc64_caches
|
||||||
|
Loading…
Reference in New Issue
Block a user