Files
vystem/docs/shelter/memory/vmemlayout.md
2026-03-31 22:15:00 +02:00

1.2 KiB

Virtual memory layout

Introduction

The virtual memory layout is a file shelter/lib/include/memory/vmem_layout.h defining which area of virtual memory serve which purposes. It's automatically checked for no overlaps by a python script.

Overview

Virtual memory regions are defined with macros. Any macro ending with _VA will create a new virtual region for the script. The script will then look for the size of this virtual region in another macro that start with the same prefix and end with _SIZE_BYTES. If a macro ending with _VA doesn't have a corresponding macro ending with _SIZE_BYTES, the script will trigger an error and the kernel compilation will fail. If a macro ending with _SIZE_BYTES doesn't have a corresponding macro ending with _VA, the script will ignore it. The start of each virtual region must be aligned to 4096 bytes and the size must be provided in bytes. Any overlapping virtual region will trigger a compilation error. Consider using this file as the source of trust for everything related to static virtual regions. Any macro that doesn't end with _VA or _SIZE_BYTES or that doesn't correspong to the behaviour described above will be ignored.