smol-gilbraltar/doc.txt
2024-12-23 23:44:47 +01:00

57 lines
3 KiB
Text

# How to make a simple unikernel on RBPi
File required on Raspberry Pi 5:
- bcm2712-rpi-5-b.dtb
- overlays/bcm2712d0.dtdo
- config.txt
CPU used by Raspberry Pi 5: Cortex-A76
BCM2712 is the Broadcom chip used by Raspberry Pi 5
# Memory layout
| Base | Size | Contents | Remarks |
|------------|----------------------|----------------------------|---------|
| 00000000 | 32 KByte | ARM Trusted Firmware | BL31 |
| 0006F000 | 4 KByte | EL3 Stack |
| 00070000 | 2 KByte | Exception vector table EL3 |
| ...
| 00080000 | max. 6 MByte | Kernel image |
| | .init | startup code |
| | .text | |
| | .rodata | |
| | .data | |
| | .bss | |
| ...
| | Kernel stacks | |
| 00280000 | 128 KByte | for Core 0 |
| 002A0000 | 128 KByte | for Core 1 |
| 002C0000 | 128 KByte | for Core 2 |
| 002E0000 | 128 KByte | for Core 3 |
| 00300000 | | End of stacks |
| | Exception stacks | |
| 00300000 | 32 KByte | for Core 0 |
| 00308000 | 32 KByte | for Core 1 |
| 00310000 | 32 KByte | for Core 2 |
| 00318000 | 32 KByte | for Core 3 |
| 00320000 | | End of exception stacks |
| | IRQ stack | |
| 00320000 | 32 KByte | for Core 0 |
| 00328000 | 32 KByte | for Core 1 |
| 00330000 | 32 KByte | for Core 2 |
| 00338000 | 32 KByte | for Core 3 |
| 00340000 | | End of IRQ stacks |
| | FIQ stack | |
| 00340000 | 32 KByte | for Core 0 |
| 00348000 | 32 KByte | for Core 1 |
| 00350000 | 32 KByte | for Core 2 |
| 00358000 | 32 KByte | for Core 3 |
| 00360000 | | End of FIQ stacks |
| 00500000 | 4 MByte | Coherent region |
| 00900000 | | |
| 1b000000 | 16 MByte | Pager |
| 1c000000 | | |
| 40000000 | | Heap |
| ...
| 100000000 | 8192 MB | Heap |
| 1000000000 | 16 MByte | AXI peripherals |