Searched refs:gs_base (Results 1 - 4 of 4) sorted by relevance

/fuchsia/zircon/system/utest/register-state/
H A Dregister-state-test.cpp27 uintptr_t gs_base = (uintptr_t)thread_arg; local
30 _writegsbase_u64(gs_base);
41 assert(_readgsbase_u64() == gs_base);
48 // This tests whether the gs_base register on x86 is preserved across
51 // We do this by launching multiple threads that set gs_base to different
52 // values. After all the threads have set gs_base, the threads wake up and
53 // check that gs_base was preserved.
64 // it, so saving and restoring gs_base between those threads should get
72 // Give each thread a different test value for gs_base.
73 void* gs_base local
[all...]
/fuchsia/zircon/kernel/arch/x86/
H A Dthread.cpp66 t->arch.gs_base = 0;
117 /* Assigning to %gs clobbers gs_base, so we must restore gs_base
120 uintptr_t gs_base = (uintptr_t)x86_get_percpu(); local
122 write_msr(X86_MSR_IA32_GS_BASE, gs_base);
125 /* Restore fs_base and save+restore user gs_base. Note that the user
126 * and kernel gs_base values have been swapped -- the user value is
139 : [old_value] "=&r"(oldthread->arch.gs_base)
140 : [new_value] "r"(newthread->arch.gs_base));
144 oldthread->arch.gs_base
[all...]
H A Ddebugger.cpp403 *out = thread->arch.gs_base;
413 thread->arch.gs_base = *in;
/fuchsia/zircon/kernel/arch/x86/include/arch/
H A Darch_thread.h24 vaddr_t gs_base; member in struct:arch_thread

Completed in 95 milliseconds