summaryrefslogtreecommitdiff
path: root/lib/thread/fsbase+freebsd.myr
blob: e648aba05c8ea57d10b799f2dff1e68e7dc3cf09 (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
use std
use sys

use "types"

pkg thread =
	pkglocal const setfsbase : (h : tlshdr# -> void)
	pkglocal const getfsbase : (-> tlshdr#)
;;

const setfsbase = {h
	match sys.sysarch(sys.Archamd64setfs, &(h : void#))
	| 0:
	| err:
		std.fput(std.Err, "error: sysarch returned {}\n", err)
		std.suicide()
	;;
}

const getfsbase = {
	var h
	match sys.sysarch(sys.Archamd64getfs, &h)
	| 0: -> (h : tlshdr#)
	| err:
		std.fput(std.Err, "error: sysarch returned {}\n", err)
		std.suicide()
	;;
}