1c96f418eb
massive instruction rewrite
...
So, I ended up moving exec methods from Instruction to Cpu for
encapsulating cycle emulation, and this has caused me lots of pain since
I had to rewrite a shit ton of tests which are not even useful or
comprehensible, i do no know why i put myself through this
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-20 06:07:00 +05:30
7d3996526f
bus: separate out read/write that count cycles
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-19 14:56:23 +05:30
f5aa73e7ca
cpu/thumb: fix multiple load/store
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-19 14:18:37 +05:30
951fc40134
tests/bus: idle cycle test
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-16 07:46:12 +05:30
a7d919eea0
massive feat: added a GDB stub for debugging
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-16 07:45:54 +05:30
c22333812e
bus (feat): add cycle accuracy
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-15 03:49:10 +05:30
bafd534671
bus: send a weak ptr to io
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-14 20:25:36 +05:30
9397140473
get rid of memory.cc/.hh
...
also fix bus' shared pointer in cpu
TODO: put cpu in bus not the other way around
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-14 05:42:09 +05:30
0029e302b2
cpu/arm: fix block data transfer
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-13 03:54:12 +05:30
441665abad
cpu/arm: fix single data transfer
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-11 23:28:27 +05:30
9e6b121918
cpu/thumb: fix pc relative load
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-11 23:22:34 +05:30
15c4802838
cpu/{arm|thumb}(chore): change how branch disassembly happens
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-11 23:21:39 +05:30
174008f60c
memory: bus and rom should not be writeable
...
so fix tests and shit
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-10-05 00:21:18 +05:30
e0f7f32699
refactor: reorganize everything
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-10-04 01:41:38 +05:30
36d71a4ee2
thumb: add execution of instructions
...
also arm: fix some instructions
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-30 01:31:09 +05:30
0f09874929
cpu: get rid of the test workaround
...
now can we remove the pimpl?
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-27 22:43:50 +05:30
03ebc6378a
clang: make linter happy
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-27 17:36:25 +05:30
5ec5e6dddc
thumb: add disassembler
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-27 17:31:00 +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
ed01ed80cd
tests: add tests for memory
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-24 18:04:28 +05:30
6e56828dfd
tests/arm/exec: test conditions
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-24 17:38:11 +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
560bd5bfa1
tests: add tests for bus
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-23 23:20:05 +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