This commit is contained in:
parent
6f7d7ba383
commit
5451854c9c
7 changed files with 148 additions and 12 deletions
72
nemu/configs/riscv32-lib_defconfig
Normal file
72
nemu/configs/riscv32-lib_defconfig
Normal file
|
@ -0,0 +1,72 @@
|
|||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# NEMU Configuration Menu
|
||||
#
|
||||
# CONFIG_ISA_x86 is not set
|
||||
# CONFIG_ISA_mips32 is not set
|
||||
CONFIG_ISA_riscv=y
|
||||
# CONFIG_ISA_loongarch32r is not set
|
||||
CONFIG_ISA="riscv32"
|
||||
|
||||
#
|
||||
# ISA-dependent Options for riscv
|
||||
#
|
||||
# CONFIG_RV64 is not set
|
||||
# CONFIG_RVE is not set
|
||||
# end of ISA-dependent Options for riscv
|
||||
|
||||
CONFIG_ENGINE_INTERPRETER=y
|
||||
CONFIG_ENGINE="interpreter"
|
||||
CONFIG_MODE_SYSTEM=y
|
||||
# CONFIG_TARGET_NATIVE_ELF is not set
|
||||
CONFIG_TARGET_SHARE=y
|
||||
# CONFIG_TARGET_AM is not set
|
||||
|
||||
#
|
||||
# Build Options
|
||||
#
|
||||
CONFIG_CC_GCC=y
|
||||
# CONFIG_CC_GPP is not set
|
||||
# CONFIG_CC_CLANG is not set
|
||||
CONFIG_CC="gcc"
|
||||
# CONFIG_CC_O0 is not set
|
||||
# CONFIG_CC_O1 is not set
|
||||
CONFIG_CC_O2=y
|
||||
# CONFIG_CC_O3 is not set
|
||||
CONFIG_CC_OPT="-O2"
|
||||
CONFIG_CC_LTO=y
|
||||
CONFIG_CC_DEBUG=y
|
||||
# CONFIG_CC_ASAN is not set
|
||||
# end of Build Options
|
||||
|
||||
#
|
||||
# Testing and Debugging
|
||||
#
|
||||
CONFIG_LOG_TRACE=y
|
||||
# CONFIG_LOG_INFO is not set
|
||||
# CONFIG_LOG_WARNING is not set
|
||||
# CONFIG_LOG_ERROR is not set
|
||||
CONFIG_LOG_LEVEL=4
|
||||
# CONFIG_TRACE is not set
|
||||
CONFIG_DIFFTEST_REF_PATH="none"
|
||||
CONFIG_DIFFTEST_REF_NAME="none"
|
||||
# end of Testing and Debugging
|
||||
|
||||
#
|
||||
# Memory Configuration
|
||||
#
|
||||
CONFIG_MBASE=0x80000000
|
||||
CONFIG_MSIZE=0x8000000
|
||||
CONFIG_PC_RESET_OFFSET=0
|
||||
# CONFIG_PMEM_MALLOC is not set
|
||||
CONFIG_PMEM_GARRAY=y
|
||||
CONFIG_MEM_RANDOM=y
|
||||
# end of Memory Configuration
|
||||
|
||||
#
|
||||
# Miscellaneous
|
||||
#
|
||||
CONFIG_TIMER_GETTIMEOFDAY=y
|
||||
# CONFIG_TIMER_CLOCK_GETTIME is not set
|
||||
CONFIG_RT_CHECK=y
|
||||
# end of Miscellaneous
|
|
@ -2,7 +2,8 @@
|
|||
lib,
|
||||
stdenv,
|
||||
am-kernels,
|
||||
dtc
|
||||
dtc,
|
||||
defconfig ? "alldefconfig",
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -31,27 +32,27 @@ stdenv.mkDerivation rec {
|
|||
|
||||
configurePhase = ''
|
||||
export NEMU_HOME=$(pwd)
|
||||
make alldefconfig
|
||||
make ${defconfig}
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
make
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
doCheck = (defconfig == "alldefconfig");
|
||||
checkPhase = if doCheck then ''
|
||||
export IMAGES_PATH=${am-kernels}/share/binary
|
||||
make test
|
||||
'';
|
||||
'' else "";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/lib
|
||||
make PREFIX=$out install
|
||||
'';
|
||||
|
||||
shellHook = ''
|
||||
export NEMU_HOME=$(pwd)
|
||||
export IMAGES_PATH=${am-kernels}/share/binary
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -76,8 +76,13 @@ $(BINARY):: $(OBJS) $(ARCHIVES)
|
|||
@$(LD) -o $@ $(OBJS) $(LDFLAGS) $(ARCHIVES) $(LIBS)
|
||||
|
||||
install: $(BINARY)
|
||||
ifeq ($(SHARE),1)
|
||||
@mkdir -p $(PREFIX)/lib
|
||||
@cp $(BINARY) $(PREFIX)/lib/
|
||||
else
|
||||
@mkdir -p $(PREFIX)/bin
|
||||
@cp $(BINARY) $(PREFIX)/bin/
|
||||
endif
|
||||
|
||||
clean:
|
||||
-rm -rf $(BUILD_DIR)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue