| /* |
| * SPDX-License-Identifier: BSD-2-Clause |
| * |
| * Copyright (c) 2019 Western Digital Corporation or its affiliates. |
| * |
| * Authors: |
| * Anup Patel <anup.patel@wdc.com> |
| */ |
| |
| 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 = .); |
| } |