Some ELF loaders, in particular gdb's load command for dynamically
loading files into memory, which is often used to load binaries onto
FPGAs over JTAG, do not zero out BSS, leaving the memory in whatever
state it was previously in. Thus, introduce a new --enable-zero-bss
configure flag, which will include code to zero out BSS when booting.
* Added --with-abi configure option
* Revised to preserve original semantics when user specifies --with-arch but not --with-abi or when the user specifies --with-arch but not --host.
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>
Get rid of the --enable-32bit option and switch to use --with-arch,
which is more standard because it matches the GCC build.
If --with-arch is not specified, it defaults to whatever the
compiler's default is.
The --with-abi is not necessary for this project.
Unconditionally compile it with a no-float ABI.
Debian toolchain defaults to PIE, and I guess that will also be the case
of most distributions. This cause bbl to be non-functional.
This patch fixes that by adding -fno-PIE in the default CFLAGS.
* Changed install_subdir to $host_alias with substituted 64->32 instead of hardcoded riscv[32|64]-unknown-elf
* Updated readme to reflect changes in install_subdir.
I'm trying to debug some device tree problems while booting Linux and
figured it would be really nice to have access to the device tree while
trying to debug these problems. I think this might be useful for lots
of people, so I went ahead and cleaned up the code enough that it should
actaully work in most cases.
Since we don't have a coherent platform specification right now, we've
ended up with slightly different platforms between spike and our FPGA
dev kit. For now I've added an autoconf option that allows users to
select the relevant platform.
SiFive's pk fork is the second one I've had to maintain, and it's a huge
pain because people keep just leaving changes all over the tree. I want
to introduce an interface that the platform-specific details can live
behind so I don't have to keep doing these painful merges.
Now uses a modified MCPPBS. Add --host=riscv to configure path.
Front-end server now just searches PATH for riscv-pk, so just install the pk
to somewhere in your path.