/* * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2019 Western Digital Corporation or its affiliates. * * Authors: * Anup Patel */ OUTPUT_ARCH(riscv) ENTRY(_start) SECTIONS { #ifdef FW_PAYLOAD_OFFSET . = FW_TEXT_START + FW_PAYLOAD_OFFSET; #else . = ALIGN(FW_PAYLOAD_ALIGN); #endif PROVIDE(_payload_start = .); . = ALIGN(0x1000); /* Need this to create proper sections */ /* Beginning of the code section */ .text : { PROVIDE(_text_start = .); *(.entry) *(.text) . = ALIGN(8); PROVIDE(_text_end = .); } . = ALIGN(0x1000); /* Ensure next section is page aligned */ /* End of the code sections */ /* Beginning of the read-only data sections */ . = ALIGN(0x1000); /* Ensure next section is page aligned */ .rodata : { PROVIDE(_rodata_start = .); *(.rodata .rodata.*) . = ALIGN(8); PROVIDE(_rodata_end = .); } /* End of the read-only data sections */ /* Beginning of the read-write data sections */ . = ALIGN(0x1000); /* Ensure next section is page aligned */ .data : { PROVIDE(_data_start = .); *(.data) *(.data.*) *(.readmostly.data) *(*.data) . = ALIGN(8); PROVIDE(_data_end = .); } . = ALIGN(0x1000); /* Ensure next section is page aligned */ .bss : { PROVIDE(_bss_start = .); *(.bss) *(.bss.*) . = ALIGN(8); PROVIDE(_bss_end = .); } /* End of the read-write data sections */ . = ALIGN(0x1000); /* Need this to create proper sections */ PROVIDE(_payload_end = .); }