dslinux/linux-2.6.x/drivers/mmc scsd_c.c scsd_s.S

Amadeus 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.

(Linus Torvalds)

More information about the dslinux-devel mailing list