-
Notifications
You must be signed in to change notification settings - Fork 59
Code Structure
Hanlu Li edited this page Aug 7, 2026
·
1 revision
This page provides starting points for developers changing LATX. The project is
built on QEMU, so common QEMU modules retain the upstream layout. LATX-specific
code is primarily under target/i386/latx/.
lat/
├── configs/ # LATX configuration file templates
├── docs/user/ # User configuration reference
├── latxbuild/ # Release, 32-bit, 64-bit, and debug build scripts
├── linux-user/ # ELF loading, syscalls, signals, and main entry point
├── runtime/ # Installation status tool
├── target/i386/latx/ # LATX translator core
├── tests/latx/ # LATX unit and regression tests
└── tests/runtime/ # Runtime-tool and installation tests
target/i386/latx/
├── context/ # Library pass-through and guest/host library boundary
├── include/ # Internal interfaces and optimization configuration
├── ir1/ # IR1 representation of x86 instructions
├── ir2/ # LoongArch IR2, assembly, and relocation
├── optimization/ # Flag, TU, immediate-value, and instruction-pattern work
├── sbt/ # AOT files, recovery, merging, and SMC handling
├── translator/ # x86 instruction translation and register allocation
├── wrapper/ # Library pass-through wrapper entry points
├── convert.py # Generates LoongArch instruction append functions
└── latx-options.c # Runtime defaults and configuration-file loading
| Task | Start with |
|---|---|
| Add or fix x86 instruction translation |
translator/, ir1/, ir2/
|
| Change translation optimization |
optimization/, include/optimize-config.h
|
| Change AOT | sbt/ |
| Change library pass-through |
context/, wrapper/
|
| Change runtime options |
arg_table in linux-user/main.c, latx-options.c
|
| Change guest-runtime selection or source reporting |
linux-user/main.c, target/i386/latx/latx-runtime.c, target/i386/latx/latx-options.c
|
| Change dynamic-loader handling or failure diagnostics | linux-user/elfload.c |
| Change syscall or signal compatibility |
linux-user/syscall.c, linux-user/signal.c
|
| Change the build |
latxbuild/, configure, meson.build
|
Before submitting changes, read the repository's contribution guide and commit convention.
📘 LAT Project
🔗 主页:https://github.com/lat-opensource/lat
💬 讨论区:https://github.com/lat-opensource/lat/discussions
🐞 报告问题:https://github.com/lat-opensource/lat/issues