/* Memory Layout — ARM64 Cellular Memory (M3.3):
 * User RAM: 0x48000000 - 0x4FFFFFFF (128MB)
 * Stack starts at 0x4BFFFFF0 and grows down
 * QEMU virt: -m 512M ensures valid physical backing
 */
MEMORY
{
    RAM (rwx) : ORIGIN = 0x48000000, LENGTH = 128M
}

SECTIONS
{
    . = 0x48000000;

    .text : {
        *(.text._start)
        *(.text)
        *(.text.*)
    } > RAM

    .rodata : {
        *(.rodata)
        *(.rodata.*)
    } > RAM

    .data : {
        *(.data)
        *(.data.*)
    } > RAM

    .nexus.manifest : {
        KEEP(*(.nexus.manifest))
    } > RAM

    .bss : {
        . = ALIGN(8);
        __bss_start = .;
        *(.bss)
        *(.bss.*)
        *(COMMON)
        . = ALIGN(8);
        __bss_end = .;
    } > RAM
}
