firmware: Move _boot_hart_done to the data section
authorXiang Wang <wxjstz@126.com>
Mon, 4 Mar 2019 09:17:08 +0000 (17:17 +0800)
committerAnup Patel <anup@brainfault.org>
Tue, 5 Mar 2019 03:39:40 +0000 (09:09 +0530)
Writable code section can cause some security problems, so move _boot_hart_done
to the data section

Signed-off-by: Xiang Wang <wxjstz@126.com>
firmware/fw_base.S

index f6b30f0..b28cfb5 100644 (file)
@@ -111,12 +111,6 @@ _fdt_reloc_done:
        la      a4, _boot_hart_done
        li      a5, 1
        REG_S   a5, (a4)
-       j       _wait_for_boot_hart
-
-       .align  3
-_boot_hart_done:
-       RISCV_PTR       0
-       .align  3
 
        /* Wait for boot hart */
 _wait_for_boot_hart:
@@ -198,6 +192,11 @@ _start_warm:
        j       _start_hang
 
        .align 3
+       .section .data, "aw"
+_boot_hart_done:
+       RISCV_PTR       0
+
+       .align 3
        .section .entry, "ax", %progbits
        .globl _hartid_to_scratch
 _hartid_to_scratch: