decoder.isa (4112:3c22835735e9) decoder.isa (4113:d26d20199aa7)
1// Copyright (c) 2006-2007 The Regents of The University of Michigan
2// All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met: redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer;
8// redistributions in binary form must reproduce the above copyright

--- 998 unchanged lines hidden (view full) ---

1007 0x7E: FpBasic::fone({{Frd.udw = std::numeric_limits<uint64_t>::max();}});
1008 0x7F: FpBasic::fones({{Frds.uw = std::numeric_limits<uint32_t>::max();}});
1009 0x80: Trap::shutdown({{fault = new IllegalInstruction;}});
1010 0x81: FailUnimpl::siam();
1011 }
1012 // M5 special opcodes use the reserved IMPDEP2A opcode space
1013 0x37: decode M5FUNC {
1014#if FULL_SYSTEM
1// Copyright (c) 2006-2007 The Regents of The University of Michigan
2// All rights reserved.
3//
4// Redistribution and use in source and binary forms, with or without
5// modification, are permitted provided that the following conditions are
6// met: redistributions of source code must retain the above copyright
7// notice, this list of conditions and the following disclaimer;
8// redistributions in binary form must reproduce the above copyright

--- 998 unchanged lines hidden (view full) ---

1007 0x7E: FpBasic::fone({{Frd.udw = std::numeric_limits<uint64_t>::max();}});
1008 0x7F: FpBasic::fones({{Frds.uw = std::numeric_limits<uint32_t>::max();}});
1009 0x80: Trap::shutdown({{fault = new IllegalInstruction;}});
1010 0x81: FailUnimpl::siam();
1011 }
1012 // M5 special opcodes use the reserved IMPDEP2A opcode space
1013 0x37: decode M5FUNC {
1014#if FULL_SYSTEM
1015 // we have 7 bits of space here to play with...
1016 0x21: m5exit({{PseudoInst::m5exit(xc->tcBase(), O0);
1017 }}, No_OpClass, IsNonSpeculative);
1018 0x50: m5readfile({{
1019 O0 = PseudoInst::readfile(xc->tcBase(), O0, O1, O2);
1020 }}, IsNonSpeculative);
1021 0x51: m5break({{PseudoInst::debugbreak(xc->tcBase());
1022 }}, IsNonSpeculative);
1023 0x54: m5panic({{
1024 panic("M5 panic instruction called at pc=%#x.", xc->readPC());
1025 }}, No_OpClass, IsNonSpeculative);
1015 format BasicOperate {
1016 // we have 7 bits of space here to play with...
1017 0x21: m5exit({{PseudoInst::m5exit(xc->tcBase(), O0);
1018 }}, No_OpClass, IsNonSpeculative);
1019 0x50: m5readfile({{
1020 O0 = PseudoInst::readfile(xc->tcBase(), O0, O1, O2);
1021 }}, IsNonSpeculative);
1022 0x51: m5break({{PseudoInst::debugbreak(xc->tcBase());
1023 }}, IsNonSpeculative);
1024 0x54: m5panic({{
1025 panic("M5 panic instruction called at pc=%#x.", xc->readPC());
1026 }}, No_OpClass, IsNonSpeculative);
1027 }
1026#endif
1027 default: Trap::impdep2({{fault = new IllegalInstruction;}});
1028 }
1029 0x38: Branch::jmpl({{
1030 Addr target = Rs1 + Rs2_or_imm13;
1031 if(target & 0x3)
1032 fault = new MemAddressNotAligned;
1033 else

--- 459 unchanged lines hidden ---
1028#endif
1029 default: Trap::impdep2({{fault = new IllegalInstruction;}});
1030 }
1031 0x38: Branch::jmpl({{
1032 Addr target = Rs1 + Rs2_or_imm13;
1033 if(target & 0x3)
1034 fault = new MemAddressNotAligned;
1035 else

--- 459 unchanged lines hidden ---