diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2008-06-12 00:50:10 -0400 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2008-06-12 00:50:10 -0400 |
commit | fa7c81c6df5fdc1a17ffebbf431cb57ac84d79d0 (patch) | |
tree | 328f340b1c0d9d34a2be04fa4486b05ac1bf18e6 /src/arch/x86/isa/microasm.isa | |
parent | 6bd9cf3594b0150c8cb39a23ca2cfb465b6e09bb (diff) | |
download | gem5-fa7c81c6df5fdc1a17ffebbf431cb57ac84d79d0.tar.xz |
X86: Change what the microop chks does.
Instead of computing the segment descriptor address, this now checks if a
selector value/descriptor are legal for a particular purpose.
Diffstat (limited to 'src/arch/x86/isa/microasm.isa')
-rw-r--r-- | src/arch/x86/isa/microasm.isa | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/arch/x86/isa/microasm.isa b/src/arch/x86/isa/microasm.isa index 18abdf09b..735a7722c 100644 --- a/src/arch/x86/isa/microasm.isa +++ b/src/arch/x86/isa/microasm.isa @@ -81,6 +81,11 @@ let {{ for letter in ("C", "D", "E", "F", "G", "S"): assembler.symbols["%ss" % letter.lower()] = "SEGMENT_REG_%sS" % letter + # Add in symbols for the various checks of segment selectors. + for check in ("NoCheck", "CSCheck", "CallGateCheck", + "SSCheck", "IretCheck", "IntCSCheck"): + assembler.symbols[check] = "Seg%s" % check + for reg in ("TR", "IDTR"): assembler.symbols[reg.lower()] = "SYS_SEGMENT_REG_%s" % reg |