arm_dyncom_dec.h 684 B

123456789101112131415161718192021222324252627282930313233343536373839
  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 {
  7. SUCCESS,
  8. FAILURE
  9. };
  10. ARMDecodeStatus DecodeARMInstruction(u32 instr, s32* idx);
  11. struct InstructionSetEncodingItem {
  12. const char *name;
  13. int attribute_value;
  14. int version;
  15. u32 content[21];
  16. };
  17. // ARM versions
  18. enum {
  19. INVALID = 0,
  20. ARMALL,
  21. ARMV4,
  22. ARMV4T,
  23. ARMV5T,
  24. ARMV5TE,
  25. ARMV5TEJ,
  26. ARMV6,
  27. ARM1176JZF_S,
  28. ARMVFP2,
  29. ARMVFP3,
  30. ARMV6K,
  31. };
  32. extern const InstructionSetEncodingItem arm_instruction[];