Commit Graph

212 Commits

Author SHA1 Message Date
angie
a539a8a39d Annotate functions with attributes 2022-07-09 19:19:53 -04:00
angie
ef1ce2634c add more checks to clang tidy 2022-07-09 18:12:21 -04:00
angie
ecc8de8df2 Add a makefile for testing and fix one warning 2022-07-09 16:54:42 -04:00
angie
b3ffb7a713 Rename isHiPair and isLoPair to canBeHi and canBeLo 2022-07-07 15:48:10 -04:00
angie
dc314098d0 hasDelaySlot 2022-07-07 15:12:26 -04:00
angie
19579a183a Allow pickling Instruction type 2022-07-07 14:22:41 -04:00
Angie
d5b4b096b4 Allow disabling upper case for immediates 2022-07-07 00:44:30 -04:00
Angie
3d70f9d285 Option to omit the 0x on small hex immediates 2022-07-07 00:25:05 -04:00
Angie
c129447463 getProcessedImmediate 2022-07-06 20:12:37 -04:00
Angie
6fc7be4517 RabbitizerInstruction_disassembleOperands 2022-07-06 19:17:29 -04:00
angie
55de30256a doesLoad and doesStore 2022-07-05 13:32:24 -04:00
angie
63591003f6 RabbitizerInstruction_hasOperandAlias 2022-07-05 09:18:48 -04:00
Angie
568a0662f2 remove redundant functions 2022-07-05 00:53:28 -04:00
Angie
bed5d928dd RabbitizerInstruction_isValid 2022-07-03 19:28:13 -04:00
Angie
a725e0281a minor cleanups 2022-07-03 11:34:46 -04:00
Angie
0c678ab6df remove specific registers from instruction struct
do bitwise operations to access them instead
2022-07-03 08:34:26 -04:00
Angie
d0b39c6f8c introduce macros for reading the bits from the instruction word 2022-07-02 18:49:05 -04:00
angie
1b67fe86dd expose some more descriptor methods to python 2022-07-01 12:57:58 -04:00
angie
7eab5eb1df Add architecture version to most cpu instructions
fp instructions are not done yet
2022-07-01 12:07:45 -04:00
angie
42a2a33d7d RegistersTracker#hasLoButNoHi 2022-06-13 14:01:48 -04:00
angie
298e84ef71 Finish RegistersTracker 2022-06-12 09:29:38 -04:00
angie
739ba4cb63 First draft for exposing RegistersTracker to python 2022-06-11 19:43:05 -04:00
angie
b3843f271e starting to port RegistersTracker 2022-06-11 17:49:33 -04:00
angie
6ea5bd0f5e TrackedRegisterState 2022-06-10 19:15:46 -04:00
angie
8cc550184f UNREACHABLE macro 2022-06-10 14:01:00 -04:00
angie
43e8815ad5 Abi enum 2022-06-09 22:58:31 -04:00
angie
cca3a10100 Expose InstrCategory enum to python 2022-06-09 12:06:49 -04:00
angie
8b37e56e2e Some fixes 2022-06-08 22:44:43 -04:00
angie
bab16d24a5 Add more stuff to Descriptor 2022-06-08 02:17:48 -04:00
angie
d68751a1f9 Rename RabbitizerInstr to RabbitizerInstruction 2022-06-08 00:30:58 -04:00
angie
9c05b19866 rename RabbitizerRegisterType to RabbitizerOperandType 2022-06-07 23:30:01 -04:00
angie
118ee1cc89 rsp 2022-06-07 03:16:09 -04:00
angie
518953980c more rsp stuff 2022-06-07 02:28:10 -04:00
angie
9b4ac24ca5 macro abuse on Disassemble 2022-06-07 00:49:37 -04:00
angie
ca3823888c another rsp batch 2022-06-06 22:42:22 -04:00
angie
185a934081 First batch of rsp stuff 2022-06-06 22:19:42 -04:00
angie
7125a90d62 blankOut and sameOpcode 2022-06-06 02:02:27 -04:00
angie
b561f3f4b9 Rename the instr id enums 2022-06-05 19:15:25 -04:00
angie
6b7650476f Change capitalization 2022-06-05 13:19:45 -04:00
angie
b01fc41a5a Moving stuff around 2022-06-05 12:25:57 -04:00
angie
d7c154e293 Implement MapInstrToType 2022-06-05 12:05:06 -04:00
angie
4cbc14c813 FpcCsr 2022-06-05 02:19:05 -04:00
angie
145114c096 toggle register names 2022-06-05 01:57:22 -04:00
angie
b99f17414d RabbitizerConfig 2022-06-05 00:45:20 -04:00
angie
6a0cdbb637 more stuff 2022-06-04 23:23:06 -04:00
angie
55b016488a implementing some missing functions and some bugfixes 2022-06-04 22:18:53 -04:00
angie
97fd189cda RSP instr id enum placeholder 2022-06-04 17:40:16 -04:00
angie
f5c3f7ce2d Move instruction id definitions to common macros 2022-06-04 17:34:17 -04:00
angie
85bf2c887a Convert extraLjustWidthOpcode to a parameter 2022-06-04 12:43:54 -04:00
angie
7411aadae3 Functions to calculate the size for the disassembly buffer 2022-06-04 02:42:17 -04:00
angie
cedf56ca36 logic for disassembling as data 2022-06-04 02:17:25 -04:00
angie
9f118686fd simulate ljust 2022-06-04 01:24:59 -04:00
angie
779412bea8 cop1, cop2 and generic one 2022-06-04 00:49:59 -04:00
angie
371ac0fea1 RabbitizerInstr_ProcessUniqueId_Coprocessor0 2022-06-03 23:53:51 -04:00
angie
9639bc4590 RabbitizerInstr_ProcessUniqueId_Regimm 2022-06-03 23:37:47 -04:00
angie
9d18f32937 RabbitizerInstr_ProcessUniqueId_Special 2022-06-03 23:32:16 -04:00
angie
2e5ed6a0b6 Implement every RegisterType 2022-06-03 22:39:10 -04:00
angie
74b009931c Starting to workout the disassembly 2022-06-03 20:19:58 -04:00
angie
d610dab8e1 Array of opcode names 2022-06-03 17:33:10 -04:00
angie
a3b7e13784 Opcodes enum 2022-06-03 17:05:00 -04:00
angie
b36cf689e0 Array of opcode names placeholder 2022-06-03 14:19:43 -04:00
angie
1b082d4fe8 Initial structure porting 2022-06-03 13:46:51 -04:00