From d9d31b381c301d921dde7a691d8e27e2e39d68f3 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 15 Sep 2020 13:29:36 +0200 Subject: build: Add RELOCADDR to i386/pc386 options Update #3818. --- spec/build/bsps/i386/pc386/grp.yml | 2 ++ spec/build/bsps/i386/pc386/optrelocaddr.yml | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 spec/build/bsps/i386/pc386/optrelocaddr.yml diff --git a/spec/build/bsps/i386/pc386/grp.yml b/spec/build/bsps/i386/pc386/grp.yml index 1127fc26d4..252b813f50 100644 --- a/spec/build/bsps/i386/pc386/grp.yml +++ b/spec/build/bsps/i386/pc386/grp.yml @@ -23,6 +23,8 @@ links: uid: objsmpstart - role: build-dependency uid: objvga +- role: build-dependency + uid: optrelocaddr - role: build-dependency uid: optvberm - role: build-dependency diff --git a/spec/build/bsps/i386/pc386/optrelocaddr.yml b/spec/build/bsps/i386/pc386/optrelocaddr.yml new file mode 100644 index 0000000000..e052383f80 --- /dev/null +++ b/spec/build/bsps/i386/pc386/optrelocaddr.yml @@ -0,0 +1,27 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-integer: null +- assert-uint32: null +- env-assign: null +- set-value: -Wl,-Ttext,${RELOCADDR:#010x} +- substitute: null +- env-append: LDFLAGS +- env-append: PKGCONFIG_LDFLAGS +build-type: option +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +default: 1048576 +default-by-variant: [] +description: | + Set the value of RELOCADDR to the address where you want your image to load. + If you'll be using GRUB to load the images it will have to be >= 0x100000 + (1024K). If you are using NetBoot to load the images it can be + >= 0x10000 (64K) AND <= 0x97C00 (607K) OR >= 0x100000 (1024K). The memory + top is of course another limit. Make sure there is enough space before the + upper memory limits for the image and the memory allocated by it to fit. + Make sure the value you choose is aligned to 4 bytes. +enabled-by: true +format: '{:#010x}' +links: [] +name: RELOCADDR +type: build -- cgit v1.2.3