> Hi > I have seen that system calls is prefixed by asmlinkage tag. > And asmlinkage is basically an attribute i.e. > __attribute__((regparm(0))). > > It tells to the compiler than no arguments will be kept in registers if > there is a function call. > But in system call we pass the arguments in registers only. > so there is a contradiction. >From the user space when we actually call int 0x80 for making a system call (placing all arguments in registers), control goes to 'system_call' (in entry.S). 'system_call' expects to find arguments on registers. As a first step it calls 'SAVE_ALL' which pushes register contents onto the stack before actually invoking the appropriate system call 'sys_xxx'. Now since the arguments are now on stack, the 'asmlinkage' tag directs the 'sys_xxx' function to find the arguments on stack. Please correct me if I my understanding is not right. Sanjay > can anyone tell me where i m missing. > Thanks in advance. > Anurag > > > ************************************************************************ ** > ****** > Network Programs is a SEI-CMM Level 5 & ISO 9001: 2000 Certified Company > ************************************************************************ ** > ****** > The information contained in this communication (including any > attachments) is > intended solely for the use of the individual or entity to whom it is > addressed > and others authorized to receive it. It may contain confidential or > legally > privileged information. If you are not the intended recipient you are > hereby > notified that any disclosure, copying, distribution or taking any action > in > reliance on the contents of this information is strictly prohibited and > may be > unlawful. If you have received this communication in error, please notify > us > immediately by responding to this email and delete it from your system. > Network Programs (India) Limited is neither liable for the proper and > complete > transmission of the information contained in this communication nor for > any > delay in its receipt. > ************************************************************************ ** > ****** -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/