System Call parameters

From: Richard B. Johnson (root@chaos.analogic.com)
Date: Wed Apr 16 2003 - 11:58:15 EST


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/



This archive was generated by hypermail 2b29 : Wed Apr 23 2003 - 22:00:19 EST