[PATCH] platform: generic: Enable FW_PIC=y as default

Anup Patel anup at brainfault.org
Sun Apr 25 06:02:49 BST 2021


On Fri, Apr 23, 2021 at 1:08 PM <guoren at kernel.org> wrote:
>
> From: Guo Ren <guoren at linux.alibaba.com>
>
> Tested with qemu_rv32 & rv64, T-HEAD all hardwares. I think it's
> time to enable it as default.
>
> Thx Vincent's commit: 0f20e8adcf42
>
> Signed-off-by: Guo Ren <guoren at linux.alibaba.com>
> Tested-by: Guo Ren <guoren at linux.alibaba.com>
> Cc: Anup Patel <anup.patel at wdc.com>
> Cc: Vincent Chen <vincent.chen at sifive.com>

Enabling FW_PIC by default only for generic platform breaks the
compilation binary tarball using scripts/create-binary-archive.sh

I would suggest to have it globally enabled by default using
below change. The platform support or users can explicitly
disable it using "FW_PIC=n" in make command-line.

diff --git a/firmware/objects.mk b/firmware/objects.mk
index c1f632e..ce91c2f 100644
--- a/firmware/objects.mk
+++ b/firmware/objects.mk
@@ -13,6 +13,10 @@ firmware-cflags-y +=
 firmware-asflags-y +=
 firmware-ldflags-y +=

+ifndef FW_PIC
+FW_PIC := y
+endif
+
 ifeq ($(FW_PIC),y)
 firmware-genflags-y += -DFW_PIC
 firmware-asflags-y  += -fpic

Regards,
Anup

> ---
>  platform/generic/config.mk | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/platform/generic/config.mk b/platform/generic/config.mk
> index 8151974..61015a0 100644
> --- a/platform/generic/config.mk
> +++ b/platform/generic/config.mk
> @@ -21,6 +21,7 @@ platform-runcmd = qemu-system-riscv$(PLATFORM_RISCV_XLEN) -M virt -m 256M \
>  FW_TEXT_START=0x80000000
>  FW_DYNAMIC=y
>  FW_JUMP=y
> +FW_PIC=y
>  ifeq ($(PLATFORM_RISCV_XLEN), 32)
>    # This needs to be 4MB aligned for 32-bit system
>    FW_JUMP_ADDR=$(shell printf "0x%X" $$(($(FW_TEXT_START) + 0x400000)))
> --
> 2.7.4
>



More information about the opensbi mailing list