Commit Graph

70 Commits

Author SHA1 Message Date
54fc472399 bus: rewrite the private read/write methods
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2024-06-21 02:01:04 +05:30
514aeb7d44 cpu: bring back the flush pipeline method
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2024-06-21 01:56:25 +05:30
f510a54d40 utils/tcp_server: set TCP_NODELAY
Signed-off-by: Amneesh Singh <natto@weirdnatto.in>
2024-06-20 06:12:42 +05:30
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