18 lines
541 B
Nim
18 lines
541 B
Nim
# MARKUS MAIWALD (ARCHITECT) | VOXIS FORGE (AI)
|
|
# RUMPK HAL // AARCH64 CONSTANTS
|
|
|
|
# ARM64 Context Frame
|
|
# 6 register pairs (x19-x30) * 16 bytes = 96 bytes
|
|
# 16-byte aligned per ARM64 ABI
|
|
const CONTEXT_SIZE* = 96
|
|
|
|
# Register Layout in switch.S frame:
|
|
# [sp + 0] = x19, x20
|
|
# [sp + 16] = x21, x22
|
|
# [sp + 32] = x23, x24
|
|
# [sp + 48] = x25, x26
|
|
# [sp + 64] = x27, x28
|
|
# [sp + 80] = x29 (FP), x30 (LR/Return Address)
|
|
const LR_OFFSET* = 11 # x30 is at index 11 (88 bytes / 8)
|
|
const FP_OFFSET* = 10 # x29 is at index 10 (80 bytes / 8)
|