Lines Matching refs:scratch_reg

193 .macro SWITCH_TO_KERNEL_CR3 scratch_reg:req
195 mov %cr3, \scratch_reg
196 ADJUST_KERNEL_CR3 \scratch_reg
197 mov \scratch_reg, %cr3
204 .macro SWITCH_TO_USER_CR3_NOSTACK scratch_reg:req scratch_reg2:req
206 mov %cr3, \scratch_reg
213 movq \scratch_reg, \scratch_reg2
214 andq $(0x7FF), \scratch_reg /* mask ASID */
215 bt \scratch_reg, THIS_CPU_user_pcid_flush_mask
219 btr \scratch_reg, THIS_CPU_user_pcid_flush_mask
220 movq \scratch_reg2, \scratch_reg
224 movq \scratch_reg2, \scratch_reg
225 SET_NOFLUSH_BIT \scratch_reg
229 orq $(PTI_USER_PCID_MASK), \scratch_reg
233 orq $(PTI_USER_PGTABLE_MASK), \scratch_reg
234 mov \scratch_reg, %cr3
238 .macro SWITCH_TO_USER_CR3_STACK scratch_reg:req
240 SWITCH_TO_USER_CR3_NOSTACK scratch_reg=\scratch_reg scratch_reg2=%rax
244 .macro SAVE_AND_SWITCH_TO_KERNEL_CR3 scratch_reg:req save_reg:req
246 movq %cr3, \scratch_reg
247 movq \scratch_reg, \save_reg
253 bt $PTI_USER_PGTABLE_BIT, \scratch_reg
256 ADJUST_KERNEL_CR3 \scratch_reg
257 movq \scratch_reg, %cr3
262 .macro RESTORE_CR3 scratch_reg:req save_reg:req
278 movq \save_reg, \scratch_reg
279 andq $(0x7FF), \scratch_reg
280 bt \scratch_reg, THIS_CPU_user_pcid_flush_mask
283 btr \scratch_reg, THIS_CPU_user_pcid_flush_mask
300 .macro SWITCH_TO_KERNEL_CR3 scratch_reg:req
302 .macro SWITCH_TO_USER_CR3_NOSTACK scratch_reg:req scratch_reg2:req
304 .macro SWITCH_TO_USER_CR3_STACK scratch_reg:req
306 .macro SAVE_AND_SWITCH_TO_KERNEL_CR3 scratch_reg:req save_reg:req
308 .macro RESTORE_CR3 scratch_reg:req save_reg:req
398 .macro SAVE_AND_SET_GSBASE scratch_reg:req save_reg:req
400 GET_PERCPU_BASE \scratch_reg
401 wrgsbase \scratch_reg