1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00

Begin an invasion of i386-land by amd64.

Expose some of the amd64-specific sysarch functions to allow alternative
implementations of the %fs/%gs code for TLS, threads, etc.  USER_LDT does
not exist on the amd64 kernel, so we have to implement things other ways.
This commit is contained in:
Peter Wemm 2004-11-06 03:23:36 +00:00
parent 1d9468ee37
commit ffcb357bd1
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=137289

View File

@ -44,6 +44,12 @@
/* xxxxx */
#define I386_VM86 6
/* These four only exist when running an i386 binary on amd64 */
#define _AMD64_GET_FSBASE 128
#define _AMD64_SET_FSBASE 129
#define _AMD64_GET_GSBASE 130
#define _AMD64_SET_GSBASE 131
struct i386_ldt_args {
unsigned int start;
union descriptor *descs;
@ -68,6 +74,11 @@ union descriptor;
struct dbreg;
__BEGIN_DECLS
/* These four only exist when running an i386 binary on amd64 */
int _amd64_get_fsbase(void **);
int _amd64_get_gsbase(void **);
int _amd64_set_fsbase(void *);
int _amd64_set_gsbase(void *);
int i386_get_ldt(int, union descriptor *, int);
int i386_set_ldt(int, union descriptor *, int);
int i386_get_ioperm(unsigned int, unsigned int *, int *);