Changeset View
Changeset View
Standalone View
Standalone View
sys/x86/include/sysarch.h
Show First 20 Lines • Show All 46 Lines • ▼ Show 20 Lines | |||||
#define I386_SET_IOPERM 4 | #define I386_SET_IOPERM 4 | ||||
/* xxxxx */ | /* xxxxx */ | ||||
#define I386_VM86 6 /* XXX Not implementable on amd64 */ | #define I386_VM86 6 /* XXX Not implementable on amd64 */ | ||||
#define I386_GET_FSBASE 7 | #define I386_GET_FSBASE 7 | ||||
#define I386_SET_FSBASE 8 | #define I386_SET_FSBASE 8 | ||||
#define I386_GET_GSBASE 9 | #define I386_GET_GSBASE 9 | ||||
#define I386_SET_GSBASE 10 | #define I386_SET_GSBASE 10 | ||||
#define I386_GET_XFPUSTATE 11 | #define I386_GET_XFPUSTATE 11 | ||||
#define I386_SET_PKRU 12 | |||||
#define I386_CLEAR_PKRU 13 | |||||
/* Leave space for 0-127 for to avoid translating syscalls */ | /* Leave space for 0-127 for to avoid translating syscalls */ | ||||
#define AMD64_GET_FSBASE 128 | #define AMD64_GET_FSBASE 128 | ||||
#define AMD64_SET_FSBASE 129 | #define AMD64_SET_FSBASE 129 | ||||
#define AMD64_GET_GSBASE 130 | #define AMD64_GET_GSBASE 130 | ||||
#define AMD64_SET_GSBASE 131 | #define AMD64_SET_GSBASE 131 | ||||
#define AMD64_GET_XFPUSTATE 132 | #define AMD64_GET_XFPUSTATE 132 | ||||
#define AMD64_SET_PKRU 133 | |||||
#define AMD64_CLEAR_PKRU 134 | |||||
/* Flags for AMD64_SET_PKRU */ | |||||
#define AMD64_PKRU_EXCL 0x0001 | |||||
#define AMD64_PKRU_PERSIST 0x0002 | |||||
struct i386_ioperm_args { | struct i386_ioperm_args { | ||||
unsigned int start; | unsigned int start; | ||||
unsigned int length; | unsigned int length; | ||||
int enable; | int enable; | ||||
}; | }; | ||||
#ifdef __i386__ | #ifdef __i386__ | ||||
struct i386_ldt_args { | struct i386_ldt_args { | ||||
Show All 18 Lines | struct i386_ldt_args { | ||||
unsigned int num; | unsigned int num; | ||||
}; | }; | ||||
struct i386_get_xfpustate { | struct i386_get_xfpustate { | ||||
unsigned int addr; | unsigned int addr; | ||||
int len; | int len; | ||||
}; | }; | ||||
struct i386_set_pkru { | |||||
unsigned int addr; | |||||
unsigned int len; | |||||
unsigned int keyidx; | |||||
int flags; | |||||
}; | |||||
struct amd64_get_xfpustate { | struct amd64_get_xfpustate { | ||||
void *addr; | void *addr; | ||||
int len; | int len; | ||||
}; | }; | ||||
#endif | #endif | ||||
markj: Extra newline. | |||||
struct amd64_set_pkru { | |||||
void *addr; | |||||
unsigned long len; | |||||
unsigned int keyidx; | |||||
int flags; | |||||
}; | |||||
#ifndef _KERNEL | #ifndef _KERNEL | ||||
union descriptor; | union descriptor; | ||||
struct dbreg; | struct dbreg; | ||||
__BEGIN_DECLS | __BEGIN_DECLS | ||||
int i386_get_ldt(int, union descriptor *, int); | int i386_get_ldt(int, union descriptor *, int); | ||||
int i386_set_ldt(int, union descriptor *, int); | int i386_set_ldt(int, union descriptor *, int); | ||||
int i386_get_ioperm(unsigned int, unsigned int *, int *); | int i386_get_ioperm(unsigned int, unsigned int *, int *); | ||||
int i386_set_ioperm(unsigned int, unsigned int, int); | int i386_set_ioperm(unsigned int, unsigned int, int); | ||||
int i386_vm86(int, void *); | int i386_vm86(int, void *); | ||||
int i386_get_fsbase(void **); | int i386_get_fsbase(void **); | ||||
int i386_get_gsbase(void **); | int i386_get_gsbase(void **); | ||||
int i386_set_fsbase(void *); | int i386_set_fsbase(void *); | ||||
int i386_set_gsbase(void *); | int i386_set_gsbase(void *); | ||||
int i386_set_watch(int, unsigned int, int, int, struct dbreg *); | int i386_set_watch(int, unsigned int, int, int, struct dbreg *); | ||||
int i386_clr_watch(int, struct dbreg *); | int i386_clr_watch(int, struct dbreg *); | ||||
int amd64_get_fsbase(void **); | int amd64_get_fsbase(void **); | ||||
int amd64_get_gsbase(void **); | int amd64_get_gsbase(void **); | ||||
int amd64_set_fsbase(void *); | int amd64_set_fsbase(void *); | ||||
int amd64_set_gsbase(void *); | int amd64_set_gsbase(void *); | ||||
int x86_pkru_get_perm(unsigned int keyidx, int *access, int *modify); | |||||
int x86_pkru_set_perm(unsigned int keyidx, int access, int modify); | |||||
int x86_pkru_protect_range(void *addr, unsigned long len, unsigned int keyidx, | |||||
int flag); | |||||
int x86_pkru_unprotect_range(void *addr, unsigned long len); | |||||
int sysarch(int, void *); | int sysarch(int, void *); | ||||
__END_DECLS | __END_DECLS | ||||
#else | #else | ||||
struct thread; | struct thread; | ||||
union descriptor; | union descriptor; | ||||
int i386_get_ldt(struct thread *, struct i386_ldt_args *); | int i386_get_ldt(struct thread *, struct i386_ldt_args *); | ||||
int i386_set_ldt(struct thread *, struct i386_ldt_args *, union descriptor *); | int i386_set_ldt(struct thread *, struct i386_ldt_args *, union descriptor *); | ||||
Show All 10 Lines |
Extra newline.