diff options
author | Gabriel L. Somlo <gsomlo@gmail.com> | 2019-06-11 10:46:49 -0400 |
---|---|---|
committer | Gabriel L. Somlo <gsomlo@gmail.com> | 2019-06-11 10:55:53 -0400 |
commit | ff71b88278db63ff22b7f39d38bd952dea34f2a1 (patch) | |
tree | 76d47a8160f3d22bf2a69dd510b41b24a2dbb0fc | |
parent | 9c20a7744f7ad070094af0c1c29346fcfec50829 (diff) | |
download | riscv-pk-ff71b88278db63ff22b7f39d38bd952dea34f2a1.zip riscv-pk-ff71b88278db63ff22b7f39d38bd952dea34f2a1.tar.gz riscv-pk-ff71b88278db63ff22b7f39d38bd952dea34f2a1.tar.bz2 |
configure: Add option to set physical memory start address
For systems where physical memory is mapped to a start address
different from 0x80000000, allow the default to be overridden
using the --with-mem-start argument to the configure script.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
-rw-r--r-- | Makefile.in | 2 | ||||
-rw-r--r-- | bbl/bbl.lds | 2 | ||||
-rwxr-xr-x | configure | 18 | ||||
-rw-r--r-- | configure.ac | 7 | ||||
-rw-r--r-- | pk/pk.lds | 2 |
5 files changed, 28 insertions, 3 deletions
diff --git a/Makefile.in b/Makefile.in index 376670d..0cdf013 100644 --- a/Makefile.in +++ b/Makefile.in @@ -278,7 +278,7 @@ $$($(2)_install_prog_objs) : %.o : %.c $(COMPILE) -c $$< $$($(2)_install_prog_exes) : % : %.o $$($(2)_prog_libnames) - $(LINK) -o $$@ $$< $$($(2)_prog_libarg) $(LIBS) -T $(src_dir)/$(2)/$(2).lds + $(LINK) -o $$@ $$< $$($(2)_prog_libarg) $(LIBS) -Wl,--defsym=MEM_START=@MEM_START@,-T,$(src_dir)/$(2)/$(2).lds $(2)_c_deps += $$($(2)_install_prog_deps) $(2)_junk += \ diff --git a/bbl/bbl.lds b/bbl/bbl.lds index 397cd3f..624f691 100644 --- a/bbl/bbl.lds +++ b/bbl/bbl.lds @@ -12,7 +12,7 @@ SECTIONS /*--------------------------------------------------------------------*/ /* Begining of code and text segment */ - . = 0x80000000; + . = MEM_START; _ftext = .; .text : @@ -593,6 +593,7 @@ subprojects BBL_LOGO_FILE BBL_PAYLOAD BBL_ENABLE_LOGO +MEM_START WITH_ARCH RISCV EGREP @@ -672,6 +673,7 @@ enable_option_checking enable_stow with_arch enable_print_device_tree +with_mem_start enable_optional_subprojects enable_vm enable_logo @@ -1333,6 +1335,7 @@ Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-arch Set the RISC-V architecture + --with-mem-start Set physical memory start address --with-payload Set ELF payload for bbl --with-logo Specify a better logo @@ -4105,6 +4108,21 @@ LIBS="-lgcc" + +# Check whether --with-mem-start was given. +if test "${with_mem_start+set}" = set; then : + withval=$with_mem_start; + MEM_START=$with_mem_start + + +else + + MEM_START=0x80000000 + + +fi + + #------------------------------------------------------------------------- # MCPPBS subproject list #------------------------------------------------------------------------- diff --git a/configure.ac b/configure.ac index 962b2c0..4a211f6 100644 --- a/configure.ac +++ b/configure.ac @@ -97,6 +97,13 @@ AC_SUBST([LIBS], ["-lgcc"]) AC_SUBST(WITH_ARCH) AC_SUBST(host_alias) +AC_ARG_WITH([mem-start], AS_HELP_STRING([--with-mem-start], [Set physical memory start address]), + [ + AC_SUBST([MEM_START], $with_mem_start, [Physical memory start address]) + ], [ + AC_SUBST([MEM_START], [0x80000000], [Physical memory start address]) + ]) + #------------------------------------------------------------------------- # MCPPBS subproject list #------------------------------------------------------------------------- @@ -12,7 +12,7 @@ SECTIONS /*--------------------------------------------------------------------*/ /* Begining of code and text segment */ - . = 0x80000000; + . = MEM_START; _ftext = .; .text : |