1*bc7fb762Sguenther /* $OpenBSD: sysarch.h,v 1.14 2016/03/24 04:56:08 guenther Exp $ */ 2c0dd7c19Sderaadt /* $NetBSD: sysarch.h,v 1.8 1996/01/08 13:51:44 mycroft Exp $ */ 3df930be7Sderaadt 42fa72412Spirofti #ifndef _MACHINE_SYSARCH_H_ 52fa72412Spirofti #define _MACHINE_SYSARCH_H_ 6df930be7Sderaadt 7df930be7Sderaadt /* 8df930be7Sderaadt * Architecture specific syscalls (i386) 9df930be7Sderaadt */ 10df930be7Sderaadt #define I386_IOPL 2 11c0dd7c19Sderaadt #define I386_VM86 5 12d65abc75Sguenther #define I386_GET_FSBASE 6 13d65abc75Sguenther #define I386_SET_FSBASE 7 14d65abc75Sguenther #define I386_GET_GSBASE 8 15d65abc75Sguenther #define I386_SET_GSBASE 9 16df930be7Sderaadt 17df930be7Sderaadt struct i386_iopl_args { 18df930be7Sderaadt int iopl; 19df930be7Sderaadt }; 20df930be7Sderaadt 214a39ccd0Sderaadt #ifdef _KERNEL 224a39ccd0Sderaadt uint32_t i386_get_threadbase(struct proc *, int); 234a39ccd0Sderaadt int i386_set_threadbase(struct proc *, uint32_t, int); 244a39ccd0Sderaadt #else 254a39ccd0Sderaadt 264a39ccd0Sderaadt #include <sys/cdefs.h> 274a39ccd0Sderaadt 2807db63b9Ssthen __BEGIN_DECLS 29c4071fd1Smillert int i386_iopl(int); 30d65abc75Sguenther int i386_get_fsbase(void **); 31d65abc75Sguenther int i386_set_fsbase(void *); 32d65abc75Sguenther int i386_get_gsbase(void **); 33d65abc75Sguenther int i386_set_gsbase(void *); 34c19e2b63Sderaadt int sysarch(int, void *); 3507db63b9Ssthen __END_DECLS 36df930be7Sderaadt #endif 37df930be7Sderaadt 382fa72412Spirofti #endif /* !_MACHINE_SYSARCH_H_ */ 39