What does "THUMB" macro do in ARM-linux code? -
i looking @ head.s arm linux code. know thumb mode is. there 1 line such thumb(it eq)
, predefined macro #define thumb(x...) x
dotdotdot written.
please tell me macro does.
entry(stext) setmode psr_f_bit | psr_i_bit | svc_mode, r9 @ ensure svc mode @ , irqs disabled mrc p15, 0, r9, c0, c0 @ processor id bl__lookup_processor_type @ r5=procinfo r9=cpuid movs r10, r5 @ invalid processor (r5=0)? thumb( iteq ) @ force fixup-able long branch encoding beq __error_p @ yes, error 'p'
thumb()
arm()
preprocessor macros used conditionally compile source assembly depending on target instruction set. if kernel being compiled arm target, thumb() macro no-op. on contrary, if kernel being compiled thumb, thumb() macro expanded arguments.
Comments
Post a Comment