Lines Matching +full:non +full:- +full:volatile

1 /* SPDX-License-Identifier: GPL-2.0 */
7 #include <asm/processor-flags.h>
18 asm volatile("mov %%cr0,%0" : "=r" (val)); in native_read_cr0()
25 asm volatile("mov %%cr2,%0" : "=r" (val)); in native_read_cr2()
31 asm volatile("mov %0,%%cr2": : "r" (val) : "memory"); in native_write_cr2()
37 asm volatile("mov %%cr3,%0" : "=r" (val)); in __native_read_cr3()
43 asm volatile("mov %0,%%cr3": : "r" (val) : "memory"); in native_write_cr3()
51 * This could fault if CR4 does not exist. Non-existent CR4 in native_read_cr4()
55 asm volatile("1: mov %%cr4, %0\n" in native_read_cr4()
61 asm volatile("mov %%cr4,%0" : "=r" (val)); in native_read_cr4()
78 asm volatile(".byte 0x0f,0x01,0xee\n\t" in rdpkru()
92 asm volatile(".byte 0x0f,0x01,0xef\n\t" in wrpkru()
110 * on the micro-architecture, WBINVD (and WBNOINVD below) may or may not affect
116 asm volatile("wbinvd" : : : "memory"); in wbinvd()
125 * i.e. leave all/most cache lines in the hierarchy in non-modified state.
188 static __always_inline void clflush(volatile void *__p) in clflush()
190 asm volatile("clflush %0" : "+m" (*(volatile char __force *)__p)); in clflush()
193 static inline void clflushopt(volatile void *__p) in clflushopt()
197 "+m" (*(volatile char __force *)__p)); in clflushopt()
200 static inline void clwb(volatile void *__p) in clwb()
202 volatile struct { char x[64]; } *p = __p; in clwb()
204 asm_inline volatile(ALTERNATIVE_2( in clwb()
220 return -EFAULT; in write_user_shstk_64()
224 #define nop() asm volatile ("nop")
229 asm volatile(".byte 0xf, 0x1, 0xe8" ::: "memory"); in serialize()
232 /* The dst parameter must be 64-bytes aligned */
249 asm volatile(".byte 0x66, 0x0f, 0x38, 0xf8, 0x02" in movdir64b()
260 * enqcmds - Enqueue a command in supervisor (CPL0) mode
261 * @dst: destination, in MMIO space (must be 512-bit aligned)
264 * The ENQCMDS instruction allows software to write a 512-bit command to
265 * a 512-bit-aligned special MMIO region that supports the instruction.
272 * returns 0 on success and -EAGAIN on failure.
289 asm volatile(".byte 0xf3, 0x0f, 0x38, 0xf8, 0x02, 0x66, 0x90" in enqcmds()
296 return -EAGAIN; in enqcmds()
307 asm volatile(".byte 0xc4, 0xe2, 0x78, 0x49, 0xc0"); in tile_release()