Commit graph

11 commits

Author SHA1 Message Date
Ronald Caesar
04b5af2517 build: Disable most 3rd party dependencies
SDL3, ImGUI, and OpenGL are unused dependencies. They will be enabled
once a GUI becomes necessary

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-11-28 04:04:15 -04:00
Ronald Caesar
304aeed9f6
tests/jit: Add IR tests
Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-11-08 16:37:41 -04:00
Ronald Caesar
4d363ea3b2 Remove fmt library
This library wasnt used anywhere in the source code.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-09-21 18:37:06 -04:00
Ronald Caesar
a3ed44003b build: Refactor CMake build system
This new architecture decomposes the project into several distict static
libraries: common, host, kvm, and frontend.

By using static libraries, changes within one module will only require
that library to be re-linked, rather than recompiling and re-linking the
entire executable.

The third party library ImGui is now built as a static library target.

Signed-off-by: Ronald Caesar <github43132@proton.me>
2025-09-14 18:40:30 -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
677893b4b7 SDL3 Basic Window 2025-06-20 21:14:51 +02:00
Xphalnos
6104a70822 Update rem (Windows Support) 2025-06-18 21:58:21 +02:00
Xphalnos
a552b11c24 Update rem 2025-06-18 21:02:06 +02: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