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@xxxxxx" <Valdis.Kletnieks@xxxxxx>
Sent : 2014-03-28 22:36:27 ( +09:00 )
To : Chan Kim <ckim@xxxxxxxxxx>
Cc : kernelnewbies@xxxxxxxxxxxxxxxxx <kernelnewbies@xxxxxxxxxxxxxxxxx>
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.
Sent : 2014-03-28 22:36:27 ( +09:00 )
To : Chan Kim <ckim@xxxxxxxxxx>
Cc : kernelnewbies@xxxxxxxxxxxxxxxxx <kernelnewbies@xxxxxxxxxxxxxxxxx>
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.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies