1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-10-19 02:29:40 +00:00

Remove the special _amd64_set_gsbase() code for #ifdef COMPAT_32BIT, now

that the amd64 kernel implements i386_get/set_gsbase().  All the rest of
the ldt backwards compat code should go away soon.
This commit is contained in:
Peter Wemm 2005-04-26 20:41:48 +00:00
parent 8d598c0d01
commit 1ec622fdd6
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=145569
4 changed files with 0 additions and 20 deletions

View File

@ -78,10 +78,8 @@ _tcb_dtor(struct tcb *tcb)
struct kcb * struct kcb *
_kcb_ctor(struct kse *kse) _kcb_ctor(struct kse *kse)
{ {
#ifndef COMPAT_32BIT
union descriptor ldt; union descriptor ldt;
void *base; void *base;
#endif
struct kcb *kcb; struct kcb *kcb;
int error; int error;
@ -90,7 +88,6 @@ _kcb_ctor(struct kse *kse)
bzero(kcb, sizeof(struct kcb)); bzero(kcb, sizeof(struct kcb));
kcb->kcb_self = kcb; kcb->kcb_self = kcb;
kcb->kcb_kse = kse; kcb->kcb_kse = kse;
#ifndef COMPAT_32BIT
switch (_thr_using_setbase) { switch (_thr_using_setbase) {
case 1: /* use i386_set_gsbase() in _kcb_set */ case 1: /* use i386_set_gsbase() in _kcb_set */
kcb->kcb_ldt = -1; kcb->kcb_ldt = -1;
@ -121,7 +118,6 @@ _kcb_ctor(struct kse *kse)
} }
break; break;
} }
#endif
} }
return (kcb); return (kcb);
} }
@ -129,11 +125,9 @@ _kcb_ctor(struct kse *kse)
void void
_kcb_dtor(struct kcb *kcb) _kcb_dtor(struct kcb *kcb)
{ {
#ifndef COMPAT_32BIT
if (kcb->kcb_ldt >= 0) { if (kcb->kcb_ldt >= 0) {
i386_set_ldt(kcb->kcb_ldt, NULL, 1); i386_set_ldt(kcb->kcb_ldt, NULL, 1);
kcb->kcb_ldt = -1; /* just in case */ kcb->kcb_ldt = -1; /* just in case */
} }
#endif
free(kcb); free(kcb);
} }

View File

@ -154,7 +154,6 @@ void _kcb_dtor(struct kcb *);
static __inline void static __inline void
_kcb_set(struct kcb *kcb) _kcb_set(struct kcb *kcb)
{ {
#ifndef COMPAT_32BIT
int val; int val;
if (_thr_using_setbase == 1) { if (_thr_using_setbase == 1) {
@ -163,9 +162,6 @@ _kcb_set(struct kcb *kcb)
val = (kcb->kcb_ldt << 3) | 7; val = (kcb->kcb_ldt << 3) | 7;
__asm __volatile("movl %0, %%gs" : : "r" (val)); __asm __volatile("movl %0, %%gs" : : "r" (val));
} }
#else
_amd64_set_gsbase(kcb);
#endif
} }

View File

@ -78,10 +78,8 @@ _tcb_dtor(struct tcb *tcb)
struct kcb * struct kcb *
_kcb_ctor(struct kse *kse) _kcb_ctor(struct kse *kse)
{ {
#ifndef COMPAT_32BIT
union descriptor ldt; union descriptor ldt;
void *base; void *base;
#endif
struct kcb *kcb; struct kcb *kcb;
int error; int error;
@ -90,7 +88,6 @@ _kcb_ctor(struct kse *kse)
bzero(kcb, sizeof(struct kcb)); bzero(kcb, sizeof(struct kcb));
kcb->kcb_self = kcb; kcb->kcb_self = kcb;
kcb->kcb_kse = kse; kcb->kcb_kse = kse;
#ifndef COMPAT_32BIT
switch (_thr_using_setbase) { switch (_thr_using_setbase) {
case 1: /* use i386_set_gsbase() in _kcb_set */ case 1: /* use i386_set_gsbase() in _kcb_set */
kcb->kcb_ldt = -1; kcb->kcb_ldt = -1;
@ -121,7 +118,6 @@ _kcb_ctor(struct kse *kse)
} }
break; break;
} }
#endif
} }
return (kcb); return (kcb);
} }
@ -129,11 +125,9 @@ _kcb_ctor(struct kse *kse)
void void
_kcb_dtor(struct kcb *kcb) _kcb_dtor(struct kcb *kcb)
{ {
#ifndef COMPAT_32BIT
if (kcb->kcb_ldt >= 0) { if (kcb->kcb_ldt >= 0) {
i386_set_ldt(kcb->kcb_ldt, NULL, 1); i386_set_ldt(kcb->kcb_ldt, NULL, 1);
kcb->kcb_ldt = -1; /* just in case */ kcb->kcb_ldt = -1; /* just in case */
} }
#endif
free(kcb); free(kcb);
} }

View File

@ -154,7 +154,6 @@ void _kcb_dtor(struct kcb *);
static __inline void static __inline void
_kcb_set(struct kcb *kcb) _kcb_set(struct kcb *kcb)
{ {
#ifndef COMPAT_32BIT
int val; int val;
if (_thr_using_setbase == 1) { if (_thr_using_setbase == 1) {
@ -163,9 +162,6 @@ _kcb_set(struct kcb *kcb)
val = (kcb->kcb_ldt << 3) | 7; val = (kcb->kcb_ldt << 3) | 7;
__asm __volatile("movl %0, %%gs" : : "r" (val)); __asm __volatile("movl %0, %%gs" : : "r" (val));
} }
#else
_amd64_set_gsbase(kcb);
#endif
} }