in sparc linux system call entry assembly code

Chan Kim ckim at etri.re.kr
Fri Mar 28 21:44:23 EDT 2014


Thanks Valdis,
I thought similar way and it's clearer. Probably bit 0 of the sys_call_table contains whether it's using fast syscal.
But I couldn't find the code setting bit 0. I'll try later when I'm done with more urgent things.
Thank you!
Chan
________________________________
From : "Valdis.Kletnieks at vt.edu" <Valdis.Kletnieks at vt.edu>
Sent : 2014-03-28 22:36:27 ( +09:00 )
To : Chan Kim <ckim at etri.re.kr>
Cc : kernelnewbies at kernelnewbies.org <kernelnewbies at kernelnewbies.org>
Subject : Re: in sparc linux system call entry assembly code

On Fri, 28 Mar 2014 07:25:37 -0000, 김찬 said:
> andcc %l7, 1, %g0
> bne linux_fast_syscall

> Then what is this "andcc %l7, 1, %g0" doing?

Well, I'm not an expert on Sparc assembler, but.. 'andcc' looks like it's
doing an and, and setting the cc (condition code). Then 'bne' branch not
equal. Looks to me like it's testing a bit in the just-loaded address
to see if it's flagged as using the fast_syscall code. Go check the code
that generates the table and see if there is something different about the
way they generate some entries.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140329/29b96d7f/attachment.html 


More information about the Kernelnewbies mailing list