aboutsummaryrefslogtreecommitdiffstats
path: root/sys/freebsd/amd64.txt
blob: df2e0566baa86c81c564fcfc6d470e18bf449741 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# Copyright 2021 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.

include <x86/include/sysarch.h>

sysarch$I386_GET_LDT(cmd const[I386_GET_LDT], args ptr[out, i386_ldt_args])
sysarch$I386_SET_LDT(cmd const[I386_SET_LDT], args ptr[in, i386_ldt_args])
sysarch$I386_GET_IOPERM(cmd const[I386_GET_IOPERM], args ptr[out, i386_ioperm_args])
sysarch$I386_SET_IOPERM(cmd const[I386_SET_IOPERM], args ptr[in, i386_ioperm_args])
sysarch$I386_GET_FSBASE(cmd const[I386_GET_FSBASE], args ptr[out, int32])
sysarch$I386_SET_FSBASE(cmd const[I386_SET_FSBASE], args ptr[in, int32])
sysarch$I386_GET_GSBASE(cmd const[I386_GET_GSBASE], args ptr[out, int32])
sysarch$I386_SET_GSBASE(cmd const[I386_SET_GSBASE], args ptr[in, int32])
sysarch$I386_GET_XFPUSTATE(cmd const[I386_GET_XFPUSTATE], args ptr[out, i386_get_xfpustate])
sysarch$I386_SET_PKRU(cmd const[I386_SET_PKRU], args ptr[in, i386_set_pkru])
sysarch$I386_CLEAR_PKRU(cmd const[I386_CLEAR_PKRU], args ptr[in, i386_set_pkru])

sysarch$AMD64_GET_FSBASE(cmd const[AMD64_GET_FSBASE], args ptr[in, int64])
sysarch$AMD64_SET_FSBASE(cmd const[AMD64_SET_FSBASE], args ptr[out, int64])
sysarch$AMD64_GET_GSBASE(cmd const[AMD64_GET_GSBASE], args ptr[in, int64])
sysarch$AMD64_SET_GSBASE(cmd const[AMD64_SET_GSBASE], args ptr[out, int64])
sysarch$AMD64_GET_XFPUSTATE(cmd const[AMD64_GET_XFPUSTATE], args ptr[out, amd64_get_xfpustate])
sysarch$AMD64_SET_PKRU(cmd const[AMD64_SET_PKRU], args ptr[in, amd64_set_pkru])
sysarch$AMD64_CLEAR_PKRU(cmd const[AMD64_CLEAR_PKRU], args ptr[in, amd64_set_pkru])

user_segment_descriptor {
	fields	int64
}

i386_ldt_args {
	start	int32
	descs	ptr[inout, array[user_segment_descriptor]]
	num	len[descs, int32]
}

i386_ioperm_args {
	start	int32
	length	int32
	enable	int32
}

i386_get_xfpustate {
	addr	int32
	len	int32
}

i386_set_pkru {
	addr	int32
	len	int32
	keyidx	int32
	flags	int32
}

amd64_get_xfpustate {
	addr	buffer[inout]
	len	len[addr, int32]
}

amd64_set_pkru {
	addr	buffer[in]
	len	len[addr, int32]
	keyidx	int32
	flags	flags[pkru_flags, int32]
}

pkru_flags = 0, AMD64_PKRU_EXCL, AMD64_PKRU_PERSIST