ENTRY(__aarch64_entry); KERNEL_PHYS_BASE = 0x40080000; KERNEL_VIRT_OFFSET = 0xFFFFFF8000000000; SECTIONS { . = KERNEL_PHYS_BASE; PROVIDE(__kernel_phys_start = .); .text.entry : { *(.text.entry) } . = ALIGN(16); . = . + KERNEL_VIRT_OFFSET; .text : AT(. - KERNEL_VIRT_OFFSET) { KEEP(*(.text.vectors)); *(.text*) } . = ALIGN(4K); .rodata : AT(. - KERNEL_VIRT_OFFSET) { *(.eh_frame*) . = ALIGN(16); PROVIDE(__dt_probes_start = .); KEEP(*(.dt_probes)); PROVIDE(__dt_probes_end = .); *(.rodata*) } . = ALIGN(4K); .data.tables : AT (. - KERNEL_VIRT_OFFSET) { KEEP(*(.data.tables)) } . = ALIGN(4K); .data : AT(. - KERNEL_VIRT_OFFSET) { *(.data*) /* *(.got*) */ } . = ALIGN(4K); PROVIDE(__bss_start_phys = . - KERNEL_VIRT_OFFSET); .bss : AT(. - KERNEL_VIRT_OFFSET) { *(COMMON) *(.bss*) } . = ALIGN(4K); PROVIDE(__bss_end_phys = . - KERNEL_VIRT_OFFSET); PROVIDE(__kernel_size = . - KERNEL_VIRT_OFFSET - KERNEL_PHYS_BASE); };