summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harris <tharris@microsoft.com>2011-02-07 15:16:27 -0800
committerTim Harris <tharris@microsoft.com>2011-02-07 15:16:27 -0800
commit6da83b8a1b06e64a2fc7b14c5ad342188f082848 (patch)
treea0a47392b06800cab5a7560faa2b7acdaf64bd21
parent2ea1aa8a4ff5b9096388af0ba400500a324b16a7 (diff)
downloadgem5-6da83b8a1b06e64a2fc7b14c5ad342188f082848.tar.xz
X86: Use all 64 bits of the lstar register in the SYSCALL_64 macroop.
During SYSCALL_64, use dataSize=8 when handling new rip (ref http://www.intel.com/Assets/PDF/manual/253668.pdf 5.8.8 IA32_LSTAR is a 64-bit address)
-rw-r--r--src/arch/x86/isa/insts/general_purpose/system_calls.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/x86/isa/insts/general_purpose/system_calls.py b/src/arch/x86/isa/insts/general_purpose/system_calls.py
index b015c82fc..d6f1a39bf 100644
--- a/src/arch/x86/isa/insts/general_purpose/system_calls.py
+++ b/src/arch/x86/isa/insts/general_purpose/system_calls.py
@@ -79,8 +79,8 @@ def macroop SYSCALL_64
wrattr ss, t4
# Set the new rip.
- rdval t7, lstar
- wrip t0, t7
+ rdval t7, lstar, dataSize=8
+ wrip t0, t7, dataSize=8
# Mask the flags against sf_mask and leave RF turned off.
rdval t3, sf_mask, dataSize=8