angie
bddd12847e
Build C library in build.rs
2022-12-18 17:12:59 -03:00
angie
c9170b0209
version bump
2022-12-18 16:30:12 -03:00
angie
1e02871bce
Another try at fixing crate publishing
2022-12-18 16:22:06 -03:00
angie
b87cf594fe
Hopefully fix rust crate publishing
2022-12-18 16:00:24 -03:00
angie
b75637ec33
version bump
2022-12-18 15:33:02 -03:00
Anghelo Carvajal
fb8c1edbd7
Rust bindings ( #17 )
...
* Generate bindings for enums
* Add .gitignore Cargo didn't automatically made
* Actually build the files into the library
* `pub` in `mod` to fix warning
* instruction struct
* Instruction rust binding
* Add InstrId::ALL_MAX
* link C library to rust
* Publish crate CI
* test
* config bindings
* add getters for registers
* add names methods for register enums
* get_operand_type
* feedback from simon
* Forgot to add new file to python setup.py
* get_operands_slice
* add stuff to cargo.toml
2022-12-18 15:15:39 -03:00
angie
3735d91fcc
Pregenerate every table
2022-12-16 15:37:46 -03:00
angie
12537e6706
pre-geneate table system
2022-12-16 14:36:53 -03:00
angie
d5d1096e81
Version bump and remove setup.cfg
2022-12-16 11:04:16 -03:00
angie
61ccff4e42
Rename isJrRa to isReturn and isJrNotRa to isJumptableJump
2022-12-15 20:33:02 -03:00
angie
363aff8e5d
Fix descriptor logic errors
2022-12-15 16:55:31 -03:00
angie
32acccf873
Try to make logic check tests
2022-12-15 16:06:48 -03:00
angie
920c79d700
set .readsR*
for every instruction
2022-12-14 20:53:32 -03:00
angie
77dda82424
readsR* functions
2022-12-14 18:03:13 -03:00
angie
96e2c465f6
Remove 3 non-existent RSP instructions
2022-12-14 15:22:06 -03:00
angie
6a1e537965
Fix RSP's jalr being marked as invalid
2022-11-30 13:14:21 -03:00
angie
703ac562c0
version bump
2022-11-30 10:21:02 -03:00
angie
343eddbb5b
version bump
2022-10-16 17:03:36 -03:00
angie
6d49bb4abf
Remove signedness from access type and move it to doesUnsignedMemoryAccess
2022-10-16 17:02:50 -03:00
Angie
34e982a763
version bump
2022-10-14 19:46:01 -03:00
Angie
6fad5e740a
InstrCategory.fromStr
2022-10-14 18:49:59 -03:00
angie
5d0f9ad8f6
reads/modifies HI/LO
2022-10-14 14:58:14 -03:00
angie
71d241150f
getDestinationGpr
2022-10-14 13:55:20 -03:00
angie
7cec779b85
AccessType enum
2022-10-13 19:41:46 -03:00
angie
7dc241a036
format
2022-10-13 18:37:27 -03:00
angie
5b04520269
cleanup
2022-10-13 18:32:24 -03:00
angie
c1a6abe186
Deprecate getGenericBranchOffset, add getBranchOffsetGeneric and getBranchVramGeneric
2022-10-13 17:41:50 -03:00
angie
34f2e2e6a5
Remove getImmediate and getInstrIndex
2022-10-13 16:45:01 -03:00
angie
91f30645e8
Remove RabbitizerArchitectureVersion and deprecate RabbitizerInstrType
2022-10-13 16:12:07 -03:00
angie
faaf017aef
isJumpWithAddress
2022-10-13 14:32:36 -03:00
angie
b5f4df9c1a
Add explanations to most stuff on InstrDescriptor
2022-10-13 14:24:34 -03:00
angie
ba09c10925
format tables
2022-10-13 13:32:22 -03:00
Angie
70c8632f4c
Actually compute the size of each operand
2022-10-09 21:43:37 -03:00
Angie
4ebd49711b
add missing operand to trap instructions
2022-10-09 18:29:31 -03:00
Anghelo Carvajal
acee144578
C++ bindings ( #9 )
...
* start making c++ bindings
* Add sanity checks
* add descriptor methods
* setup making c++ library
* cpp test
* format (not tidy because it breaks everything and the result looks dumb)
* Fixes
* add missing alias
* move stuff to their own files
* InstructionRsp bindings
* r5900 bindings
* almost there
* binding for analysis stuff
* setters
2022-10-09 17:51:47 -03:00
Angie
874863ab77
add userdefined instructionId placeholders
2022-10-09 17:48:46 -03:00
Angie
4effc73851
add missing bal metadata
2022-10-09 16:11:04 -03:00
Angie
d23366827c
version bump
2022-10-09 16:04:33 -03:00
angie
9bf973e82d
Add extern "C"
in all the headers
2022-10-04 08:31:02 -03:00
Angie
15b254bf03
Add bal
support
2022-09-27 22:52:57 -03:00
Angie
69fe5ff69a
Use . + 4 + (X << 2)
notation for branches when no immOverride was given
2022-09-27 22:06:28 -03:00
angie
079c2b6b10
Add version header
2022-09-26 11:15:28 -03:00
angie
421e740014
Add building static lib to makefile and a header which includes every other header
2022-09-26 11:00:45 -03:00
Angie
2c77b650a1
undo typo
2022-09-17 17:23:10 -03:00
angie
b9037c70e3
Avoid not fitting value on LoPairingInfo
2022-09-16 14:51:05 -03:00
angie
edc172323d
RegistersTracker.processGpLoad
2022-09-13 17:04:06 -03:00
angie
04b31eff1a
RegistersTracker.preprocessLoAndGetInfo
2022-09-13 14:05:42 -03:00
angie
baf3ce83ee
Fix missing braces warning
2022-09-09 23:19:45 -04:00
angie
ea935b8358
refactor operand names
2022-09-09 23:13:23 -04:00
Anghelo Carvajal
136fb7a09a
Add R5900 support ( #5 )
...
* starting r5900 stuff
* operands of pmaddh
* expose R5900 to python
* fix merge issues
* move to subtables
* mmi0 and mmi3
* the rest of mmi instructions
* normal, special, regimm and cop0
* fpu_s
* cop2 special1
* starting cop2 special2
* the rest of special2
* operands for normal, special, mmi and mmi0
* mmi1 and mmi2
* Fix mmi
* sync.p
* mmi3 and cop1
* add r5900 opcodes to InstrId.pyi
* add invalid bits to unknown instruction comment
* progress on cop2 special1
* kinda finish cop2 special1
* cop2 special2 progress
* Special case for R5900 cvt.w.s -> trunc.w.s
* R5900 c.olt.s and c.ole.s
* Fix a bunch of VU0 instructions
* I'm getting tired of this bullshit
* vlqi, vsqi, vlqd, vsqd
* fix some operands
* fix div1
* lqc2 and sqc2
* sqrt.s and mult
* fix mtsa and bc2
* Remove redundant .instrType=RABBITIZER_INSTR_TYPE_UNKNOWN
* RabbitizerInstrSuffix
* Impleme instr suffix type
* add instr suffix to remaining instructions
* ifdef out xyzw suffix from registers
* format
* fix warnings
* uncomment stuff on InstrId.pyi
* readme
2022-08-27 12:22:48 -04:00