Commit graph

11 commits

Author SHA1 Message Date
Ronald Caesar
2b5131e56c
refactor: Humongous Commit
Major architectural refactorbto focus exclusively on JIT development.

JIT & Decoder Architecture
-    Implemented scripts/generate_jit_decoder_a32_table.py to parse
     instruction definitions at build-time rather than runtime.
-    Moves decoder lookup tables from RAM to ROM.

Scope Reduction:
-    Removed frontend, GUI, and rendering dependencies.
-    delete src/frontend, src/target, and associated design docs.

Most importantly, this commit starts the transition of this codebase
from C++ to C. I cant stand creating C++ code, and since no one else
is contributing to this project this change shouldnt matter.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-11-29 14:53:02 -04:00
Ronald Caesar
a57ce183a1
extern/googletest: Add testing library
Need a testing framework to test the IR layer. GoogleTest is a popular
choice so it was chosen.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-11-08 15:41:04 -04:00
Ronald Caesar
8713dd751a docs: Add githib vuln scanning design doc
Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-09-21 18:36:28 -04:00
Ronald Caesar
c6706dd8a0 kvm: Add framework for machine types and MMIO dispatch
The core of the machine-type support is the new operations table,
kvm_ops_t. This acts as a standard C-style virtual table decoupling the
generic KVM core logic from target specific hardware emualtion. The
kvm_t VM instance now points to an ops table, which defines the
"personality" of the guest. A kvm_probe() factory function has been
added to initialize a kvm_t instance with the correct ops table for a
given machine type (eg, Switch 1).

The ops table's .mmio_read and .mmio_write function pointers are the
link between the armv8 CPU core and this new MMIO dispatcher. When a
physical memory access is determined to be MMIO, the VM will call the
appropriate function pointer, which in turn will use the MMIO dispatcher
to find and execute the correct device handler.

The initial implementation for the Switch 1 target
(targets/switch1/hardware/probe.cpp) is a stub. The bootstrapping
logic will be added in subsequent patches.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-24 21:45:32 -04:00
Ronald Caesar
3cd11ab4ab Removed unused files and directories
Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-08-23 02:01:14 -04:00
Xphalnos
ac472ea09a Update Submodules
imgui 1.92.0 -> 1.92.1
SDL3 3.2.16  -> 3.2.18
rem  -> latest
2025-07-15 11:53:57 +02:00
Chewico
88de318499 Added ImGui visual debugging. 2025-06-23 15:58:53 +02:00
Xphalnos
677893b4b7 SDL3 Basic Window 2025-06-20 21:14:51 +02:00
¥IGA
1f2af0b19e
Adding REM 3rd_Party (#18) 2025-06-18 18:45:14 +01:00
Xphalnos
014b236228 Import Strong Logger & Config System 2025-06-18 18:30:21 +02:00
Xphalnos
548b99e2e3 CMake, Big Cleanup, CI Build and 3rd_Party 2025-06-17 18:51:46 +02:00