diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2008-06-12 00:53:01 -0400 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2008-06-12 00:53:01 -0400 |
commit | 8d2416c6e9ec56dc2addd594eb7f7cab0d58b951 (patch) | |
tree | 1525e3f4a9568ee8ea285cd82ec3ba6ccaf4e9cf /src/arch/x86/isa/decoder | |
parent | 66f54a6037873420dbc3bc2c91723225538feddb (diff) | |
download | gem5-8d2416c6e9ec56dc2addd594eb7f7cab0d58b951.tar.xz |
X86: Implement a partial, sort of correct version of the protected mode variant of iret.
Diffstat (limited to 'src/arch/x86/isa/decoder')
-rw-r--r-- | src/arch/x86/isa/decoder/one_byte_opcodes.isa | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/arch/x86/isa/decoder/one_byte_opcodes.isa b/src/arch/x86/isa/decoder/one_byte_opcodes.isa index 332ae1641..8729f417d 100644 --- a/src/arch/x86/isa/decoder/one_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/one_byte_opcodes.isa @@ -1,4 +1,4 @@ -// Copyright (c) 2007 The Hewlett-Packard Development Company +// Copyright (c) 2007-2008 The Hewlett-Packard Development Company // All rights reserved. // // Redistribution and use of this software in source and binary forms, @@ -423,7 +423,11 @@ 0x0: Inst::UD2(); default: into(); } - 0x7: iret(); + 0x7: decode MODE_SUBMODE { + 0x4: Inst::IRET_REAL(); + 0x3: Inst::IRET_VIRT(); + default: Inst::IRET_PROT(); + } } } 0x1A: decode OPCODE_OP_BOTTOM3 { |