System Call parameters

Richard B. Johnson (root@chaos.analogic.com)
Wed, 16 Apr 2003 12:58:15 -0400 (EDT)


How does the kernel get more than five parameters?

Currently...
eax = function code
ebx = first parameter
ecx = second parameter
edx = third parameter
esi = fourth parameter
edi = fifth parameter

Some functions like mmap() take 6 parameters!
Does anybody know how these parameters get passed?
I have an "ultra-light" 'C' runtime library I have
been working on and, so-far, I've got everything up
to mmap() (in syscall.h) (89 functions) working.
I thought, maybe ebp was being used, but it doesn't
seem to be the case.

Maybe after 5 functions, there is a parameter list
passed by pointer???? I don't have a clue and I
can figure out the code, it's really obscure...

Cheers,
Dick Johnson
Penguin : Linux version 2.4.20 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/