1// Copyright (c) 2011-2018 ARM Limited 2// All rights reserved 3// 4// The license below extends only to copyright in the software and shall 5// not be construed as granting a license to any other intellectual 6// property including but not limited to intellectual property relating 7// to a hardware implementation of the functionality of the software 8// licensed hereunder. You may use the software subject to the license --- 228 unchanged lines hidden (view full) --- 237 if (bits(machInst, 31) == 0) { 238 if (bits(machInst, 25, 24) || bits(machInst, 4)) 239 return new Unknown64(machInst); 240 int64_t imm = sext<19>(bits(machInst, 23, 5)) << 2; 241 ConditionCode condCode = 242 (ConditionCode)(uint8_t)(bits(machInst, 3, 0)); 243 return new BCond64(machInst, imm, condCode); 244 } else if (bits(machInst, 25, 24) == 0x0) { |
245 |
246 if (bits(machInst, 4, 2)) 247 return new Unknown64(machInst); |
248 249 auto imm16 = bits(machInst, 20, 5); |
250 uint8_t decVal = (bits(machInst, 1, 0) << 0) | 251 (bits(machInst, 23, 21) << 2); |
252 |
253 switch (decVal) { 254 case 0x01: |
255 return new Svc64(machInst, imm16); |
256 case 0x02: |
257 return new Hvc64(machInst, imm16); |
258 case 0x03: |
259 return new Smc64(machInst, imm16); |
260 case 0x04: |
261 return new Brk64(machInst, imm16); |
262 case 0x08: |
263 return new Hlt64(machInst, imm16); |
264 case 0x15: 265 return new FailUnimplemented("dcps1", machInst); 266 case 0x16: 267 return new FailUnimplemented("dcps2", machInst); 268 case 0x17: 269 return new FailUnimplemented("dcps3", machInst); 270 default: 271 return new Unknown64(machInst); --- 1829 unchanged lines hidden --- |