diff options
author | kib <kib@FreeBSD.org> | 2012-02-10 21:26:25 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2012-02-10 21:26:25 +0000 |
commit | d34d9917c8290035954a157525008893a51b495e (patch) | |
tree | 576fbe572014aa8faa4d8846d3030ac55de66504 /sys/amd64 | |
parent | 4119b9cf7a5e3dd966371d685eda1010641fe34f (diff) | |
download | FreeBSD-src-d34d9917c8290035954a157525008893a51b495e.zip FreeBSD-src-d34d9917c8290035954a157525008893a51b495e.tar.gz |
In cpu_set_user_tls(), consistently set PCB_FULL_IRET pcb flag for
both 64bit and 32bit binaries, not for 64bit only.
The set of the flag is not neccessary there, because the only current
user of the cpu_set_user_tls() is create_thread(), which calls
cpu_set_upcall() before and cpu_set_upcall() itself sets PCB_FULL_IRET.
Change the function for consistency and preserve existing KPI for now.
MFC after: 1 week
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/vm_machdep.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c index acb2188..103fa0d 100644 --- a/sys/amd64/amd64/vm_machdep.c +++ b/sys/amd64/amd64/vm_machdep.c @@ -552,6 +552,7 @@ cpu_set_user_tls(struct thread *td, void *tls_base) return (EINVAL); pcb = td->td_pcb; + set_pcb_flags(pcb, PCB_FULL_IRET); #ifdef COMPAT_FREEBSD32 if (SV_PROC_FLAG(td->td_proc, SV_ILP32)) { pcb->pcb_gsbase = (register_t)tls_base; @@ -559,7 +560,6 @@ cpu_set_user_tls(struct thread *td, void *tls_base) } #endif pcb->pcb_fsbase = (register_t)tls_base; - set_pcb_flags(pcb, PCB_FULL_IRET); return (0); } |