diff options
Diffstat (limited to 'sys/amd64/include')
| -rw-r--r-- | sys/amd64/include/pcb.h | 2 | ||||
| -rw-r--r-- | sys/amd64/include/sysarch.h | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/sys/amd64/include/pcb.h b/sys/amd64/include/pcb.h index 551bf8fd22a8..c17709b225af 100644 --- a/sys/amd64/include/pcb.h +++ b/sys/amd64/include/pcb.h @@ -57,6 +57,8 @@ struct pcb { register_t pcb_rbx; register_t pcb_rip; register_t pcb_rflags; + register_t pcb_fsbase; + register_t pcb_gsbase; struct savefpu pcb_save; u_long pcb_flags; diff --git a/sys/amd64/include/sysarch.h b/sys/amd64/include/sysarch.h index c33f7b836eb3..f14ee31c43bc 100644 --- a/sys/amd64/include/sysarch.h +++ b/sys/amd64/include/sysarch.h @@ -34,9 +34,27 @@ */ /* - * Architecture specific syscalls (i386) + * Architecture specific syscalls (AMD64) */ #ifndef _MACHINE_SYSARCH_H_ #define _MACHINE_SYSARCH_H_ +#define AMD64_GET_FSBASE 0 +#define AMD64_SET_FSBASE 1 +#define AMD64_GET_GSBASE 2 +#define AMD64_SET_GSBASE 3 + +#if 0 /* these wrappers need to be implemented in libc first */ +#ifndef _KERNEL +#include <sys/cdefs.h> + +__BEGIN_DECLS +unsigned long amd64_get_fsbase(void); +unsigned long amd64_set_fsbase(unsigned long); +unsigned long amd64_get_gsbase(void); +unsigned long amd64_set_gsbase(unsigned long); +__END_DECLS +#endif +#endif + #endif /* !_MACHINE_SYSARCH_H_ */ |
