Lines Matching +full:3 +full:rd
202 * Assembly version of "adr rd, BSYM(sym)". This should only be used to
207 .macro badr\c, rd, sym
209 adr\c \rd, \sym + 1
211 adr\c \rd, \sym
219 .macro get_thread_info, rd
221 get_current \rd
250 .align 3; \
290 * register 'rd'
292 .macro this_cpu_offset, rd:req
294 ALT_SMP(mrc p15, 0, \rd, c13, c0, 4)
299 .L1_\@: ldr_va \rd, __per_cpu_offset
304 mov \rd, #0
313 9998: mcr p15, 0, \rn, c13, c0, 3 @ set TPIDRURO register
330 .macro get_current, rd:req
332 9998: mrc p15, 0, \rd, c13, c0, 3 @ get TPIDRURO register
336 .L0_\@: ldr_va \rd, __current
342 ldr_va \rd, __current
357 mcr p15, 0, \t1, c13, c0, 3 @ store in TPIDRURO
480 .align 3
521 .align 3
704 .macro ldr_va, rd:req, sym:req, cond, tmp, offset=0
706 __ldst_va ldr, \rd, \tmp, \sym, \cond, \offset
708 __ldst_va ldr, \rd, \rd, \sym, \cond, \offset
724 .macro ldr_this_cpu_armv6, rd:req, sym:req
725 this_cpu_offset \rd
730 add \rd, \rd, pc
731 .L0_\@: sub \rd, \rd, #4
732 .L1_\@: sub \rd, \rd, #0
733 .L2_\@: ldr \rd, [\rd, #4]
738 * into register 'rd', which may be the stack pointer,
740 * are permitted to overlap with 'rd' if != sp
742 .macro ldr_this_cpu, rd:req, sym:req, t1:req, t2:req
744 ldr_va \rd, \sym, tmp=\t1
750 ldr \rd, [\t1, \t2]
752 ldr_this_cpu_armv6 \rd, \sym