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 --- |