What is the preferred way of doing a context switch on the ARM?
I’m asking, because I see no clean way to do it. On stack based
machines you simply “pushall” onto the active task’s stack, switch
stacks, and do a “popall”. The ARM makes this difficult because when
it switches to a privileged mode, the active task’s stack becomes
“invisible”, and the CPSR gets saved into the SPSR (as opposed to
being pushed onto the stack). Thanks!
.
Relevant Pages
- Re: Team EM help please
... There should be 5 switch stacks back there. ... in stack 1, and changing the state of the make/break switch on stack ... Now manually actuate the plunger to advance the player unit one step ... only stack 2 should be on a cam and lifted closing all ... (rec.games.pinball) - Re: Team EM help please
... Start a game. ... There should be 5 switch stacks back there. ... in stack 1, and changing the state of the make/break switch on stack ... only stack 2 should be on a cam and lifted closing all ... (rec.games.pinball) - Re: Team EM help please
... There should be 5 switch stacks back there. ... in stack 1, and changing the state of the make/break switch on stack ... Now manually actuate the plunger to advance the player unit one step ... only stack 2 should be on a cam and lifted closing all ... (rec.games.pinball) - Re: A questionable piece of code for context switching (very short, only 5 lines)
... from thread B is put instead on the stack, the state of thread B is ... and SWITCH returns to where it was last ... and the program resumes execution at address x. ... The interrupt handler eventually calls SWITCH ... (comp.lang.asm.x86) - Re: A questionable piece of code for context switching (very short, only 5 lines)
... from thread B is put instead on the stack, the state of thread B is ... and SWITCH returns to where it was last ... movl _ESP,%esp ... # copy over the ret address on the stack ?! ... (comp.lang.asm.x86) |
|