arm_dyncom_dec.h 676 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright 2012 Michael Kang, 2015 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "common/common_types.h"
  6. enum class ARMDecodeStatus { SUCCESS, FAILURE };
  7. ARMDecodeStatus DecodeARMInstruction(u32 instr, int* idx);
  8. struct InstructionSetEncodingItem {
  9. const char* name;
  10. int attribute_value;
  11. int version;
  12. u32 content[21];
  13. };
  14. // ARM versions
  15. enum {
  16. INVALID = 0,
  17. ARMALL,
  18. ARMV4,
  19. ARMV4T,
  20. ARMV5T,
  21. ARMV5TE,
  22. ARMV5TEJ,
  23. ARMV6,
  24. ARM1176JZF_S,
  25. ARMVFP2,
  26. ARMVFP3,
  27. ARMV6K,
  28. };
  29. extern const InstructionSetEncodingItem arm_instruction[];