1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 64 unchanged lines hidden (view full) --- 73 } 74 default: 75 return new Unknown(machInst); 76 } 77 } 78 ''' 79}}; 80 |
81let {{ 82 header_output = ''' 83 StaticInstPtr 84 decodeMcrMrc15(ExtMachInst machInst); 85 ''' 86 decoder_output = ''' 87 StaticInstPtr 88 decodeMcrMrc15(ExtMachInst machInst) |
89 { 90 const uint32_t opc1 = bits(machInst, 23, 21); 91 const uint32_t crn = bits(machInst, 19, 16); 92 const uint32_t opc2 = bits(machInst, 7, 5); 93 const uint32_t crm = bits(machInst, 3, 0); 94 const MiscRegIndex miscReg = decodeCP15Reg(crn, opc1, crm, opc2); 95 const IntRegIndex rt = (IntRegIndex)(uint32_t)bits(machInst, 15, 12); 96 --- 84 unchanged lines hidden (view full) --- 181 return new Mrc15(machInst, rt, (IntRegIndex)miscReg); 182 } else { 183 return new Mcr15(machInst, (IntRegIndex)miscReg, rt); 184 } 185 } 186 } 187 ''' 188}}; |
189 190def format McrMrc15() {{ 191 decode_block = ''' 192 return decodeMcrMrc15(machInst); 193 ''' 194}}; |