No description
  • C++ 67%
  • cpp 28.5%
  • Kotlin 2.8%
  • CMake 0.9%
  • SourcePawn 0.3%
  • Other 0.3%
Find a file
2026-04-17 23:20:45 +00:00
.reuse deps: remove microprofiler 2026-03-17 05:47:57 +00:00
AppImageBuilder feat: Added Torzu's AppImageBuilder 2025-07-31 14:40:22 +07:00
CMakeModules fix: Use dynamic date for stable build version fallback 2026-04-13 18:33:31 +10:00
dist feat: New .svg's / Better Dark/Light Accountability / Various UI fixes 2026-04-08 23:10:32 -04:00
docs build: add automated MinGW (MSYS2) build scripts and guide 2026-03-28 16:15:23 +10:00
externals ffmpeg: now better code 2026-04-17 23:20:45 +00:00
hooks chore: update project branding to citron 2025-05-06 16:06:48 +10:00
LICENSES general: fix trailing whitespace 2024-01-08 09:34:32 -05:00
patches Lizzie/dynarmic fix 1 (#13) 2026-03-16 14:45:07 +10:00
src ffmpeg: now better code 2026-04-17 23:20:45 +00:00
tools tools: add dtrace 2026-03-17 02:33:03 +00:00
.codespellrc core: refactor emulated cpu core activation 2023-12-04 10:37:16 -05:00
.git-blame-ignore-revs Skip git blame 2023-11-04 18:26:49 +00:00
.gitattributes chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
.gitignore maxwell: coalesce pagetable 2026-03-17 19:34:43 +00:00
.gitlab-ci.yml ci: disable GitLab CI configuration 2025-10-17 17:29:16 +10:00
.gitmodules Performance test: Replace some std::map with ankerl_unordered_dense::map 2026-03-20 18:29:47 +01:00
AppImage-build-debian-inner.sh feat: Added Torzu's AppImageBuilder 2025-07-31 14:40:22 +07:00
AppImage-build-debian.sh feat: Added Torzu's AppImageBuilder 2025-07-31 14:40:22 +07:00
AppImage-build-local.sh feat: Added Torzu's AppImageBuilder 2025-07-31 14:40:22 +07:00
build-for-mingw.bat build: add automated MinGW (MSYS2) build scripts and guide 2026-03-28 16:15:23 +10:00
build-for-mingw.sh build: add automated MinGW (MSYS2) build scripts and guide 2026-03-28 16:15:23 +10:00
CHANGELOG Add new file 2025-10-03 15:05:41 +10:00
CMakeLists.txt fix: Unix unity build fixes in a less lazy and more inclusive way. 2026-04-04 22:05:07 +11:00
Doxyfile chore: update project branding to citron 2025-05-06 16:06:48 +10:00
fix-pgo-dll.ps1 feat: Add Profile-Guided Optimization (PGO) build support 2025-10-11 13:30:39 +10:00
LICENSE chore: update project branding to citron 2025-05-06 16:06:48 +10:00
pgo-build.ps1 fix(pgo): use /FASTGENPROFILE and remove EXACT option 2026-03-14 03:43:30 +00:00
pgo-build.sh fix(pgo): apply /GL globally and switch to /GENPROFILE for effective profiling 2026-03-14 03:43:30 +00:00
README.md readme: even more <br> 2026-03-28 03:10:26 +00:00
vcpkg.json Update vcpkg.json 2026-03-23 06:15:00 +00:00

Citron Neo

what

Feel free to open issues and PRs to the repository.

Enjoy!













































































































































































































Abstract

Citron is a specialized research software designed to orchestrate high-fidelity virtual environments. Unlike general-purpose tools, it focuses on the intersection of containerization and deep-system virtualization to provide researchers with granular control over network behavior and resource management. Core Capabilities

High-Fidelity Networking: Citron creates Docker container environments where network accuracy is the priority. It ensures that latency, throughput, and topology mirror real-world conditions with high precision, making it ideal for testing distributed systems or network protocols.
Hybrid Orchestration: Beyond containers, it can spawn and manage multiple Virtual Machines (VMs) simultaneously. This allows for heterogeneous testing environments where containers and VMs interact seamlessly.
Kernel Addressing: The software utilizes advanced kernel addressing techniques for resource management. By interacting closely with the host and guest kernels, Citron achieves low-overhead monitoring and advanced control over virtualized assets that standard management layers often miss.

Summary Citron is a technical powerhouse for researchers who need more than just "standard" virtualization. It bridges the gap between the lightweight agility of Docker and the robust isolation of VMs, all while maintaining a rigorous, high-fidelity network layer managed through direct kernel-level operations. Would you like to draft a README file or a technical abstract for a research paper based on this?

Citron functions as a high-fidelity hardware-software co-design platform that bridges the gap between high-level container orchestration and low-level embedded hardware constraints. By integrating specialized architectures like Xtensa cores, Citron allows researchers to simulate and manage complex system-on-chip (SoC) behaviors within a virtualized framework.

  1. Integration with Specialized Hardware (Xtensa Cores) Citron addresses the unique constraints of Xtensa processors, which are modular, extensible 32-bit RISC architectures often used in networking and audio processing.

    Custom Instruction Support: Citron can leverage the Tensilica Instruction Extension (TIE) language to simulate custom datapath elements and instructions within the virtualized environment. Protocol-Specific Optimization: Because Xtensa cores excel at processing packet headers and rule-based checks, Citron uses them to maintain network fidelity—ensuring that simulated network stacks perform with the same cycle-accurate behavior as physical networking chips.

  2. High-Fidelity Computing Devices To achieve "high fidelity," Citron must manage the deterministic performance of computing devices, ensuring that virtualized sensors and actuators respond within real-world timing constraints.

    Cycle-Accurate Modeling: It utilizes an Instruction Set Simulator (ISS) to provide instant feedback on how software interacts with the underlying hardware pipeline, preventing the "timing drift" common in standard VMs. Resource Determinism: Citron mitigates hardware constraints—such as limited memory and power—by tailoring the virtual environment to match the specific cache sizes and memory hierarchies of the target device.

  3. Advanced Kernel Addressing and Management Citrons specialization in kernel addressing allows it to bypass traditional virtualization overhead:

    Direct Register Access: By interacting with the Application Binary Interface (ABI), Citron manages how programs interact with the kernel, allowing for precise debugging and resource allocation across multiple spawned VMs. Kernel-Level Hypervisors: It functions similarly to a KVM (Kernel-based Virtual Machine), turning the host Linux system into a high-performance hypervisor that provides near-native execution of privileged instructions. Memory Lookup Interfaces: Citron can connect directly to arbitrary-width memories or RTL (Register Transfer Level) blocks for low-latency data transfers, effectively treating virtualized memory as if it were a direct point-to-point hardware connection.

  4. Technical Constraints & Architecture Feature Implementation in Citron Processor Type Supports 32-bit configurable RISC/Xtensa architectures. Virtualization Method Hardware-assisted virtualization using extensions like Intel VT-x or AMD-V for direct execution. Networking Layer High-fidelity emulation that avoids standard I/O bottlenecks by using custom processor interfaces. Management Centralized synchronization controller for container scheduling and I/O compensation. Would you like to explore how Citron handles specific network protocols like CoAP or MQTT on these virtualized Xtensa cores?