Lines Matching +full:64 +full:fs
8 * X86-64 port
23 #include <linux/fs.h>
68 unsigned long cr0 = 0L, cr2 = 0L, cr3 = 0L, cr4 = 0L, fs, gs, shadowgs; in __show_regs() local
95 rdmsrl(MSR_FS_BASE, fs); in __show_regs()
98 log_lvl, fs, shadowgs); in __show_regs()
104 asm("movl %%fs,%0" : "=r" (fsindex)); in __show_regs()
107 rdmsrl(MSR_FS_BASE, fs); in __show_regs()
117 log_lvl, fs, fsindex, gs, gsindex, shadowgs); in __show_regs()
149 FS, enumerator
204 * Saves the FS or GS base for an outgoing thread if FSGSBASE extensions are
221 * context switch between 64-bit programs), and avoiding in save_base_legacy()
241 if (which == FS) in save_base_legacy()
250 savesegment(fs, task->thread.fsindex); in save_fsgs()
261 save_base_legacy(task, task->thread.fsindex, FS); in save_fsgs()
286 if (which == FS) in loadseg()
287 loadsegment(fs, sel); in loadseg()
300 * The next task is using 64-bit TLS, is not using this in load_seg_legacy()
330 wrmsrl(which == FS ? MSR_FS_BASE : MSR_KERNEL_GS_BASE, in load_seg_legacy()
346 /* Update the FS and GS selectors if they could have changed. */ in x86_fsgsbase_load()
348 loadseg(FS, next->fsindex); in x86_fsgsbase_load()
357 next->fsindex, next->fsbase, FS); in x86_fsgsbase_load()
489 loadsegment(fs, __USER_DS); in start_thread_common()
493 loadsegment(fs, 0); in start_thread_common()
528 * - could test fs/gs bitsliced
546 /* We must save %fs and %gs before load_TLS() because in __switch_to()
547 * %fs and %gs may be cleared by load_TLS(). in __switch_to()
641 /* Make sure to be in 64bit mode */ in set_personality_64bit()
645 /* Pretend that this comes from a 64bit execve */ in set_personality_64bit()
654 But 64bit processes have always behaved this way, in set_personality_64bit()
755 * Not strictly needed for %fs, but do it for symmetry in do_arch_prctl_64()
767 loadseg(FS, 0); in do_arch_prctl_64()