changeset 7828ee363019 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=7828ee363019
description:
        X86: Implement the chks check of interrupt gate target code segments.

diffstat:

1 file changed, 3 insertions(+), 2 deletions(-)
src/arch/x86/isa/microops/regop.isa |    5 +++--

diffs (20 lines):

diff -r 4a4f20dfbc60 -r 7828ee363019 src/arch/x86/isa/microops/regop.isa
--- a/src/arch/x86/isa/microops/regop.isa       Sun Oct 12 20:33:37 2008 -0700
+++ b/src/arch/x86/isa/microops/regop.isa       Sun Oct 12 20:38:22 2008 -0700
@@ -1076,8 +1076,14 @@
                     break;
                 }
               case SegIntCSCheck:
-                panic("CS selector checks for interrupts and exceptions"
-                        "not implemented.\\n");
+                if (m5reg.mode == LongMode) {
+                    if (desc.l != 1 || desc.d != 0) {
+                        return new GeneralProtection(selector);
+                    }
+                } else {
+                    panic("Interrupt CS checks not implemented "
+                            "in legacy mode.\\n");
+                }
                 break;
               default:
                 panic("Undefined segment check type.\\n");
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to