summaryrefslogtreecommitdiff
path: root/arch/arm64/sysregs_enum.h
diff options
context:
space:
mode:
authorGalen Williamson <galen@vector35.com>2025-03-25 21:27:51 -0400
committerGalen Williamson <galen@vector35.com>2025-03-31 18:31:33 -0400
commitb095215397ca8fe7e9808f312403ec4494de76f6 (patch)
tree5eebe61a44d2f95aa5fadd78d9974234fca376be /arch/arm64/sysregs_enum.h
parent8093106217331012734564301118244748535715 (diff)
[aarch64] Updating Aarch64 system registers to 2024-12 spec, fix MSR/MRS lifting to use ReadMSR/WriteMSR intrinsics that take enums, removing the sysregs from the register list of the architecture
* sysregs are no longer registers, add enum for TLBI and AT operands * add erroneously missing cases for unsupported encodings, add enum for DC operands
Diffstat (limited to 'arch/arm64/sysregs_enum.h')
-rw-r--r--arch/arm64/sysregs_enum.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm64/sysregs_enum.h b/arch/arm64/sysregs_enum.h
new file mode 100644
index 00000000..a68ba08a
--- /dev/null
+++ b/arch/arm64/sysregs_enum.h
@@ -0,0 +1,14 @@
+#include <stddef.h>
+
+#include "binaryninjaapi.h"
+#include "disassembler/sysregs_gen.h"
+#include "disassembler/sysregs_fmt_gen.h"
+
+using namespace BinaryNinja;
+using namespace std;
+
+Ref<Enumeration> get_system_register_enum();
+Ref<Type> get_system_register_enum_type(Ref<BinaryView> view);
+QualifiedName get_system_register_enum_type_name(Ref<BinaryView> view);
+vector<uint32_t> get_system_registers();
+