208527b7f8
thumb: initialise instruction formats
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-27 01:36:05 +05:30
bd91112509
refactor: make disassembler optional
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-27 01:31:32 +05:30
1baebd72f6
refactor: make cpu-impl private when not testing
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-27 01:25:47 +05:30
b55f6ee16b
refactor: replace fmt ostreams with stringify
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-27 01:24:32 +05:30
8e26cadc9a
chore: revert util/crypto
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-24 17:45:19 +05:30
5fcc75bc9a
tests: add tests for internal utilities
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-24 17:36:38 +05:30
9cdfa90acc
memory: remove unused functions
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-23 21:58:41 +05:30
91a82eec7c
log: encapsulate logger
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-23 21:09:44 +05:30
c3bf8b0ae8
nix: add support to build with GCC
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-23 16:07:05 +05:30
6c33c77ef3
restructure: get rid of cpu/utility
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-23 14:15:23 +05:30
1e8966553f
chore: enclose everything in namespace matar
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-21 10:52:40 +05:30
1eb4a9545b
tests: complete exec tests (for now)
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-19 08:58:11 +05:30
fa96a4d09f
tests: add execution tests
...
all but data processing
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-18 18:23:52 +05:30
dd9dd5f116
tests: complete disassembler tests
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-17 09:50:32 +05:30
be7deb349a
tests: [WIP] add unit tests for some of the instructions
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-15 14:07:23 +05:30
aa96237c37
shifts are always immediate in single data transfer
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-15 10:24:23 +05:30
7fc6876264
[UNTESTED] complete initial disassembler structure for ARM
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-15 05:23:07 +05:30
169723275e
replace symlinks
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-14 11:25:44 +05:30
0b674c7c64
[UNTESTED] refactor how instructions are parsed
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-14 10:16:03 +05:30
3cf5cbd024
refactor: make linter happy
...
also add a few unused coprocessor instructions
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-14 01:19:41 +05:30
387f3c8f07
chore: minor changes
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-13 04:15:16 +05:30
8a04eade92
add a basic structure for disassembler + executor
...
Instructions added
Branch and Exchange (BX)
Branch and Link (B)
Multiply and Accumulate (MUL, MLA)
Multiply Long and Accumulate (SMULL, SMLAL, UMULL, UMLAL)
Single data swap (SWP)
[WIP] Halfword Transfer (STRH, LDRH)
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-13 03:44:36 +05:30
904e2b698e
add libfmt to replace current logging mechanism
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-13 03:43:24 +05:30
332f0b87d6
initialise a memory structure or smth
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-11 10:53:32 +05:30
84c68a4e00
initial cpu structure :thonk:
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-08-27 21:43:09 +05:30
fe255f97f4
initial commit: set up a template
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-08-15 14:59:53 +05:30