diff options
Diffstat (limited to 'platform')
-rw-r--r-- | platform/sifive/fu540/config.mk | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/platform/sifive/fu540/config.mk b/platform/sifive/fu540/config.mk index ad099cc..e76adcd 100644 --- a/platform/sifive/fu540/config.mk +++ b/platform/sifive/fu540/config.mk @@ -21,8 +21,20 @@ platform-runcmd = qemu-system-riscv$(PLATFORM_RISCV_XLEN) -M sifive_u -m 256M \ FW_TEXT_START=0x80000000 FW_DYNAMIC=y FW_JUMP=y -FW_JUMP_ADDR=0x80200000 +ifeq ($(PLATFORM_RISCV_XLEN), 32) + # This needs to be 4MB aligned for 32-bit system + FW_JUMP_ADDR=0x80400000 +else + # This needs to be 2MB aligned for 64-bit system + FW_JUMP_ADDR=0x80200000 +endif FW_JUMP_FDT_ADDR=0x88000000 FW_PAYLOAD=y -FW_PAYLOAD_OFFSET=0x200000 +ifeq ($(PLATFORM_RISCV_XLEN), 32) + # This needs to be 4MB aligned for 32-bit system + FW_PAYLOAD_OFFSET=0x400000 +else + # This needs to be 2MB aligned for 64-bit system + FW_PAYLOAD_OFFSET=0x200000 +endif FW_PAYLOAD_FDT_ADDR=0x88000000 |