dslinux/linux-2.6.x/drivers/mmc scsd_c.c scsd_s.S
amadeus at iksw-muees.de
Wed Aug 30 16:47:13 CEST 2006
On Monday 28 August 2006 23:05, Malcolm wrote:
> When an exception occurs, the CPU switches to Supervisor mode.
> In supervisor mode, registers R13(SP) and R14(LR) are banked.
Yes. You are right.
> I have not found the code that switches to a different kernel stack,
> but I'm sure it's there.
> Nor have I found where the kernel stack is allocated.
You are in a maze of little undocumented source files....
I think I have got a basic understanding.
Per Process, there is ONE stack allocated (by the binformat loader).
The top page of this stack is used by the kernel. The structure of this
area is defined in asm-offsets.c/s. The lower part of the stack is used
as user stack. That's all.
We're back to the times when men were men
and wrote their own device drivers.
More information about the dslinux-devel