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
41b625790e
[skip ci] readme: update
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-16 21:25:58 +05:30
2c89701fee
gdb rsp: make start() rerunnable
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-16 21:11:18 +05:30
c55f2937f7
gdb rsp: minor changes
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-16 20:55:33 +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
cb75ebf8ef
bus: use a switch case for memory access
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-14 20:47:04 +05:30
08060a767f
cpu (feat): store three opcodes instead of one
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-14 20:27:13 +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
d1df555a6a
fix gcc build
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-14 05:48:13 +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
ffcdf5f3a7
ci: fix by bumping actions
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-13 04:01:24 +05:30
eaa4abcb90
cpu/arm: fix MSR by changing modes
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-13 03:56:10 +05:30
c4a9c5ee5e
cpu: align PC every step
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-13 03:54:46 +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
08cc582f23
io: i really ought to be working on the ppu and apu by now
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-13 03:53:25 +05:30
933b622493
io(placeholder): add naive io structure
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-11 23:30:22 +05:30
8b80f818c6
cpu/psr(chore): minor change
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-11 23:29:05 +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
1a2e101ebd
cpu/arm: fix branch and exchange
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-11 23:27:07 +05:30
f34efb183f
cpu: fix changing modes
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-11 23:26:02 +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
0062ad424b
chore: stage bunch of size_t to uint32_t
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-11 22:58:09 +05:30
028c80f6cb
comeback(?)
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2024-06-11 22:46:48 +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
03dbb7052f
nix: bump
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-30 01:30:44 +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
208527b7f8
thumb: initialise instruction formats
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-27 01:36:05 +05:30
6822e1255a
meson: make disassembler feature true by default
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-27 01:33:51 +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
8e26cadc9a
chore: revert util/crypto
...
Signed-off-by: Amneesh Singh <natto@weirdnatto.in >
2023-09-24 17:45:19 +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
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