1/* $OpenBSD: sysarch.h,v 1.14 2016/03/24 04:56:08 guenther Exp $ */
2/* $NetBSD: sysarch.h,v 1.8 1996/01/08 13:51:44 mycroft Exp $ */
3
4#ifndef _MACHINE_SYSARCH_H_
5#define _MACHINE_SYSARCH_H_
6
7/*
8 * Architecture specific syscalls (i386)
9 */
10#define I386_IOPL 2
11#define I386_VM86 5
12#define I386_GET_FSBASE 6
13#define I386_SET_FSBASE 7
14#define I386_GET_GSBASE 8
15#define I386_SET_GSBASE 9
16
17struct i386_iopl_args {
18 int iopl;
19};
20
21#ifdef _KERNEL
22uint32_t i386_get_threadbase(struct proc *, int);
23int i386_set_threadbase(struct proc *, uint32_t, int);
24#else
25
26#include <sys/cdefs.h>
27
28__BEGIN_DECLS
29int i386_iopl(int);
30int i386_get_fsbase(void **);
31int i386_set_fsbase(void *);
32int i386_get_gsbase(void **);
33int i386_set_gsbase(void *);
34int sysarch(int, void *);
35__END_DECLS
36#endif
37
38#endif /* !_MACHINE_SYSARCH_H_ */