Adding a New Architecture
- Add an
Architecture entry to tools/registry.py
- Add the architecture to each supported
OperatingSystem.architectures list
- Add syscall numbers to the relevant
SYSCALL_NUMBERS tables
- Create
src/include/picblobs/syscall/{arch}.h with the inline asm primitive
- Create the matching runner
_start stubs under tests/runners/*/start/
for every runner type that will execute the architecture
- Add a
bootlin.toolchain() block to MODULE.bazel
- Run
python tools/generate.py
- Run
python -m pytest python/tests/test_sync.py -v (catches anything missed)
- Build, stage, verify:
bash
python tools/stage_blobs.py --configs linux:{arch}
picblobs-cli verify --os linux --arch {arch}