diff options
-rw-r--r-- | lib/libpthread/arch/amd64/include/ksd.h | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/libpthread/arch/amd64/include/ksd.h b/lib/libpthread/arch/amd64/include/ksd.h index 26725ad..ce2b422 100644 --- a/lib/libpthread/arch/amd64/include/ksd.h +++ b/lib/libpthread/arch/amd64/include/ksd.h @@ -33,6 +33,8 @@ #define _KSD_H_ #include <sys/types.h> +#include <machine/sysarch.h> +extern int sysarch(int, void *); struct kse; struct pthread; @@ -124,12 +126,7 @@ _ksd_destroy(struct ksd *ksd) static __inline int _ksd_setprivate(struct ksd *ksd) { - /* - * Make it fail; only the kernel can do this on amd64. - * This interface is going to be removed. The KSD - * will be set by the kernel when the kse is created. - */ - return (-1); + return (sysarch(AMD64_SET_GSBASE, &ksd->base)); } #endif |