diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-12-01 23:00:15 -0800 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-12-01 23:00:15 -0800 |
commit | bfc62d1a7035dfdbad405c0ddbd897ea1174360d (patch) | |
tree | 1fa01d23200823c1e162d28303254b81bccea6f3 /src/arch/x86/linux | |
parent | 7433032b39828ccff9ad5ed0e3ed95f752fc269a (diff) | |
download | gem5-bfc62d1a7035dfdbad405c0ddbd897ea1174360d.tar.xz |
X86: Separate the effective seg base and the "hidden" seg base.
--HG--
extra : convert_revision : 5fcb8d94dbab7a7d6fe797277a5856903c885ad4
Diffstat (limited to 'src/arch/x86/linux')
-rw-r--r-- | src/arch/x86/linux/syscalls.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/arch/x86/linux/syscalls.cc b/src/arch/x86/linux/syscalls.cc index c6b2fbb66..ae2ac243b 100644 --- a/src/arch/x86/linux/syscalls.cc +++ b/src/arch/x86/linux/syscalls.cc @@ -103,6 +103,7 @@ archPrctlFunc(SyscallDesc *desc, int callnum, LiveProcess *process, //Each of these valid options should actually check addr. case SetFS: tc->setMiscRegNoEffect(MISCREG_FS_BASE, addr); + tc->setMiscRegNoEffect(MISCREG_FS_EFF_BASE, addr); return 0; case GetFS: fsBase = tc->readMiscRegNoEffect(MISCREG_FS_BASE); @@ -110,6 +111,7 @@ archPrctlFunc(SyscallDesc *desc, int callnum, LiveProcess *process, return 0; case SetGS: tc->setMiscRegNoEffect(MISCREG_GS_BASE, addr); + tc->setMiscRegNoEffect(MISCREG_GS_EFF_BASE, addr); return 0; case GetGS: gsBase = tc->readMiscRegNoEffect(MISCREG_GS_BASE); |