summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/riscv/riscv/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/riscv/riscv/configure.ac')
-rw-r--r--c/src/lib/libbsp/riscv/riscv/configure.ac26
1 files changed, 24 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/riscv/riscv/configure.ac b/c/src/lib/libbsp/riscv/riscv/configure.ac
index 4f8b625e15..b699a8b232 100644
--- a/c/src/lib/libbsp/riscv/riscv/configure.ac
+++ b/c/src/lib/libbsp/riscv/riscv/configure.ac
@@ -10,7 +10,6 @@ AC_INIT([rtems-c-src-lib-libbsp-riscv],[_RTEMS_VERSION],[http://www.rtems.org/bu
RTEMS_TOP(../../../../../..)
RTEMS_SOURCE_TOP
RTEMS_BUILD_TOP
-RTEMS_BSP_LINKCMDS
RTEMS_CANONICAL_TARGET_CPU
AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2])
@@ -18,5 +17,28 @@ RTEMS_BSP_CONFIGURE
RTEMS_BSP_CLEANUP_OPTIONS
-AC_CONFIG_FILES([Makefile])
+case "${RTEMS_BSP}" in
+ rv64*medany)
+ RISCV_RAM_REGION_BEGIN_DEFAULT=0x80000000
+ ;;
+ rv64*)
+ RISCV_RAM_REGION_BEGIN_DEFAULT=0x70000000
+ ;;
+ *)
+ RISCV_RAM_REGION_BEGIN_DEFAULT=0x80000000
+ ;;
+esac
+
+AC_DEFUN([RISCV_LINKCMD],[
+AC_ARG_VAR([$1],[$2])dnl
+[$1]=[$]{[$1]:-[$3]}
+])
+
+RISCV_LINKCMD([RISCV_RAM_REGION_BEGIN],[begin of the RAM region for linker command file (default is 0x70000000 for 64-bit with -mcmodel=medlow and 0x80000000 for all other)],[${RISCV_RAM_REGION_BEGIN_DEFAULT}])
+RISCV_LINKCMD([RISCV_RAM_REGION_SIZE],[size of the RAM region for linker command file (default 64MiB)],[0x04000000])
+
+AC_CONFIG_FILES([
+Makefile
+linkcmds:../../../../../../bsps/riscv/riscv/start/linkcmds.in
+])
AC_OUTPUT