diff --git a/src/arch/x86/isa/microops/regop.isa b/src/arch/x86/isa/microops/regop.isa index 556a02c9ec..97ab1433ea 100644 --- a/src/arch/x86/isa/microops/regop.isa +++ b/src/arch/x86/isa/microops/regop.isa @@ -1533,14 +1533,12 @@ let {{ break; } case SegIntCSCheck: - if (m5reg.mode == LongMode) { + if (desc.type.codeOrData != 1) { + fault = std::make_shared(selector); + } else if (m5reg.mode == LongMode) { if (desc.l != 1 || desc.d != 0) { fault = std::make_shared(selector); } - } else { - fault = std::make_shared( - "Interrupt CS " - "checks not implemented in legacy mode.\\n"); } break; case SegTRCheck: