/kernel/linux/linux-5.10/arch/x86/entry/ |
H A D | calling.h | 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 variable 204 .macro SWITCH_TO_USER_CR3_NOSTACK scratch_reg:req scratch_reg2:req 206 mov %cr3, \scratch_reg 213 movq \scratch_reg, \scratch_reg2 variable 214 andq $(0x7FF), \scratch_reg /* mask ASID */ 215 bt \scratch_reg, THIS_CPU_user_pcid_flush_mask variable 219 btr \scratch_reg, THIS_CPU_user_pcid_flush_mas 234 mov \\scratch_reg, %cr3 global() variable 247 movq \\scratch_reg, \\save_reg global() variable 280 bt \\scratch_reg, THIS_CPU_user_pcid_flush_mask global() variable [all...] |
H A D | entry_32.S | 134 .macro SWITCH_TO_USER_CR3 scratch_reg:req 137 movl %cr3, \scratch_reg 138 orl $PTI_SWITCH_MASK, \scratch_reg 139 movl \scratch_reg, %cr3 163 * \scratch_reg 165 .macro SWITCH_TO_KERNEL_CR3 scratch_reg:req 167 movl %cr3, \scratch_reg 169 testl $PTI_SWITCH_MASK, \scratch_reg 171 andl $(~PTI_SWITCH_MASK), \scratch_reg 172 movl \scratch_reg, [all...] |
H A D | entry_64.S | 101 SWITCH_TO_KERNEL_CR3 scratch_reg=%rsp 219 SWITCH_TO_USER_CR3_STACK scratch_reg=%rdi 613 SWITCH_TO_USER_CR3_STACK scratch_reg=%rdi 682 SWITCH_TO_KERNEL_CR3 scratch_reg=%rdi /* to kernel CR3 */ 711 SWITCH_TO_USER_CR3_STACK scratch_reg=%rdi 921 SAVE_AND_SWITCH_TO_KERNEL_CR3 scratch_reg=%rax save_reg=%r14 942 SAVE_AND_SET_GSBASE scratch_reg=%rax save_reg=%rbx 1014 RESTORE_CR3 scratch_reg=%rax save_reg=%r14 1051 SWITCH_TO_KERNEL_CR3 scratch_reg=%rax 1110 SWITCH_TO_KERNEL_CR3 scratch_reg [all...] |
H A D | entry_64_compat.S | 57 SWITCH_TO_KERNEL_CR3 scratch_reg=%rax 213 SWITCH_TO_KERNEL_CR3 scratch_reg=%rsp 316 SWITCH_TO_USER_CR3_NOSTACK scratch_reg=%r8 scratch_reg2=%r9 373 SWITCH_TO_KERNEL_CR3 scratch_reg=%rdi
|
/kernel/linux/linux-6.6/arch/x86/entry/ |
H A D | calling.h | 167 .macro SWITCH_TO_KERNEL_CR3 scratch_reg:req 169 mov %cr3, \scratch_reg 170 ADJUST_KERNEL_CR3 \scratch_reg 171 mov \scratch_reg, %cr3 variable 178 .macro SWITCH_TO_USER_CR3_NOSTACK scratch_reg:req scratch_reg2:req 180 mov %cr3, \scratch_reg 187 movq \scratch_reg, \scratch_reg2 variable 188 andq $(0x7FF), \scratch_reg /* mask ASID */ 189 bt \scratch_reg, THIS_CPU_user_pcid_flush_mask variable 193 btr \scratch_reg, THIS_CPU_user_pcid_flush_mas 208 mov \\scratch_reg, %cr3 global() variable 221 movq \\scratch_reg, \\save_reg global() variable 254 bt \\scratch_reg, THIS_CPU_user_pcid_flush_mask global() variable [all...] |
H A D | entry_32.S | 57 .macro SWITCH_TO_USER_CR3 scratch_reg:req 60 movl %cr3, \scratch_reg 61 orl $PTI_SWITCH_MASK, \scratch_reg 62 movl \scratch_reg, %cr3 86 * \scratch_reg 88 .macro SWITCH_TO_KERNEL_CR3 scratch_reg:req 90 movl %cr3, \scratch_reg 92 testl $PTI_SWITCH_MASK, \scratch_reg 94 andl $(~PTI_SWITCH_MASK), \scratch_reg 95 movl \scratch_reg, [all...] |
H A D | entry_64.S | 94 SWITCH_TO_KERNEL_CR3 scratch_reg=%rsp 219 SWITCH_TO_USER_CR3_STACK scratch_reg=%rdi 662 SWITCH_TO_USER_CR3_STACK scratch_reg=%rdi 738 SWITCH_TO_KERNEL_CR3 scratch_reg=%rdi /* to kernel CR3 */ 766 SWITCH_TO_USER_CR3_STACK scratch_reg=%rdi 940 SAVE_AND_SWITCH_TO_KERNEL_CR3 scratch_reg=%rax save_reg=%r14 961 SAVE_AND_SET_GSBASE scratch_reg=%rax save_reg=%rbx 1033 RESTORE_CR3 scratch_reg=%rax save_reg=%r14 1072 SWITCH_TO_KERNEL_CR3 scratch_reg=%rax 1126 SWITCH_TO_KERNEL_CR3 scratch_reg [all...] |
H A D | entry_64_compat.S | 58 SWITCH_TO_KERNEL_CR3 scratch_reg=%rax 190 SWITCH_TO_KERNEL_CR3 scratch_reg=%rsp 268 SWITCH_TO_USER_CR3_NOSTACK scratch_reg=%r8 scratch_reg2=%r9
|
/kernel/linux/linux-6.6/drivers/gpu/drm/radeon/ |
H A D | radeon_fence.c | 70 if (likely(rdev->wb.enabled || !drv->scratch_reg)) { in radeon_fence_write() 75 WREG32(drv->scratch_reg, seq); in radeon_fence_write() 93 if (likely(rdev->wb.enabled || !drv->scratch_reg)) { in radeon_fence_read() 100 seq = RREG32(drv->scratch_reg); in radeon_fence_read() 821 radeon_scratch_free(rdev, rdev->fence_drv[ring].scratch_reg); in radeon_fence_driver_start_ring() 823 rdev->fence_drv[ring].scratch_reg = 0; in radeon_fence_driver_start_ring() 838 r = radeon_scratch_get(rdev, &rdev->fence_drv[ring].scratch_reg); in radeon_fence_driver_start_ring() 844 rdev->fence_drv[ring].scratch_reg - in radeon_fence_driver_start_ring() 870 rdev->fence_drv[ring].scratch_reg = -1; in radeon_fence_driver_init_ring() 928 radeon_scratch_free(rdev, rdev->fence_drv[ring].scratch_reg); in radeon_fence_driver_fini() [all...] |
H A D | radeon_atombios.c | 4106 uint32_t scratch_reg; in radeon_save_bios_scratch_regs() local 4110 scratch_reg = R600_BIOS_0_SCRATCH; in radeon_save_bios_scratch_regs() 4112 scratch_reg = RADEON_BIOS_0_SCRATCH; in radeon_save_bios_scratch_regs() 4115 rdev->bios_scratch[i] = RREG32(scratch_reg + (i * 4)); in radeon_save_bios_scratch_regs() 4120 uint32_t scratch_reg; in radeon_restore_bios_scratch_regs() local 4124 scratch_reg = R600_BIOS_0_SCRATCH; in radeon_restore_bios_scratch_regs() 4126 scratch_reg = RADEON_BIOS_0_SCRATCH; in radeon_restore_bios_scratch_regs() 4129 WREG32(scratch_reg + (i * 4), rdev->bios_scratch[i]); in radeon_restore_bios_scratch_regs()
|
H A D | r300.c | 239 radeon_ring_write(ring, PACKET0(rdev->fence_drv[fence->ring].scratch_reg, 0)); in r300_fence_ring_emit()
|
H A D | radeon.h | 365 uint32_t scratch_reg; member
|
H A D | r600.c | 2907 radeon_ring_write(ring, ((rdev->fence_drv[fence->ring].scratch_reg - PACKET3_SET_CONFIG_REG_OFFSET) >> 2)); in r600_fence_ring_emit()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/radeon/ |
H A D | radeon_fence.c | 71 if (likely(rdev->wb.enabled || !drv->scratch_reg)) { in radeon_fence_write() 76 WREG32(drv->scratch_reg, seq); in radeon_fence_write() 94 if (likely(rdev->wb.enabled || !drv->scratch_reg)) { in radeon_fence_read() 101 seq = RREG32(drv->scratch_reg); in radeon_fence_read() 838 radeon_scratch_free(rdev, rdev->fence_drv[ring].scratch_reg); in radeon_fence_driver_start_ring() 840 rdev->fence_drv[ring].scratch_reg = 0; in radeon_fence_driver_start_ring() 855 r = radeon_scratch_get(rdev, &rdev->fence_drv[ring].scratch_reg); in radeon_fence_driver_start_ring() 861 rdev->fence_drv[ring].scratch_reg - in radeon_fence_driver_start_ring() 887 rdev->fence_drv[ring].scratch_reg = -1; in radeon_fence_driver_init_ring() 948 radeon_scratch_free(rdev, rdev->fence_drv[ring].scratch_reg); in radeon_fence_driver_fini() [all...] |
H A D | radeon_atombios.c | 4111 uint32_t scratch_reg; in radeon_save_bios_scratch_regs() local 4115 scratch_reg = R600_BIOS_0_SCRATCH; in radeon_save_bios_scratch_regs() 4117 scratch_reg = RADEON_BIOS_0_SCRATCH; in radeon_save_bios_scratch_regs() 4120 rdev->bios_scratch[i] = RREG32(scratch_reg + (i * 4)); in radeon_save_bios_scratch_regs() 4125 uint32_t scratch_reg; in radeon_restore_bios_scratch_regs() local 4129 scratch_reg = R600_BIOS_0_SCRATCH; in radeon_restore_bios_scratch_regs() 4131 scratch_reg = RADEON_BIOS_0_SCRATCH; in radeon_restore_bios_scratch_regs() 4134 WREG32(scratch_reg + (i * 4), rdev->bios_scratch[i]); in radeon_restore_bios_scratch_regs()
|
H A D | r300.c | 242 radeon_ring_write(ring, PACKET0(rdev->fence_drv[fence->ring].scratch_reg, 0)); in r300_fence_ring_emit()
|
H A D | radeon.h | 365 uint32_t scratch_reg; member
|
H A D | r600.c | 2906 radeon_ring_write(ring, ((rdev->fence_drv[fence->ring].scratch_reg - PACKET3_SET_CONFIG_REG_OFFSET) >> 2)); in r600_fence_ring_emit()
|
H A D | r100.c | 874 radeon_ring_write(ring, PACKET0(rdev->fence_drv[fence->ring].scratch_reg, 0)); in r100_fence_ring_emit()
|
/kernel/linux/linux-5.10/drivers/net/wireless/marvell/libertas/ |
H A D | if_sdio.c | 115 unsigned int scratch_reg; member 148 scratch = sdio_readb(card->func, card->scratch_reg, &ret); in if_sdio_read_scratch() 150 scratch |= sdio_readb(card->func, card->scratch_reg + 1, in if_sdio_read_scratch() 1169 card->scratch_reg = IF_SDIO_SCRATCH_OLD; in if_sdio_probe() 1172 card->scratch_reg = IF_SDIO_SCRATCH; in if_sdio_probe() 1176 card->scratch_reg = IF_SDIO_FW_STATUS; in if_sdio_probe()
|
/kernel/linux/linux-5.10/arch/mips/mm/ |
H A D | tlbex.c | 354 static int scratch_reg; variable 363 if (scratch_reg >= 0) { in build_get_work_registers() 365 UASM_i_MTC0(p, 1, c0_kscratch(), scratch_reg); in build_get_work_registers() 397 if (scratch_reg >= 0) { in build_restore_work_registers() 399 UASM_i_MFC0(p, 1, c0_kscratch(), scratch_reg); in build_restore_work_registers() 664 if (scratch_reg >= 0) in build_restore_pagemask() 681 if (scratch_reg >= 0) in build_restore_pagemask() 682 UASM_i_MFC0(p, 1, c0_kscratch(), scratch_reg); in build_restore_pagemask() 934 if (mode == refill_scratch && scratch_reg >= 0) in build_get_pgd_vmalloc64() 955 if (scratch_reg > in build_get_pgd_vmalloc64() [all...] |
/kernel/linux/linux-6.6/arch/mips/mm/ |
H A D | tlbex.c | 347 static int scratch_reg; variable 356 if (scratch_reg >= 0) { in build_get_work_registers() 358 UASM_i_MTC0(p, 1, c0_kscratch(), scratch_reg); in build_get_work_registers() 390 if (scratch_reg >= 0) { in build_restore_work_registers() 392 UASM_i_MFC0(p, 1, c0_kscratch(), scratch_reg); in build_restore_work_registers() 638 if (scratch_reg >= 0) in build_restore_pagemask() 655 if (scratch_reg >= 0) in build_restore_pagemask() 656 UASM_i_MFC0(p, 1, c0_kscratch(), scratch_reg); in build_restore_pagemask() 908 if (mode == refill_scratch && scratch_reg >= 0) in build_get_pgd_vmalloc64() 929 if (scratch_reg > in build_get_pgd_vmalloc64() [all...] |
/kernel/linux/linux-6.6/drivers/net/wireless/marvell/libertas/ |
H A D | if_sdio.c | 115 unsigned int scratch_reg; member 149 scratch = sdio_readb(card->func, card->scratch_reg, &ret); in if_sdio_read_scratch() 151 scratch |= sdio_readb(card->func, card->scratch_reg + 1, in if_sdio_read_scratch() 1170 card->scratch_reg = IF_SDIO_SCRATCH_OLD; in if_sdio_probe() 1173 card->scratch_reg = IF_SDIO_SCRATCH; in if_sdio_probe() 1177 card->scratch_reg = IF_SDIO_FW_STATUS; in if_sdio_probe()
|
/kernel/linux/linux-5.10/arch/x86/kernel/ |
H A D | uprobes.c | 457 scratch_reg(struct arch_uprobe *auprobe, struct pt_regs *regs) in scratch_reg() function 474 unsigned long *sr = scratch_reg(auprobe, regs); in riprel_pre_xol() 485 unsigned long *sr = scratch_reg(auprobe, regs); in riprel_post_xol()
|
/kernel/linux/linux-6.6/arch/x86/kernel/ |
H A D | uprobes.c | 457 scratch_reg(struct arch_uprobe *auprobe, struct pt_regs *regs) in scratch_reg() function 474 unsigned long *sr = scratch_reg(auprobe, regs); in riprel_pre_xol() 485 unsigned long *sr = scratch_reg(auprobe, regs); in riprel_post_xol()
|