summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--spec/build/bsps/i386/pc386/grp.yml2
-rw-r--r--spec/build/bsps/i386/pc386/optrelocaddr.yml27
2 files changed, 29 insertions, 0 deletions
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
@@ -24,6 +24,8 @@ links:
- role: build-dependency
uid: objvga
- role: build-dependency
+ uid: optrelocaddr
+- role: build-dependency
uid: optvberm
- role: build-dependency
uid: objvgacir
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