diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..fe7eab6c8 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,21 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file + +version: 2 +updates: + # Update git submodules to latest version + - package-ecosystem: "gitsubmodule" + directory: "/" + schedule: + interval: "weekly" + ignore: + - dependency-name: "addins/coremark" + - dependency-name: "addins/embench-iot" + - dependency-name: "addins/verilog-ethernet" + # Update actions in the GitHub Actions workflow files + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/install.yml b/.github/workflows/install.yml index b065cd924..10e36cbab 100644 --- a/.github/workflows/install.yml +++ b/.github/workflows/install.yml @@ -19,6 +19,7 @@ on: - 'bin/wally-tool-chain-install.sh' - 'bin/wally-distro-check.sh' - 'bin/wally-package-install.sh' + - '.github/workflows/install.yml' schedule: - cron: "0 7 * * 3" # Run at 12:00 AM Pacific Time on Wednesdays @@ -38,25 +39,46 @@ jobs: - name: ubuntu-20.04 os: ubuntu-20.04 container: null + regressionFail: true - name: ubuntu-22.04 os: ubuntu-22.04 container: null - name: ubuntu-24.04 os: ubuntu-24.04 container: null + # Debian Installations + - name: debian-12 + os: ubuntu-latest + image: debian:12 + imageFamily: debian + - name: debian-11 + os: ubuntu-latest + image: debian:11 + imageFamily: debian # Red Hat Installations - name: rocky-8 os: ubuntu-latest image: rockylinux:8 + imageFamily: redhat + regressionFail: true - name: rocky-9 os: ubuntu-latest image: rockylinux:9 + imageFamily: redhat - name: almalinux-8 os: ubuntu-latest image: almalinux:8 + imageFamily: redhat + regressionFail: true - name: almalinux-9 os: ubuntu-latest image: almalinux:9 + imageFamily: redhat + # SUSE Installations + - name: opensuse-15.6 + os: ubuntu-latest + image: opensuse/leap:15.6 + imageFamily: suse # User level installation - name: user-install os: ubuntu-latest @@ -82,11 +104,18 @@ jobs: steps: # Docker images need git installed or the checkout action fails - - name: Install Dependencies for Red Hat + - name: Install Dependencies for Container Image if: ${{ matrix.image != null }} run: | - dnf install -y sudo git - dnf install curl -y --allowerasing || true + if [ ${{ matrix.imageFamily }} == "debian" ]; then + apt-get update + apt-get install -y git + elif [ ${{ matrix.imageFamily }} == "redhat" ]; then + dnf install -y git + dnf install curl -y --allowerasing || true + elif [ ${{ matrix.imageFamily }} == "suse" ]; then + zypper install -y git + fi # Only clone submodules needed for standard tests/regression to save space - uses: actions/checkout@v4 - name: Clone Necessary Submodules @@ -106,7 +135,9 @@ jobs: # Run main tool chain installation script, either as a user or system wide - name: Install run: | - if [ -z ${{ matrix.user }} ]; then + if [ ! -z ${{ matrix.image }} ]; then + ./bin/wally-tool-chain-install.sh --clean ${{ matrix.riscv_path }} + elif [ -z ${{ matrix.user }} ]; then sudo ./bin/wally-tool-chain-install.sh --clean ${{ matrix.riscv_path }} else sudo ./bin/wally-package-install.sh @@ -136,16 +167,16 @@ jobs: # Only the linux-testvectors are needed, so remove the rest of the buildroot to save space - name: Remove Buildroot to Save Space run: | - sudo rm -rf $RISCV/buildroot/output/build + rm -rf $RISCV/buildroot/output/build || sudo rm -rf $RISCV/buildroot/output/build df -h # Run standard regression, skipping distros that are known to be broken with Verilator - name: Regression - if: ${{ matrix.name != 'ubuntu-20.04' && matrix.name != 'rocky-8' && matrix.name != 'almalinux-8'}} + if: ${{ matrix.regressionFail != true }} run: | source setup.sh regression-wally - name: Lint + wsim Test Only (for distros with broken Verilator sim) - if: ${{ matrix.name == 'ubuntu-20.04' || matrix.name == 'rocky-8' || matrix.name == 'almalinux-8'}} + if: ${{ matrix.regressionFail == true }} run: | source setup.sh mkdir -p $WALLY/sim/verilator/logs/ diff --git a/.gitignore b/.gitignore index 64fbbbf23..f23aec9b5 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ *.map *.elf* *.list +*.memfile # General directories to ignore .vscode/ @@ -33,6 +34,7 @@ tests/fp/combined_IF_vectors/IF_vectors/*.tv tests/custom/*/*/ tests/custom/*/*/*.memfile sim/tests/riscvdv +testbench/trek_files/uvm_output # Linux linux/buildroot @@ -153,6 +155,8 @@ examples/C/mcmodel/mcmodel_medany examples/C/mcmodel/mcmodel_medlow examples/C/sum/sum examples/C/sum_mixed/sum_mixed +examples/C/hello/hello +examples/C/gpio/gpio examples/asm/sumtest/sumtest examples/asm/example/example examples/asm/trap/trap diff --git a/.gitmodules b/.gitmodules index 34a374174..672ec445f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,9 +8,6 @@ [submodule "addins/coremark"] path = addins/coremark url = https://github.com/eembc/coremark -[submodule "addins/FreeRTOS-Kernel"] - path = addins/FreeRTOS-Kernel - url = https://github.com/FreeRTOS/FreeRTOS-Kernel.git [submodule "addins/vivado-boards"] path = addins/vivado-boards url = https://github.com/Digilent/vivado-boards/ @@ -29,9 +26,6 @@ path = addins/cvw-arch-verif url = https://github.com/openhwgroup/cvw-arch-verif ignore = dirty -[submodule "addins/riscvISACOV"] - path = addins/riscvISACOV - url = https://github.com/riscv-verification/riscvISACOV.git [submodule "addins/berkeley-softfloat-3"] path = addins/berkeley-softfloat-3 url = https://github.com/ucb-bar/berkeley-softfloat-3.git diff --git a/Makefile b/Makefile index 323b18b1d..b03edea98 100644 --- a/Makefile +++ b/Makefile @@ -6,9 +6,9 @@ MAKEFLAGS += --output-sync --no-print-directory SIM = ${WALLY}/sim -.PHONY: all riscof testfloat combined_IF_vectors zsbl benchmarks coremark embench coverage clean +.PHONY: all riscof testfloat combined_IF_vectors zsbl benchmarks coremark embench coverage cvw-arch-verif clean -all: riscof testfloat combined_IF_vectors zsbl coverage # benchmarks +all: riscof testfloat combined_IF_vectors zsbl coverage cvw-arch-verif # benchmarks # riscof builds the riscv-arch-test and wally-riscv-arch-test suites riscof: @@ -36,6 +36,15 @@ embench: coverage: $(MAKE) -C tests/coverage +cvw-arch-verif: + $(MAKE) -C ${WALLY}/addins/cvw-arch-verif + +# Requires a license for the Breker tool. See tests/breker/README.md for details +breker: + $(MAKE) -C ${WALLY}/testbench/trek_files + $(MAKE) -C ${WALLY}/tests/breker + clean: $(MAKE) clean -C sim $(MAKE) clean -C ${WALLY}/tests/fp + $(MAKE) clean -C ${WALLY}/addins/cvw-arch-verif diff --git a/README.md b/README.md index e302e33f6..32b93d36d 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,19 @@ Then fork and clone the repo, source setup, make the tests and run regression fi ``` -9. Build the tests and run a regression simulation to prove everything is installed. Building tests may take a while. +9. Try compiling the HelloWally program and simulating it on the SystemVerilog with Verilator and on the Spike simulator. + ``` + $ cd examples/C/hello + $ make + $ wsim --sim verilator rv64gc --elf hello + Hello Wally! + 0 1 2 3 4 5 6 7 8 9 + $ spike hello + Hello Wally! + 0 1 2 3 4 5 6 7 8 9 + ``` + +10. Build the tests and run a regression simulation to prove everything is installed. Building tests may take a while. ```bash $ make --jobs @@ -71,7 +83,8 @@ Then fork and clone the repo, source setup, make the tests and run regression > This section describes the open source toolchain installation. ### Compatibility -The current version of the toolchain has been tested on Ubuntu (versions 20.04 LTS, 22.04 LTS, and 24.04 LTS) and on Red Hat/Rocky/AlmaLinux (versions 8 and 9). +The current version of the toolchain has been tested on Ubuntu (versions 20.04 LTS, 22.04 LTS, and 24.04 LTS), Debian (versions 11 and 12), Red Hat/Rocky/AlmaLinux (versions 8 and 9), +and SUSE version 15.6. Only the latest minor release of each major version is tested. > [!WARNING] > - Ubuntu 22.04LTS is incompatible with Synopsys Design Compiler. @@ -135,11 +148,17 @@ export VCS_HOME=.. # Change this for your path to Synopsys VCS Electronic Design Automation (EDA) tools are vital to implementations of System on Chip architectures as well as validating different designs. Open-source and commercial tools exist for multiple strategies and although the one can spend a lifetime using combinations of different tools, only a small subset of tools is utilized for this text. The tools are chosen because of their ease in access as well as their repeatability for accomplishing many of the tasks utilized to design Wally. It is anticipated that additional tools may be documented later after this is text is published to improve use and access. -Siemens Questa is the primary tool utilized for simulating and validating Wally. For logic synthesis, you will need Synopsys Design Compiler. Questa and Design Compiler are commercial tools that require an educational or commercial license. +Verilator is an open-source Verilog simulator. It is fast and free. Run Wally on the riscv-arch-test suite using Verilator with: + +``` +regression-wally +``` + +Running code or functional coverage simulations or lock-step presently require commercial tools. Siemens Questa is the primary tool utilized for simulating and validating Wally. Synopsys VCS also can run regression-wally and lock-step simulation. For logic synthesis, you will need Synopsys Design Compiler. Questa and Design Compiler are commercial tools that require an educational or commercial license. Note: Some EDA tools utilize `LM_LICENSE_FILE` for their environmental variable to point to their license server. Some operating systems may also utilize `MGLS_LICENSE_FILE` instead, therefore, it is important to read the user manual on the preferred environmental variable required to point to a user’s license file. Although there are different mechanisms to allow licenses to work, many companies commonly utilize the FlexLM (i.e., Flex-enabled) license server manager that runs off a node locked license. -Although most EDA tools are Linux-friendly, they tend to have issues when not installed on recommended OS flavors. Both Red Hat Enterprise Linux and SUSE Linux products typically tend to be recommended for installing commercial-based EDA tools and are recommended for utilizing complex simulation and architecture exploration. Questa can also be installed on Microsoft Windows as well as Mac OS with a Virtual Machine such as Parallels. +Although most EDA tools are Linux-friendly, they tend to have issues when not installed on recommended OS flavors. Red Hat Enterprise Linux (and its free Rocky clone) and SUSE Linux products typically tend to be recommended for installing commercial-based EDA tools and are recommended for utilizing complex simulation and architecture exploration. ### Siemens Questa @@ -208,26 +227,28 @@ This utility will take up approximately 100 GB on your hard drive. You can also wsim runs one of multiple simulators, Questa, VCS, or Verilator using a specific configuration and either a suite of tests or a specific elf file. The general syntax is -`wsim [--options]` +`wsim [--options]` Parameters and options: ``` -h, --help show this help message and exit +--elf ELF, -e ELF ELF File name; use if name does not end in .elf --sim {questa,verilator,vcs}, -s {questa,verilator,vcs} Simulator --tb {testbench,testbench_fp}, -t {testbench,testbench_fp} Testbench --gui, -g Simulate with GUI ---coverage, -c Code & Functional Coverage ---fcov, -f Code & Functional Coverage +--ccov, -c Code Coverage +--fcov, -f Functional Coverage with cvw-arch-verif, implies lockstep --args ARGS, -a ARGS Optional arguments passed to simulator via $value$plusargs +--params PARAMS, -p PARAMS Optional top-level parameter overrides of the form param=value +--define DEFINE, -d DEFINE Optional define macros passed to simulator --vcd, -v Generate testbench.vcd --lockstep, -l Run ImperasDV lock, step, and compare. ---locksteplog LOCKSTEPLOG, -b LOCKSTEPLOG Retired instruction number to be begin logging. ---covlog COVLOG, -d COVLOG Log coverage after n instructions. ---elfext ELFEXT, -e ELFEXT When searching for elf files only includes ones which end in this extension +--lockstepverbose, -lv Run ImperasDV lock, step, and compare with tracing enabled +--rvvi, -r Simulate rvvi hardware interface and ethernet. ``` -Run basic test with questa +Run basic test with Questa ```bash wsim rv64gc arch64i @@ -239,26 +260,26 @@ Run Questa with gui wsim rv64gc wally64priv --gui ``` -Run lockstep against ImperasDV with a single elf file in the gui. Lockstep requires single elf. +Run basic test with Verilator ```bash -wsim rv64gc ../../tests/riscof/work/riscv-arch-test/rv64i_m/I/src/add-01.S/ref/ref.elf --lockstep --gui +wsim rv32i arch32i --sim verilator ``` -Run lockstep against ImperasDV with a single elf file. Compute coverage. +Run lockstep against ImperasDV with a single elf file in the gui. Lockstep requires single elf. ```bash -wsim rv64gc ../../tests/riscof/work/riscv-arch-test/rv64i_m/I/src/add-01.S/ref/ref.elf --lockstep --coverage +wsim rv64gc $WALLY/tests/riscof/work/riscv-arch-test/rv64i_m/I/src/add-01.S/ref/ref.elf --lockstep --gui ``` -Run lockstep against ImperasDV with directory file. +Run lockstep against ImperasDV with a single elf file. Collect functional coverage. ```bash -wsim rv64gc ../../tests/riscof/work/riscv-arch-test/rv64i_m/I/src/ --lockstep +wsim rv64gc $WALLY/addins/cvw-arch-verif/tests/rv64/Zicsr/WALLY-COV-ALL.elf --fcov ``` -Run lockstep against ImperasDV with directory file and specify specific extension. +Run Linux boot simulation in lock step between Wally and ImperasDV ```bash -wsim rv64gc ../../tests/riscof/work/riscv-arch-test/rv64i_m/I/src/ --lockstep --elfext ref.elf +wsim buildroot buildroot --args +INSTR_LIMIT=600000000 --lockstep ``` diff --git a/addins/FreeRTOS-Kernel b/addins/FreeRTOS-Kernel deleted file mode 160000 index 17a46c252..000000000 --- a/addins/FreeRTOS-Kernel +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 17a46c252f2f237e03a6768c5d15731215322f31 diff --git a/addins/cvw-arch-verif b/addins/cvw-arch-verif index 6d658b7b4..66b675017 160000 --- a/addins/cvw-arch-verif +++ b/addins/cvw-arch-verif @@ -1 +1 @@ -Subproject commit 6d658b7b42c83fd584008d72964cc75d0876b769 +Subproject commit 66b675017878032974c537ab7aa81758b9812530 diff --git a/addins/riscv-arch-test b/addins/riscv-arch-test index a079bb263..eeffdf802 160000 --- a/addins/riscv-arch-test +++ b/addins/riscv-arch-test @@ -1 +1 @@ -Subproject commit a079bb263b04dde4028efee134f3a4e42799a5ca +Subproject commit eeffdf802c117f592b30e380b59caf48da384e76 diff --git a/addins/riscvISACOV b/addins/riscvISACOV deleted file mode 160000 index ac9fa2d38..000000000 --- a/addins/riscvISACOV +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ac9fa2d386c0cb2f44e1e1e83a555d585034dfa3 diff --git a/addins/vivado-boards b/addins/vivado-boards index e5f0728cd..d1898bd01 160000 --- a/addins/vivado-boards +++ b/addins/vivado-boards @@ -1 +1 @@ -Subproject commit e5f0728cd284d10080ae8eb03fc86e7b5eafcb72 +Subproject commit d1898bd01f25d4965f9e50659bbdf70365745a06 diff --git a/bin/regression-wally b/bin/regression-wally index f53940d89..185f03826 100755 --- a/bin/regression-wally +++ b/bin/regression-wally @@ -33,8 +33,8 @@ tests = [ "arch32i", "arch32priv", "arch32c", "arch32m", "arch32a_amo", "arch32zifencei", "arch32zicond", "arch32zba", "arch32zbb", "arch32zbc", "arch32zbs", "arch32zfh", "arch32zfh_fma", "arch32zfh_divsqrt", "arch32zfaf", "arch32zfad", "wally32a_lrsc", "wally32priv", "wally32periph", "arch32zcb", - "arch32zbkb", "arch32zbkc", "arch32zbkx", "arch32zknd", "arch32zkne", "arch32zknh"]], - ["rv64i", ["arch64i"]] + "arch32zbkb", "arch32zbkc", "arch32zbkx", "arch32zknd", "arch32zkne", "arch32zknh", "arch32vm_sv32", "arch32pmp"]], + ["rv64i", ["arch64i"]] ] # Separate test for short buildroot run through OpenSBI UART output @@ -60,7 +60,7 @@ tests64gc_nofp = [ ["rv64gc", ["coverage64gc", "arch64i", "arch64priv", "arch64c", "arch64m", "arch64zcb", "arch64zifencei", "arch64zicond", "arch64a_amo", "wally64a_lrsc", "wally64periph", "wally64priv", "arch64zbkb", "arch64zbkc", "arch64zbkx", "arch64zknd", "arch64zkne", "arch64zknh", - "arch64zba", "arch64zbb", "arch64zbc", "arch64zbs"]] # add when working: "arch64zicboz" + "arch64zba", "arch64zbb", "arch64zbc", "arch64zbs", "arch64pmp"]] # add when working: "arch64zicboz" ] tests64gc_fp = [ @@ -233,7 +233,6 @@ bpredtests = [ # list of tests not supported by ImperasDV yet that should be waived during lockstep testing lockstepwaivers = [ "WALLY-q-01.S_ref.elf", # Q extension is not supported by ImperasDV - "coverage_tlbMisaligned.elf", # Issue 976: ImperasDV bug disagrees with Wally related to misaligned pages when PBMT makes page uncachable "WALLY-cbom-01.S_ref.elf" #, # cbom extension is not supported by ImperasDV because there is no cache model in ImperasDV ] @@ -265,8 +264,8 @@ class bcolors: def addTests(tests, sim): sim_logdir = WALLY+ "/sim/" + sim + "/logs/" for test in tests: - config = test[0]; - suites = test[1]; + config = test[0] + suites = test[1] if (len(test) >= 3): args = " --args " + " ".join(test[2]) else: @@ -291,18 +290,39 @@ def addTests(tests, sim): configs.append(tc) -def addLockstepTestsByDir(dir, config, sim, fcovMode): - sim_logdir = WALLY+ "/sim/" + sim + "/logs/" - if (coverStr != ""): # use --fcov in place of --lockstep - cmdPrefix="wsim --sim " + sim + " " + coverStr + " " + config - else: - cmdPrefix="wsim --lockstep --sim " + sim + " " + config - if (os.path.isdir(dir)): +def addTestsByDir(dir, config, sim, lockstepMode=0, brekerMode=0): + if os.path.isdir(dir): + sim_logdir = WALLY+ "/sim/" + sim + "/logs/" + if coverStr == "--fcov": # use --fcov in place of --lockstep + cmdPrefix="wsim --sim " + sim + " " + coverStr + " " + config + gs="Mismatches : 0" + if ("cvw-arch-verif/tests" in dir and not "priv" in dir): + fileEnd = "ALL.elf" + else: + fileEnd = ".elf" + elif coverStr == "--ccov": + cmdPrefix="wsim --sim " + sim + " " + coverStr + " " + config + gs="Single Elf file tests are not signatured verified." + if ("cvw-arch-verif/tests" in dir and not "priv" in dir): + fileEnd = "ALL.elf" + else: + fileEnd = ".elf" + elif lockstepMode: + cmdPrefix="wsim --lockstep --sim " + sim + " " + config + gs="Mismatches : 0" + fileEnd = ".elf" + elif brekerMode: + cmdPrefix="wsim --sim " + sim + " " + config + gs="# trek: info: summary: Test PASSED" + fileEnd = ".elf" + else: + cmdPrefix="wsim --sim " + sim + " " + config + gs="Single Elf file tests are not signatured verified." + fileEnd = ".elf" for dirpath, dirnames, filenames in os.walk(os.path.abspath(dir)): for file in filenames: # fcov lockstep only runs on WALLY-COV-ALL.elf files; other lockstep runs on all files - if ((file.endswith(".elf") and (fcovMode == 0 or "tests/priv" in dir)) or - (file.endswith("ALL.elf") and fcovMode == 1)): + if file.endswith(fileEnd): fullfile = os.path.join(dirpath, file) fields = fullfile.rsplit('/', 3) if (fields[2] == "ref"): @@ -318,7 +338,7 @@ def addLockstepTestsByDir(dir, config, sim, fcovMode): name=file, variant=config, cmd=cmdPrefix + " " + fullfile + " > " + sim_log, - grepstr="Mismatches : 0", + grepstr=gs, grepfile = sim_log) configs.append(tc) else: @@ -379,14 +399,14 @@ parser.add_argument("--fcov", help="Functional Coverage", action="store_true") parser.add_argument("--nightly", help="Run large nightly regression", action="store_true") parser.add_argument("--buildroot", help="Include Buildroot Linux boot test (takes many hours, done along with --nightly)", action="store_true") parser.add_argument("--testfloat", help="Include Testfloat floating-point unit tests", action="store_true") -parser.add_argument("--fp", help="Include floating-point tests in coverage (slower runtime)", action="store_true") +parser.add_argument("--fp", help="Include floating-point tests in coverage (slower runtime)", action="store_true") # Currently not used +parser.add_argument("--breker", help="Run Breker tests", action="store_true") # Requires a license for the breker tool. See tests/breker/README.md for details parser.add_argument("--dryrun", help="Print commands invoked to console without running regression", action="store_true") args = parser.parse_args() if (args.nightly): - nightMode = "--nightly"; + nightMode = "--nightly" sims = ["questa", "verilator", "vcs"] # exercise all simulators; can omit a sim if no license is available -# sims = ["questa", "verilator"] # exercise all simulators; can omit a sim if no license is available else: nightMode = "" sims = [defaultsim] @@ -396,7 +416,7 @@ if (args.ccov): # only run RV64GC tests in coverage mode elif (args.fcov): # only run RV64GC tests in lockstep in coverage mode coverStr = '--fcov' else: - coverStr = '' + coverStr = '' # Run Lint @@ -417,16 +437,16 @@ if (args.buildroot): addTests(tests_buildrootbootlockstep, lockstepsim) # lockstep with Questa and ImperasDV runs overnight if (args.ccov): # only run RV64GC tests on Questa in code coverage mode - addTests(tests64gc_nofp, coveragesim) - if (args.fp): - addTests(tests64gc_fp, coveragesim) + addTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/lockstep/rv64/", "rv64gc", coveragesim) + addTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/lockstep/priv/rv64/", "rv64gc", coveragesim) + addTestsByDir(WALLY+"/tests/coverage/", "rv64gc", coveragesim) elif (args.fcov): # run tests in lockstep in functional coverage mode - addLockstepTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/rv32/", "rv32gc", coveragesim, 1) - addLockstepTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/rv64/", "rv64gc", coveragesim, 1) - addLockstepTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/priv/rv32/", "rv32gc", coveragesim, 1) - addLockstepTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/priv/rv64/", "rv64gc", coveragesim, 1) - #addLockstepTestsByDir(WALLY+"/tests/riscof/work/wally-riscv-arch-test/rv64i_m/privilege/src/", "rv64gc", coveragesim, 0) - + addTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/lockstep/rv32/", "rv32gc", coveragesim) + addTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/lockstep/rv64/", "rv64gc", coveragesim) + addTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/lockstep/priv/rv32/", "rv32gc", coveragesim) + addTestsByDir(WALLY+"/addins/cvw-arch-verif/tests/lockstep/priv/rv64/", "rv64gc", coveragesim) +elif (args.breker): + addTestsByDir(WALLY+"/tests/breker/work", "breker", "questa", brekerMode=1) else: for sim in sims: if (not (args.buildroot and sim == lockstepsim)): # skip short buildroot sim if running long one @@ -437,9 +457,9 @@ else: # run derivative configurations and lockstep tests in nightly regression if (args.nightly): - addLockstepTestsByDir(WALLY+"/tests/coverage", "rv64gc", lockstepsim, 0) - addLockstepTestsByDir(WALLY+"/tests/riscof/work/wally-riscv-arch-test/rv64i_m", "rv64gc", lockstepsim, 0) - addLockstepTestsByDir(WALLY+"/tests/riscof/work/wally-riscv-arch-test/rv32i_m", "rv32gc", lockstepsim, 0) + addTestsByDir(WALLY+"/tests/coverage", "rv64gc", lockstepsim, lockstepMode=1) + addTestsByDir(WALLY+"/tests/riscof/work/wally-riscv-arch-test/rv64i_m", "rv64gc", lockstepsim, lockstepMode=1) + addTestsByDir(WALLY+"/tests/riscof/work/wally-riscv-arch-test/rv32i_m", "rv32gc", lockstepsim, lockstepMode=1) addTests(derivconfigtests, defaultsim) # addTests(bpredtests, defaultsim) # This is currently broken in regression due to something related to the new wsim script. @@ -540,17 +560,17 @@ def main(): else: ImperasDVLicenseCount = 10000 # effectively no license limit for non-lockstep tests with Pool(processes=min(len(configs),multiprocessing.cpu_count(), ImperasDVLicenseCount)) as pool: - num_fail = 0 - results = {} - for config in configs: - results[config] = pool.apply_async(run_test_case,(config, args.dryrun)) - for (config,result) in results.items(): - try: - num_fail+=result.get(timeout=TIMEOUT_DUR) - except TimeoutError: - pool.terminate() - num_fail+=1 - print(f"{bcolors.FAIL}%s: Timeout - runtime exceeded %d seconds{bcolors.ENDC}" % (config.cmd, TIMEOUT_DUR)) + num_fail = 0 + results = {} + for config in configs: + results[config] = pool.apply_async(run_test_case,(config, args.dryrun)) + for (config,result) in results.items(): + try: + num_fail+=result.get(timeout=TIMEOUT_DUR) + except TimeoutError: + pool.terminate() + num_fail+=1 + print(f"{bcolors.FAIL}%s: Timeout - runtime exceeded %d seconds{bcolors.ENDC}" % (config.cmd, TIMEOUT_DUR)) # Coverage report if args.ccov: diff --git a/bin/wally-distro-check.sh b/bin/wally-distro-check.sh index 92d284b05..2f24c3daf 100755 --- a/bin/wally-distro-check.sh +++ b/bin/wally-distro-check.sh @@ -41,52 +41,96 @@ ENDC='\033[0m' # Reset to default color # Print section header section_header() { if tput cols > /dev/null 2>&1; then - printf "${SECTION_COLOR}%$(tput cols)s" | tr ' ' '#' - printf "%$(tput cols)s" | tr ' ' '#' - echo -e "$1" - printf "%$(tput cols)s" | tr ' ' '#' - printf "%$(tput cols)s${ENDC}" | tr ' ' '#' + printf "${SECTION_COLOR}%$(tput cols)s\n" | tr ' ' '#' + printf "%$(tput cols)s\n" | tr ' ' '#' + printf "%s\n" "$1" + printf "%$(tput cols)s\n" | tr ' ' '#' + printf "%$(tput cols)s${ENDC}\n" | tr ' ' '#' else - echo -e "${SECTION_COLOR}$1${ENDC}" + printf "${SECTION_COLOR}%s\n${ENDC}" "$1" fi } section_header "Checking System Requirements and Configuring Installation" # Get distribution information -test -e /etc/os-release && os_release="/etc/os-release" || os_release="/usr/lib/os-release" -source "$os_release" +if [ -f /etc/os-release ]; then + source /etc/os-release +else + printf "${FAIL_COLOR}%s\n${ENDC}" "/etc/os-release file not found. Distribution unknown." + PRETTY_NAME=UNKNOWN +fi # Check for compatible distro if [[ "$ID" == rhel || "$ID_LIKE" == *rhel* ]]; then export FAMILY=rhel if [ "$ID" != rhel ] && [ "$ID" != rocky ] && [ "$ID" != almalinux ]; then - printf "${WARNING_COLOR}%s\n${ENDC}" "For Red Hat family distros, the Wally install script has only been tested on RHEL, Rocky Linux," \ + printf "${WARNING_COLOR}%s%s\n${ENDC}" "For Red Hat family distros, the Wally installation script has only been tested on RHEL, Rocky Linux," \ " and AlmaLinux. Your distro is $PRETTY_NAME. The regular Red Hat install will be attempted, but there may be issues." fi export RHEL_VERSION="${VERSION_ID:0:1}" if (( RHEL_VERSION < 8 )); then - echo "${FAIL_COLOR}The Wally install script is only compatible with versions 8 and 9 of RHEL, Rocky Linux, and AlmaLinux. You have version $VERSION.${ENDC}" + printf "${FAIL_COLOR}%s\n${ENDC}" "The Wally installation script is only compatible with versions 8 and 9 of RHEL, Rocky Linux, and AlmaLinux. You have version $VERSION." exit 1 fi elif [[ "$ID" == ubuntu || "$ID_LIKE" == *ubuntu* ]]; then export FAMILY=ubuntu if [ "$ID" != ubuntu ]; then - printf "${WARNING_COLOR}%s\n${ENDC}" "For Ubuntu family distros, the Wally install script has only been tested on standard Ubuntu. Your distro " \ + printf "${WARNING_COLOR}%s%s\n${ENDC}" "For Ubuntu family distros, the Wally installation script is only tested on standard Ubuntu. Your distro " \ "is $PRETTY_NAME. The regular Ubuntu install will be attempted, but there may be issues." + # Ubuntu derivates may use different version numbers. Attempt to derive version from Ubuntu codename + case "$UBUNTU_CODENAME" in + noble) + export UBUNTU_VERSION=24 + ;; + jammy) + export UBUNTU_VERSION=22 + ;; + focal) + export UBUNTU_VERSION=20 + ;; + *) + printf "${FAIL_COLOR}%s\n${ENDC}" "Unable to determine which base Ubuntu version you are using." + exit 1 + ;; + esac + echo "Detected Ubuntu derivative baesd on Ubuntu $UBUNTU_VERSION.04." + else + export UBUNTU_VERSION="${VERSION_ID:0:2}" fi - export UBUNTU_VERSION="${VERSION_ID:0:2}" if (( UBUNTU_VERSION < 20 )); then - echo "${FAIL_COLOR}The Wally install script has only been tested with versions 20.04 LTS, 22.04 LTS, and 24.04 LTS of Ubuntu. You have version $VERSION.${ENDC}" + printf "${FAIL_COLOR}%s\n${ENDC}" "The Wally installation script has only been tested with Ubuntu versions 20.04 LTS, 22.04 LTS, and 24.04 LTS. You have version $VERSION." + exit 1 + fi +elif [[ "$ID" == debian || "$ID_LIKE" == *debian* ]]; then + export FAMILY=debian + if [ "$ID" != debian ]; then + printf "${WARNING_COLOR}%s%s\n${ENDC}" "For Debian family distros, the Wally installation script has only been tested on standard Debian (and Ubuntu). Your distro " \ + "is $PRETTY_NAME. The regular Debian install will be attempted, but there may be issues." + fi + export DEBIAN_VERSION="$VERSION_ID" + if (( DEBIAN_VERSION < 11 )); then + printf "${FAIL_COLOR}%s\n${ENDC}" "The Wally installation script has only been tested with Debian versions 11 and 12. You have version $VERSION." + exit 1 + fi +elif [[ "$ID" == opensuse-leap || "$ID" == sles || "$ID_LIKE" == *suse* ]]; then + export FAMILY=suse + if [[ "$ID" != opensuse-leap && "$ID" != sles ]]; then + printf "${WARNING_COLOR}%s%s\n${ENDC}" "For SUSE family distros, the Wally installation script has only been tested on OpenSUSE Leap and SLES. Your distro " \ + "is $PRETTY_NAME. The regular SUSE install will be attempted, but there may be issues. If you are using OpenSUSE Tumbleweed, the version check will fail." + fi + export SUSE_VERSION="${VERSION_ID//.}" + if (( SUSE_VERSION < 156 )); then + printf "${FAIL_COLOR}%s\n${ENDC}" "The Wally installation script has only been tested with SUSE version 15.6. You have version $VERSION." exit 1 fi else - printf "${FAIL_COLOR}%s\n${ENDC}" "The Wally install script is currently only compatible with Ubuntu and Red Hat family " \ + printf "${FAIL_COLOR}%s%s%s\n${ENDC}" "The Wally installation script is currently only compatible with Ubuntu, Debian, SUSE, and Red Hat family " \ "(RHEL, Rocky Linux, or AlmaLinux) distros. Your detected distro is $PRETTY_NAME. You may try manually running the " \ "commands in this script, but it is likely that some will need to be altered." exit 1 fi -echo -e "${OK_COLOR}${UNDERLINE}Detected information${ENDC}" +printf "${OK_COLOR}${UNDERLINE}%s\n${ENDC}" "Detected information" echo "Distribution: $PRETTY_NAME" echo "Version: $VERSION" diff --git a/bin/wally-package-install.sh b/bin/wally-package-install.sh index 1fc003189..d7ca0a718 100755 --- a/bin/wally-package-install.sh +++ b/bin/wally-package-install.sh @@ -43,55 +43,83 @@ if [ -z "$FAMILY" ]; then fi -# Generate list of packages to install and package manager commands based on distro # Packages are grouped by which tool requires them. If multiple tools need a package, it is included in the first tool only -if [ "$FAMILY" == rhel ]; then - PYTHON_VERSION=python3.12 - PACKAGE_MANAGER="dnf" - UPDATE_COMMAND="sudo $PACKAGE_MANAGER update -y" - GENERAL_PACKAGES+=(which rsync git make cmake "$PYTHON_VERSION" "$PYTHON_VERSION"-pip curl wget tar pkgconf-pkg-config dialog mutt ssmtp) - GNU_PACKAGES+=(autoconf automake libmpc-devel mpfr-devel gmp-devel gawk bison flex texinfo gperf libtool patchutils bc gcc gcc-c++ zlib-devel expat-devel libslirp-devel) - QEMU_PACKAGES+=(glib2-devel libfdt-devel pixman-devel bzip2 ninja-build) - SPIKE_PACKAGES+=(dtc boost-regex boost-system) - VERILATOR_PACKAGES+=(help2man perl clang ccache gperftools numactl mold) - BUILDROOT_PACKAGES+=(ncurses-base ncurses ncurses-libs ncurses-devel gcc-gfortran cpio) # gcc-gfortran is only needed for compiling spec benchmarks on buildroot linux - # Extra packages not availale in rhel8, nice for Verilator - if (( RHEL_VERSION >= 9 )); then - VERILATOR_PACKAGES+=(perl-doc) - fi - # A newer version of gcc is required for qemu - OTHER_PACKAGES=(gcc-toolset-13) -elif [ "$FAMILY" == ubuntu ]; then - if (( UBUNTU_VERSION >= 24 )); then +# Packages that are constant across distros +GENERAL_PACKAGES+=(rsync git make cmake curl wget tar unzip bzip2 dialog mutt) +GNU_PACKAGES+=(autoconf automake gawk bison flex texinfo gperf libtool patchutils bc gcc) +VERILATOR_PACKAGES+=(help2man perl clang ccache numactl) +BUILDROOT_PACKAGES+=(cpio) + +# Distro specific packages and package manager +case "$FAMILY" in + rhel) PYTHON_VERSION=python3.12 - VERILATOR_PACKAGES+=(mold) # Not availale in Ubuntu 20.04, nice for Verilator - elif (( UBUNTU_VERSION >= 22 )); then - PYTHON_VERSION=python3.11 - VERILATOR_PACKAGES+=(mold) # Not availale in Ubuntu 20.04, nice for Verilator - elif (( UBUNTU_VERSION >= 20 )); then - PYTHON_VERSION=python3.9 - OTHER_PACKAGES+=(gcc-10 g++-10 cpp-10) # Newer version of gcc needed for Verilator - fi - PACKAGE_MANAGER="DEBIAN_FRONTEND=noninteractive apt-get" - UPDATE_COMMAND="sudo $PACKAGE_MANAGER update -y && sudo $PACKAGE_MANAGER upgrade -y --with-new-pkgs" - GENERAL_PACKAGES+=(rsync git make cmake "$PYTHON_VERSION" python3-pip "$PYTHON_VERSION"-venv curl wget tar pkg-config dialog mutt ssmtp) - GNU_PACKAGES+=(autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat1-dev ninja-build libglib2.0-dev libslirp-dev) - QEMU_PACKAGES+=(libfdt-dev libpixman-1-dev) - SPIKE_PACKAGES+=(device-tree-compiler libboost-regex-dev libboost-system-dev) - VERILATOR_PACKAGES+=(help2man perl g++ clang ccache libunwind-dev libgoogle-perftools-dev numactl perl-doc libfl2 libfl-dev zlib1g) - BUILDROOT_PACKAGES+=(ncurses-base ncurses-bin libncurses-dev gfortran cpio) # gfortran is only needed for compiling spec benchmarks on buildroot linux - VIVADO_PACKAGES+=(libncurses*) # Vivado hangs on the third stage of installation without this -fi + PACKAGE_MANAGER="dnf -y" + UPDATE_COMMAND="$PACKAGE_MANAGER update" + GENERAL_PACKAGES+=(which "$PYTHON_VERSION" "$PYTHON_VERSION"-pip pkgconf-pkg-config gcc-c++ ssmtp) + GNU_PACKAGES+=(libmpc-devel mpfr-devel gmp-devel zlib-devel expat-devel libslirp-devel ninja-build) + QEMU_PACKAGES+=(glib2-devel libfdt-devel pixman-devel) + SPIKE_PACKAGES+=(dtc boost-regex boost-system) + VERILATOR_PACKAGES+=(gperftools mold) + BUILDROOT_PACKAGES+=(ncurses ncurses-base ncurses-libs ncurses-devel gcc-gfortran) # gcc-gfortran is only needed for compiling spec benchmarks on buildroot linux + # Extra packages not availale in rhel8, nice for Verilator + if (( RHEL_VERSION >= 9 )); then + VERILATOR_PACKAGES+=(perl-doc) + fi + # A newer version of gcc is required for qemu + OTHER_PACKAGES+=(gcc-toolset-13) + ;; + ubuntu | debian) + if (( UBUNTU_VERSION >= 24 )); then + PYTHON_VERSION=python3.12 + elif (( UBUNTU_VERSION >= 22 )); then + PYTHON_VERSION=python3.11 + elif (( UBUNTU_VERSION >= 20 )); then + PYTHON_VERSION=python3.9 + OTHER_PACKAGES+=(gcc-10 g++-10 cpp-10) # Newer version of gcc needed for Verilator + elif (( DEBIAN_VERSION >= 12 )); then + PYTHON_VERSION=python3.11 + elif (( DEBIAN_VERSION >= 11 )); then + PYTHON_VERSION=python3.9 + fi + # Mold not available in older distros for Verilator, will download binary instead + if (( UBUNTU_VERSION != 20 && DEBIAN_VERSION != 11 )); then + VERILATOR_PACKAGES+=(mold) + fi + PACKAGE_MANAGER="DEBIAN_FRONTEND=noninteractive apt-get -y" + UPDATE_COMMAND="$PACKAGE_MANAGER update && $PACKAGE_MANAGER upgrade --with-new-pkgs" + GENERAL_PACKAGES+=("$PYTHON_VERSION" python3-pip "$PYTHON_VERSION"-venv pkg-config g++ ssmtp) + GNU_PACKAGES+=(autotools-dev libmpc-dev libmpfr-dev libgmp-dev build-essential ninja-build zlib1g-dev libexpat1-dev libglib2.0-dev libslirp-dev) + QEMU_PACKAGES+=(libfdt-dev libpixman-1-dev) + SPIKE_PACKAGES+=(device-tree-compiler libboost-regex-dev libboost-system-dev) + VERILATOR_PACKAGES+=(libunwind-dev libgoogle-perftools-dev perl-doc libfl2 libfl-dev zlib1g) + BUILDROOT_PACKAGES+=(ncurses-base ncurses-bin libncurses-dev gfortran) # gfortran is only needed for compiling spec benchmarks on buildroot linux + VIVADO_PACKAGES+=(libncurses*) # Vivado hangs on the third stage of installation without this + ;; + suse) + PYTHON_VERSION=python3.12 + PYTHON_VERSION_PACKAGE=python312 + PACKAGE_MANAGER="zypper -n" + UPDATE_COMMAND="$PACKAGE_MANAGER update" + GENERAL_PACKAGES+=("$PYTHON_VERSION_PACKAGE" "$PYTHON_VERSION_PACKAGE"-pip pkg-config) + GNU_PACKAGES+=(mpc-devel mpfr-devel gmp-devel zlib-devel libexpat-devel libslirp-devel ninja) + QEMU_PACKAGES+=(glib2-devel libpixman-1-0-devel) # maybe also need qemu itself? + SPIKE_PACKAGES+=(dtc libboost_regex1_75_0-devel libboost_system1_75_0-devel) + VERILATOR_PACKAGES+=(gperftools perl-doc) + BUILDROOT_PACKAGES+=(ncurses-utils ncurses-devel ncurses5-devel gcc-fortran) # gcc-fortran is only needed for compiling spec benchmarks on buildroot linux + OTHER_PACKAGES+=(gcc13 gcc13-c++ cpp13) # Newer version of gcc needed for many tools. Default is gcc7 + ;; +esac # Check if required packages are installed or install/update them depending on passed flag. if [ "${1}" == "--check" ]; then section_header "Checking Dependencies from Package Manager" - if [ "$FAMILY" == rhel ]; then + if [[ "$FAMILY" == rhel || "$FAMILY" == suse ]]; then for pack in "${GENERAL_PACKAGES[@]}" "${GNU_PACKAGES[@]}" "${QEMU_PACKAGES[@]}" "${SPIKE_PACKAGES[@]}" "${VERILATOR_PACKAGES[@]}" "${BUILDROOT_PACKAGES[@]}" "${OTHER_PACKAGES[@]}"; do rpm -q "$pack" > /dev/null || (echo -e "${FAIL_COLOR}Missing packages detected (${WARNING_COLOR}$pack${FAIL_COLOR}). Run as root to auto-install or run wally-package-install.sh first.${ENDC}" && exit 1) done - elif [ "$FAMILY" == ubuntu ]; then + elif [[ "$FAMILY" == ubuntu || "$FAMILY" == debian ]]; then for pack in "${GENERAL_PACKAGES[@]}" "${GNU_PACKAGES[@]}" "${QEMU_PACKAGES[@]}" "${SPIKE_PACKAGES[@]}" "${VERILATOR_PACKAGES[@]}" "${BUILDROOT_PACKAGES[@]}" "${OTHER_PACKAGES[@]}"; do dpkg -l "$pack" | grep "ii" > /dev/null || (echo -e "${FAIL_COLOR}Missing packages detected (${WARNING_COLOR}$pack${FAIL_COLOR}). Run as root to auto-install or run wally-package-install.sh first." && exit 1) done @@ -104,32 +132,32 @@ else section_header "Installing/Updating Dependencies from Package Manager" # Enable extra repos necessary for rhel if [ "$FAMILY" == rhel ]; then - sudo dnf install -y dnf-plugins-core - sudo dnf group install -y "Development Tools" + dnf install -y dnf-plugins-core + dnf group install -y "Development Tools" if [ "$ID" == rhel ]; then - sudo subscription-manager repos --enable "codeready-builder-for-rhel-$RHEL_VERSION-$(arch)-rpms" - sudo dnf install -y "https://dl.fedoraproject.org/pub/epel/epel-release-latest-$RHEL_VERSION.noarch.rpm" + subscription-manager repos --enable "codeready-builder-for-rhel-$RHEL_VERSION-$(arch)-rpms" + dnf install -y "https://dl.fedoraproject.org/pub/epel/epel-release-latest-$RHEL_VERSION.noarch.rpm" else # RHEL clone if (( RHEL_VERSION == 8 )); then - sudo dnf config-manager -y --set-enabled powertools + dnf config-manager -y --set-enabled powertools else # Version 9 - sudo dnf config-manager -y --set-enabled crb + dnf config-manager -y --set-enabled crb fi - sudo dnf install -y epel-release + dnf install -y epel-release fi fi # Update and Upgrade tools eval "$UPDATE_COMMAND" # Install packages listed above using appropriate package manager - sudo $PACKAGE_MANAGER install -y "${GENERAL_PACKAGES[@]}" "${GNU_PACKAGES[@]}" "${QEMU_PACKAGES[@]}" "${SPIKE_PACKAGES[@]}" "${VERILATOR_PACKAGES[@]}" "${BUILDROOT_PACKAGES[@]}" "${OTHER_PACKAGES[@]}" "${VIVADO_PACKAGES[@]}" + eval $PACKAGE_MANAGER install "${GENERAL_PACKAGES[@]}" "${GNU_PACKAGES[@]}" "${QEMU_PACKAGES[@]}" "${SPIKE_PACKAGES[@]}" "${VERILATOR_PACKAGES[@]}" "${BUILDROOT_PACKAGES[@]}" "${OTHER_PACKAGES[@]}" "${VIVADO_PACKAGES[@]}" # Post install steps # Vivado looks for ncurses5 libraries, but Ubuntu 24.04 only has ncurses6 # Create symbolic links to the ncurses6 libraries to fool Vivado if (( UBUNTU_VERSION >= 24 )); then - sudo ln -vsf /lib/x86_64-linux-gnu/libncurses.so.6 /lib/x86_64-linux-gnu/libncurses.so.5 - sudo ln -vsf /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libntinfo.so.5 + ln -vsf /lib/x86_64-linux-gnu/libncurses.so.6 /lib/x86_64-linux-gnu/libncurses.so.5 + ln -vsf /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libntinfo.so.5 fi echo -e "${SUCCESS_COLOR}Packages successfully installed.${ENDC}" diff --git a/bin/wally-tool-chain-install.sh b/bin/wally-tool-chain-install.sh index 8fe418272..35578d008 100755 --- a/bin/wally-tool-chain-install.sh +++ b/bin/wally-tool-chain-install.sh @@ -118,7 +118,7 @@ if [ "$1" == "--clean" ] || [ "$2" == "--clean" ]; then shift fi -# Check for clean flag +# Check for no-buildroot flag if [ "$1" == "--no-buildroot" ] || [ "$2" == "--no-buildroot" ]; then no_buidroot=true shift @@ -191,6 +191,12 @@ fi # Enable newer version of gcc for older distros (required for QEMU/Verilator) if [ "$FAMILY" == rhel ]; then source /opt/rh/gcc-toolset-13/enable +elif [ "$FAMILY" == suse ]; then + mkdir -p "$RISCV"/gcc-13/bin + for f in gcc cpp g++ gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool lto-dump; do + ln -vsf /usr/bin/$f-13 "$RISCV"/gcc-13/bin/$f + done + export PATH="$RISCV"/gcc-13/bin:$PATH elif (( UBUNTU_VERSION == 20 )); then mkdir -p "$RISCV"/gcc-10/bin for f in gcc cpp g++ gcc-ar gcc-nm gcc-ranlib gcov gcov-dump gcov-tool lto-dump; do @@ -263,17 +269,30 @@ if (( RHEL_VERSION == 8 )); then fi fi +# Mold needed for Verilator +if (( UBUNTU_VERSION == 20 || DEBIAN_VERSION == 11 )) || [ "$FAMILY" == suse ]; then + STATUS="mold" + if [ ! -e "$RISCV"/bin/mold ]; then + section_header "Installing mold" + cd "$RISCV" + wget -nv --retry-connrefused $retry_on_host_error --output-document=mold.tar.gz https://github.com/rui314/mold/releases/download/v2.34.1/mold-2.34.1-x86_64-linux.tar.gz + tar xz --directory="$RISCV" --strip-components=1 -f mold.tar.gz + rm -f mold.tar.gz + echo -e "${SUCCESS_COLOR}Mold successfully installed/updated!${ENDC}" + else + echo -e "${SUCCESS_COLOR}Mold already installed.${ENDC}" + fi +fi # RISC-V GNU Toolchain (https://github.com/riscv-collab/riscv-gnu-toolchain) # The RISC-V GNU Toolchain includes the GNU Compiler Collection (gcc), GNU Binutils, Newlib, # and the GNU Debugger Project (gdb). It is a collection of tools used to compile RISC-V programs. # To install GCC from source can take hours to compile. # This configuration enables multilib to target many flavors of RISC-V. -# This book is tested with GCC 13.2.0 +# This book is tested with GCC 13.2.0 and 14.2.0. section_header "Installing/Updating RISC-V GNU Toolchain" STATUS="riscv-gnu-toolchain" cd "$RISCV" -# Temporarily pin riscv-gnu-toolchain to use GCC 13.2.0. GCC 14 does not work with the Q extension. if git_check "riscv-gnu-toolchain" "https://github.com/riscv/riscv-gnu-toolchain" "$RISCV/riscv-gnu-toolchain/stamps/build-gcc-newlib-stage2"; then cd "$RISCV"/riscv-gnu-toolchain git reset --hard && git clean -f && git checkout master && git pull && git submodule update diff --git a/bin/wrapper_nightly_runs.sh b/bin/wrapper_nightly_runs.sh deleted file mode 100755 index 88a1e094a..000000000 --- a/bin/wrapper_nightly_runs.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -# Variables -PYTHON_SCRIPT=$HOME/nightly-runs/cvw/bin/ # cvw can be anywhere you would like it. Make sure to point your variable there -SETUP_SCRIPT=$HOME/nightly-runs/cvw/ # cvw can be anywhere you would like it. Make sure to point your variable there - -echo "Current directory" -pwd - -cd $SETUP_SCRIPT -echo "Current directory" -pwd - -echo "Sourcing setup_host" -source ./setup.sh - -cd $PYTHON_SCRIPT -pwd -echo "Running python file" -$RISCV/riscv-python/bin/python nightly_build.py -echo "Finished" diff --git a/bin/wsim b/bin/wsim index 2b3849ecc..843d4cfe6 100755 --- a/bin/wsim +++ b/bin/wsim @@ -13,170 +13,177 @@ import argparse import os +import sys -######################## -# main wsim script -######################## - -# Parse arguments -parser = argparse.ArgumentParser() -parser.add_argument("config", help="Configuration file") -parser.add_argument("testsuite", help="Test suite or path to .elf file") -parser.add_argument("--elf", "-e", help="ELF File name; use if name does not end in .elf", default="") -parser.add_argument("--sim", "-s", help="Simulator", choices=["questa", "verilator", "vcs"], default="questa") -parser.add_argument("--tb", "-t", help="Testbench", choices=["testbench", "testbench_fp"], default="testbench") -parser.add_argument("--gui", "-g", help="Simulate with GUI", action="store_true") -parser.add_argument("--ccov", "-c", help="Code Coverage", action="store_true") -parser.add_argument("--fcov", "-f", help="Functional Coverage with cvw-arch-verif, implies lockstep", action="store_true") -parser.add_argument("--args", "-a", help="Optional arguments passed to simulator via $value$plusargs", default="") -parser.add_argument("--params", "-p", help="Optional top-level parameter overrides of the form param=value", default="") -parser.add_argument("--vcd", "-v", help="Generate testbench.vcd", action="store_true") -parser.add_argument("--lockstep", "-l", help="Run ImperasDV lock, step, and compare.", action="store_true") -parser.add_argument("--locksteplog", "-b", help="Retired instruction number to be begin logging.", default=0) -parser.add_argument("--lockstepverbose", "-lv", help="Run ImperasDV lock, step, and compare with tracing enabled", action="store_true") -parser.add_argument("--covlog", "-d", help="Log coverage after n instructions.", default=0) -parser.add_argument("--rvvi", "-r", help="Simulate rvvi hardware interface and ethernet.", action="store_true") -args = parser.parse_args() -print("Config=" + args.config + " tests=" + args.testsuite + " sim=" + args.sim + " gui=" + str(args.gui) + " args='" + args.args + "'") -ElfFile="" +# Global variable WALLY = os.environ.get('WALLY') -if(os.path.isfile(args.elf)): - ElfFile = "+ElfFile=" + os.path.abspath(args.elf) -elif (args.elf != ""): - print("ELF file not found: " + args.elf) - exit(1) +def parseArgs(): + parser = argparse.ArgumentParser() + parser.add_argument("config", help="Configuration file") + parser.add_argument("testsuite", nargs="?", help="Test suite or path to .elf file") + parser.add_argument("--elf", "-e", help="ELF File name; use if name does not end in .elf", default="") + parser.add_argument("--sim", "-s", help="Simulator", choices=["questa", "verilator", "vcs"], default="questa") + parser.add_argument("--tb", "-t", help="Testbench", choices=["testbench", "testbench_fp"], default="testbench") + parser.add_argument("--gui", "-g", help="Simulate with GUI", action="store_true") + parser.add_argument("--ccov", "-c", help="Code Coverage", action="store_true") + parser.add_argument("--fcov", "-f", help="Functional Coverage with cvw-arch-verif, implies lockstep", action="store_true") + parser.add_argument("--args", "-a", help="Optional arguments passed to simulator via $value$plusargs", default="") + parser.add_argument("--params", "-p", help="Optional top-level parameter overrides of the form param=value", default="") + parser.add_argument("--define", "-d", help="Optional define macros passed to simulator", default="") + parser.add_argument("--vcd", "-v", help="Generate testbench.vcd", action="store_true") + parser.add_argument("--lockstep", "-l", help="Run ImperasDV lock, step, and compare.", action="store_true") + parser.add_argument("--lockstepverbose", "-lv", help="Run ImperasDV lock, step, and compare with tracing enabled", action="store_true") + parser.add_argument("--rvvi", "-r", help="Simulate rvvi hardware interface and ethernet.", action="store_true") + return parser.parse_args() -if(args.testsuite.endswith('.elf') and args.elf == ""): # No --elf argument; check if testsuite has a .elf extension and use that instead - if (os.path.isfile(args.testsuite)): - ElfFile = "+ElfFile=" + os.path.abspath(args.testsuite) - # extract the elf name from the path to be the test suite - fields = args.testsuite.rsplit('/', 3) - # if the name is just ref.elf in a deep path (riscv-arch-test/wally-riscv-arch-test), then use the directory name as the test suite to make it unique; otherwise work directory will have duplicates. - if (len(fields) > 3): - if (fields[2] == "ref"): - args.testsuite = fields[1] + "_" + fields[3] - else: - args.testsuite = fields[2] + "_" + fields[3] - elif ('/' in args.testsuite): - args.testsuite=args.testsuite.rsplit('/', 1)[1] # strip off path if present - else: - print("ELF file not found: " + args.testsuite) - exit(1) - -if(args.lockstep and not args.testsuite.endswith('.elf') and not args.testsuite == "buildroot"): - print(f"Invalid Options. Cannot run a testsuite, {args.testsuite} with lockstep. Must run a single elf.") - exit(1) - -# Validate arguments -if (args.gui or args.ccov or args.fcov or args.lockstep or args.lockstepverbose): - if args.sim not in ["questa", "vcs"]: +def validateArgs(args): + if not args.testsuite and not args.elf: + print("Error: Missing test suite or ELF file") + sys.exit(1) + if any([args.lockstep, args.lockstepverbose, args.fcov]) and not (args.testsuite.endswith('.elf') or args.elf) and args.testsuite != "buildroot": + print(f"Invalid Options. Cannot run a testsuite, {args.testsuite} with lockstep or fcov. Must run a single elf or buildroot.") + sys.exit(1) + elif any([args.gui, args.ccov, args.fcov, args.lockstep, args.lockstepverbose]) and args.sim not in ["questa", "vcs"]: print("Option only supported for Questa and VCS") - exit(1) + sys.exit(1) + elif (args.tb == "testbench_fp" and args.sim != "questa"): + print("Error: testbench_fp presently only supported by Questa, not VCS or Verilator, because of a touchy testbench") + sys.exit(1) + elif (args.config == "breker" and args.sim != "questa"): + print("Error: Breker tests currently only supported by Questa") + sys.exit(1) -if (args.vcd): - args.args += " -DMAKEVCD=1" +def elfFileCheck(args): + ElfFile = "" + if os.path.isfile(args.elf): + ElfFile = os.path.abspath(args.elf) + elif args.elf: + print(f"ELF file not found: {args.elf}") + sys.exit(1) + elif args.testsuite.endswith('.elf'): # No --elf argument; check if testsuite has a .elf extension and use that instead + if os.path.isfile(args.testsuite): + ElfFile = os.path.abspath(args.testsuite) + # extract the elf name from the path to be the test suite + fields = args.testsuite.rsplit('/', 3) + # if the name is just ref.elf in a deep path (riscv-arch-test/wally-riscv-arch-test), then use the directory name as the test suite to make it unique; otherwise work directory will have duplicates. + if "breker" in args.testsuite: + args.testsuite = fields[-1] + elif len(fields) > 3: + if fields[2] == "ref": + args.testsuite = f"{fields[1]}_{fields[3]}" + else: + args.testsuite = f"{fields[2]}_{fields[3]}" + elif '/' in args.testsuite: + args.testsuite=args.testsuite.rsplit('/', 1)[1] # strip off path if present + else: + print(f"ELF file not found: {args.testsuite}") + sys.exit(1) + return ElfFile -if (args.rvvi): - args.params += " RVVI_SYNTH_SUPPORTED=1 " +def prepSim(args, ElfFile): + prefix = "" + paramsList = [] + argsList = [] + flagsList = [] + defineList = [] + if args.vcd: + paramsList.append("MAKE_VCD=1") + if args.rvvi: + paramsList.append("RVVI_SYNTH_SUPPORTED=1") + if args.tb == "testbench_fp": + paramsList.append(f'TEST="{args.testsuite}"') + if ElfFile: + argsList.append(f"+ElfFile={ElfFile}") + if args.gui and args.tb == "testbench": + paramsList.append("DEBUG=1") + if args.ccov: + flagsList.append("--ccov") + if args.fcov: + flagsList.append("--fcov") + defineList.extend(["+define+INCLUDE_TRACE2COV", "+define+IDV_INCLUDE_TRACE2COV", "+define+COVER_BASE_RV32I"]) # COVER_BASE_RV32I is just needed to keep riscvISACOV happy, but does not affect tests + argsList.extend(["+TRACE2COV_ENABLE=1", "+IDV_TRACE2COV=1"]) + if args.gui: + flagsList.append("--gui") + if args.lockstep or args.lockstepverbose: + flagsList.append("--lockstep") + if args.lockstep or args.lockstepverbose or args.fcov: + prefix = lockstepSetup(args) + defineList.append("+define+USE_IMPERAS_DV") + if args.config == "breker": # Requires a license for the breker tool. See tests/breker/README.md for details + ElfFileNoExtension = os.path.splitext(ElfFile)[0] + flagsList.append("--breker") + defineList.append("+define+USE_TREK_DV") + argsList.append(f"+TREK_TBX_FILE={ElfFileNoExtension}.tbx") + # Combine into a single string + args.args += " ".join(argsList) + args.params += " ".join(paramsList) + args.define += " ".join(defineList) + flags = " ".join(flagsList) + return flags, prefix -if (args.tb == "testbench_fp"): - args.params += " TEST=\"" + args.testsuite + "\" " +def lockstepSetup(args): + imperasicVerbosePath = os.path.join(WALLY, "sim", "imperas-verbose.ic") + imperasicPath = os.path.join(WALLY, "config", args.config, "imperas.ic") + if not os.path.isfile(imperasicPath): # If config is a derivative, look for imperas.ic in derivative configs + imperasicPath = os.path.join(WALLY, "config", "deriv", args.config, "imperas.ic") + if not os.path.isfile(imperasicPath): + print("Error: imperas.ic not found") + sys.exit(1) + prefix = f"IMPERAS_TOOLS={imperasicPath}{f':{imperasicVerbosePath}' if args.lockstepverbose else ''}" + return prefix -# if lockstep is enabled, then we need to pass the Imperas lockstep arguments -if(int(args.locksteplog) >= 1): EnableLog = 1 -else: EnableLog = 0 -prefix = "" -if (args.lockstep or args.lockstepverbose or args.fcov): - if (args.sim == "questa" or args.sim == "vcs"): - imperasicPath = os.path.join(WALLY, "config", args.config, "imperas.ic") - if not os.path.isfile(imperasicPath): # If config is a derivative, look for imperas.ic in derivative configs - imperasicPath = os.path.join(WALLY, "config", "deriv", args.config, "imperas.ic") - prefix = "IMPERAS_TOOLS=" + imperasicPath -# Force Questa to use 64-bit mode, sometimes it defaults to 32-bit even on 64-bit machines -if (args.sim == "questa"): +def createDirs(sim): + for d in ["logs", "wkdir", "cov", "ucdb", "fcov", "fcov_ucdb"]: + os.makedirs(os.path.join(WALLY, "sim", sim, d), exist_ok=True) + +def runSim(args, flags, prefix): + if args.sim == "questa": + runQuesta(args, flags, prefix) + elif args.sim == "verilator": + runVerilator(args) + elif args.sim == "vcs": + runVCS(args, flags, prefix) + +def runQuesta(args, flags, prefix): + # Force Questa to use 64-bit mode, sometimes it defaults to 32-bit even on 64-bit machines prefix = "MTI_VCO_MODE=64 " + prefix - -if (args.lockstep or args.lockstepverbose): - if(args.locksteplog != 0): ImperasPlusArgs = " +IDV_TRACE2LOG=" + str(EnableLog) + " +IDV_TRACE2LOG_AFTER=" + str(args.locksteplog) - else: ImperasPlusArgs = "" - if(args.fcov): - CovEnableStr = "1" if int(args.covlog) > 0 else "0"; - if(args.covlog >= 1): EnableLog = 1 - else: EnableLog = 0 - ImperasPlusArgs = " +IDV_TRACE2COV=" + str(EnableLog) + " +TRACE2LOG_AFTER=" + str(args.covlog) + " +TRACE2COV_ENABLE=" + CovEnableStr; - suffix = "" - else: - CovEnableStr = "" - suffix = "--lockstep" - if(args.lockstepverbose): - prefix += ":" + WALLY + "/sim/imperas-verbose.ic" -else: - ImperasPlusArgs = "" - suffix = "" -flags = suffix -args.args += ImperasPlusArgs - - -# other flags -if (args.ccov): - flags += " --ccov" -if (args.fcov): - flags += " --fcov" - -# create the output sub-directories. -regressionDir = WALLY + '/sim/' -for d in ["logs", "wkdir", "cov", "ucdb", "fcov", "fcov_ucdb"]: - try: - os.mkdir(regressionDir+args.sim+"/"+d) - except: - pass - -cd = "cd $WALLY/sim/" +args.sim - -# check for unsupported sims -if (args.tb == "testbench_fp" and args.sim != "questa"): - print("Error: testbench_fp presently only supported by Questa, not VCS or Verilator, because of a touchy testbench") - exit(1) - -# per-simulator launch -if (args.sim == "questa"): - if (args.gui) and (args.tb == "testbench"): - args.params += "DEBUG=1" - if (ElfFile != ""): - args.args += " " + ElfFile - if (args.args != ""): - args.args = " --args \\\"" + args.args + "\\\"" - if (args.params != ""): - args.params = " --params \\\"" + args.params + "\\\"" + if args.args: + args.args = fr'--args \"{args.args}\"' + if args.params: + args.params = fr'--params \"{args.params}\"' + if args.define: + args.define = fr'--define \"{args.define}\"' # Questa cannot accept more than 9 arguments. fcov implies lockstep - cmd = "do wally.do " + args.config + " " + args.testsuite + " " + args.tb + " " + args.args + " " + args.params + " " + flags - if (args.gui): # launch Questa with GUI; add +acc to keep variables accessible - cmd = cd + "; " + prefix + " vsim -do \"" + cmd + " +acc\"" - else: # launch Questa in batch mode - cmd = cd + "; " + prefix + " vsim -c -do \"" + cmd + "\"" - print("Running Questa with command: " + cmd) + cmd = f"do wally.do {args.config} {args.testsuite} {args.tb} {args.args} {args.params} {args.define} {flags}" + cmd = f'cd $WALLY/sim/questa; {prefix} vsim {"-c" if not args.gui else ""} -do "{cmd}"' + print(f"Running Questa with command: {cmd}") os.system(cmd) -elif (args.sim == "verilator"): - # PWD=${WALLY}/sim CONFIG=rv64gc TESTSUITE=arch64i + +def runVerilator(args): print(f"Running Verilator on {args.config} {args.testsuite}") - os.system(f"/usr/bin/make -C {regressionDir}/verilator WALLYCONF={args.config} TEST={args.testsuite} TESTBENCH={args.tb} PLUS_ARGS=\"{args.args}\" PARAM_ARGS=\"{args.params}\"") -elif (args.sim == "vcs"): - print("wsim params: " + args.params) - print(f"Running VCS on " + args.config + " " + args.testsuite) - # if (args.gui): - # flags += " --gui" - if (args.args == ""): - vcsargs = "" - else: - vcsargs = " --args \"" + args.args + "\" " - if (args.params == ""): - vcsparams = "" - else: - vcsparams = " --params \"" + args.params + "\" " - print("VCS params: " + vcsparams) - if (ElfFile != ""): - ElfFile = " --elffile " + ElfFile - cmd = cd + "; " + prefix + " ./run_vcs " + args.config + " " + args.testsuite + " " + " --tb " + args.tb + " " + vcsargs + vcsparams + ElfFile + " " + flags + os.system(f'make -C {WALLY}/sim/verilator WALLYCONF={args.config} TEST={args.testsuite} TESTBENCH={args.tb} PLUS_ARGS="{args.args}" PARAM_ARGS="{args.params}" DEFINE_ARGS="{args.define}"') + +def runVCS(args, flags, prefix): + print(f"Running VCS on {args.config} {args.testsuite}") + if args.args: + args.args = f'--args "{args.args}"' + if args.params: + args.params = f'--params "{args.params}"' + if args.define: + args.define = f'--define "{args.define}"' + cmd = f"cd $WALLY/sim/vcs; {prefix} ./run_vcs {args.config} {args.testsuite} --tb {args.tb} {args.args} {args.params} {args.define} {flags}" print(cmd) os.system(cmd) + +def main(args): + validateArgs(args) + print(f"Config={args.config} tests={args.testsuite} sim={args.sim} gui={args.gui} args='{args.args}' params='{args.params}' define='{args.define}'") + ElfFile = elfFileCheck(args) + flags, prefix = prepSim(args, ElfFile) + createDirs(args.sim) + sys.exit(runSim(args, flags, prefix)) + +if __name__ == "__main__": + args = parseArgs() + main(args) diff --git a/config/derivlist.txt b/config/derivlist.txt index a82339cfc..c83fd60ec 100644 --- a/config/derivlist.txt +++ b/config/derivlist.txt @@ -1432,5 +1432,8 @@ UART_SUPPORTED 0 PLIC_SUPPORTED 0 SPI_SUPPORTED 0 - - +# Breker tests require a different memory configuration +# See tests/breker/README.md for details on the testsuite +derive breker rv64gc +EXT_MEM_SUPPORTED 1 +EXT_MEM_BASE 64'h90000000 diff --git a/config/rv32e/config.vh b/config/rv32e/config.vh index 4ec0123d1..7b0f43913 100644 --- a/config/rv32e/config.vh +++ b/config/rv32e/config.vh @@ -31,7 +31,7 @@ localparam XLEN = 32'd32; // IEEE 754 compliance -localparam IEEE754 = 0; +localparam logic IEEE754 = 0; // RISC-V configuration per specification // Base instruction set (defaults to I if E is not supported) @@ -147,7 +147,6 @@ localparam WFI_TIMEOUT_BIT = 32'd16; // Peripheral Physical Addresses // Peripheral memory space extends from BASE to BASE+RANGE // Range should be a thermometer code with 0's in the upper bits and 1s in the lower bits -// *** each of these is `PA_BITS wide. is this paramaterizable INSIDE the config file? localparam logic DTIM_SUPPORTED = 0; localparam logic [63:0] DTIM_BASE = 64'h80000000; localparam logic [63:0] DTIM_RANGE = 64'h007FFFFF; @@ -157,11 +156,11 @@ localparam logic [63:0] IROM_RANGE = 64'h007FFFFF; localparam logic BOOTROM_SUPPORTED = 1; localparam logic [63:0] BOOTROM_BASE = 64'h00001000; localparam logic [63:0] BOOTROM_RANGE = 64'h00000FFF; -localparam BOOTROM_PRELOAD = 1'b0; +localparam logic BOOTROM_PRELOAD = 1'b0; localparam logic UNCORE_RAM_SUPPORTED = 1; localparam logic [63:0] UNCORE_RAM_BASE = 64'h80000000; localparam logic [63:0] UNCORE_RAM_RANGE = 64'h07FFFFFF; -localparam UNCORE_RAM_PRELOAD = 1'b0; +localparam logic UNCORE_RAM_PRELOAD = 1'b0; localparam logic EXT_MEM_SUPPORTED = 0; localparam logic [63:0] EXT_MEM_BASE = 64'h80000000; localparam logic [63:0] EXT_MEM_RANGE = 64'h07FFFFFF; @@ -179,7 +178,7 @@ localparam logic [63:0] PLIC_BASE = 64'h0C000000; localparam logic [63:0] PLIC_RANGE = 64'h03FFFFFF; localparam logic SDC_SUPPORTED = 0; localparam logic [63:0] SDC_BASE = 64'h00013000; -localparam logic [63:0] SDC_RANGE = 64'h0000007F; +localparam logic [63:0] SDC_RANGE = 64'h00000FFF; localparam logic SPI_SUPPORTED = 0; localparam logic [63:0] SPI_BASE = 64'h10040000; localparam logic [63:0] SPI_RANGE = 64'h00000FFF; diff --git a/config/rv32gc/config.vh b/config/rv32gc/config.vh index c861759d9..14c100a49 100644 --- a/config/rv32gc/config.vh +++ b/config/rv32gc/config.vh @@ -31,7 +31,7 @@ localparam XLEN = 32'd32; // IEEE 754 compliance -localparam IEEE754 = 0; +localparam logic IEEE754 = 0; // RISC-V configuration per specification // Base instruction set (defaults to I if E is not supported) @@ -147,7 +147,6 @@ localparam WFI_TIMEOUT_BIT = 32'd16; // Peripheral Physical Addresses // Peripheral memory space extends from BASE to BASE+RANGE // Range should be a thermometer code with 0's in the upper bits and 1s in the lower bits -// *** each of these is `PA_BITS wide. is this paramaterizable INSIDE the config file? localparam logic DTIM_SUPPORTED = 0; localparam logic [63:0] DTIM_BASE = 64'h80000000; localparam logic [63:0] DTIM_RANGE = 64'h007FFFFF; @@ -157,11 +156,11 @@ localparam logic [63:0] IROM_RANGE = 64'h007FFFFF; localparam logic BOOTROM_SUPPORTED = 1; localparam logic [63:0] BOOTROM_BASE = 64'h00001000; localparam logic [63:0] BOOTROM_RANGE = 64'h00000FFF; -localparam BOOTROM_PRELOAD = 1'b0; +localparam logic BOOTROM_PRELOAD = 1'b0; localparam logic UNCORE_RAM_SUPPORTED = 1; localparam logic [63:0] UNCORE_RAM_BASE = 64'h80000000; localparam logic [63:0] UNCORE_RAM_RANGE = 64'h07FFFFFF; -localparam UNCORE_RAM_PRELOAD = 1'b0; +localparam logic UNCORE_RAM_PRELOAD = 1'b0; localparam logic EXT_MEM_SUPPORTED = 0; localparam logic [63:0] EXT_MEM_BASE = 64'h80000000; localparam logic [63:0] EXT_MEM_RANGE = 64'h07FFFFFF; @@ -179,7 +178,7 @@ localparam logic [63:0] PLIC_BASE = 64'h0C000000; localparam logic [63:0] PLIC_RANGE = 64'h03FFFFFF; localparam logic SDC_SUPPORTED = 0; localparam logic [63:0] SDC_BASE = 64'h00013000; -localparam logic [63:0] SDC_RANGE = 64'h0000007F; +localparam logic [63:0] SDC_RANGE = 64'h00000FFF; localparam logic SPI_SUPPORTED = 1; localparam logic [63:0] SPI_BASE = 64'h10040000; localparam logic [63:0] SPI_RANGE = 64'h00000FFF; diff --git a/config/rv32gc/coverage.svh b/config/rv32gc/coverage.svh index 5b6be64db..20bddd5c0 100644 --- a/config/rv32gc/coverage.svh +++ b/config/rv32gc/coverage.svh @@ -13,27 +13,39 @@ `define CLINT_BASE 64'h02000000 // Unprivileged extensions -`include "RV32I_coverage.svh" -`include "RV32M_coverage.svh" -`include "RV32F_coverage.svh" -`include "RV32D_coverage.svh" -`include "RV32Zba_coverage.svh" -`include "RV32Zbb_coverage.svh" -`include "RV32Zbc_coverage.svh" -`include "RV32Zbs_coverage.svh" -`include "RV32ZfaF_coverage.svh" -`include "RV32ZfaD_coverage.svh" -`include "RV32ZfaZfh_coverage.svh" -`include "RV32ZfhD_coverage.svh" -`include "RV32Zfh_coverage.svh" -`include "RV32Zicond_coverage.svh" -`include "RV32Zca_coverage.svh" -`include "RV32Zcb_coverage.svh" -`include "RV32ZcbM_coverage.svh" -`include "RV32ZcbZbb_coverage.svh" -`include "RV32Zcf_coverage.svh" -`include "RV32Zcd_coverage.svh" -`include "RV32Zicsr_coverage.svh" +`include "I_coverage.svh" +`include "M_coverage.svh" +`include "F_coverage.svh" +`include "D_coverage.svh" +`include "Zba_coverage.svh" +`include "Zbb_coverage.svh" +`include "Zbc_coverage.svh" +`include "Zbs_coverage.svh" +`include "ZfaF_coverage.svh" +`include "ZfaD_coverage.svh" +`include "ZfaZfh_coverage.svh" +`include "Zfh_coverage.svh" +`include "ZfhD_coverage.svh" +// Note: Zfhmin is a subset of Zfh, so usually only one or the other would be used. When Zfhmin and D are supported, ZfhD should also be enabled +`include "Zfhmin_coverage.svh" +// Note: Zmmul is a subset of M, so usually only one or the other would be used. +`include "Zmmul_coverage.svh" +`include "Zicond_coverage.svh" +`include "Zca_coverage.svh" +`include "Zcb_coverage.svh" +`include "ZcbM_coverage.svh" +`include "ZcbZbb_coverage.svh" +`include "Zcf_coverage.svh" +`include "Zcd_coverage.svh" +`include "Zicsr_coverage.svh" +`include "Zbkb_coverage.svh" +`include "Zbkc_coverage.svh" +`include "Zbkx_coverage.svh" +`include "Zknd_coverage.svh" +`include "Zkne_coverage.svh" +`include "Zknh_coverage.svh" +`include "Zaamo_coverage.svh" +`include "Zalrsc_coverage.svh" // Privileged extensions `include "ZicsrM_coverage.svh" @@ -45,4 +57,4 @@ `include "EndianM_coverage.svh" `include "EndianS_coverage.svh" `include "ExceptionsM_coverage.svh" -`include "ZicntrU_coverage.svh" \ No newline at end of file +`include "ExceptionsZc_coverage.svh" diff --git a/config/rv32gc/imperas.ic b/config/rv32gc/imperas.ic index 2ba3c1280..b7d24b1b5 100644 --- a/config/rv32gc/imperas.ic +++ b/config/rv32gc/imperas.ic @@ -9,8 +9,8 @@ #--showcommands # Core settings ---variant RV32GC # for RV32GC ---override cpu/priv_version=1.12 +--variant RV32GCK # for RV32GC +--override cpu/priv_version=1.12 --override cpu/user_version=20191213 # arch --override cpu/mimpid=0x100 @@ -20,7 +20,7 @@ --override refRoot/cpu/envcfg_mask=1 # dh 1/26/24 this should be deleted when ImperasDV is updated to allow envcfg.FIOM to be written # bit manipulation ---override cpu/add_Extensions=B +--override cpu/add_Extensions=B --override cpu/bitmanip_version=1.0.0 --override cpu/misa_B_Zba_Zbb_Zbs=T @@ -59,7 +59,7 @@ #--override cpu/instret_undefined=T #--override cpu/hpmcounter_undefined=T -## context registers not implemented +# context registers not implemented #--override cpu/scontext_undefined=True #--override cpu/mcontext_undefined=True @@ -69,9 +69,14 @@ #--override cpu/Zicfilp=F --override cpu/trigger_num=0 # disable CSRs 7a0-7a8 ---override no_pseudo_inst=T # For code coverage, don't produce pseudoinstructions +# For code coverage, don't produce pseudoinstructions +--override no_pseudo_inst=T ---override show_c_prefix=T # Show "c." with compressed instructions +# Show "c." with compressed instructions +--override show_c_prefix=T + +# nonratified mnoise register not implemented +--override cpu/mnoise_undefined=T # mcause and scause only have 4 lsbs of code and 1 msb of interrupt flag #--override cpu/ecode_mask=0x8000000F # for RV32 @@ -80,7 +85,12 @@ # Debug mode not yet supported --override cpu/debug_mode=none +# Zkr entropy source and seed register not supported. +--override cpu/Zkr=F +# ShangMi Crypto not supported +--override cpu/Zksed=F +--override cpu/Zksh=F --override cpu/reset_address=0x80000000 @@ -101,7 +111,7 @@ # mstatus.FS is set dirty on any write to a FPR, or when a fp operation signals an exception --override cpu/mstatus_fs_mode=write_1 -# PMA Settings +# PMA Settings # 'r': read access allowed # 'w': write access allowed # 'x': execute access allowed diff --git a/config/rv32i/config.vh b/config/rv32i/config.vh index 01818afc2..2eb40c8d4 100644 --- a/config/rv32i/config.vh +++ b/config/rv32i/config.vh @@ -31,7 +31,7 @@ localparam XLEN = 32'd32; // IEEE 754 compliance -localparam IEEE754 = 0; +localparam logic IEEE754 = 0; // RISC-V configuration per specification // Base instruction set (defaults to I if E is not supported) @@ -147,7 +147,6 @@ localparam WFI_TIMEOUT_BIT = 32'd16; // Peripheral Physical Addresses // Peripheral memory space extends from BASE to BASE+RANGE // Range should be a thermometer code with 0's in the upper bits and 1s in the lower bits -// *** each of these is `PA_BITS wide. is this paramaterizable INSIDE the config file? localparam logic DTIM_SUPPORTED = 1; localparam logic [63:0] DTIM_BASE = 64'h80000000; localparam logic [63:0] DTIM_RANGE = 64'h007FFFFF; @@ -157,11 +156,11 @@ localparam logic [63:0] IROM_RANGE = 64'h007FFFFF; localparam logic BOOTROM_SUPPORTED = 0; localparam logic [63:0] BOOTROM_BASE = 64'h00001000; localparam logic [63:0] BOOTROM_RANGE = 64'h00000FFF; -localparam BOOTROM_PRELOAD = 1'b0; +localparam logic BOOTROM_PRELOAD = 1'b0; localparam logic UNCORE_RAM_SUPPORTED = 0; localparam logic [63:0] UNCORE_RAM_BASE = 64'h80000000; localparam logic [63:0] UNCORE_RAM_RANGE = 64'h07FFFFFF; -localparam UNCORE_RAM_PRELOAD = 1'b0; +localparam logic UNCORE_RAM_PRELOAD = 1'b0; localparam logic EXT_MEM_SUPPORTED = 0; localparam logic [63:0] EXT_MEM_BASE = 64'h80000000; localparam logic [63:0] EXT_MEM_RANGE = 64'h07FFFFFF; @@ -179,7 +178,7 @@ localparam logic [63:0] PLIC_BASE = 64'h0C000000; localparam logic [63:0] PLIC_RANGE = 64'h03FFFFFF; localparam logic SDC_SUPPORTED = 0; localparam logic [63:0] SDC_BASE = 64'h00013000; -localparam logic [63:0] SDC_RANGE = 64'h0000007F; +localparam logic [63:0] SDC_RANGE = 64'h00000FFF; localparam logic SPI_SUPPORTED = 0; localparam logic [63:0] SPI_BASE = 64'h10040000; localparam logic [63:0] SPI_RANGE = 64'h00000FFF; diff --git a/config/rv32imc/config.vh b/config/rv32imc/config.vh index 05a8fd242..ec0563316 100644 --- a/config/rv32imc/config.vh +++ b/config/rv32imc/config.vh @@ -31,7 +31,7 @@ localparam XLEN = 32'd32; // IEEE 754 compliance -localparam IEEE754 = 0; +localparam logic IEEE754 = 0; // RISC-V configuration per specification // Base instruction set (defaults to I if E is not supported) @@ -147,7 +147,6 @@ localparam WFI_TIMEOUT_BIT = 32'd16; // Peripheral Physical Addresses // Peripheral memory space extends from BASE to BASE+RANGE // Range should be a thermometer code with 0's in the upper bits and 1s in the lower bits -// *** each of these is `PA_BITS wide. is this paramaterizable INSIDE the config file? localparam logic DTIM_SUPPORTED = 1; localparam logic [63:0] DTIM_BASE = 64'h80000000; localparam logic [63:0] DTIM_RANGE = 64'h007FFFFF; @@ -157,11 +156,11 @@ localparam logic [63:0] IROM_RANGE = 64'h007FFFFF; localparam logic BOOTROM_SUPPORTED = 0; localparam logic [63:0] BOOTROM_BASE = 64'h00001000; localparam logic [63:0] BOOTROM_RANGE = 64'h00000FFF; -localparam BOOTROM_PRELOAD = 1'b0; +localparam logic BOOTROM_PRELOAD = 1'b0; localparam logic UNCORE_RAM_SUPPORTED = 0; localparam logic [63:0] UNCORE_RAM_BASE = 64'h80000000; localparam logic [63:0] UNCORE_RAM_RANGE = 64'h07FFFFFF; -localparam UNCORE_RAM_PRELOAD = 1'b0; +localparam logic UNCORE_RAM_PRELOAD = 1'b0; localparam logic EXT_MEM_SUPPORTED = 0; localparam logic [63:0] EXT_MEM_BASE = 64'h80000000; localparam logic [63:0] EXT_MEM_RANGE = 64'h07FFFFFF; @@ -179,7 +178,7 @@ localparam logic [63:0] PLIC_BASE = 64'h0C000000; localparam logic [63:0] PLIC_RANGE = 64'h03FFFFFF; localparam logic SDC_SUPPORTED = 0; localparam logic [63:0] SDC_BASE = 64'h00013000; -localparam logic [63:0] SDC_RANGE = 64'h0000007F; +localparam logic [63:0] SDC_RANGE = 64'h00000FFF; localparam logic SPI_SUPPORTED = 1; localparam logic [63:0] SPI_BASE = 64'h10040000; localparam logic [63:0] SPI_RANGE = 64'h00000FFF; diff --git a/config/rv64gc/config.vh b/config/rv64gc/config.vh index b8ed8dc47..9c0bef1a1 100644 --- a/config/rv64gc/config.vh +++ b/config/rv64gc/config.vh @@ -31,7 +31,7 @@ localparam XLEN = 32'd64; // IEEE 754 compliance -localparam IEEE754 = 0; +localparam logic IEEE754 = 0; // RISC-V configuration per specification // Base instruction set (defaults to I if E is not supported) @@ -147,7 +147,6 @@ localparam WFI_TIMEOUT_BIT = 32'd16; // Peripheral Physical Addresses // Peripheral memory space extends from BASE to BASE+RANGE // Range should be a thermometer code with 0's in the upper bits and 1s in the lower bits -// *** each of these is `PA_BITS wide. is this paramaterizable INSIDE the config file? localparam logic DTIM_SUPPORTED = 0; localparam logic [63:0] DTIM_BASE = 64'h80000000; localparam logic [63:0] DTIM_RANGE = 64'h007FFFFF; @@ -157,11 +156,11 @@ localparam logic [63:0] IROM_RANGE = 64'h007FFFFF; localparam logic BOOTROM_SUPPORTED = 1; localparam logic [63:0] BOOTROM_BASE = 64'h00001000; localparam logic [63:0] BOOTROM_RANGE = 64'h00000FFF; -localparam BOOTROM_PRELOAD = 1'b0; +localparam logic BOOTROM_PRELOAD = 1'b0; localparam logic UNCORE_RAM_SUPPORTED = 1; localparam logic [63:0] UNCORE_RAM_BASE = 64'h80000000; localparam logic [63:0] UNCORE_RAM_RANGE = 64'h07FFFFFF; -localparam UNCORE_RAM_PRELOAD = 1'b0; +localparam logic UNCORE_RAM_PRELOAD = 1'b0; localparam logic EXT_MEM_SUPPORTED = 0; localparam logic [63:0] EXT_MEM_BASE = 64'h80000000; localparam logic [63:0] EXT_MEM_RANGE = 64'h07FFFFFF; @@ -179,7 +178,7 @@ localparam logic [63:0] PLIC_BASE = 64'h0C000000; localparam logic [63:0] PLIC_RANGE = 64'h03FFFFFF; localparam logic SDC_SUPPORTED = 0; localparam logic [63:0] SDC_BASE = 64'h00013000; -localparam logic [63:0] SDC_RANGE = 64'h0000007F; +localparam logic [63:0] SDC_RANGE = 64'h00000FFF; localparam logic SPI_SUPPORTED = 1; localparam logic [63:0] SPI_BASE = 64'h10040000; localparam logic [63:0] SPI_RANGE = 64'h00000FFF; diff --git a/config/rv64gc/coverage.svh b/config/rv64gc/coverage.svh index 78a928382..fd8f11b04 100644 --- a/config/rv64gc/coverage.svh +++ b/config/rv64gc/coverage.svh @@ -13,27 +13,39 @@ `define CLINT_BASE 64'h02000000 // Unprivileged extensions -`include "RV64I_coverage.svh" -`include "RV64M_coverage.svh" -`include "RV64F_coverage.svh" -`include "RV64D_coverage.svh" -`include "RV64Zba_coverage.svh" -`include "RV64Zbb_coverage.svh" -`include "RV64Zbc_coverage.svh" -`include "RV64Zbs_coverage.svh" -`include "RV64ZfaF_coverage.svh" -`include "RV64ZfaD_coverage.svh" -`include "RV64ZfaZfh_coverage.svh" -`include "RV64ZfhD_coverage.svh" -`include "RV64Zfh_coverage.svh" -`include "RV64Zicond_coverage.svh" -`include "RV64Zca_coverage.svh" -`include "RV64Zcb_coverage.svh" -`include "RV64ZcbM_coverage.svh" -`include "RV64ZcbZbb_coverage.svh" -`include "RV64ZcbZba_coverage.svh" -`include "RV64Zcd_coverage.svh" -`include "RV64Zicsr_coverage.svh" +`include "I_coverage.svh" +`include "M_coverage.svh" +`include "F_coverage.svh" +`include "D_coverage.svh" +`include "Zba_coverage.svh" +`include "Zbb_coverage.svh" +`include "Zbc_coverage.svh" +`include "Zbs_coverage.svh" +`include "ZfaF_coverage.svh" +`include "ZfaD_coverage.svh" +`include "ZfaZfh_coverage.svh" +`include "ZfhD_coverage.svh" +`include "Zfh_coverage.svh" +// Note: Zfhmin is a subset of Zfh, so usually only one or the other would be used. When Zfhmin and D are supported, ZfhD should also be enabled +`include "Zfhmin_coverage.svh" +// Note: Zmmul is a subset of M, so usually only one or the other would be used. +`include "Zmmul_coverage.svh" +`include "Zicond_coverage.svh" +`include "Zca_coverage.svh" +`include "Zcb_coverage.svh" +`include "ZcbM_coverage.svh" +`include "ZcbZbb_coverage.svh" +`include "ZcbZba_coverage.svh" +`include "Zcd_coverage.svh" +`include "Zicsr_coverage.svh" +`include "Zbkb_coverage.svh" +`include "Zbkc_coverage.svh" +`include "Zbkx_coverage.svh" +`include "Zknd_coverage.svh" +`include "Zkne_coverage.svh" +`include "Zknh_coverage.svh" +`include "Zaamo_coverage.svh" +`include "Zalrsc_coverage.svh" // Privileged extensions `include "RV64VM_coverage.svh" @@ -44,8 +56,7 @@ `include "EndianM_coverage.svh" `include "EndianS_coverage.svh" `include "ExceptionsM_coverage.svh" -`include "ZicntrU_coverage.svh" +`include "ExceptionsZc_coverage.svh" // `include "RV64VM_PMP_coverage.svh" // `include "RV64CBO_VM_coverage.svh" // `include "RV64CBO_PMP_coverage.svh" -// `include "RV64Zicbom_coverage.svh" diff --git a/config/rv64gc/imperas.ic b/config/rv64gc/imperas.ic index 9ba14f2f0..dc8040913 100644 --- a/config/rv64gc/imperas.ic +++ b/config/rv64gc/imperas.ic @@ -9,7 +9,7 @@ #--showcommands # Core settings ---override cpu/priv_version=1.12 +--override cpu/priv_version=1.12 --override cpu/user_version=20191213 # arch --override cpu/mimpid=0x100 @@ -19,7 +19,7 @@ --override refRoot/cpu/envcfg_mask=1 # dh 1/26/24 this should be deleted when ImperasDV is updated to allow envcfg.FIOM to be written # bit manipulation ---override cpu/add_Extensions=B +--override cpu/add_Extensions=B --override cpu/bitmanip_version=1.0.0 --override cpu/misa_B_Zba_Zbb_Zbs=T @@ -39,6 +39,7 @@ # 64 KiB continuous huge pages supported --override cpu/Svpbmt=T +--override cpu/aligned_uncached_PBMT=T # when PBMT designates a page as uncachable, require aligned accesses --override cpu/Svnapot_page_mask=65536 # SV39 and SV48 supported @@ -68,12 +69,12 @@ --override cpu/trigger_num=0 # disable CSRs 7a0-7a8 # For code coverage, don't produce pseudoinstructions ---override no_pseudo_inst=T +--override no_pseudo_inst=T -# Show "c." with compressed instructions +# Show "c." with compressed instructions --override show_c_prefix=T -# nonratified mnosie register not implemented +# nonratified mnoise register not implemented --override cpu/mnoise_undefined=T # mcause and scause only have 4 lsbs of code and 1 msb of interrupt flag @@ -86,7 +87,9 @@ # Zkr entropy source and seed register not supported. --override cpu/Zkr=F - +# ShangMi Crypto not supported +--override cpu/Zksed=F +--override cpu/Zksh=F --override cpu/reset_address=0x80000000 @@ -107,7 +110,7 @@ # mstatus.FS is set dirty on any write to a FPR, or when a fp operation signals an exception --override cpu/mstatus_fs_mode=write_1 -# PMA Settings +# PMA Settings # 'r': read access allowed # 'w': write access allowed # 'x': execute access allowed diff --git a/config/rv64i/config.vh b/config/rv64i/config.vh index 94360877f..1779d764d 100644 --- a/config/rv64i/config.vh +++ b/config/rv64i/config.vh @@ -31,7 +31,7 @@ localparam XLEN = 32'd64; // IEEE 754 compliance -localparam IEEE754 = 0; +localparam logic IEEE754 = 0; // RISC-V configuration per specification // Base instruction set (defaults to I if E is not supported) @@ -147,7 +147,6 @@ localparam WFI_TIMEOUT_BIT = 32'd16; // Peripheral Physical Addresses // Peripheral memory space extends from BASE to BASE+RANGE // Range should be a thermometer code with 0's in the upper bits and 1s in the lower bits -// *** each of these is `PA_BITS wide. is this paramaterizable INSIDE the config file? localparam logic DTIM_SUPPORTED = 1; localparam logic [63:0] DTIM_BASE = 64'h80000000; localparam logic [63:0] DTIM_RANGE = 64'h007FFFFF; @@ -157,11 +156,11 @@ localparam logic [63:0] IROM_RANGE = 64'h007FFFFF; localparam logic BOOTROM_SUPPORTED = 0; localparam logic [63:0] BOOTROM_BASE = 64'h00001000; localparam logic [63:0] BOOTROM_RANGE = 64'h00000FFF; -localparam BOOTROM_PRELOAD = 1'b0; +localparam logic BOOTROM_PRELOAD = 1'b0; localparam logic UNCORE_RAM_SUPPORTED = 0; localparam logic [63:0] UNCORE_RAM_BASE = 64'h80000000; localparam logic [63:0] UNCORE_RAM_RANGE = 64'h07FFFFFF; -localparam UNCORE_RAM_PRELOAD = 1'b0; +localparam logic UNCORE_RAM_PRELOAD = 1'b0; localparam logic EXT_MEM_SUPPORTED = 0; localparam logic [63:0] EXT_MEM_BASE = 64'h80000000; localparam logic [63:0] EXT_MEM_RANGE = 64'h07FFFFFF; @@ -179,7 +178,7 @@ localparam logic [63:0] PLIC_BASE = 64'h0C000000; localparam logic [63:0] PLIC_RANGE = 64'h03FFFFFF; localparam logic SDC_SUPPORTED = 0; localparam logic [63:0] SDC_BASE = 64'h00013000; -localparam logic [63:0] SDC_RANGE = 64'h0000007F; +localparam logic [63:0] SDC_RANGE = 64'h00000FFF; localparam logic SPI_SUPPORTED = 0; localparam logic [63:0] SPI_BASE = 64'h10040000; localparam logic [63:0] SPI_RANGE = 64'h00000FFF; diff --git a/examples/C/common/syscalls.c b/examples/C/common/syscalls.c index 39547b3d0..6f57475bc 100644 --- a/examples/C/common/syscalls.c +++ b/examples/C/common/syscalls.c @@ -15,6 +15,44 @@ extern volatile uint64_t tohost; extern volatile uint64_t fromhost; +///////////////////////////// +// Start of code added for Wally +// Use UART rather than syscall host interface for printing +////////////////////////////// + +#include + +void uartInit(void) { + volatile uint8_t *UART_LCR = (uint8_t*)0x10000003; + *UART_LCR = 0b0000011; // 8-bit characters, 1 stop bit, no parity +} + +void uartSend(char c) { + volatile uint8_t *UART_THR = (uint8_t*)0x10000000; + volatile uint8_t *UART_LSR = (uint8_t*)0x10000005; + + while (!(*UART_LSR & (1<<5))); // wait for THRE (trans hold reg empty) + *UART_THR = c; +} + +char uartReceive(void) { + volatile uint8_t *UART_RBR = (uint8_t*)0x10000000; + volatile uint8_t *UART_LSR = (uint8_t*)0x10000005; + + while (!(*UART_LSR & (1<<0))); // wait for DR (Data Ready) + return *UART_RBR; +} + +char uartPutStr(const char *str) { + while (*str) { + uartSend(*str++); + } +} + +///////////////////////////// +// End of code added for Wally +////////////////////////////// + static uintptr_t syscall(uintptr_t which, uint64_t arg0, uint64_t arg1, uint64_t arg2) { volatile uint64_t magic_mem[8] __attribute__((aligned(64))); @@ -76,7 +114,19 @@ void abort() void printstr(const char* s) { - syscall(SYS_write, 1, (uintptr_t)s, strlen(s)); + // david_harris@hmc.edu 11/30/24 switch to printing via UART rather than syscall + // This works on both Spike and Wally simulations + //syscall(SYS_write, 1, (uintptr_t)s, strlen(s)); + uartPutStr(s); +} + +// Added 30 November 2024 David_Harris@hmc.edu +// The compiler encountering printf with a pure string argument tries to invoke puts +// rather than the usual printf, so puts must be defined. +int puts(const char* s) +{ + printstr(s); + return 0; } void __attribute__((weak)) thread_entry(int cid, int nc) @@ -107,6 +157,7 @@ void _init(int cid, int nc) { init_tls(); thread_entry(cid, nc); + uartInit(); // added 11/30/2024 David_Harris@hmc.edu for printing via UART // only single-threaded programs should ever get here. int ret = main(0, 0); @@ -125,6 +176,11 @@ void _init(int cid, int nc) #undef putchar int putchar(int ch) { + // David_Harris@hmc.edu 11/30/2024 + // Replaced syscall with uartSend + uartSend(ch); + + /* static __thread char buf[64] __attribute__((aligned(64))); static __thread int buflen = 0; @@ -134,7 +190,7 @@ int putchar(int ch) { syscall(SYS_write, 1, (uintptr_t)buf, buflen); buflen = 0; - } + } */ return 0; } diff --git a/examples/C/gpio/Makefile b/examples/C/gpio/Makefile new file mode 100644 index 000000000..237578a46 --- /dev/null +++ b/examples/C/gpio/Makefile @@ -0,0 +1,32 @@ +TARGET = gpio + +$(TARGET).objdump: $(TARGET) + riscv64-unknown-elf-objdump -S -D $(TARGET) > $(TARGET).objdump + +$(TARGET): $(TARGET).c Makefile + riscv64-unknown-elf-gcc -o $(TARGET) -gdwarf-2 -O\ + -march=rv64gc -mabi=lp64d -mcmodel=medany \ + -nostdlib -static -lm -fno-tree-loop-distribute-patterns \ + -T../common/test.ld -I../common \ + $(TARGET).c ../common/crt.S ../common/syscalls.c +# Compiler flags: +# -o $(TARGET) defines the name of the output file +# -g generates debugging symbols for gdb +# -O turns on basic optimization; -O3 turns on heavy optimization; omit for no optimization +# -march=rv64gc -mabi=lp64d =mcmodel=medany generates code for RV64GC with doubles and long/ptrs = 64 bits +# -static forces static linking (no dynamic shared libraries on bare metal) +# -lm links the math library if necessary (when #include math.h) +# -nostdlib avoids inserting standard startup files and default libraries +# because we are using crt.s on bare metal +# -fno-tree-loop-distribute-patterns turns replacing loops with memcpy/memset in the std library +# -T specifies the linker file +# -I specifies the include path (e.g. for util.h) +# The last line defines the C files to compile. +# crt.S is needed as our startup file to initialize the processor +# syscalls.c implements printf through the HTIF for Spike +# other flags from riscv-tests makefiles that don't seem to be important +# -ffast-math -DPREALLOCATE=1 -std=gnu99 \ +# -fno-common -fno-builtin-printf -nostartfiles -lgcc \ + +clean: + rm -f $(TARGET) $(TARGET).objdump* $(TARGET).memfile diff --git a/examples/C/gpio/gpio.c b/examples/C/gpio/gpio.c new file mode 100644 index 000000000..e2af967e2 --- /dev/null +++ b/examples/C/gpio/gpio.c @@ -0,0 +1,28 @@ +// gpio.c +// David_Harris@hmc.edu 30 November 2024 +// SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 + +// General-Purpose I/O (GPIO) example program illustrating compiled C code +// compile with make +// simulate with: wsim rv64gc --elf gpio --sim verilator + +#include +#include "gpiolib.h" + +int main(void) { + printf("GPIO Example!\n\r"); + pinMode(0, INPUT); + pinMode(1, OUTPUT); + pinMode(2, OUTPUT); + + for (int i=0; i<10; i++) { + // Read pin 0 and write it to pin 1 + int val = digitalRead(0); + printf("Pin 0: %d\n", val); + digitalWrite(1, val); + + // Toggle pin 2 + printf("Pin 2: %d\n", i%2); + digitalWrite(2, i%2); + } +} diff --git a/examples/C/gpio/gpiolib.h b/examples/C/gpio/gpiolib.h new file mode 100644 index 000000000..819089554 --- /dev/null +++ b/examples/C/gpio/gpiolib.h @@ -0,0 +1,81 @@ +// gpiolib.h +// Basic Arduino-compatible functions for general-purpose input/output + +// Assumes GPIO0_BASE is set to the memory-mapped GPIO address from +// config/rv64gc/config.vh. + +// SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 + +#include + +/////////////////////////////////////////////////////////////////////////////// +// Bitfield Structs +/////////////////////////////////////////////////////////////////////////////// + +typedef struct +{ + volatile uint32_t input_val; // (GPIO offset 0x00) Pin value + volatile uint32_t input_en; // (GPIO offset 0x04) Pin input enable* + volatile uint32_t output_en; // (GPIO offset 0x08) Pin output enable* + volatile uint32_t output_val; // (GPIO offset 0x0C) Output value + volatile uint32_t pue; // (GPIO offset 0x10) Internal pull-up enable* + volatile uint32_t ds; // (GPIO offset 0x14) Pin drive strength + volatile uint32_t rise_ie; // (GPIO offset 0x18) Rise interrupt enable + volatile uint32_t rise_ip; // (GPIO offset 0x1C) Rise interrupt pending + volatile uint32_t fall_ie; // (GPIO offset 0x20) Fall interrupt enable + volatile uint32_t fall_ip; // (GPIO offset 0x24) Fall interrupt pending + volatile uint32_t high_ie; // (GPIO offset 0x28) High interrupt enable + volatile uint32_t high_ip; // (GPIO offset 0x2C) High interrupt pending + volatile uint32_t low_ie; // (GPIO offset 0x30) Low interrupt enable + volatile uint32_t low_ip; // (GPIO offset 0x34) Low interrupt pending + volatile uint32_t iof_en; // (GPIO offset 0x38) HW-Driven functions enable + volatile uint32_t iof_sel; // (GPIO offset 0x3C) HW-Driven functions selection + volatile uint32_t out_xor; // (GPIO offset 0x40) Output XOR (invert) + // Registers marked with * are asynchronously reset to 0. All others are synchronously reset to 0. +} GPIO; + +/////////////////////////////////////////////////////////////////////////////// +// GPIO Constant Definitions +/////////////////////////////////////////////////////////////////////////////// + +#define GPIO0_BASE (0x10060000U) // GPIO memory-mapped base address + +#define GPIO0 ((GPIO*) GPIO0_BASE) // Set up pointer to struct of type GPIO aligned at the base GPIO0 memory-mapped address + +#define LOW 0 +#define HIGH 1 + +#define INPUT 0 +#define OUTPUT 1 +#define GPIO_IOF0 2 + +/////////////////////////////////////////////////////////////////////////////// +// GPIO Functions +/////////////////////////////////////////////////////////////////////////////// + +void pinMode(int pin, int function) +{ + switch(function) { + case INPUT: + GPIO0->input_en |= (1 << pin); // Sets a pin as an input + break; + case OUTPUT: + GPIO0->output_en |= (1 << pin); // Set pin as an output + GPIO0->iof_en &= ~(1 << pin); + break; + case GPIO_IOF0: + GPIO0->iof_sel &= ~(1 << pin); + GPIO0->iof_en |= (1 << pin); + } +} + +void digitalWrite(int pin, int val) +{ + if (val) GPIO0->output_val |= (1 << pin); + else GPIO0->output_val &= ~(1 << pin); +} + +int digitalRead(int pin) +{ + return (GPIO0->input_val >> pin) & 0x1; +} diff --git a/examples/C/hello/Makefile b/examples/C/hello/Makefile new file mode 100644 index 000000000..b6003d5c0 --- /dev/null +++ b/examples/C/hello/Makefile @@ -0,0 +1,32 @@ +TARGET = hello + +$(TARGET).objdump: $(TARGET) + riscv64-unknown-elf-objdump -S -D $(TARGET) > $(TARGET).objdump + +$(TARGET): $(TARGET).c Makefile + riscv64-unknown-elf-gcc -o $(TARGET) -gdwarf-2 -O\ + -march=rv64gc -mabi=lp64d -mcmodel=medany \ + -nostdlib -static -lm -fno-tree-loop-distribute-patterns \ + -T../common/test.ld -I../common \ + $(TARGET).c ../common/crt.S ../common/syscalls.c +# Compiler flags: +# -o $(TARGET) defines the name of the output file +# -g generates debugging symbols for gdb +# -O turns on basic optimization; -O3 turns on heavy optimization; omit for no optimization +# -march=rv64gc -mabi=lp64d =mcmodel=medany generates code for RV64GC with doubles and long/ptrs = 64 bits +# -static forces static linking (no dynamic shared libraries on bare metal) +# -lm links the math library if necessary (when #include math.h) +# -nostdlib avoids inserting standard startup files and default libraries +# because we are using crt.s on bare metal +# -fno-tree-loop-distribute-patterns turns replacing loops with memcpy/memset in the std library +# -T specifies the linker file +# -I specifies the include path (e.g. for util.h) +# The last line defines the C files to compile. +# crt.S is needed as our startup file to initialize the processor +# syscalls.c implements printf through the HTIF for Spike +# other flags from riscv-tests makefiles that don't seem to be important +# -ffast-math -DPREALLOCATE=1 -std=gnu99 \ +# -fno-common -fno-builtin-printf -nostartfiles -lgcc \ + +clean: + rm -f $(TARGET) $(TARGET).objdump* $(TARGET).memfile diff --git a/examples/C/hello/hello.c b/examples/C/hello/hello.c new file mode 100644 index 000000000..77c562369 --- /dev/null +++ b/examples/C/hello/hello.c @@ -0,0 +1,25 @@ +// hello.c +// David_Harris@hmc.edu 30 November 2024 +// SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 + +// Hello World program illustrating compiled C code printing via the UART +// The Wally team has modified the Berkeley syscalls.c (in examples/C/common) +// to print via UART rather than the syscall interface. This is supported +// on both Spike and Wally. It assumes the PC16550-compatible UART is at +// the default SiFive address of 0x10000000. +// Note that there seem to be some discrepancies between the UART and Spike +// such that using \n\r for new lines works best. + +// compile with make +// simulate Wally with: wsim rv64gc --elf hello --sim verilator +// simulate in Spike with: spike hello + +#include + +int main(void) { + printf("Hello Wally!\n\r"); + for (int i = 0; i < 10; i++) { + printf("%d ", i); + } + printf("\n\r"); +} \ No newline at end of file diff --git a/examples/fp/fpcalc/fpcalc.c b/examples/fp/fpcalc/fpcalc.c index 16dcce225..e4638a64b 100644 --- a/examples/fp/fpcalc/fpcalc.c +++ b/examples/fp/fpcalc/fpcalc.c @@ -237,7 +237,7 @@ __uint128_t parseNum(char *num) { if (strlen(num) < 8) size = 2; else if (strlen(num) < 16) size = 4; else if (strlen(num) < 32) size = 8; - else if (strlen(num) < 35) size = 16; // *** will need to increase + else if (strlen(num) < 35) size = 16; else { printf("Error: only half, single, double, or quad precision supported"); exit(1); diff --git a/fpga/constraints/marked_debug.txt b/fpga/constraints/marked_debug.txt index a5ffb3c83..9df1e86c3 100644 --- a/fpga/constraints/marked_debug.txt +++ b/fpga/constraints/marked_debug.txt @@ -5,39 +5,36 @@ wally/wallypipelinedcore.sv: logic InstrM lsu/lsu.sv: logic IEUAdrM lsu/lsu.sv: logic MemRWM mmu/hptw.sv: logic SATP_REGW -uncore/uncore.sv: logic SDCCmd -uncore/uncore.sv: logic SDCCLK -uncore/uncore.sv: logic SDCIn -uncore/uncore.sv: logic SDCCS -uncore/spi_apb.sv: logic InterruptPending -uncore/spi_apb.sv: logic TransmitFIFOWriteInc -uncore/spi_apb.sv: logic TransmitFIFOEmpty -uncore/spi_apb.sv: logic TransmitFIFOReadInc -uncore/spi_apb.sv: logic TransmitLoad -uncore/spi_apb.sv: logic ShiftEdge -uncore/spi_apb.sv: logic SampleEdge -uncore/spi_apb.sv: logic ReceiveShiftReg -uncore/spi_apb.sv: logic TransmitReg -uncore/spi_apb.sv: logic ShiftIn -uncore/spi_apb.sv: logic EndOfFrame -uncore/spi_apb.sv: logic TransmitRegLoaded -uncore/spi_apb.sv: logic TransmitData -uncore/spi_apb.sv: logic ReceiveFIFOWriteInc -uncore/spi_apb.sv: logic ReceiveFIFOReadInc -uncore/spi_apb.sv: logic ReceiveShiftRegEndian -uncore/spi_apb.sv: logic ReceiveWatermark -uncore/spi_apb.sv: logic ReceiveReadWatermarkLevel -uncore/spi_apb.sv: logic ReceiveData -uncore/spi_apb.sv: logic ReceiveFIFOFull -uncore/spi_apb.sv: logic ReceiveFIFOEmpty -uncore/spi_controller.sv: logic SCLKenable -uncore/spi_controller.sv: statetype CurrState -uncore/spi_controller.sv: statetype NextState -uncore/spi_controller.sv: logic BitNum -uncore/spi_controller.sv: logic ContinueTransmit -uncore/spi_controller.sv: logic PhaseOneOffset -uncore/spi_controller.sv: logic SPICLK -uncore/spi_fifo.sv: logic rptr -uncore/spi_fifo.sv: logic rptrnext -uncore/spi_fifo.sv: logic raddr -uncore/spi_fifo.sv: logic waddr +uncore/uartPC16550D.sv : logic MCR +uncore/uartPC16550D.sv : logic FCR +uncore/uartPC16550D.sv : logic MSR +uncore/uartPC16550D.sv : logic DTRb +uncore/uartPC16550D.sv : logic INTR +uncore/uartPC16550D.sv : logic RXRDYb +uncore/uartPC16550D.sv : logic TXRDYb +uncore/uartPC16550D.sv : logic RXerrIP +uncore/uartPC16550D.sv : logic IER +uncore/uartPC16550D.sv : logic LSR +uncore/uartPC16550D.sv : logic SCR +uncore/uartPC16550D.sv : statetype txstate +uncore/uartPC16550D.sv : logic RBR +uncore/uartPC16550D.sv : logic rxparityerr +uncore/uartPC16550D.sv : logic LCR +uncore/uartPC16550D.sv : logic intrID +uncore/uartPC16550D.sv : logic rxdataavailintr +uncore/uartPC16550D.sv : logic fifoenabled +uncore/uartPC16550D.sv : logic rxfifoentries +uncore/uartPC16550D.sv : logic txsrfull +uncore/uartPC16550D.sv : logic txhrfull +uncore/uartPC16550D.sv : logic txfifofull +uncore/uartPC16550D.sv : logic txfifotail +uncore/uartPC16550D.sv : logic txfifohead +uncore/uartPC16550D.sv : logic rxfifotriggered +uncore/uartPC16550D.sv : logic rxdataready +privileged/privdec.sv : logic wfiM +privileged/privdec.sv : logic wfiW +privileged/privdec.sv : logic WFITimeoutM +uncore/plic_apb.sv : logic requests +uncore/plic_apb.sv : logic intInProgress +uncore/plic_apb.sv : logic intPending +uncore/plic_apb.sv : logic intClaim diff --git a/fpga/constraints/marked_debug_spi.txt b/fpga/constraints/marked_debug_spi.txt index c840f6b99..a5ffb3c83 100644 --- a/fpga/constraints/marked_debug_spi.txt +++ b/fpga/constraints/marked_debug_spi.txt @@ -5,32 +5,39 @@ wally/wallypipelinedcore.sv: logic InstrM lsu/lsu.sv: logic IEUAdrM lsu/lsu.sv: logic MemRWM mmu/hptw.sv: logic SATP_REGW -uncore/spi_apb.sv: logic ShiftIn -uncore/spi_apb.sv: logic ReceiveShiftReg -uncore/spi_apb.sv: logic SCLKenable -uncore/spi_apb.sv: logic SampleEdge -uncore/spi_apb.sv: logic Active -uncore/spi_apb.sv: statetype state -uncore/spi_apb.sv: typedef rsrstatetype -uncore/spi_apb.sv: logic SPICLK -uncore/spi_apb.sv: logic SPIOut -uncore/spi_apb.sv: logic SPICS -uncore/spi_apb.sv: logic SckMode -uncore/spi_apb.sv: logic SckDiv +uncore/uncore.sv: logic SDCCmd +uncore/uncore.sv: logic SDCCLK +uncore/uncore.sv: logic SDCIn +uncore/uncore.sv: logic SDCCS +uncore/spi_apb.sv: logic InterruptPending +uncore/spi_apb.sv: logic TransmitFIFOWriteInc +uncore/spi_apb.sv: logic TransmitFIFOEmpty +uncore/spi_apb.sv: logic TransmitFIFOReadInc +uncore/spi_apb.sv: logic TransmitLoad uncore/spi_apb.sv: logic ShiftEdge -uncore/spi_apb.sv: logic TransmitShiftRegLoadSingleCycle -uncore/spi_apb.sv: logic TransmitShiftReg +uncore/spi_apb.sv: logic SampleEdge +uncore/spi_apb.sv: logic ReceiveShiftReg +uncore/spi_apb.sv: logic TransmitReg +uncore/spi_apb.sv: logic ShiftIn +uncore/spi_apb.sv: logic EndOfFrame +uncore/spi_apb.sv: logic TransmitRegLoaded uncore/spi_apb.sv: logic TransmitData -uncore/spi_apb.sv: logic ReceiveData +uncore/spi_apb.sv: logic ReceiveFIFOWriteInc +uncore/spi_apb.sv: logic ReceiveFIFOReadInc uncore/spi_apb.sv: logic ReceiveShiftRegEndian -uncore/spi_apb.sv: logic TransmitShiftReg -uncore/spi_apb.sv: logic TransmitShift -uncore/spi_apb.sv: logic ReceiveShiftFullDelay -uncore/spi_apb.sv: logic TransmitShiftEmpty -uncore/spi_apb.sv: logic ReceiveFIFOWriteFull -uncore/spi_apb.sv: logic ReceiveFIFOReadIncrement -uncore/spi_apb.sv: logic ReceiveFIFOReadEmpty -uncore/spi_apb.sv: logic TransmitFIFOWriteIncrement -uncore/spi_apb.sv: logic TransmitFIFOReadIncrement -uncore/spi_apb.sv: logic TransmitFIFOWriteFull -uncore/spi_apb.sv: logic TransmitFIFOReadEmpty +uncore/spi_apb.sv: logic ReceiveWatermark +uncore/spi_apb.sv: logic ReceiveReadWatermarkLevel +uncore/spi_apb.sv: logic ReceiveData +uncore/spi_apb.sv: logic ReceiveFIFOFull +uncore/spi_apb.sv: logic ReceiveFIFOEmpty +uncore/spi_controller.sv: logic SCLKenable +uncore/spi_controller.sv: statetype CurrState +uncore/spi_controller.sv: statetype NextState +uncore/spi_controller.sv: logic BitNum +uncore/spi_controller.sv: logic ContinueTransmit +uncore/spi_controller.sv: logic PhaseOneOffset +uncore/spi_controller.sv: logic SPICLK +uncore/spi_fifo.sv: logic rptr +uncore/spi_fifo.sv: logic rptrnext +uncore/spi_fifo.sv: logic raddr +uncore/spi_fifo.sv: logic waddr diff --git a/fpga/constraints/marked_debug_uart.txt b/fpga/constraints/marked_debug_uart.txt new file mode 100644 index 000000000..4ac6b1bc6 --- /dev/null +++ b/fpga/constraints/marked_debug_uart.txt @@ -0,0 +1,33 @@ +wally/wallypipelinedcore.sv: logic PCM +wally/wallypipelinedcore.sv: logic TrapM +wally/wallypipelinedcore.sv: logic InstrValidM +wally/wallypipelinedcore.sv: logic InstrM +lsu/lsu.sv: logic IEUAdrM +lsu/lsu.sv: logic MemRWM +mmu/hptw.sv: logic SATP_REGW +uncore/uartPC16550D.sv : logic MCR +uncore/uartPC16550D.sv : logic FCR +uncore/uartPC16550D.sv : logic MSR +uncore/uartPC16550D.sv : logic DTRb +uncore/uartPC16550D.sv : logic INTR +uncore/uartPC16550D.sv : logic RXRDYb +uncore/uartPC16550D.sv : logic TXRDYb +uncore/uartPC16550D.sv : logic RXerrIP +uncore/uartPC16550D.sv : logic IER +uncore/uartPC16550D.sv : logic LSR +uncore/uartPC16550D.sv : logic SCR +uncore/uartPC16550D.sv : statetype txstate +uncore/uartPC16550D.sv : logic RBR +uncore/uartPC16550D.sv : logic rxparityerr +uncore/uartPC16550D.sv : logic LCR +uncore/uartPC16550D.sv : logic intrID +uncore/uartPC16550D.sv : logic rxdataavailintr +uncore/uartPC16550D.sv : logic fifoenabled +uncore/uartPC16550D.sv : logic rxfifoentries +uncore/uartPC16550D.sv : logic txsrfull +uncore/uartPC16550D.sv : logic txhrfull +uncore/uartPC16550D.sv : logic txfifofull +uncore/uartPC16550D.sv : logic txfifotail +uncore/uartPC16550D.sv : logic txfifohead +uncore/uartPC16550D.sv : logic rxfifotriggered +uncore/uartPC16550D.sv : logic rxdataready diff --git a/fpga/constraints/small-debug-uart.xdc b/fpga/constraints/small-debug-uart.xdc new file mode 100644 index 000000000..01e8f9199 --- /dev/null +++ b/fpga/constraints/small-debug-uart.xdc @@ -0,0 +1,208 @@ +create_debug_core u_ila_0 ila + + + + +set_property C_DATA_DEPTH 4096 [get_debug_cores u_ila_0] +set_property C_TRIGIN_EN false [get_debug_cores u_ila_0] +set_property C_TRIGOUT_EN false [get_debug_cores u_ila_0] +set_property C_ADV_TRIGGER false [get_debug_cores u_ila_0] +set_property C_INPUT_PIPE_STAGES 0 [get_debug_cores u_ila_0] +set_property C_EN_STRG_QUAL false [get_debug_cores u_ila_0] +set_property ALL_PROBE_SAME_MU true [get_debug_cores u_ila_0] +set_property ALL_PROBE_SAME_MU_CNT 1 [get_debug_cores u_ila_0] +startgroup +set_property C_EN_STRG_QUAL true [get_debug_cores u_ila_0 ] +set_property C_ADV_TRIGGER true [get_debug_cores u_ila_0 ] +set_property ALL_PROBE_SAME_MU true [get_debug_cores u_ila_0 ] +set_property ALL_PROBE_SAME_MU_CNT 4 [get_debug_cores u_ila_0 ] +endgroup +connect_debug_port u_ila_0/clk [get_nets CPUCLK] + +set_property port_width 33 [get_debug_ports u_ila_0/probe0] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe0] +connect_debug_port u_ila_0/probe0 [get_nets [list {wallypipelinedsoc/core/PCM[0]} {wallypipelinedsoc/core/PCM[1]} {wallypipelinedsoc/core/PCM[2]} {wallypipelinedsoc/core/PCM[3]} {wallypipelinedsoc/core/PCM[4]} {wallypipelinedsoc/core/PCM[5]} {wallypipelinedsoc/core/PCM[6]} {wallypipelinedsoc/core/PCM[7]} {wallypipelinedsoc/core/PCM[8]} {wallypipelinedsoc/core/PCM[9]} {wallypipelinedsoc/core/PCM[10]} {wallypipelinedsoc/core/PCM[11]} {wallypipelinedsoc/core/PCM[12]} {wallypipelinedsoc/core/PCM[13]} {wallypipelinedsoc/core/PCM[14]} {wallypipelinedsoc/core/PCM[15]} {wallypipelinedsoc/core/PCM[16]} {wallypipelinedsoc/core/PCM[17]} {wallypipelinedsoc/core/PCM[18]} {wallypipelinedsoc/core/PCM[19]} {wallypipelinedsoc/core/PCM[20]} {wallypipelinedsoc/core/PCM[21]} {wallypipelinedsoc/core/PCM[22]} {wallypipelinedsoc/core/PCM[23]} {wallypipelinedsoc/core/PCM[24]} {wallypipelinedsoc/core/PCM[25]} {wallypipelinedsoc/core/PCM[26]} {wallypipelinedsoc/core/PCM[27]} {wallypipelinedsoc/core/PCM[28]} {wallypipelinedsoc/core/PCM[29]} {wallypipelinedsoc/core/PCM[30]} {wallypipelinedsoc/core/PCM[31]} {wallypipelinedsoc/core/PCM[32]} } ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe1] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe1] +connect_debug_port u_ila_0/probe1 [get_nets [list wallypipelinedsoc/core/TrapM ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe2] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe2] +connect_debug_port u_ila_0/probe2 [get_nets [list wallypipelinedsoc/core/InstrValidM ]] + +create_debug_port u_ila_0 probe +set_property port_width 32 [get_debug_ports u_ila_0/probe3] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe3] +connect_debug_port u_ila_0/probe3 [get_nets [list {wallypipelinedsoc/core/InstrM[0]} {wallypipelinedsoc/core/InstrM[1]} {wallypipelinedsoc/core/InstrM[2]} {wallypipelinedsoc/core/InstrM[3]} {wallypipelinedsoc/core/InstrM[4]} {wallypipelinedsoc/core/InstrM[5]} {wallypipelinedsoc/core/InstrM[6]} {wallypipelinedsoc/core/InstrM[7]} {wallypipelinedsoc/core/InstrM[8]} {wallypipelinedsoc/core/InstrM[9]} {wallypipelinedsoc/core/InstrM[10]} {wallypipelinedsoc/core/InstrM[11]} {wallypipelinedsoc/core/InstrM[12]} {wallypipelinedsoc/core/InstrM[13]} {wallypipelinedsoc/core/InstrM[14]} {wallypipelinedsoc/core/InstrM[15]} {wallypipelinedsoc/core/InstrM[16]} {wallypipelinedsoc/core/InstrM[17]} {wallypipelinedsoc/core/InstrM[18]} {wallypipelinedsoc/core/InstrM[19]} {wallypipelinedsoc/core/InstrM[20]} {wallypipelinedsoc/core/InstrM[21]} {wallypipelinedsoc/core/InstrM[22]} {wallypipelinedsoc/core/InstrM[23]} {wallypipelinedsoc/core/InstrM[24]} {wallypipelinedsoc/core/InstrM[25]} {wallypipelinedsoc/core/InstrM[26]} {wallypipelinedsoc/core/InstrM[27]} {wallypipelinedsoc/core/InstrM[28]} {wallypipelinedsoc/core/InstrM[29]} {wallypipelinedsoc/core/InstrM[30]} {wallypipelinedsoc/core/InstrM[31]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 2 [get_debug_ports u_ila_0/probe4] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe4] +connect_debug_port u_ila_0/probe4 [get_nets [list {wallypipelinedsoc/core/lsu/MemRWM[0]} {wallypipelinedsoc/core/lsu/MemRWM[1]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 64 [get_debug_ports u_ila_0/probe5] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe5] +connect_debug_port u_ila_0/probe5 [get_nets [list {wallypipelinedsoc/core/lsu/IEUAdrM[0]} {wallypipelinedsoc/core/lsu/IEUAdrM[1]} {wallypipelinedsoc/core/lsu/IEUAdrM[2]} {wallypipelinedsoc/core/lsu/IEUAdrM[3]} {wallypipelinedsoc/core/lsu/IEUAdrM[4]} {wallypipelinedsoc/core/lsu/IEUAdrM[5]} {wallypipelinedsoc/core/lsu/IEUAdrM[6]} {wallypipelinedsoc/core/lsu/IEUAdrM[7]} {wallypipelinedsoc/core/lsu/IEUAdrM[8]} {wallypipelinedsoc/core/lsu/IEUAdrM[9]} {wallypipelinedsoc/core/lsu/IEUAdrM[10]} {wallypipelinedsoc/core/lsu/IEUAdrM[11]} {wallypipelinedsoc/core/lsu/IEUAdrM[12]} {wallypipelinedsoc/core/lsu/IEUAdrM[13]} {wallypipelinedsoc/core/lsu/IEUAdrM[14]} {wallypipelinedsoc/core/lsu/IEUAdrM[15]} {wallypipelinedsoc/core/lsu/IEUAdrM[16]} {wallypipelinedsoc/core/lsu/IEUAdrM[17]} {wallypipelinedsoc/core/lsu/IEUAdrM[18]} {wallypipelinedsoc/core/lsu/IEUAdrM[19]} {wallypipelinedsoc/core/lsu/IEUAdrM[20]} {wallypipelinedsoc/core/lsu/IEUAdrM[21]} {wallypipelinedsoc/core/lsu/IEUAdrM[22]} {wallypipelinedsoc/core/lsu/IEUAdrM[23]} {wallypipelinedsoc/core/lsu/IEUAdrM[24]} {wallypipelinedsoc/core/lsu/IEUAdrM[25]} {wallypipelinedsoc/core/lsu/IEUAdrM[26]} {wallypipelinedsoc/core/lsu/IEUAdrM[27]} {wallypipelinedsoc/core/lsu/IEUAdrM[28]} {wallypipelinedsoc/core/lsu/IEUAdrM[29]} {wallypipelinedsoc/core/lsu/IEUAdrM[30]} {wallypipelinedsoc/core/lsu/IEUAdrM[31]} {wallypipelinedsoc/core/lsu/IEUAdrM[32]} {wallypipelinedsoc/core/lsu/IEUAdrM[33]} {wallypipelinedsoc/core/lsu/IEUAdrM[34]} {wallypipelinedsoc/core/lsu/IEUAdrM[35]} {wallypipelinedsoc/core/lsu/IEUAdrM[36]} {wallypipelinedsoc/core/lsu/IEUAdrM[37]} {wallypipelinedsoc/core/lsu/IEUAdrM[38]} {wallypipelinedsoc/core/lsu/IEUAdrM[39]} {wallypipelinedsoc/core/lsu/IEUAdrM[40]} {wallypipelinedsoc/core/lsu/IEUAdrM[41]} {wallypipelinedsoc/core/lsu/IEUAdrM[42]} {wallypipelinedsoc/core/lsu/IEUAdrM[43]} {wallypipelinedsoc/core/lsu/IEUAdrM[44]} {wallypipelinedsoc/core/lsu/IEUAdrM[45]} {wallypipelinedsoc/core/lsu/IEUAdrM[46]} {wallypipelinedsoc/core/lsu/IEUAdrM[47]} {wallypipelinedsoc/core/lsu/IEUAdrM[48]} {wallypipelinedsoc/core/lsu/IEUAdrM[49]} {wallypipelinedsoc/core/lsu/IEUAdrM[50]} {wallypipelinedsoc/core/lsu/IEUAdrM[51]} {wallypipelinedsoc/core/lsu/IEUAdrM[52]} {wallypipelinedsoc/core/lsu/IEUAdrM[53]} {wallypipelinedsoc/core/lsu/IEUAdrM[54]} {wallypipelinedsoc/core/lsu/IEUAdrM[55]} {wallypipelinedsoc/core/lsu/IEUAdrM[56]} {wallypipelinedsoc/core/lsu/IEUAdrM[57]} {wallypipelinedsoc/core/lsu/IEUAdrM[58]} {wallypipelinedsoc/core/lsu/IEUAdrM[59]} {wallypipelinedsoc/core/lsu/IEUAdrM[60]} {wallypipelinedsoc/core/lsu/IEUAdrM[61]} {wallypipelinedsoc/core/lsu/IEUAdrM[62]} {wallypipelinedsoc/core/lsu/IEUAdrM[63]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 8 [get_debug_ports u_ila_0/probe6] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe6] +connect_debug_port u_ila_0/probe6 [get_nets [list {wallypipelinedsoc/core/lsu/ReadDataM[0]} {wallypipelinedsoc/core/lsu/ReadDataM[1]} {wallypipelinedsoc/core/lsu/ReadDataM[2]} {wallypipelinedsoc/core/lsu/ReadDataM[3]} {wallypipelinedsoc/core/lsu/ReadDataM[4]} {wallypipelinedsoc/core/lsu/ReadDataM[5]} {wallypipelinedsoc/core/lsu/ReadDataM[6]} {wallypipelinedsoc/core/lsu/ReadDataM[7]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 8 [get_debug_ports u_ila_0/probe7] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe7] +connect_debug_port u_ila_0/probe7 [get_nets [list {wallypipelinedsoc/core/lsu/WriteDataM[0]} {wallypipelinedsoc/core/lsu/WriteDataM[1]} {wallypipelinedsoc/core/lsu/WriteDataM[2]} {wallypipelinedsoc/core/lsu/WriteDataM[3]} {wallypipelinedsoc/core/lsu/WriteDataM[4]} {wallypipelinedsoc/core/lsu/WriteDataM[5]} {wallypipelinedsoc/core/lsu/WriteDataM[6]} {wallypipelinedsoc/core/lsu/WriteDataM[7]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 5 [get_debug_ports u_ila_0/probe8] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe8] +connect_debug_port u_ila_0/probe8 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/MCR[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/MCR[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/MCR[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/MCR[3]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/MCR[4]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 8 [get_debug_ports u_ila_0/probe9] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe9] +connect_debug_port u_ila_0/probe9 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/FCR[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/FCR[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/FCR[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/FCR[3]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/FCR[4]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/FCR[5]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/FCR[6]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/FCR[7]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 4 [get_debug_ports u_ila_0/probe10] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe10] +connect_debug_port u_ila_0/probe10 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/MSR[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/MSR[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/MSR[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/MSR[3]} ]] + + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe11] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe11] +connect_debug_port u_ila_0/probe11 [get_nets [list wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/DTRb ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe12] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe12] +connect_debug_port u_ila_0/probe12 [get_nets [list wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/INTR ]] + + +create_debug_port u_ila_0 probe +set_property port_width 4 [get_debug_ports u_ila_0/probe13] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe13] +connect_debug_port u_ila_0/probe13 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifohead[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifohead[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifohead[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifohead[3]}]] + + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe14] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe14] +connect_debug_port u_ila_0/probe14 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txsrfull}]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe15] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe15] +connect_debug_port u_ila_0/probe15 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txhrfull}]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe16] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe16] +connect_debug_port u_ila_0/probe16 [get_nets [list wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RXRDYb ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe17] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe17] +connect_debug_port u_ila_0/probe17 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifofull}]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe18] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe18] +connect_debug_port u_ila_0/probe18 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifoempty}]] + + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe19] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe19] +connect_debug_port u_ila_0/probe19 [get_nets [list wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/TXRDYb ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe20] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe20] +connect_debug_port u_ila_0/probe20 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RXerrIP} ]] + +create_debug_port u_ila_0 probe +set_property port_width 4 [get_debug_ports u_ila_0/probe21] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe21] +connect_debug_port u_ila_0/probe21 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/IER[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/IER[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/IER[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/IER[3]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 8 [get_debug_ports u_ila_0/probe22] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe22] +connect_debug_port u_ila_0/probe22 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LSR[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LSR[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LSR[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LSR[3]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LSR[4]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LSR[5]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LSR[6]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LSR[7]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 8 [get_debug_ports u_ila_0/probe23] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe23] +connect_debug_port u_ila_0/probe23 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/SCR[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/SCR[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/SCR[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/SCR[3]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/SCR[4]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/SCR[5]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/SCR[6]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/SCR[7]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 2 [get_debug_ports u_ila_0/probe24] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe24] +connect_debug_port u_ila_0/probe24 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txstate[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txstate[1]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 11 [get_debug_ports u_ila_0/probe25] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe25] +connect_debug_port u_ila_0/probe25 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RBR[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RBR[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RBR[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RBR[3]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RBR[4]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RBR[5]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RBR[6]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RBR[7]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RBR[8]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RBR[9]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RBR[10]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe26] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe26] +connect_debug_port u_ila_0/probe26 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxparityerr} ]] + +create_debug_port u_ila_0 probe +set_property port_width 2 [get_debug_ports u_ila_0/probe27] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe27] +connect_debug_port u_ila_0/probe27 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxstate[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxstate[1]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 8 [get_debug_ports u_ila_0/probe28] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe28] +connect_debug_port u_ila_0/probe28 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LCR[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LCR[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LCR[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LCR[3]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LCR[4]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LCR[5]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LCR[6]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/LCR[7]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 3 [get_debug_ports u_ila_0/probe29] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe29] +connect_debug_port u_ila_0/probe29 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/intrID[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/intrID[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/intrID[2]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe30] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe30] +connect_debug_port u_ila_0/probe30 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxdataavailintr} ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe31] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe31] +connect_debug_port u_ila_0/probe31 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/fifoenabled} ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe32] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe32] +connect_debug_port u_ila_0/probe32 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxfifotriggered} ]] + +create_debug_port u_ila_0 probe +set_property port_width 4 [get_debug_ports u_ila_0/probe33] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe33] +connect_debug_port u_ila_0/probe33 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxfifoentries[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxfifoentries[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxfifoentries[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxfifoentries[3]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe34] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe34] +connect_debug_port u_ila_0/probe34 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxdataready} ]] + +create_debug_port u_ila_0 probe +set_property port_width 4 [get_debug_ports u_ila_0/probe35] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe35] +connect_debug_port u_ila_0/probe35 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifotail[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifotail[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifotail[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifotail[3]}]] + + +# the debug hub has issues with the clocks from the mmcm so lets give up an connect to the 100Mhz input clock. +#connect_debug_port dbg_hub/clk [get_nets default_100mhz_clk] +connect_debug_port dbg_hub/clk [get_nets CPUCLK] diff --git a/fpga/constraints/small-debug-wfi.xdc b/fpga/constraints/small-debug-wfi.xdc new file mode 100644 index 000000000..e87f3bce9 --- /dev/null +++ b/fpga/constraints/small-debug-wfi.xdc @@ -0,0 +1,191 @@ +create_debug_core u_ila_0 ila + + + + +set_property C_DATA_DEPTH 4096 [get_debug_cores u_ila_0] +set_property C_TRIGIN_EN false [get_debug_cores u_ila_0] +set_property C_TRIGOUT_EN false [get_debug_cores u_ila_0] +set_property C_ADV_TRIGGER false [get_debug_cores u_ila_0] +set_property C_INPUT_PIPE_STAGES 0 [get_debug_cores u_ila_0] +set_property C_EN_STRG_QUAL false [get_debug_cores u_ila_0] +set_property ALL_PROBE_SAME_MU true [get_debug_cores u_ila_0] +set_property ALL_PROBE_SAME_MU_CNT 1 [get_debug_cores u_ila_0] +startgroup +set_property C_EN_STRG_QUAL true [get_debug_cores u_ila_0 ] +set_property C_ADV_TRIGGER true [get_debug_cores u_ila_0 ] +set_property ALL_PROBE_SAME_MU true [get_debug_cores u_ila_0 ] +set_property ALL_PROBE_SAME_MU_CNT 4 [get_debug_cores u_ila_0 ] +endgroup +connect_debug_port u_ila_0/clk [get_nets CPUCLK] + +set_property port_width 33 [get_debug_ports u_ila_0/probe0] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe0] +connect_debug_port u_ila_0/probe0 [get_nets [list {wallypipelinedsoc/core/PCM[0]} {wallypipelinedsoc/core/PCM[1]} {wallypipelinedsoc/core/PCM[2]} {wallypipelinedsoc/core/PCM[3]} {wallypipelinedsoc/core/PCM[4]} {wallypipelinedsoc/core/PCM[5]} {wallypipelinedsoc/core/PCM[6]} {wallypipelinedsoc/core/PCM[7]} {wallypipelinedsoc/core/PCM[8]} {wallypipelinedsoc/core/PCM[9]} {wallypipelinedsoc/core/PCM[10]} {wallypipelinedsoc/core/PCM[11]} {wallypipelinedsoc/core/PCM[12]} {wallypipelinedsoc/core/PCM[13]} {wallypipelinedsoc/core/PCM[14]} {wallypipelinedsoc/core/PCM[15]} {wallypipelinedsoc/core/PCM[16]} {wallypipelinedsoc/core/PCM[17]} {wallypipelinedsoc/core/PCM[18]} {wallypipelinedsoc/core/PCM[19]} {wallypipelinedsoc/core/PCM[20]} {wallypipelinedsoc/core/PCM[21]} {wallypipelinedsoc/core/PCM[22]} {wallypipelinedsoc/core/PCM[23]} {wallypipelinedsoc/core/PCM[24]} {wallypipelinedsoc/core/PCM[25]} {wallypipelinedsoc/core/PCM[26]} {wallypipelinedsoc/core/PCM[27]} {wallypipelinedsoc/core/PCM[28]} {wallypipelinedsoc/core/PCM[29]} {wallypipelinedsoc/core/PCM[30]} {wallypipelinedsoc/core/PCM[31]} {wallypipelinedsoc/core/PCM[32]} } ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe1] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe1] +connect_debug_port u_ila_0/probe1 [get_nets [list wallypipelinedsoc/core/TrapM ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe2] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe2] +connect_debug_port u_ila_0/probe2 [get_nets [list wallypipelinedsoc/core/InstrValidM ]] + +create_debug_port u_ila_0 probe +set_property port_width 32 [get_debug_ports u_ila_0/probe3] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe3] +connect_debug_port u_ila_0/probe3 [get_nets [list {wallypipelinedsoc/core/InstrM[0]} {wallypipelinedsoc/core/InstrM[1]} {wallypipelinedsoc/core/InstrM[2]} {wallypipelinedsoc/core/InstrM[3]} {wallypipelinedsoc/core/InstrM[4]} {wallypipelinedsoc/core/InstrM[5]} {wallypipelinedsoc/core/InstrM[6]} {wallypipelinedsoc/core/InstrM[7]} {wallypipelinedsoc/core/InstrM[8]} {wallypipelinedsoc/core/InstrM[9]} {wallypipelinedsoc/core/InstrM[10]} {wallypipelinedsoc/core/InstrM[11]} {wallypipelinedsoc/core/InstrM[12]} {wallypipelinedsoc/core/InstrM[13]} {wallypipelinedsoc/core/InstrM[14]} {wallypipelinedsoc/core/InstrM[15]} {wallypipelinedsoc/core/InstrM[16]} {wallypipelinedsoc/core/InstrM[17]} {wallypipelinedsoc/core/InstrM[18]} {wallypipelinedsoc/core/InstrM[19]} {wallypipelinedsoc/core/InstrM[20]} {wallypipelinedsoc/core/InstrM[21]} {wallypipelinedsoc/core/InstrM[22]} {wallypipelinedsoc/core/InstrM[23]} {wallypipelinedsoc/core/InstrM[24]} {wallypipelinedsoc/core/InstrM[25]} {wallypipelinedsoc/core/InstrM[26]} {wallypipelinedsoc/core/InstrM[27]} {wallypipelinedsoc/core/InstrM[28]} {wallypipelinedsoc/core/InstrM[29]} {wallypipelinedsoc/core/InstrM[30]} {wallypipelinedsoc/core/InstrM[31]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 2 [get_debug_ports u_ila_0/probe4] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe4] +connect_debug_port u_ila_0/probe4 [get_nets [list {wallypipelinedsoc/core/lsu/MemRWM[0]} {wallypipelinedsoc/core/lsu/MemRWM[1]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 64 [get_debug_ports u_ila_0/probe5] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe5] +connect_debug_port u_ila_0/probe5 [get_nets [list {wallypipelinedsoc/core/lsu/IEUAdrM[0]} {wallypipelinedsoc/core/lsu/IEUAdrM[1]} {wallypipelinedsoc/core/lsu/IEUAdrM[2]} {wallypipelinedsoc/core/lsu/IEUAdrM[3]} {wallypipelinedsoc/core/lsu/IEUAdrM[4]} {wallypipelinedsoc/core/lsu/IEUAdrM[5]} {wallypipelinedsoc/core/lsu/IEUAdrM[6]} {wallypipelinedsoc/core/lsu/IEUAdrM[7]} {wallypipelinedsoc/core/lsu/IEUAdrM[8]} {wallypipelinedsoc/core/lsu/IEUAdrM[9]} {wallypipelinedsoc/core/lsu/IEUAdrM[10]} {wallypipelinedsoc/core/lsu/IEUAdrM[11]} {wallypipelinedsoc/core/lsu/IEUAdrM[12]} {wallypipelinedsoc/core/lsu/IEUAdrM[13]} {wallypipelinedsoc/core/lsu/IEUAdrM[14]} {wallypipelinedsoc/core/lsu/IEUAdrM[15]} {wallypipelinedsoc/core/lsu/IEUAdrM[16]} {wallypipelinedsoc/core/lsu/IEUAdrM[17]} {wallypipelinedsoc/core/lsu/IEUAdrM[18]} {wallypipelinedsoc/core/lsu/IEUAdrM[19]} {wallypipelinedsoc/core/lsu/IEUAdrM[20]} {wallypipelinedsoc/core/lsu/IEUAdrM[21]} {wallypipelinedsoc/core/lsu/IEUAdrM[22]} {wallypipelinedsoc/core/lsu/IEUAdrM[23]} {wallypipelinedsoc/core/lsu/IEUAdrM[24]} {wallypipelinedsoc/core/lsu/IEUAdrM[25]} {wallypipelinedsoc/core/lsu/IEUAdrM[26]} {wallypipelinedsoc/core/lsu/IEUAdrM[27]} {wallypipelinedsoc/core/lsu/IEUAdrM[28]} {wallypipelinedsoc/core/lsu/IEUAdrM[29]} {wallypipelinedsoc/core/lsu/IEUAdrM[30]} {wallypipelinedsoc/core/lsu/IEUAdrM[31]} {wallypipelinedsoc/core/lsu/IEUAdrM[32]} {wallypipelinedsoc/core/lsu/IEUAdrM[33]} {wallypipelinedsoc/core/lsu/IEUAdrM[34]} {wallypipelinedsoc/core/lsu/IEUAdrM[35]} {wallypipelinedsoc/core/lsu/IEUAdrM[36]} {wallypipelinedsoc/core/lsu/IEUAdrM[37]} {wallypipelinedsoc/core/lsu/IEUAdrM[38]} {wallypipelinedsoc/core/lsu/IEUAdrM[39]} {wallypipelinedsoc/core/lsu/IEUAdrM[40]} {wallypipelinedsoc/core/lsu/IEUAdrM[41]} {wallypipelinedsoc/core/lsu/IEUAdrM[42]} {wallypipelinedsoc/core/lsu/IEUAdrM[43]} {wallypipelinedsoc/core/lsu/IEUAdrM[44]} {wallypipelinedsoc/core/lsu/IEUAdrM[45]} {wallypipelinedsoc/core/lsu/IEUAdrM[46]} {wallypipelinedsoc/core/lsu/IEUAdrM[47]} {wallypipelinedsoc/core/lsu/IEUAdrM[48]} {wallypipelinedsoc/core/lsu/IEUAdrM[49]} {wallypipelinedsoc/core/lsu/IEUAdrM[50]} {wallypipelinedsoc/core/lsu/IEUAdrM[51]} {wallypipelinedsoc/core/lsu/IEUAdrM[52]} {wallypipelinedsoc/core/lsu/IEUAdrM[53]} {wallypipelinedsoc/core/lsu/IEUAdrM[54]} {wallypipelinedsoc/core/lsu/IEUAdrM[55]} {wallypipelinedsoc/core/lsu/IEUAdrM[56]} {wallypipelinedsoc/core/lsu/IEUAdrM[57]} {wallypipelinedsoc/core/lsu/IEUAdrM[58]} {wallypipelinedsoc/core/lsu/IEUAdrM[59]} {wallypipelinedsoc/core/lsu/IEUAdrM[60]} {wallypipelinedsoc/core/lsu/IEUAdrM[61]} {wallypipelinedsoc/core/lsu/IEUAdrM[62]} {wallypipelinedsoc/core/lsu/IEUAdrM[63]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 8 [get_debug_ports u_ila_0/probe6] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe6] +connect_debug_port u_ila_0/probe6 [get_nets [list {wallypipelinedsoc/core/lsu/ReadDataM[0]} {wallypipelinedsoc/core/lsu/ReadDataM[1]} {wallypipelinedsoc/core/lsu/ReadDataM[2]} {wallypipelinedsoc/core/lsu/ReadDataM[3]} {wallypipelinedsoc/core/lsu/ReadDataM[4]} {wallypipelinedsoc/core/lsu/ReadDataM[5]} {wallypipelinedsoc/core/lsu/ReadDataM[6]} {wallypipelinedsoc/core/lsu/ReadDataM[7]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 8 [get_debug_ports u_ila_0/probe7] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe7] +connect_debug_port u_ila_0/probe7 [get_nets [list {wallypipelinedsoc/core/lsu/WriteDataM[0]} {wallypipelinedsoc/core/lsu/WriteDataM[1]} {wallypipelinedsoc/core/lsu/WriteDataM[2]} {wallypipelinedsoc/core/lsu/WriteDataM[3]} {wallypipelinedsoc/core/lsu/WriteDataM[4]} {wallypipelinedsoc/core/lsu/WriteDataM[5]} {wallypipelinedsoc/core/lsu/WriteDataM[6]} {wallypipelinedsoc/core/lsu/WriteDataM[7]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe8] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe8] +connect_debug_port u_ila_0/probe8 [get_nets [list {wallypipelinedsoc/core/priv.priv/csr/csri/MExtInt}]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe9] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe9] +connect_debug_port u_ila_0/probe9 [get_nets [list {wallypipelinedsoc/core/priv.priv/csr/csri/SExtInt} ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe10] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe10] +connect_debug_port u_ila_0/probe10 [get_nets [list {wallypipelinedsoc/core/priv.priv/pmd/wfiM} ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe11] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe11] +connect_debug_port u_ila_0/probe11 [get_nets [list {wallypipelinedsoc/core/priv.priv/pmd/wfiW} ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe12] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe12] +connect_debug_port u_ila_0/probe12 [get_nets [list wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/INTR ]] + + +create_debug_port u_ila_0 probe +set_property port_width 4 [get_debug_ports u_ila_0/probe13] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe13] +connect_debug_port u_ila_0/probe13 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifohead[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifohead[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifohead[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifohead[3]}]] + + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe14] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe14] +connect_debug_port u_ila_0/probe14 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txsrfull}]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe15] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe15] +connect_debug_port u_ila_0/probe15 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txhrfull}]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe16] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe16] +connect_debug_port u_ila_0/probe16 [get_nets [list wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/RXRDYb ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe17] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe17] +connect_debug_port u_ila_0/probe17 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifofull}]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe18] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe18] +connect_debug_port u_ila_0/probe18 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifoempty}]] + + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe19] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe19] +connect_debug_port u_ila_0/probe19 [get_nets [list {wallypipelinedsoc/core/priv.priv/pmd/WFITimeoutM} ]] + +create_debug_port u_ila_0 probe +set_property port_width 12 [get_debug_ports u_ila_0/probe20] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe20] +connect_debug_port u_ila_0/probe20 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/plic.plic/requests[1]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/requests[2]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/requests[3]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/requests[4]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/requests[5]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/requests[6]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/requests[7]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/requests[8]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/requests[9]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/requests[10]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/requests[11]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/requests[12]}]] + +create_debug_port u_ila_0 probe +set_property port_width 4 [get_debug_ports u_ila_0/probe21] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe21] +connect_debug_port u_ila_0/probe21 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/IER[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/IER[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/IER[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/IER[3]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 12 [get_debug_ports u_ila_0/probe22] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe22] +connect_debug_port u_ila_0/probe22 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress[1]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress[2]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress[3]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress[4]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress[5]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress[6]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress[7]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress[8]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress[9]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress[10]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress[11]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress[12]}]] + +create_debug_port u_ila_0 probe +set_property port_width 12 [get_debug_ports u_ila_0/probe23] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe23] +connect_debug_port u_ila_0/probe23 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/plic.plic/intPending[1]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intPending[2]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intPending[3]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intPending[4]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intPending[5]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intPending[6]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intPending[7]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intPending[8]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intPending[9]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intPending[10]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intPending[11]} {wallypipelinedsoc/uncoregen.uncore/plic.plic/intPending[12]}]] + +create_debug_port u_ila_0 probe +set_property port_width 2 [get_debug_ports u_ila_0/probe24] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe24] +connect_debug_port u_ila_0/probe24 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txstate[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txstate[1]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe25] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe25] +connect_debug_port u_ila_0/probe25 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxdataready} ]] + +create_debug_port u_ila_0 probe +set_property port_width 4 [get_debug_ports u_ila_0/probe26] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe26] +connect_debug_port u_ila_0/probe26 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifotail[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifotail[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifotail[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/txfifotail[3]}]] + + +create_debug_port u_ila_0 probe +set_property port_width 2 [get_debug_ports u_ila_0/probe27] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe27] +connect_debug_port u_ila_0/probe27 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxstate[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxstate[1]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 4 [get_debug_ports u_ila_0/probe28] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe28] +connect_debug_port u_ila_0/probe28 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxfifoentries[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxfifoentries[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxfifoentries[2]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxfifoentries[3]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 3 [get_debug_ports u_ila_0/probe29] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe29] +connect_debug_port u_ila_0/probe29 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/intrID[0]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/intrID[1]} {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/intrID[2]} ]] + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe30] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe30] +connect_debug_port u_ila_0/probe30 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/rxfifotriggered} ]] + + +create_debug_port u_ila_0 probe +set_property port_width 1 [get_debug_ports u_ila_0/probe31] +set_property PROBE_TYPE DATA_AND_TRIGGER [get_debug_ports u_ila_0/probe31] +connect_debug_port u_ila_0/probe31 [get_nets [list {wallypipelinedsoc/uncoregen.uncore/uartgen.uart/uartPC/fifoenabled} ]] + + + + +# the debug hub has issues with the clocks from the mmcm so lets give up an connect to the 100Mhz input clock. +#connect_debug_port dbg_hub/clk [get_nets default_100mhz_clk] +connect_debug_port dbg_hub/clk [get_nets CPUCLK] diff --git a/fpga/generator/debug/plic.tsm b/fpga/generator/debug/plic.tsm new file mode 100644 index 000000000..13edad457 --- /dev/null +++ b/fpga/generator/debug/plic.tsm @@ -0,0 +1,32 @@ +################################################## +# +# For info on creating trigger state machines: +# 1) In the main Vivado menu bar, select +# Window > Language Templates +# 2) In the Templates window, select +# Debug > Trigger State Machine +# 3) Refer to the entry 'Info' for an overview +# of the trigger state machine language. +# +# More information can be found in this document: +# +# Vivado Design Suite User Guide: Programming +# and Debugging (UG908) +# +################################################## +state state_reset: + if(wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress == 12'h200) then + goto state_1; + else + goto state_reset; + endif + +state state_1: + if(wallypipelinedsoc/uncoregen.uncore/plic.plic/intInProgress == 12'h000) then + goto state_trigger; + else + goto state_1; + endif + +state state_trigger: + trigger; diff --git a/fpga/generator/wally.tcl b/fpga/generator/wally.tcl index 7935b5913..29e3a5a92 100644 --- a/fpga/generator/wally.tcl +++ b/fpga/generator/wally.tcl @@ -98,7 +98,7 @@ write_verilog -force -mode funcsim sim/syn-funcsim.v if {$board=="ArtyA7"} { #source ../constraints/small-debug.xdc #source ../constraints/small-debug-rvvi.xdc - #source ../constraints/small-debug-spi.xdc + source ../constraints/small-debug-wfi.xdc } else { #source ../constraints/vcu-small-debug.xdc #source ../constraints/small-debug.xdc diff --git a/fpga/src/axi_sdc_controller.v b/fpga/src/axi_sdc_controller.v deleted file mode 100644 index c32a6a783..000000000 --- a/fpga/src/axi_sdc_controller.v +++ /dev/null @@ -1,669 +0,0 @@ -////////////////////////////////////////////////////////////////////// -//// //// -//// Copyright (C) 2013-2022 Authors //// -//// //// -//// Based on original work by //// -//// Adam Edvardsson (adam.edvardsson@orsoc.se) //// -//// //// -//// Copyright (C) 2009 Authors //// -//// //// -//// This source file may be used and distributed without //// -//// restriction provided that this copyright statement is not //// -//// removed from the file and that any derivative work contains //// -//// the original copyright notice and the associated disclaimer. //// -//// //// -//// This source file is free software; you can redistribute it //// -//// and/or modify it under the terms of the GNU Lesser General //// -//// Public License as published by the Free Software Foundation; //// -//// either version 2.1 of the License, or (at your option) any //// -//// later version. //// -//// //// -//// This source is distributed in the hope that it will be //// -//// useful, but WITHOUT ANY WARRANTY; without even the implied //// -//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR //// -//// PURPOSE. See the GNU Lesser General Public License for more //// -//// details. //// -//// //// -//// You should have received a copy of the GNU Lesser General //// -//// Public License along with this source; if not, download it //// -//// from https://www.gnu.org/licenses/ //// -//// //// -////////////////////////////////////////////////////////////////////// - -module sdc_controller #( - parameter dma_addr_bits = 32, - parameter fifo_addr_bits = 7, - parameter sdio_card_detect_level = 1, - parameter voltage_controll_reg = 3300, - parameter capabilies_reg = 16'b0000_0000_0000_0011 -) ( - input wire async_resetn, - - (* X_INTERFACE_INFO = "xilinx.com:signal:clock:1.0 clock CLK" *) - (* X_INTERFACE_PARAMETER = "ASSOCIATED_BUSIF M_AXI:S_AXI_LITE, FREQ_HZ 100000000" *) - input wire clock, - - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE AWADDR" *) - (* X_INTERFACE_PARAMETER = "CLK_DOMAIN clock, ID_WIDTH 0, PROTOCOL AXI4LITE, DATA_WIDTH 32" *) - input wire [15:0] s_axi_awaddr, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE AWVALID" *) - input wire s_axi_awvalid, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE AWREADY" *) - output wire s_axi_awready, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE WDATA" *) - input wire [31:0] s_axi_wdata, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE WVALID" *) - input wire s_axi_wvalid, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE WREADY" *) - output wire s_axi_wready, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE BRESP" *) - output reg [1:0] s_axi_bresp, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE BVALID" *) - output reg s_axi_bvalid, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE BREADY" *) - input wire s_axi_bready, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE ARADDR" *) - input wire [15:0] s_axi_araddr, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE ARVALID" *) - input wire s_axi_arvalid, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE ARREADY" *) - output wire s_axi_arready, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE RDATA" *) - output reg [31:0] s_axi_rdata, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE RRESP" *) - output reg [1:0] s_axi_rresp, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE RVALID" *) - output reg s_axi_rvalid, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 S_AXI_LITE RREADY" *) - input wire s_axi_rready, - - (* X_INTERFACE_PARAMETER = "CLK_DOMAIN clock, ID_WIDTH 0, PROTOCOL AXI4, DATA_WIDTH 32" *) - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI AWADDR" *) - output reg [dma_addr_bits-1:0] m_axi_awaddr, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI AWLEN" *) - output reg [7:0] m_axi_awlen, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI AWVALID" *) - output reg m_axi_awvalid, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI AWREADY" *) - input wire m_axi_awready, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI WDATA" *) - output wire [31:0] m_axi_wdata, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI WLAST" *) - output reg m_axi_wlast, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI WVALID" *) - output reg m_axi_wvalid, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI WREADY" *) - input wire m_axi_wready, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI BRESP" *) - input wire [1:0] m_axi_bresp, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI BVALID" *) - input wire m_axi_bvalid, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI BREADY" *) - output wire m_axi_bready, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI ARADDR" *) - output reg [dma_addr_bits-1:0] m_axi_araddr, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI ARLEN" *) - output reg [7:0] m_axi_arlen, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI ARVALID" *) - output reg m_axi_arvalid, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI ARREADY" *) - input wire m_axi_arready, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI RDATA" *) - input wire [31:0] m_axi_rdata, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI RLAST" *) - input wire m_axi_rlast, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI RRESP" *) - input wire [1:0] m_axi_rresp, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI RVALID" *) - input wire m_axi_rvalid, - (* X_INTERFACE_INFO = "xilinx.com:interface:aximm:1.0 M_AXI RREADY" *) - output wire m_axi_rready, - - // SD BUS - //inout wire sdio_cmd, - //inout wire [3:0] sdio_dat, - (* X_INTERFACE_INFO = "xilinx.com:signal:clock:1.0 sdio_clk CLK" *) - (* X_INTERFACE_PARAMETER = "FREQ_HZ 50000000" *) - output reg sdio_clk, - (* X_INTERFACE_INFO = "xilinx.com:signal:reset:1.0 sdio_reset RST" *) - (* X_INTERFACE_PARAMETER = "POLARITY ACTIVE_HIGH" *) - output reg sdio_reset, - input wire sdio_cd, - - output reg sd_dat_reg_t, - output reg [3:0] sd_dat_reg_o, - input wire [3:0] sd_dat_i, - - output reg sd_cmd_reg_t, - output reg sd_cmd_reg_o, - input wire sd_cmd_i, - - // Interrupts - output wire interrupt -); - -`include "sd_defines.h" - -wire reset; - -wire go_idle; -reg cmd_start; -wire [1:0] cmd_setting; -wire cmd_start_tx; -wire [39:0] cmd; -wire [119:0] cmd_response; -wire cmd_crc_ok; -wire cmd_index_ok; -wire cmd_finish; - -wire d_write; -wire d_read; -wire [31:0] data_in_rx_fifo; -wire en_tx_fifo; -wire en_rx_fifo; -wire sd_data_busy; -(* mark_debug = "true" *) wire data_busy; -wire data_crc_ok; -wire tx_fifo_re; -wire rx_fifo_we; - -reg data_start_rx; -reg data_start_tx; -reg data_prepare_tx; -reg cmd_int_rst; -reg data_int_rst; -reg ctrl_rst; - -// AXI accessible registers -(* mark_debug = "true" *) reg [31:0] argument_reg; -(* mark_debug = "true" *) reg [`CMD_REG_SIZE-1:0] command_reg; -(* mark_debug = "true" *) reg [`CMD_TIMEOUT_W-1:0] cmd_timeout_reg; -(* mark_debug = "true" *) reg [`DATA_TIMEOUT_W-1:0] data_timeout_reg; -(* mark_debug = "true" *) reg [0:0] software_reset_reg; -(* mark_debug = "true" *) wire [31:0] response_0_reg; -(* mark_debug = "true" *) wire [31:0] response_1_reg; -(* mark_debug = "true" *) wire [31:0] response_2_reg; -(* mark_debug = "true" *) wire [31:0] response_3_reg; -(* mark_debug = "true" *) reg [`BLKSIZE_W-1:0] block_size_reg; -(* mark_debug = "true" *) reg [1:0] controller_setting_reg; -(* mark_debug = "true" *) wire [`INT_CMD_SIZE-1:0] cmd_int_status_reg; -(* mark_debug = "true" *) wire [`INT_DATA_SIZE-1:0] data_int_status_reg; -(* mark_debug = "true" *) wire [`INT_DATA_SIZE-1:0] data_int_status; -(* mark_debug = "true" *) reg [`INT_CMD_SIZE-1:0] cmd_int_enable_reg; -(* mark_debug = "true" *) reg [`INT_DATA_SIZE-1:0] data_int_enable_reg; -(* mark_debug = "true" *) reg [`BLKCNT_W-1:0] block_count_reg; -(* mark_debug = "true" *) reg [dma_addr_bits-1:0] dma_addr_reg; -(* mark_debug = "true" *) reg [7:0] clock_divider_reg = 124; // 400KHz - -// ------ Clocks and resets - -(* ASYNC_REG="true" *) -reg [2:0] reset_sync; -assign reset = reset_sync[2]; - -always @(posedge clock) - reset_sync <= {reset_sync[1:0], !async_resetn}; - -reg [7:0] clock_cnt; -(* mark_debug = "true" *) reg clock_state; -(* mark_debug = "true" *) reg clock_posedge; -reg clock_data_in; -wire fifo_almost_full; -wire fifo_almost_empty; - -always @(posedge clock) begin - if (reset) begin - clock_posedge <= 0; - clock_data_in <= 0; - clock_state <= 0; - clock_cnt <= 0; - end else if (clock_cnt < clock_divider_reg) begin - clock_posedge <= 0; - clock_data_in <= 0; - clock_cnt <= clock_cnt + 1; - end else if (clock_cnt < 124 && data_busy && en_rx_fifo && fifo_almost_full) begin - // Prevent Rx FIFO overflow - clock_posedge <= 0; - clock_data_in <= 0; - clock_cnt <= clock_cnt + 1; - end else if (clock_cnt < 124 && data_busy && en_tx_fifo && fifo_almost_empty) begin - // Prevent Tx FIFO underflow - clock_posedge <= 0; - clock_data_in <= 0; - clock_cnt <= clock_cnt + 1; - end else begin - clock_state <= !clock_state; - clock_posedge <= !clock_state; - if (clock_divider_reg == 0) - clock_data_in <= !clock_state; - else - clock_data_in <= clock_state; - clock_cnt <= 0; - end - sdio_clk <= sdio_reset || clock_state; - - if (reset) sdio_reset <= 0; - else if (clock_posedge) sdio_reset <= controller_setting_reg[1]; -end - -// ------ SD IO Buffers - -// wire sd_cmd_i; -wire sd_cmd_o; -wire sd_cmd_oe; -// reg sd_cmd_reg_o; -// reg sd_cmd_reg_t; -// wire [3:0] sd_dat_i; -wire [3:0] sd_dat_o; -wire sd_dat_oe; -// reg [3:0] sd_dat_reg_o; -// reg sd_dat_reg_t; - -// IOBUF IOBUF_cmd (.O(sd_cmd_i), .IO(sdio_cmd), .I(sd_cmd_reg_o), .T(sd_cmd_reg_t)); -// IOBUF IOBUF_dat0 (.O(sd_dat_i[0]), .IO(sdio_dat[0]), .I(sd_dat_reg_o[0]), .T(sd_dat_reg_t)); -// IOBUF IOBUF_dat1 (.O(sd_dat_i[1]), .IO(sdio_dat[1]), .I(sd_dat_reg_o[1]), .T(sd_dat_reg_t)); -// IOBUF IOBUF_dat2 (.O(sd_dat_i[2]), .IO(sdio_dat[2]), .I(sd_dat_reg_o[2]), .T(sd_dat_reg_t)); -// IOBUF IOBUF_dat3 (.O(sd_dat_i[3]), .IO(sdio_dat[3]), .I(sd_dat_reg_o[3]), .T(sd_dat_reg_t)); - -always @(negedge sdio_clk) begin - // Output data delayed by 1/2 clock cycle (5ns) to ensure - // required hold time: default speed - min 5ns, high speed - min 2ns (actual 5ns) - if (sdio_reset) begin - sd_cmd_reg_o <= 0; - sd_dat_reg_o <= 0; - sd_cmd_reg_t <= 0; - sd_dat_reg_t <= 0; - end else begin - sd_cmd_reg_o <= sd_cmd_o; - sd_dat_reg_o <= sd_dat_o; - sd_cmd_reg_t <= !sd_cmd_oe; - sd_dat_reg_t <= !(sd_dat_oe || (cmd_start_tx && (command_reg == 0))); - end -end - -// ------ SD card detect - -reg [25:0] sd_detect_cnt; -wire sd_insert_int = sd_detect_cnt[25]; -wire sd_remove_int = !sd_detect_cnt[25]; -reg sd_insert_ie; -reg sd_remove_ie; - -always @(posedge clock) begin - if (sdio_cd != sdio_card_detect_level) begin - sd_detect_cnt <= 0; - end else if (!sd_insert_int) begin - sd_detect_cnt <= sd_detect_cnt + 1; - end -end - -// ------ AXI Slave Interface - -reg [15:0] read_addr; -reg [15:0] write_addr; -reg [31:0] write_data; -reg rd_req; -reg [1:0] wr_req; - -assign s_axi_arready = !rd_req && !s_axi_rvalid; -assign s_axi_awready = !wr_req[0] && !s_axi_bvalid; -assign s_axi_wready = !wr_req[1] && !s_axi_bvalid; - -always @(posedge clock) begin - if (reset) begin - s_axi_rdata <= 0; - s_axi_rresp <= 0; - s_axi_rvalid <= 0; - s_axi_bresp <= 0; - s_axi_bvalid <= 0; - rd_req <= 0; - wr_req <= 0; - read_addr <= 0; - write_addr <= 0; - write_data <= 0; - cmd_start <= 0; - data_int_rst <= 0; - cmd_int_rst <= 0; - ctrl_rst <= 0; - argument_reg <= 0; - command_reg <= 0; - cmd_timeout_reg <= 0; - data_timeout_reg <= 0; - block_size_reg <= `RESET_BLOCK_SIZE; - controller_setting_reg <= 0; - cmd_int_enable_reg <= 0; - data_int_enable_reg <= 0; - software_reset_reg <= 0; - clock_divider_reg <= `RESET_CLOCK_DIV; - block_count_reg <= 0; - sd_insert_ie <= 0; - sd_remove_ie <= 0; - dma_addr_reg <= 0; - end else begin - if (clock_posedge) begin - cmd_start <= 0; - data_int_rst <= 0; - cmd_int_rst <= 0; - ctrl_rst <= software_reset_reg[0]; - end - if (s_axi_arready && s_axi_arvalid) begin - read_addr <= s_axi_araddr; - rd_req <= 1; - end - if (s_axi_rvalid && s_axi_rready) begin - s_axi_rvalid <= 0; - end else if (!s_axi_rvalid && rd_req) begin - s_axi_rdata <= 0; - if (read_addr[15:8] == 0) begin - case (read_addr[7:0]) - `argument : s_axi_rdata <= argument_reg; - `command : s_axi_rdata <= command_reg; - `resp0 : s_axi_rdata <= response_0_reg; - `resp1 : s_axi_rdata <= response_1_reg; - `resp2 : s_axi_rdata <= response_2_reg; - `resp3 : s_axi_rdata <= response_3_reg; - `controller : s_axi_rdata <= controller_setting_reg; - `blksize : s_axi_rdata <= block_size_reg; - `voltage : s_axi_rdata <= voltage_controll_reg; - `capa : s_axi_rdata <= capabilies_reg | (dma_addr_bits << 8); - `clock_d : s_axi_rdata <= clock_divider_reg; - `reset : s_axi_rdata <= { cmd_start, data_int_rst, cmd_int_rst, ctrl_rst }; - `cmd_timeout : s_axi_rdata <= cmd_timeout_reg; - `data_timeout : s_axi_rdata <= data_timeout_reg; - `cmd_isr : s_axi_rdata <= cmd_int_status_reg; - `cmd_iser : s_axi_rdata <= cmd_int_enable_reg; - `data_isr : s_axi_rdata <= data_int_status_reg; - `data_iser : s_axi_rdata <= data_int_enable_reg; - `blkcnt : s_axi_rdata <= block_count_reg; - `card_detect : s_axi_rdata <= { sd_remove_int, sd_remove_ie, sd_insert_int, sd_insert_ie }; - `dst_src_addr : s_axi_rdata <= dma_addr_reg[31:0]; - `dst_src_addr_high : if (dma_addr_bits > 32) s_axi_rdata <= dma_addr_reg[dma_addr_bits-1:32]; - endcase - end - s_axi_rresp <= 0; - s_axi_rvalid <= 1; - rd_req <= 0; - end - if (s_axi_awready && s_axi_awvalid) begin - write_addr <= s_axi_awaddr; - wr_req[0] <= 1; - end - if (s_axi_wready && s_axi_wvalid) begin - write_data <= s_axi_wdata; - wr_req[1] <= 1; - end - if (s_axi_bvalid && s_axi_bready) begin - s_axi_bvalid <= 0; - end else if (!s_axi_bvalid && wr_req == 2'b11) begin - if (write_addr[15:8] == 0) begin - case (write_addr[7:0]) - `argument : begin argument_reg <= write_data; cmd_start <= 1; end - `command : command_reg <= write_data; - `reset : software_reset_reg <= write_data; - `cmd_timeout : cmd_timeout_reg <= write_data; - `data_timeout : data_timeout_reg <= write_data; - `blksize : block_size_reg <= write_data; - `controller : controller_setting_reg <= write_data; - `cmd_isr : cmd_int_rst <= 1; - `cmd_iser : cmd_int_enable_reg <= write_data; - `clock_d : clock_divider_reg <= write_data; - `data_isr : data_int_rst <= 1; - `data_iser : data_int_enable_reg <= write_data; - `blkcnt : block_count_reg <= write_data; - `card_detect : begin sd_remove_ie <= write_data[2]; sd_insert_ie <= write_data[0]; end - `dst_src_addr : dma_addr_reg[31:0] <= write_data; - `dst_src_addr_high : if (dma_addr_bits > 32) dma_addr_reg[dma_addr_bits-1:32] <= write_data; - endcase - end - s_axi_bresp <= 0; - s_axi_bvalid <= 1; - wr_req <= 0; - end - end -end - -// ------ Data FIFO - -reg [31:0] fifo_mem [(1<= (1 << fifo_addr_bits) / 2; -wire [31:0] fifo_din = en_rx_fifo ? data_in_rx_fifo : m_bus_dat_i; -wire fifo_we = en_rx_fifo ? rx_fifo_we && clock_posedge : m_axi_rready && m_axi_rvalid; -wire fifo_re = en_rx_fifo ? m_axi_wready && m_axi_wvalid : tx_fifo_re && clock_posedge; -reg [31:0] fifo_dout; - -assign fifo_almost_full = fifo_data_len > (1 << fifo_addr_bits) * 3 / 4; -assign fifo_almost_empty = fifo_free_len > (1 << fifo_addr_bits) * 3 / 4; - -wire tx_stb = en_tx_fifo && fifo_free_len >= (1 << fifo_addr_bits) / 3; -wire rx_stb = en_rx_fifo && m_axi_bresp_cnt != 3'b111 && (fifo_data_len >= (1 << fifo_addr_bits) / 3 || (!fifo_empty && !data_busy)); - -always @(posedge clock) - if (reset || ctrl_rst || !(en_rx_fifo || en_tx_fifo)) begin - fifo_inp_pos <= 0; - fifo_out_pos <= 0; - end else begin - if (fifo_we && !fifo_full) begin - fifo_mem[fifo_inp_pos] <= fifo_din; - fifo_inp_pos <= fifo_inp_nxt; - if (fifo_empty) fifo_dout <= fifo_din; - end - if (fifo_re && !fifo_empty) begin - if (fifo_we && !fifo_full && fifo_out_nxt == fifo_inp_pos) fifo_dout <= fifo_din; - else fifo_dout <= fifo_mem[fifo_out_nxt]; - fifo_out_pos <= fifo_out_nxt; - end - end - -// ------ AXI Master Interface - -// AXI transaction (DDR access) is over 80 clock cycles -// Must use burst to achive required throughput - -reg m_axi_cyc; -wire m_axi_write = en_rx_fifo; -reg [7:0] m_axi_wcnt; -reg [dma_addr_bits-1:2] m_bus_adr_o; -wire [31:0] m_bus_dat_i; -reg [2:0] m_axi_bresp_cnt; -reg m_bus_error; - -assign m_axi_bready = m_axi_bresp_cnt != 0; -assign m_axi_rready = m_axi_cyc & !m_axi_write; -assign m_bus_dat_i = {m_axi_rdata[7:0],m_axi_rdata[15:8],m_axi_rdata[23:16],m_axi_rdata[31:24]}; -assign m_axi_wdata = {fifo_dout[7:0],fifo_dout[15:8],fifo_dout[23:16],fifo_dout[31:24]}; - -// AXI burst cannot cross a 4KB boundary -wire [fifo_addr_bits-1:0] tx_burst_len; -wire [fifo_addr_bits-1:0] rx_burst_len; -assign tx_burst_len = m_bus_adr_o[11:2] + fifo_free_len >= m_bus_adr_o[11:2] ? fifo_free_len - 1 : ~m_bus_adr_o[fifo_addr_bits+1:2]; -assign rx_burst_len = m_bus_adr_o[11:2] + fifo_data_len >= m_bus_adr_o[11:2] ? fifo_data_len - 1 : ~m_bus_adr_o[fifo_addr_bits+1:2]; - -assign data_int_status_reg = { data_int_status[`INT_DATA_SIZE-1:1], - !en_rx_fifo && !en_tx_fifo && !m_axi_cyc && m_axi_bresp_cnt == 0 && data_int_status[0] }; - -always @(posedge clock) begin - if (reset | ctrl_rst) begin - m_axi_arvalid <= 0; - m_axi_awvalid <= 0; - m_axi_wvalid <= 0; - m_axi_cyc <= 0; - end else if (m_axi_cyc) begin - if (m_axi_awvalid && m_axi_awready) begin - m_axi_awvalid <= 0; - end - if (m_axi_arvalid && m_axi_arready) begin - m_axi_arvalid <= 0; - end - if (m_axi_wvalid && m_axi_wready) begin - if (m_axi_wlast) begin - m_axi_wvalid <= 0; - m_axi_cyc <= 0; - end else begin - m_axi_wlast <= m_axi_wcnt + 1 == m_axi_awlen; - m_axi_wcnt <= m_axi_wcnt + 1; - end - end - if (m_axi_rvalid && m_axi_rready && m_axi_rlast) begin - m_axi_cyc <= 0; - end - end else if (tx_stb || rx_stb) begin - m_axi_cyc <= 1; - m_axi_wcnt <= 0; - if (m_axi_write) begin - m_axi_awaddr <= { m_bus_adr_o, 2'b00 }; - m_axi_awlen <= rx_burst_len < 8'hff ? rx_burst_len : 8'hff; - m_axi_wlast <= rx_burst_len == 0; - m_axi_awvalid <= 1; - m_axi_wvalid <= 1; - end else begin - m_axi_araddr <= { m_bus_adr_o, 2'b00 }; - m_axi_arlen <= tx_burst_len < 8'hff ? tx_burst_len : 8'hff; - m_axi_arvalid <= 1; - end - end - if (reset | ctrl_rst) begin - m_bus_adr_o <= 0; - end else if ((m_axi_wready && m_axi_wvalid) || (m_axi_rready && m_axi_rvalid)) begin - m_bus_adr_o <= m_bus_adr_o + 1; - end else if (!m_axi_cyc && !en_rx_fifo && !en_tx_fifo) begin - m_bus_adr_o <= dma_addr_reg[dma_addr_bits-1:2]; - end - if (reset | ctrl_rst) begin - m_axi_bresp_cnt <= 0; - end else if ((m_axi_awvalid && m_axi_awready) && !(m_axi_bvalid && m_axi_bready)) begin - m_axi_bresp_cnt <= m_axi_bresp_cnt + 1; - end else if (!(m_axi_awvalid && m_axi_awready) && (m_axi_bvalid && m_axi_bready)) begin - m_axi_bresp_cnt <= m_axi_bresp_cnt - 1; - end - if (reset | ctrl_rst | cmd_start) begin - m_bus_error <= 0; - end else if (m_axi_bvalid && m_axi_bready && m_axi_bresp) begin - m_bus_error <= 1; - end else if (m_axi_rvalid && m_axi_rready && m_axi_rresp) begin - m_bus_error <= 1; - end - if (reset | ctrl_rst) begin - data_start_tx <= 0; - data_start_rx <= 0; - data_prepare_tx <= 0; - end else if (clock_posedge) begin - data_start_tx <= 0; - data_start_rx <= 0; - if (cmd_start) begin - data_prepare_tx <= 0; - if (command_reg[`CMD_WITH_DATA] == 2'b01) data_start_rx <= 1; - else if (command_reg[`CMD_WITH_DATA] != 2'b00) data_prepare_tx <= 1; - end else if (data_prepare_tx) begin - if (cmd_int_status_reg[`INT_CMD_CC]) begin - data_prepare_tx <= 0; - data_start_tx <= 1; - end else if (cmd_int_status_reg[`INT_CMD_EI]) begin - data_prepare_tx <= 0; - end - end - end -end - -// ------ SD Card Interface - -sd_cmd_master sd_cmd_master0( - .clock (clock), - .clock_posedge (clock_posedge), - .reset (reset | ctrl_rst), - .start (cmd_start), - .int_status_rst (cmd_int_rst), - .setting (cmd_setting), - .start_xfr (cmd_start_tx), - .go_idle (go_idle), - .cmd (cmd), - .response (cmd_response), - .crc_error (!cmd_crc_ok), - .index_ok (cmd_index_ok), - .busy (sd_data_busy), - .finish (cmd_finish), - .argument (argument_reg), - .command (command_reg), - .timeout (cmd_timeout_reg), - .int_status (cmd_int_status_reg), - .response_0 (response_0_reg), - .response_1 (response_1_reg), - .response_2 (response_2_reg), - .response_3 (response_3_reg) - ); - -sd_cmd_serial_host cmd_serial_host0( - .clock (clock), - .clock_posedge (clock_posedge), - .clock_data_in (clock_data_in), - .reset (reset | ctrl_rst | go_idle), - .setting (cmd_setting), - .cmd (cmd), - .start (cmd_start_tx), - .finish (cmd_finish), - .response (cmd_response), - .crc_ok (cmd_crc_ok), - .index_ok (cmd_index_ok), - .cmd_i (sd_cmd_i), - .cmd_o (sd_cmd_o), - .cmd_oe (sd_cmd_oe) - ); - -sd_data_master sd_data_master0( - .clock (clock), - .clock_posedge (clock_posedge), - .reset (reset | ctrl_rst), - .start_tx (data_start_tx), - .start_rx (data_start_rx), - .timeout (data_timeout_reg), - .d_write (d_write), - .d_read (d_read), - .en_tx_fifo (en_tx_fifo), - .en_rx_fifo (en_rx_fifo), - .fifo_empty (fifo_empty), - .fifo_ready (fifo_ready), - .fifo_full (fifo_full), - .bus_cycle (m_axi_cyc || m_axi_bresp_cnt != 0), - .xfr_complete (!data_busy), - .crc_error (!data_crc_ok), - .bus_error (m_bus_error), - .int_status (data_int_status), - .int_status_rst (data_int_rst) - ); - -sd_data_serial_host sd_data_serial_host0( - .clock (clock), - .clock_posedge (clock_posedge), - .clock_data_in (clock_data_in), - .reset (reset | ctrl_rst), - .data_in (fifo_dout), - .rd (tx_fifo_re), - .data_out (data_in_rx_fifo), - .we (rx_fifo_we), - .dat_oe (sd_dat_oe), - .dat_o (sd_dat_o), - .dat_i (sd_dat_i), - .blksize (block_size_reg), - .bus_4bit (controller_setting_reg[0]), - .blkcnt (block_count_reg), - .start ({d_read, d_write}), - .byte_alignment (dma_addr_reg[1:0]), - .sd_data_busy (sd_data_busy), - .busy (data_busy), - .crc_ok (data_crc_ok) - ); - -assign interrupt = - |(cmd_int_status_reg & cmd_int_enable_reg) || - |(data_int_status_reg & data_int_enable_reg) || - (sd_insert_int & sd_insert_ie) || - (sd_remove_int & sd_remove_ie); - -endmodule diff --git a/fpga/zsbl/Makefile b/fpga/zsbl/Makefile index 8ba2b84d2..581a9496b 100644 --- a/fpga/zsbl/Makefile +++ b/fpga/zsbl/Makefile @@ -117,8 +117,6 @@ $(TARGET).memfile: $(TARGET) @echo 'Making memory file' riscv64-unknown-elf-elf2hex --bit-width 64 --input $^ --output $@ extractFunctionRadix.sh $<.objdump - mkdir -p ../../imperas-riscv-tests/work/rv64BP/ - cp -f $(TARGETDIR)/* ../../imperas-riscv-tests/work/rv64BP/ @echo 'Splitting memfile.' ./splitfile.sh $@ mv boot.mem ../src/boot.mem diff --git a/fpga/zsbl/spi.c b/fpga/zsbl/spi.c index 04d609648..4e75086ad 100644 --- a/fpga/zsbl/spi.c +++ b/fpga/zsbl/spi.c @@ -31,7 +31,7 @@ uint8_t spi_txrx(uint8_t byte) { spi_sendbyte(byte); - waittx(); + waitrx(); return spi_readbyte(); } diff --git a/fpga/zsbl/spi.h b/fpga/zsbl/spi.h index f9e88fa6d..5a472142f 100644 --- a/fpga/zsbl/spi.h +++ b/fpga/zsbl/spi.h @@ -106,7 +106,7 @@ static inline void waittx() { } static inline void waitrx() { - while(read_reg(SPI_IP) & 2) {} + while(!(read_reg(SPI_IP) & 2)) {} } static inline uint8_t spi_readbyte() { diff --git a/linux/Makefile b/linux/Makefile index 85ef24ccb..c0b6c3511 100644 --- a/linux/Makefile +++ b/linux/Makefile @@ -1,21 +1,11 @@ BUILDROOT := buildroot IMAGES := ${BUILDROOT}/output/images -WALLY := $(shell dirname $(shell pwd)) -WALLYLINUX := $(shell pwd) +WALLYLINUX := $(WALLY)/linux DIS := ${IMAGES}/disassembly -BRPACKAGES := $(WALLYLINUX)/buildroot-packages -BR2023 := $(WALLYLINUX)/buildroot-config-src/buildroot-2023.05.1 +BR2_EXTERNAL_TREE := $(WALLYLINUX)/br2-external-tree # set sudo if needed depending on $RISCV -ifeq ($(shell mkdir -p $(RISCV)/.test > /dev/null 2>&1 ; echo $$?), 0) - SUDO := -else - SUDO := sudo -endif - -# Buildroot Config Stuff -WALLYBOARDSRC := $(WALLYLINUX)/buildroot-config-src/wally -WALLYBOARD := $(BUILDROOT)/board/wally +SUDO := $(shell mkdir -p $(RISCV)/.test > /dev/null 2>&1 || echo sudo) # Device tree files DTS ?= $(shell find devicetree -type f -regex ".*\.dts" | sort) @@ -105,19 +95,13 @@ $(IMAGES)/busybox: cp $$busyboxDir/busybox $@ ;\ # Generating new Buildroot directories -------------------------------- -download: $(WALLYBOARD) - cp $(WALLYBOARD)/main.config $(BUILDROOT)/.config +download: $(BUILDROOT) + $(MAKE) -C $(BUILDROOT) wally_defconfig BR2_EXTERNAL=$(BR2_EXTERNAL_TREE) @echo "Buildroot successfully download." -# CONFIG DEPENDENCIES 2023.05.1 --------------------------------------- -$(WALLYBOARD): $(BUILDROOT) - cp -r $(WALLYBOARDSRC) $(BUILDROOT)/board - cp $(BR2023)/main.config $(WALLYBOARD)/main.config - cp $(BR2023)/linux.config $(WALLYBOARD)/linux.config - $(BUILDROOT): git clone https://github.com/buildroot/buildroot.git $@ - cd $@; git checkout 2023.05.x + cd $@; git checkout 2024.11.x # --------------------------------------------------------------------- diff --git a/linux/br2-external-tree/Config.in b/linux/br2-external-tree/Config.in new file mode 100644 index 000000000..6e3475255 --- /dev/null +++ b/linux/br2-external-tree/Config.in @@ -0,0 +1,2 @@ +# required for buildroot external tree +# delibarately empty diff --git a/linux/buildroot-config-src/wally/busybox.config b/linux/br2-external-tree/board/wally/busybox.config similarity index 97% rename from linux/buildroot-config-src/wally/busybox.config rename to linux/br2-external-tree/board/wally/busybox.config index 48aa77ee6..5d2d83a1d 100644 --- a/linux/buildroot-config-src/wally/busybox.config +++ b/linux/br2-external-tree/board/wally/busybox.config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.33.1 -# Thu Jul 15 15:59:54 2021 +# Busybox version: 1.36.1 +# Fri Jan 3 15:38:08 2025 # CONFIG_HAVE_DOT_CONFIG=y @@ -93,10 +93,16 @@ CONFIG_FEATURE_BUFFERS_USE_MALLOC=y # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set CONFIG_PASSWORD_MINLEN=6 CONFIG_MD5_SMALL=1 +CONFIG_SHA1_SMALL=3 +CONFIG_SHA1_HWACCEL=y +CONFIG_SHA256_HWACCEL=y CONFIG_SHA3_SMALL=1 -# CONFIG_FEATURE_FAST_TOP is not set -# CONFIG_FEATURE_ETC_NETWORKS is not set -# CONFIG_FEATURE_ETC_SERVICES is not set +# CONFIG_FEATURE_NON_POSIX_CP is not set +CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y +# CONFIG_FEATURE_USE_SENDFILE is not set +CONFIG_FEATURE_COPYBUF_KB=4 +# CONFIG_MONOTONIC_SYSCALL is not set +# CONFIG_IOCTL_HEX2STR_ERROR is not set # CONFIG_FEATURE_EDITING is not set CONFIG_FEATURE_EDITING_MAX_LEN=0 # CONFIG_FEATURE_EDITING_VI is not set @@ -120,14 +126,9 @@ CONFIG_LAST_SUPPORTED_WCHAR=0 # CONFIG_UNICODE_BIDI_SUPPORT is not set # CONFIG_UNICODE_NEUTRAL_TABLE is not set # CONFIG_UNICODE_PRESERVE_BROKEN is not set -# CONFIG_FEATURE_NON_POSIX_CP is not set -CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y -# CONFIG_FEATURE_USE_SENDFILE is not set -CONFIG_FEATURE_COPYBUF_KB=4 -CONFIG_FEATURE_SKIP_ROOTFS=y -# CONFIG_MONOTONIC_SYSCALL is not set -# CONFIG_IOCTL_HEX2STR_ERROR is not set -# CONFIG_FEATURE_HWIB is not set +# CONFIG_LOOP_CONFIGURE is not set +# CONFIG_NO_LOOP_CONFIGURE is not set +CONFIG_TRY_LOOP_CONFIGURE=y # # Applets @@ -162,6 +163,8 @@ CONFIG_BZIP2_SMALL=0 CONFIG_CPIO=y # CONFIG_FEATURE_CPIO_O is not set # CONFIG_FEATURE_CPIO_P is not set +# CONFIG_FEATURE_CPIO_IGNORE_DEVNO is not set +# CONFIG_FEATURE_CPIO_RENUMBER_INODES is not set # CONFIG_DPKG is not set # CONFIG_DPKG_DEB is not set CONFIG_GZIP=y @@ -197,6 +200,22 @@ CONFIG_FEATURE_UNZIP_CDF=y # # Coreutils # +CONFIG_FEATURE_VERBOSE=y + +# +# Common options for date and touch +# +# CONFIG_FEATURE_TIMEZONE is not set + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y CONFIG_BASENAME=y CONFIG_CAT=y CONFIG_FEATURE_CATN=y @@ -207,11 +226,13 @@ CONFIG_CHOWN=y # CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set CONFIG_CHROOT=y CONFIG_CKSUM=y +CONFIG_CRC32=y # CONFIG_COMM is not set CONFIG_CP=y # CONFIG_FEATURE_CP_LONG_OPTIONS is not set # CONFIG_FEATURE_CP_REFLINK is not set CONFIG_CUT=y +CONFIG_FEATURE_CUT_REGEX=y CONFIG_DATE=y CONFIG_FEATURE_DATE_ISOFMT=y # CONFIG_FEATURE_DATE_NANO is not set @@ -223,6 +244,7 @@ CONFIG_FEATURE_DD_IBS_OBS=y CONFIG_FEATURE_DD_STATUS=y CONFIG_DF=y # CONFIG_FEATURE_DF_FANCY is not set +CONFIG_FEATURE_SKIP_ROOTFS=y CONFIG_DIRNAME=y # CONFIG_DOS2UNIX is not set # CONFIG_UNIX2DOS is not set @@ -316,13 +338,13 @@ CONFIG_TEST2=y CONFIG_FEATURE_TEST_64=y # CONFIG_TIMEOUT is not set CONFIG_TOUCH=y -# CONFIG_FEATURE_TOUCH_NODEREF is not set # CONFIG_FEATURE_TOUCH_SUSV3 is not set CONFIG_TR=y CONFIG_FEATURE_TR_CLASSES=y CONFIG_FEATURE_TR_EQUIV=y CONFIG_TRUE=y CONFIG_TRUNCATE=y +CONFIG_TSORT=y CONFIG_TTY=y CONFIG_UNAME=y CONFIG_UNAME_OSNAME="GNU/Linux for Wally" @@ -336,27 +358,12 @@ CONFIG_BASE64=y CONFIG_UUENCODE=y CONFIG_WC=y # CONFIG_FEATURE_WC_LARGE is not set -CONFIG_WHOAMI=y # CONFIG_WHO is not set # CONFIG_W is not set # CONFIG_USERS is not set +CONFIG_WHOAMI=y CONFIG_YES=y -# -# Common options -# -CONFIG_FEATURE_VERBOSE=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - # # Console Utilities # @@ -420,6 +427,7 @@ CONFIG_VI=y CONFIG_FEATURE_VI_MAX_LEN=4096 CONFIG_FEATURE_VI_8BIT=y CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_COLON_EXPAND=y CONFIG_FEATURE_VI_YANKMARK=y CONFIG_FEATURE_VI_SEARCH=y # CONFIG_FEATURE_VI_REGEX_SEARCH is not set @@ -433,6 +441,7 @@ CONFIG_FEATURE_VI_ASK_TERMINAL=y CONFIG_FEATURE_VI_UNDO=y CONFIG_FEATURE_VI_UNDO_QUEUE=y CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 +CONFIG_FEATURE_VI_VERBOSE_STATUS=y # CONFIG_FEATURE_ALLOW_EXEC is not set # @@ -441,7 +450,11 @@ CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 CONFIG_FIND=y CONFIG_FEATURE_FIND_PRINT0=y CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_ATIME=y +CONFIG_FEATURE_FIND_CTIME=y CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_AMIN=y +CONFIG_FEATURE_FIND_CMIN=y CONFIG_FEATURE_FIND_PERM=y CONFIG_FEATURE_FIND_TYPE=y CONFIG_FEATURE_FIND_EXECUTABLE=y @@ -449,6 +462,7 @@ CONFIG_FEATURE_FIND_XDEV=y CONFIG_FEATURE_FIND_MAXDEPTH=y CONFIG_FEATURE_FIND_NEWER=y # CONFIG_FEATURE_FIND_INUM is not set +CONFIG_FEATURE_FIND_SAMEFILE=y CONFIG_FEATURE_FIND_EXEC=y CONFIG_FEATURE_FIND_EXEC_PLUS=y CONFIG_FEATURE_FIND_USER=y @@ -510,10 +524,10 @@ CONFIG_FEATURE_SHADOWPASSWDS=y # CONFIG_USE_BB_SHADOW is not set CONFIG_USE_BB_CRYPT=y CONFIG_USE_BB_CRYPT_SHA=y -CONFIG_ADDGROUP=y -# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set # CONFIG_ADD_SHELL is not set # CONFIG_REMOVE_SHELL is not set +CONFIG_ADDGROUP=y +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set CONFIG_ADDUSER=y # CONFIG_FEATURE_CHECK_NAMES is not set CONFIG_LAST_ID=60000 @@ -739,6 +753,7 @@ CONFIG_FEATURE_VOLUMEID_FAT=y # Miscellaneous Utilities # # CONFIG_ADJTIMEX is not set +CONFIG_ASCII=y # CONFIG_BBCONFIG is not set # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set # CONFIG_BC is not set @@ -772,10 +787,10 @@ CONFIG_CRONTAB=y # CONFIG_FEATURE_DEVFS is not set CONFIG_DEVMEM=y # CONFIG_FBSPLASH is not set -# CONFIG_FLASHCP is not set # CONFIG_FLASH_ERASEALL is not set # CONFIG_FLASH_LOCK is not set # CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASHCP is not set # CONFIG_HDPARM is not set # CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set @@ -819,21 +834,24 @@ CONFIG_PARTPROBE=y # CONFIG_RFKILL is not set # CONFIG_RUNLEVEL is not set # CONFIG_RX is not set +CONFIG_SEEDRNG=y CONFIG_SETFATTR=y CONFIG_SETSERIAL=y CONFIG_STRINGS=y CONFIG_TIME=y +CONFIG_TREE=y CONFIG_TS=y # CONFIG_TTYSIZE is not set -CONFIG_UBIRENAME=y # CONFIG_UBIATTACH is not set # CONFIG_UBIDETACH is not set # CONFIG_UBIMKVOL is not set # CONFIG_UBIRMVOL is not set # CONFIG_UBIRSVOL is not set # CONFIG_UBIUPDATEVOL is not set +CONFIG_UBIRENAME=y # CONFIG_VOLNAME is not set CONFIG_WATCHDOG=y +# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set # # Networking Utilities @@ -842,6 +860,9 @@ CONFIG_WATCHDOG=y # CONFIG_FEATURE_UNIX_LOCAL is not set # CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set # CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_ETC_SERVICES is not set +# CONFIG_FEATURE_HWIB is not set # CONFIG_FEATURE_TLS_SHA1 is not set # CONFIG_ARP is not set # CONFIG_ARPING is not set @@ -860,6 +881,7 @@ CONFIG_WATCHDOG=y CONFIG_HOSTNAME=y # CONFIG_DNSDOMAINNAME is not set # CONFIG_HTTPD is not set +CONFIG_FEATURE_HTTPD_PORT_DEFAULT=0 # CONFIG_FEATURE_HTTPD_RANGES is not set # CONFIG_FEATURE_HTTPD_SETUID is not set # CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set @@ -952,6 +974,7 @@ CONFIG_FEATURE_IP_ROUTE_DIR="" # CONFIG_FEATURE_TELNET_WIDTH is not set # CONFIG_TELNETD is not set # CONFIG_FEATURE_TELNETD_STANDALONE is not set +CONFIG_FEATURE_TELNETD_PORT_DEFAULT=0 # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set # CONFIG_TFTP is not set # CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set @@ -972,6 +995,7 @@ CONFIG_FEATURE_IP_ROUTE_DIR="" # CONFIG_WGET is not set # CONFIG_FEATURE_WGET_LONG_OPTIONS is not set # CONFIG_FEATURE_WGET_STATUSBAR is not set +# CONFIG_FEATURE_WGET_FTP is not set # CONFIG_FEATURE_WGET_AUTHENTICATION is not set # CONFIG_FEATURE_WGET_TIMEOUT is not set # CONFIG_FEATURE_WGET_HTTPS is not set @@ -988,11 +1012,13 @@ CONFIG_DHCPD_LEASES_FILE="" # CONFIG_FEATURE_UDHCPC_ARPING is not set # CONFIG_FEATURE_UDHCPC_SANITIZEOPT is not set CONFIG_UDHCPC_DEFAULT_SCRIPT="" +CONFIG_UDHCPC6_DEFAULT_SCRIPT="" # CONFIG_UDHCPC6 is not set # CONFIG_FEATURE_UDHCPC6_RFC3646 is not set # CONFIG_FEATURE_UDHCPC6_RFC4704 is not set # CONFIG_FEATURE_UDHCPC6_RFC4833 is not set # CONFIG_FEATURE_UDHCPC6_RFC5970 is not set +CONFIG_UDHCPC_DEFAULT_INTERFACE="" # CONFIG_FEATURE_UDHCP_PORT is not set CONFIG_UDHCP_DEBUG=0 CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0 @@ -1010,17 +1036,19 @@ CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" # # Mail Utilities # +CONFIG_FEATURE_MIME_CHARSET="" # CONFIG_MAKEMIME is not set # CONFIG_POPMAILDIR is not set # CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set # CONFIG_REFORMIME is not set # CONFIG_FEATURE_REFORMIME_COMPAT is not set # CONFIG_SENDMAIL is not set -CONFIG_FEATURE_MIME_CHARSET="" # # Process Utilities # +# CONFIG_FEATURE_FAST_TOP is not set +# CONFIG_FEATURE_SHOW_THREADS is not set CONFIG_FREE=y CONFIG_FUSER=y # CONFIG_IOSTAT is not set @@ -1059,7 +1087,6 @@ CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y CONFIG_UPTIME=y # CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set CONFIG_WATCH=y -# CONFIG_FEATURE_SHOW_THREADS is not set # # Runit Utilities @@ -1116,6 +1143,7 @@ CONFIG_ASH_IDLE_TIMEOUT=y CONFIG_ASH_ECHO=y CONFIG_ASH_PRINTF=y CONFIG_ASH_TEST=y +CONFIG_ASH_SLEEP=y CONFIG_ASH_HELP=y CONFIG_ASH_GETOPTS=y CONFIG_ASH_CMDCMD=y @@ -1124,8 +1152,8 @@ CONFIG_ASH_CMDCMD=y # CONFIG_SHELL_HUSH is not set # CONFIG_HUSH_BASH_COMPAT is not set # CONFIG_HUSH_BRACE_EXPANSION is not set -# CONFIG_HUSH_LINENO_VAR is not set # CONFIG_HUSH_BASH_SOURCE_CURDIR is not set +# CONFIG_HUSH_LINENO_VAR is not set # CONFIG_HUSH_INTERACTIVE is not set # CONFIG_HUSH_SAVEHISTORY is not set # CONFIG_HUSH_JOB is not set diff --git a/linux/br2-external-tree/board/wally/linux.config b/linux/br2-external-tree/board/wally/linux.config new file mode 100644 index 000000000..53c2c1866 --- /dev/null +++ b/linux/br2-external-tree/board/wally/linux.config @@ -0,0 +1,92 @@ +CONFIG_DEFAULT_HOSTNAME="WallyDefaultHostname" +CONFIG_SYSVIPC=y +CONFIG_NO_HZ_IDLE=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio" +# CONFIG_RD_GZIP is not set +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +# CONFIG_RD_ZSTD is not set +CONFIG_EXPERT=y +# CONFIG_SYSFS_SYSCALL is not set +# CONFIG_RISCV_ISA_V is not set +# CONFIG_SUSPEND is not set +CONFIG_JUMP_LABEL=y +# CONFIG_COMPAT_32BIT_TIME is not set +# CONFIG_GCC_PLUGINS is not set +CONFIG_MODULES=y +CONFIG_PAGE_REPORTING=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_SERIO is not set +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=1 +CONFIG_SERIAL_8250_RUNTIME_UARTS=1 +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_SIFIVE=y +CONFIG_SERIAL_SIFIVE_CONSOLE=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_SPI=y +CONFIG_SPI_SIFIVE=y +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=32 +# CONFIG_GPIO_CDEV_V1 is not set +CONFIG_GPIO_SIFIVE=y +# CONFIG_HWMON is not set +# CONFIG_HID is not set +# CONFIG_USB_SUPPORT is not set +CONFIG_MMC=y +CONFIG_MMC_SPI=y +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VHOST_MENU is not set +# CONFIG_IOMMU_SUPPORT is not set +CONFIG_EXT4_FS=y +CONFIG_AUTOFS_FS=y +CONFIG_PROC_CHILDREN=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_EFIVAR_FS=y +# CONFIG_MISC_FILESYSTEMS is not set +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf" +CONFIG_INIT_STACK_NONE=y +# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_HW is not set +CONFIG_PRINTK_TIME=y +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 +CONFIG_READABLE_ASM=y +CONFIG_DEBUG_FS=y +CONFIG_DEBUG_PAGEALLOC=y +# CONFIG_SLUB_DEBUG is not set +CONFIG_SCHED_STACK_END_CHECK=y +CONFIG_DEBUG_VM=y +CONFIG_DEBUG_VM_PGFLAGS=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_SOFTLOCKUP_DETECTOR=y +CONFIG_WQ_WATCHDOG=y +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +CONFIG_DEBUG_RWSEMS=y +CONFIG_DEBUG_ATOMIC_SLEEP=y +CONFIG_STACKTRACE=y +CONFIG_DEBUG_LIST=y +CONFIG_DEBUG_PLIST=y +CONFIG_DEBUG_SG=y +CONFIG_RCU_EQS_DEBUG=y +# CONFIG_FTRACE is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +CONFIG_MEMTEST=y diff --git a/linux/buildroot-config-src/wally/rootfs_overlay/.profile b/linux/br2-external-tree/board/wally/rootfs_overlay/.profile similarity index 100% rename from linux/buildroot-config-src/wally/rootfs_overlay/.profile rename to linux/br2-external-tree/board/wally/rootfs_overlay/.profile diff --git a/linux/buildroot-config-src/wally/rootfs_overlay/etc/inittab b/linux/br2-external-tree/board/wally/rootfs_overlay/etc/inittab similarity index 100% rename from linux/buildroot-config-src/wally/rootfs_overlay/etc/inittab rename to linux/br2-external-tree/board/wally/rootfs_overlay/etc/inittab diff --git a/linux/br2-external-tree/configs/wally_defconfig b/linux/br2-external-tree/configs/wally_defconfig new file mode 100644 index 000000000..24d82e9d0 --- /dev/null +++ b/linux/br2-external-tree/configs/wally_defconfig @@ -0,0 +1,44 @@ +BR2_riscv=y +BR2_RISCV_ISA_RVC=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_11=y +BR2_BINUTILS_VERSION_2_43_X=y +BR2_GCC_VERSION_14_X=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y +BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y +BR2_BACKUP_SITE="http://sources.buildroot.net" +BR2_GNU_MIRROR="http://ftpmirror.gnu.org" +BR2_ENABLE_DEBUG=y +BR2_DEBUG_3=y +# BR2_STRIP_strip is not set +# BR2_PIC_PIE is not set +BR2_SSP_NONE=y +BR2_RELRO_NONE=y +BR2_FORTIFY_SOURCE_NONE=y +BR2_TARGET_GENERIC_HOSTNAME="WallyHostname" +BR2_TARGET_GENERIC_ISSUE="Greetings! This RISC-V Linux image was built for Wally on Buildroot!" +BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES=y +BR2_SYSTEM_DHCP="eth0" +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_WALLY_PATH)/board/wally/rootfs_overlay" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.8" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_WALLY_PATH)/board/wally/linux.config" +BR2_PACKAGE_BUSYBOX_CONFIG="$(BR2_EXTERNAL_WALLY_PATH)/board/wally/busybox.config" +BR2_PACKAGE_COREMARK=y +BR2_PACKAGE_DHRYSTONE=y +BR2_PACKAGE_RAMSPEED=y +BR2_PACKAGE_WHETSTONE=y +BR2_PACKAGE_SDL=y +BR2_PACKAGE_ZSH=y +# BR2_PACKAGE_UEMACS=y # temporarily disabled due to build issues with gcc 14 +BR2_TARGET_ROOTFS_INITRAMFS=y +# BR2_TARGET_ROOTFS_TAR is not set +BR2_TARGET_OPENSBI=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION=y +BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.6" +BR2_TARGET_OPENSBI_PLAT="generic" +# BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG is not set +BR2_PACKAGE_HOST_E2FSPROGS=y +BR2_PACKAGE_HOST_QEMU=y +BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y diff --git a/linux/br2-external-tree/external.desc b/linux/br2-external-tree/external.desc new file mode 100644 index 000000000..f9a89b5c7 --- /dev/null +++ b/linux/br2-external-tree/external.desc @@ -0,0 +1,2 @@ +name: WALLY +desc: Buildroot configuration for wally diff --git a/linux/br2-external-tree/external.mk b/linux/br2-external-tree/external.mk new file mode 100644 index 000000000..6e3475255 --- /dev/null +++ b/linux/br2-external-tree/external.mk @@ -0,0 +1,2 @@ +# required for buildroot external tree +# delibarately empty diff --git a/linux/buildroot-config-src/buildroot-2023.05.1/linux.config b/linux/buildroot-config-src/buildroot-2023.05.1/linux.config deleted file mode 100644 index 047be24c2..000000000 --- a/linux/buildroot-config-src/buildroot-2023.05.1/linux.config +++ /dev/null @@ -1,1807 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Linux/riscv 6.6.0 Kernel Configuration -# -CONFIG_CC_VERSION_TEXT="riscv64-buildroot-linux-gnu-gcc.br_real (Buildroot 2023.05.3) 12.3.0" -CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=120300 -CONFIG_CLANG_VERSION=0 -CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=23800 -CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=23800 -CONFIG_LLD_VERSION=0 -CONFIG_CC_CAN_LINK=y -CONFIG_CC_CAN_LINK_STATIC=y -CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y -CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y -CONFIG_CC_HAS_ASM_INLINE=y -CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y -CONFIG_PAHOLE_VERSION=0 -CONFIG_IRQ_WORK=y -CONFIG_BUILDTIME_TABLE_SORT=y -CONFIG_THREAD_INFO_IN_TASK=y - -# -# General setup -# -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 -# CONFIG_COMPILE_TEST is not set -# CONFIG_WERROR is not set -CONFIG_LOCALVERSION="" -CONFIG_LOCALVERSION_AUTO=y -CONFIG_BUILD_SALT="" -CONFIG_DEFAULT_INIT="" -CONFIG_DEFAULT_HOSTNAME="WallyDefaultHostname" -CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_SYSVIPC_COMPAT=y -# CONFIG_WATCH_QUEUE is not set -CONFIG_CROSS_MEMORY_ATTACH=y -# CONFIG_USELIB is not set -CONFIG_HAVE_ARCH_AUDITSYSCALL=y - -# -# IRQ subsystem -# -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_IRQ_SHOW_LEVEL=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_DOMAIN_HIERARCHY=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_SPARSE_IRQ=y -# CONFIG_GENERIC_IRQ_DEBUGFS is not set -# end of IRQ subsystem - -CONFIG_GENERIC_IRQ_MULTI_HANDLER=y -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y -CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y - -# -# Timers subsystem -# -CONFIG_TICK_ONESHOT=y -CONFIG_NO_HZ_COMMON=y -# CONFIG_HZ_PERIODIC is not set -CONFIG_NO_HZ_IDLE=y -# CONFIG_NO_HZ is not set -# CONFIG_HIGH_RES_TIMERS is not set -# end of Timers subsystem - -CONFIG_HAVE_EBPF_JIT=y - -# -# BPF subsystem -# -# CONFIG_BPF_SYSCALL is not set -# end of BPF subsystem - -CONFIG_PREEMPT_NONE_BUILD=y -CONFIG_PREEMPT_NONE=y -# CONFIG_PREEMPT_VOLUNTARY is not set -# CONFIG_PREEMPT is not set -CONFIG_PREEMPT_COUNT=y -# CONFIG_PREEMPT_DYNAMIC is not set - -# -# CPU/Task time and stats accounting -# -CONFIG_TICK_CPU_ACCOUNTING=y -# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set -# CONFIG_IRQ_TIME_ACCOUNTING is not set -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_PSI is not set -# end of CPU/Task time and stats accounting - -# -# RCU Subsystem -# -CONFIG_TINY_RCU=y -# CONFIG_RCU_EXPERT is not set -CONFIG_TINY_SRCU=y -# end of RCU Subsystem - -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -# CONFIG_IKHEADERS is not set -CONFIG_LOG_BUF_SHIFT=17 -# CONFIG_PRINTK_INDEX is not set -CONFIG_GENERIC_SCHED_CLOCK=y - -# -# Scheduler features -# -# end of Scheduler features - -CONFIG_CC_HAS_INT128=y -CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" -CONFIG_GCC11_NO_ARRAY_BOUNDS=y -CONFIG_CC_NO_ARRAY_BOUNDS=y -CONFIG_ARCH_SUPPORTS_INT128=y -# CONFIG_CGROUPS is not set -# CONFIG_NAMESPACES is not set -# CONFIG_CHECKPOINT_RESTORE is not set -# CONFIG_SCHED_AUTOGROUP is not set -# CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio" -CONFIG_INITRAMFS_ROOT_UID=0 -CONFIG_INITRAMFS_ROOT_GID=0 -# CONFIG_RD_GZIP is not set -# CONFIG_RD_BZIP2 is not set -# CONFIG_RD_LZMA is not set -# CONFIG_RD_XZ is not set -# CONFIG_RD_LZO is not set -# CONFIG_RD_LZ4 is not set -# CONFIG_RD_ZSTD is not set -CONFIG_INITRAMFS_COMPRESSION_NONE=y -# CONFIG_BOOT_CONFIG is not set -CONFIG_INITRAMFS_PRESERVE_MTIME=y -CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y -# CONFIG_LD_DEAD_CODE_DATA_ELIMINATION is not set -CONFIG_LD_ORPHAN_WARN=y -CONFIG_LD_ORPHAN_WARN_LEVEL="warn" -CONFIG_SYSCTL=y -CONFIG_SYSCTL_EXCEPTION_TRACE=y -CONFIG_EXPERT=y -CONFIG_MULTIUSER=y -# CONFIG_SGETMASK_SYSCALL is not set -# CONFIG_SYSFS_SYSCALL is not set -CONFIG_FHANDLE=y -CONFIG_POSIX_TIMERS=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_FUTEX_PI=y -CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y -CONFIG_SHMEM=y -CONFIG_AIO=y -CONFIG_IO_URING=y -CONFIG_ADVISE_SYSCALLS=y -CONFIG_MEMBARRIER=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_SELFTEST is not set -# CONFIG_KALLSYMS_ALL is not set -CONFIG_KALLSYMS_BASE_RELATIVE=y -# CONFIG_KCMP is not set -CONFIG_RSEQ=y -CONFIG_CACHESTAT_SYSCALL=y -# CONFIG_DEBUG_RSEQ is not set -CONFIG_HAVE_PERF_EVENTS=y -# CONFIG_PC104 is not set - -# -# Kernel Performance Events And Counters -# -# CONFIG_PERF_EVENTS is not set -# end of Kernel Performance Events And Counters - -# CONFIG_PROFILING is not set - -# -# Kexec and crash features -# -# CONFIG_KEXEC is not set -# CONFIG_KEXEC_FILE is not set -# CONFIG_CRASH_DUMP is not set -# end of Kexec and crash features -# end of General setup - -CONFIG_64BIT=y -CONFIG_RISCV=y -CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE=y -CONFIG_ARCH_MMAP_RND_BITS_MIN=18 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 -CONFIG_ARCH_MMAP_RND_BITS_MAX=24 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=17 -CONFIG_RISCV_SBI=y -CONFIG_MMU=y -CONFIG_PAGE_OFFSET=0xff60000000000000 -CONFIG_ARCH_FLATMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ARCH_SUPPORTS_UPROBES=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_GENERIC_CSUM=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_PGTABLE_LEVELS=5 -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_RISCV_DMA_NONCOHERENT=y -CONFIG_AS_HAS_INSN=y -CONFIG_AS_HAS_OPTION_ARCH=y - -# -# SoC selection -# -# CONFIG_SOC_MICROCHIP_POLARFIRE is not set -# CONFIG_ARCH_RENESAS is not set -# CONFIG_SOC_SIFIVE is not set -# CONFIG_SOC_STARFIVE is not set -# CONFIG_ARCH_SUNXI is not set -# CONFIG_ARCH_THEAD is not set -# CONFIG_SOC_VIRT is not set -# end of SoC selection - -# -# CPU errata selection -# -# CONFIG_ERRATA_ANDES is not set -# CONFIG_ERRATA_SIFIVE is not set -# CONFIG_ERRATA_THEAD is not set -# end of CPU errata selection - -# -# Platform type -# -# CONFIG_NONPORTABLE is not set -CONFIG_ARCH_RV64I=y -# CONFIG_CMODEL_MEDLOW is not set -CONFIG_CMODEL_MEDANY=y -CONFIG_MODULE_SECTIONS=y -# CONFIG_SMP is not set -CONFIG_TUNE_GENERIC=y -CONFIG_RISCV_ALTERNATIVE=y -CONFIG_RISCV_ISA_C=y -CONFIG_RISCV_ISA_SVNAPOT=y -CONFIG_RISCV_ISA_SVPBMT=y -CONFIG_TOOLCHAIN_HAS_V=y -# CONFIG_RISCV_ISA_V is not set -CONFIG_RISCV_ISA_ZICBOM=y -CONFIG_RISCV_ISA_ZICBOZ=y -CONFIG_TOOLCHAIN_HAS_ZIHINTPAUSE=y -CONFIG_TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI=y -CONFIG_FPU=y -CONFIG_IRQ_STACKS=y -CONFIG_THREAD_SIZE_ORDER=2 -# end of Platform type - -# -# Kernel features -# -# CONFIG_HZ_100 is not set -CONFIG_HZ_250=y -# CONFIG_HZ_300 is not set -# CONFIG_HZ_1000 is not set -CONFIG_HZ=250 -# CONFIG_RISCV_SBI_V01 is not set -CONFIG_ARCH_SUPPORTS_KEXEC=y -CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y -CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y -CONFIG_COMPAT=y -# CONFIG_RELOCATABLE is not set -# CONFIG_RANDOMIZE_BASE is not set -# end of Kernel features - -# -# Boot options -# -CONFIG_CMDLINE="" -CONFIG_EFI_STUB=y -CONFIG_EFI=y -CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y -CONFIG_STACKPROTECTOR_PER_TASK=y -CONFIG_RISCV_ISA_FALLBACK=y -# end of Boot options - -CONFIG_PORTABLE=y - -# -# Power management options -# -# CONFIG_SUSPEND is not set -# CONFIG_PM is not set -CONFIG_ARCH_SUSPEND_POSSIBLE=y -# end of Power management options - -# -# CPU Power Management -# - -# -# CPU Idle -# -# CONFIG_CPU_IDLE is not set -# end of CPU Idle - -# -# CPU Frequency scaling -# -# CONFIG_CPU_FREQ is not set -# end of CPU Frequency scaling -# end of CPU Power Management - -# CONFIG_VIRTUALIZATION is not set -CONFIG_ARCH_SUPPORTS_ACPI=y -# CONFIG_ACPI is not set - -# -# General architecture-dependent options -# -CONFIG_GENERIC_ENTRY=y -# CONFIG_KPROBES is not set -CONFIG_JUMP_LABEL=y -# CONFIG_STATIC_KEYS_SELFTEST is not set -CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -CONFIG_HAVE_KPROBES_ON_FTRACE=y -CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -CONFIG_HAVE_DMA_CONTIGUOUS=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GENERIC_IDLE_POLL_SETUP=y -CONFIG_ARCH_HAS_FORTIFY_SOURCE=y -CONFIG_ARCH_HAS_SET_MEMORY=y -CONFIG_ARCH_HAS_SET_DIRECT_MAP=y -CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y -CONFIG_HAVE_ASM_MODVERSIONS=y -CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_RSEQ=y -CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y -CONFIG_HAVE_PERF_REGS=y -CONFIG_HAVE_PERF_USER_STACK_DUMP=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y -CONFIG_MMU_LAZY_TLB_REFCOUNT=y -CONFIG_HAVE_ARCH_SECCOMP=y -CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -CONFIG_SECCOMP=y -CONFIG_HAVE_STACKPROTECTOR=y -CONFIG_STACKPROTECTOR=y -CONFIG_STACKPROTECTOR_STRONG=y -CONFIG_LTO_NONE=y -CONFIG_ARCH_SUPPORTS_CFI_CLANG=y -CONFIG_HAVE_CONTEXT_TRACKING_USER=y -CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y -CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y -CONFIG_HAVE_MOVE_PUD=y -CONFIG_HAVE_MOVE_PMD=y -CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y -CONFIG_HAVE_ARCH_HUGE_VMAP=y -CONFIG_HAVE_ARCH_HUGE_VMALLOC=y -CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y -CONFIG_ARCH_WANT_PMD_MKWRITE=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_MODULES_USE_ELF_RELA=y -CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y -CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y -CONFIG_SOFTIRQ_ON_OWN_STACK=y -CONFIG_ARCH_HAS_ELF_RANDOMIZE=y -CONFIG_HAVE_ARCH_MMAP_RND_BITS=y -CONFIG_ARCH_MMAP_RND_BITS=18 -CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y -CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 -CONFIG_PAGE_SIZE_LESS_THAN_64KB=y -CONFIG_PAGE_SIZE_LESS_THAN_256KB=y -CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y -CONFIG_CLONE_BACKWARDS=y -# CONFIG_COMPAT_32BIT_TIME is not set -CONFIG_HAVE_ARCH_VMAP_STACK=y -CONFIG_VMAP_STACK=y -CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y -CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y -CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y -CONFIG_STRICT_KERNEL_RWX=y -CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y -CONFIG_STRICT_MODULE_RWX=y -CONFIG_ARCH_USE_MEMREMAP_PROT=y -# CONFIG_LOCK_EVENT_COUNTS is not set -CONFIG_ARCH_HAS_VDSO_DATA=y -CONFIG_HAVE_PREEMPT_DYNAMIC=y -CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y -CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y -CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y - -# -# GCOV-based kernel profiling -# -# CONFIG_GCOV_KERNEL is not set -CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y -# end of GCOV-based kernel profiling - -CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set -CONFIG_FUNCTION_ALIGNMENT=0 -# end of General architecture-dependent options - -CONFIG_RT_MUTEXES=y -CONFIG_BASE_SMALL=0 -CONFIG_MODULES=y -# CONFIG_MODULE_DEBUG is not set -# CONFIG_MODULE_FORCE_LOAD is not set -# CONFIG_MODULE_UNLOAD is not set -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_MODULE_SIG is not set -CONFIG_MODULE_COMPRESS_NONE=y -# CONFIG_MODULE_COMPRESS_GZIP is not set -# CONFIG_MODULE_COMPRESS_XZ is not set -# CONFIG_MODULE_COMPRESS_ZSTD is not set -# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set -CONFIG_MODPROBE_PATH="/sbin/modprobe" -# CONFIG_TRIM_UNUSED_KSYMS is not set -CONFIG_BLOCK=y -CONFIG_BLOCK_LEGACY_AUTOLOAD=y -CONFIG_BLK_ICQ=y -# CONFIG_BLK_DEV_BSGLIB is not set -# CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_DEV_ZONED is not set -# CONFIG_BLK_WBT is not set -CONFIG_BLK_DEBUG_FS=y -# CONFIG_BLK_INLINE_ENCRYPTION is not set - -# -# Partition Types -# -# CONFIG_PARTITION_ADVANCED is not set -CONFIG_MSDOS_PARTITION=y -CONFIG_EFI_PARTITION=y -# end of Partition Types - -CONFIG_BLK_MQ_VIRTIO=y - -# -# IO Schedulers -# -CONFIG_MQ_IOSCHED_DEADLINE=y -CONFIG_MQ_IOSCHED_KYBER=y -CONFIG_IOSCHED_BFQ=y -# end of IO Schedulers - -CONFIG_UNINLINE_SPIN_UNLOCK=y -CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y -CONFIG_ARCH_USE_QUEUED_RWLOCKS=y -CONFIG_ARCH_HAS_MMIOWB=y -CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y -CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y - -# -# Executable file formats -# -CONFIG_BINFMT_ELF=y -CONFIG_COMPAT_BINFMT_ELF=y -CONFIG_ELFCORE=y -CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y -CONFIG_BINFMT_SCRIPT=y -CONFIG_ARCH_HAS_BINFMT_FLAT=y -# CONFIG_BINFMT_FLAT is not set -# CONFIG_BINFMT_MISC is not set -CONFIG_COREDUMP=y -# end of Executable file formats - -# -# Memory Management options -# -CONFIG_SWAP=y -# CONFIG_ZSWAP is not set - -# -# SLAB allocator options -# -# CONFIG_SLAB_DEPRECATED is not set -CONFIG_SLUB=y -# CONFIG_SLUB_TINY is not set -CONFIG_SLAB_MERGE_DEFAULT=y -# CONFIG_SLAB_FREELIST_RANDOM is not set -# CONFIG_SLAB_FREELIST_HARDENED is not set -# CONFIG_SLUB_STATS is not set -# CONFIG_RANDOM_KMALLOC_CACHES is not set -# end of SLAB allocator options - -# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set -CONFIG_COMPAT_BRK=y -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y -CONFIG_SPLIT_PTLOCK_CPUS=4 -CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y -CONFIG_COMPACTION=y -CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 -CONFIG_PAGE_REPORTING=y -CONFIG_MIGRATION=y -CONFIG_ARCH_ENABLE_THP_MIGRATION=y -CONFIG_PHYS_ADDR_T_64BIT=y -# CONFIG_KSM is not set -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -CONFIG_ARCH_WANTS_THP_SWAP=y -CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y -# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set -CONFIG_THP_SWAP=y -# CONFIG_READ_ONLY_THP_FOR_FS is not set -CONFIG_NEED_PER_CPU_KM=y -# CONFIG_CMA is not set -CONFIG_GENERIC_EARLY_IOREMAP=y -# CONFIG_IDLE_PAGE_TRACKING is not set -CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y -CONFIG_ZONE_DMA32=y -CONFIG_VM_EVENT_COUNTERS=y -# CONFIG_PERCPU_STATS is not set -# CONFIG_GUP_TEST is not set -# CONFIG_DMAPOOL_TEST is not set -CONFIG_ARCH_HAS_PTE_SPECIAL=y -CONFIG_MEMFD_CREATE=y -CONFIG_SECRETMEM=y -# CONFIG_ANON_VMA_NAME is not set -# CONFIG_USERFAULTFD is not set -# CONFIG_LRU_GEN is not set -CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y -CONFIG_LOCK_MM_AND_FIND_VMA=y - -# -# Data Access Monitoring -# -# CONFIG_DAMON is not set -# end of Data Access Monitoring -# end of Memory Management options - -# CONFIG_NET is not set - -# -# Device Drivers -# -CONFIG_HAVE_PCI=y -# CONFIG_PCI is not set -# CONFIG_PCCARD is not set - -# -# Generic Driver Options -# -# CONFIG_UEVENT_HELPER is not set -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_DEVTMPFS_SAFE is not set -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y - -# -# Firmware loader -# -CONFIG_FW_LOADER=y -CONFIG_EXTRA_FIRMWARE="" -# CONFIG_FW_LOADER_USER_HELPER is not set -# CONFIG_FW_LOADER_COMPRESS is not set -# CONFIG_FW_UPLOAD is not set -# end of Firmware loader - -CONFIG_ALLOW_DEV_COREDUMP=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set -# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set -# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set -CONFIG_REGMAP=y -CONFIG_REGMAP_MMIO=y -CONFIG_GENERIC_ARCH_TOPOLOGY=y -# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set -# end of Generic Driver Options - -# -# Bus devices -# -# CONFIG_MOXTET is not set -# CONFIG_MHI_BUS is not set -# CONFIG_MHI_BUS_EP is not set -# end of Bus devices - -# -# Cache Drivers -# -# CONFIG_AX45MP_L2_CACHE is not set -# end of Cache Drivers - -# -# Firmware Drivers -# - -# -# ARM System Control and Management Interface Protocol -# -# end of ARM System Control and Management Interface Protocol - -# CONFIG_FIRMWARE_MEMMAP is not set -# CONFIG_SYSFB_SIMPLEFB is not set -# CONFIG_GOOGLE_FIRMWARE is not set - -# -# EFI (Extensible Firmware Interface) Support -# -CONFIG_EFI_ESRT=y -CONFIG_EFI_PARAMS_FROM_FDT=y -CONFIG_EFI_RUNTIME_WRAPPERS=y -CONFIG_EFI_GENERIC_STUB=y -# CONFIG_EFI_ZBOOT is not set -# CONFIG_EFI_BOOTLOADER_CONTROL is not set -# CONFIG_EFI_CAPSULE_LOADER is not set -# CONFIG_EFI_TEST is not set -# CONFIG_RESET_ATTACK_MITIGATION is not set -# CONFIG_EFI_DISABLE_PCI_DMA is not set -CONFIG_EFI_EARLYCON=y -# CONFIG_EFI_DISABLE_RUNTIME is not set -# CONFIG_EFI_COCO_SECRET is not set -# end of EFI (Extensible Firmware Interface) Support - -# -# Tegra firmware driver -# -# end of Tegra firmware driver -# end of Firmware Drivers - -# CONFIG_GNSS is not set -# CONFIG_MTD is not set -CONFIG_DTC=y -CONFIG_OF=y -# CONFIG_OF_UNITTEST is not set -CONFIG_OF_FLATTREE=y -CONFIG_OF_EARLY_FLATTREE=y -CONFIG_OF_KOBJ=y -CONFIG_OF_ADDRESS=y -CONFIG_OF_IRQ=y -CONFIG_OF_RESERVED_MEM=y -# CONFIG_OF_OVERLAY is not set -# CONFIG_PARPORT is not set -CONFIG_BLK_DEV=y -# CONFIG_BLK_DEV_NULL_BLK is not set -# CONFIG_BLK_DEV_LOOP is not set - -# -# DRBD disabled because PROC_FS or INET not selected -# -# CONFIG_BLK_DEV_RAM is not set -# CONFIG_VIRTIO_BLK is not set -# CONFIG_BLK_DEV_UBLK is not set - -# -# NVME Support -# -# CONFIG_NVME_FC is not set -# end of NVME Support - -# -# Misc devices -# -# CONFIG_AD525X_DPOT is not set -# CONFIG_DUMMY_IRQ is not set -# CONFIG_ENCLOSURE_SERVICES is not set -# CONFIG_LATTICE_ECP3_CONFIG is not set -# CONFIG_SRAM is not set -# CONFIG_XILINX_SDFEC is not set -# CONFIG_OPEN_DICE is not set -# CONFIG_VCPU_STALL_DETECTOR is not set -# CONFIG_C2PORT is not set - -# -# EEPROM support -# -# CONFIG_EEPROM_AT25 is not set -# CONFIG_EEPROM_93CX6 is not set -# CONFIG_EEPROM_93XX46 is not set -# end of EEPROM support - -# -# Texas Instruments shared transport line discipline -# -# end of Texas Instruments shared transport line discipline - -# CONFIG_SENSORS_LIS3_SPI is not set - -# -# Altera FPGA firmware download module (requires I2C) -# -# CONFIG_ECHO is not set -# CONFIG_PVPANIC is not set -# end of Misc devices - -# -# SCSI device support -# -CONFIG_SCSI_MOD=y -# CONFIG_RAID_ATTRS is not set -# CONFIG_SCSI is not set -# end of SCSI device support - -# CONFIG_ATA is not set -# CONFIG_MD is not set -# CONFIG_TARGET_CORE is not set - -# -# Input device support -# -CONFIG_INPUT=y -# CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_SPARSEKMAP is not set -# CONFIG_INPUT_MATRIXKMAP is not set - -# -# Userland interfaces -# -# CONFIG_INPUT_MOUSEDEV is not set -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_EVDEV is not set -# CONFIG_INPUT_EVBUG is not set - -# -# Input Device Drivers -# -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set -# CONFIG_INPUT_TOUCHSCREEN is not set -# CONFIG_INPUT_MISC is not set -# CONFIG_RMI4_CORE is not set - -# -# Hardware I/O ports -# -# CONFIG_SERIO is not set -# CONFIG_GAMEPORT is not set -# end of Hardware I/O ports -# end of Input device support - -# -# Character devices -# -CONFIG_TTY=y -CONFIG_VT=y -CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_UNIX98_PTYS=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -CONFIG_LEGACY_TIOCSTI=y -CONFIG_LDISC_AUTOLOAD=y - -# -# Serial drivers -# -CONFIG_SERIAL_EARLYCON=y -CONFIG_SERIAL_8250=y -# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -CONFIG_SERIAL_8250_16550A_VARIANTS=y -# CONFIG_SERIAL_8250_FINTEK is not set -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_NR_UARTS=1 -CONFIG_SERIAL_8250_RUNTIME_UARTS=1 -# CONFIG_SERIAL_8250_EXTENDED is not set -# CONFIG_SERIAL_8250_DW is not set -# CONFIG_SERIAL_8250_RT288X is not set -CONFIG_SERIAL_OF_PLATFORM=y - -# -# Non-8250 serial port support -# -# CONFIG_SERIAL_EARLYCON_SEMIHOST is not set -# CONFIG_SERIAL_MAX3100 is not set -# CONFIG_SERIAL_MAX310X is not set -# CONFIG_SERIAL_UARTLITE is not set -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_SERIAL_SIFIVE=y -CONFIG_SERIAL_SIFIVE_CONSOLE=y -# CONFIG_SERIAL_SCCNXP is not set -# CONFIG_SERIAL_SC16IS7XX is not set -# CONFIG_SERIAL_ALTERA_JTAGUART is not set -# CONFIG_SERIAL_ALTERA_UART is not set -# CONFIG_SERIAL_XILINX_PS_UART is not set -# CONFIG_SERIAL_ARC is not set -# CONFIG_SERIAL_FSL_LPUART is not set -# CONFIG_SERIAL_FSL_LINFLEXUART is not set -# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set -# CONFIG_SERIAL_SPRD is not set -# end of Serial drivers - -CONFIG_SERIAL_MCTRL_GPIO=y -# CONFIG_SERIAL_NONSTANDARD is not set -# CONFIG_NULL_TTY is not set -CONFIG_HVC_DRIVER=y -# CONFIG_SERIAL_DEV_BUS is not set -# CONFIG_TTY_PRINTK is not set -CONFIG_VIRTIO_CONSOLE=y -# CONFIG_IPMI_HANDLER is not set -CONFIG_HW_RANDOM=y -# CONFIG_HW_RANDOM_TIMERIOMEM is not set -# CONFIG_HW_RANDOM_BA431 is not set -CONFIG_HW_RANDOM_VIRTIO=y -# CONFIG_HW_RANDOM_CCTRNG is not set -# CONFIG_HW_RANDOM_XIPHERA is not set -CONFIG_DEVMEM=y -CONFIG_DEVPORT=y -# CONFIG_TCG_TPM is not set -# CONFIG_XILLYBUS is not set -# end of Character devices - -# -# I2C support -# -# CONFIG_I2C is not set -# end of I2C support - -# CONFIG_I3C is not set -CONFIG_SPI=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y -# CONFIG_SPI_MEM is not set - -# -# SPI Master Controller Drivers -# -# CONFIG_SPI_ALTERA is not set -# CONFIG_SPI_AXI_SPI_ENGINE is not set -# CONFIG_SPI_BITBANG is not set -# CONFIG_SPI_CADENCE is not set -# CONFIG_SPI_CADENCE_QUADSPI is not set -# CONFIG_SPI_DESIGNWARE is not set -# CONFIG_SPI_GPIO is not set -# CONFIG_SPI_FSL_SPI is not set -# CONFIG_SPI_MICROCHIP_CORE is not set -# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set -# CONFIG_SPI_OC_TINY is not set -CONFIG_SPI_SIFIVE=y -# CONFIG_SPI_MXIC is not set -# CONFIG_SPI_XILINX is not set -# CONFIG_SPI_ZYNQMP_GQSPI is not set -# CONFIG_SPI_AMD is not set - -# -# SPI Multiplexer support -# -# CONFIG_SPI_MUX is not set - -# -# SPI Protocol Masters -# -# CONFIG_SPI_SPIDEV is not set -# CONFIG_SPI_LOOPBACK_TEST is not set -# CONFIG_SPI_TLE62X0 is not set -# CONFIG_SPI_SLAVE is not set -# CONFIG_SPMI is not set -# CONFIG_HSI is not set -# CONFIG_PPS is not set - -# -# PTP clock support -# -CONFIG_PTP_1588_CLOCK_OPTIONAL=y - -# -# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. -# -# end of PTP clock support - -# CONFIG_PINCTRL is not set -CONFIG_GPIOLIB=y -CONFIG_GPIOLIB_FASTPATH_LIMIT=32 -CONFIG_OF_GPIO=y -CONFIG_GPIOLIB_IRQCHIP=y -# CONFIG_DEBUG_GPIO is not set -# CONFIG_GPIO_SYSFS is not set -CONFIG_GPIO_CDEV=y -# CONFIG_GPIO_CDEV_V1 is not set -CONFIG_GPIO_GENERIC=y - -# -# Memory mapped GPIO drivers -# -# CONFIG_GPIO_74XX_MMIO is not set -# CONFIG_GPIO_ALTERA is not set -# CONFIG_GPIO_CADENCE is not set -# CONFIG_GPIO_DWAPB is not set -# CONFIG_GPIO_FTGPIO010 is not set -# CONFIG_GPIO_GENERIC_PLATFORM is not set -# CONFIG_GPIO_GRGPIO is not set -# CONFIG_GPIO_HLWD is not set -# CONFIG_GPIO_MB86S7X is not set -CONFIG_GPIO_SIFIVE=y -# CONFIG_GPIO_XILINX is not set -# CONFIG_GPIO_AMD_FCH is not set -# end of Memory mapped GPIO drivers - -# -# MFD GPIO expanders -# -# end of MFD GPIO expanders - -# -# SPI GPIO expanders -# -# CONFIG_GPIO_74X164 is not set -# CONFIG_GPIO_MAX3191X is not set -# CONFIG_GPIO_MAX7301 is not set -# CONFIG_GPIO_MC33880 is not set -# CONFIG_GPIO_PISOSR is not set -# CONFIG_GPIO_XRA1403 is not set -# end of SPI GPIO expanders - -# -# Virtual GPIO drivers -# -# CONFIG_GPIO_AGGREGATOR is not set -# CONFIG_GPIO_LATCH is not set -# CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_VIRTIO is not set -# CONFIG_GPIO_SIM is not set -# end of Virtual GPIO drivers - -# CONFIG_W1 is not set -# CONFIG_POWER_RESET is not set -# CONFIG_POWER_SUPPLY is not set -# CONFIG_HWMON is not set -# CONFIG_THERMAL is not set -# CONFIG_WATCHDOG is not set -CONFIG_SSB_POSSIBLE=y -# CONFIG_SSB is not set -CONFIG_BCMA_POSSIBLE=y -# CONFIG_BCMA is not set - -# -# Multifunction device drivers -# -# CONFIG_MFD_ATMEL_FLEXCOM is not set -# CONFIG_MFD_ATMEL_HLCDC is not set -# CONFIG_MFD_MADERA is not set -# CONFIG_MFD_DA9052_SPI is not set -# CONFIG_MFD_MC13XXX_SPI is not set -# CONFIG_MFD_HI6421_PMIC is not set -# CONFIG_MFD_KEMPLD is not set -# CONFIG_MFD_MT6397 is not set -# CONFIG_MFD_OCELOT is not set -# CONFIG_EZX_PCAP is not set -# CONFIG_MFD_CPCAP is not set -# CONFIG_MFD_RK8XX_SPI is not set -# CONFIG_MFD_SM501 is not set -# CONFIG_MFD_STMPE is not set -# CONFIG_MFD_SYSCON is not set -# CONFIG_MFD_TI_AM335X_TSCADC is not set -# CONFIG_MFD_TPS65912_SPI is not set -# CONFIG_MFD_TPS6594_SPI is not set -# CONFIG_MFD_TQMX86 is not set -# CONFIG_MFD_ARIZONA_SPI is not set -# CONFIG_MFD_WM831X_SPI is not set -# CONFIG_MFD_INTEL_M10_BMC_SPI is not set -# CONFIG_MFD_RSMU_SPI is not set -# end of Multifunction device drivers - -# CONFIG_REGULATOR is not set -# CONFIG_RC_CORE is not set - -# -# CEC support -# -# CONFIG_MEDIA_CEC_SUPPORT is not set -# end of CEC support - -# CONFIG_MEDIA_SUPPORT is not set - -# -# Graphics support -# -# CONFIG_AUXDISPLAY is not set -# CONFIG_DRM is not set -# CONFIG_DRM_DEBUG_MODESET_LOCK is not set - -# -# Frame buffer Devices -# -# CONFIG_FB is not set -# end of Frame buffer Devices - -# -# Backlight & LCD device support -# -# CONFIG_LCD_CLASS_DEVICE is not set -# CONFIG_BACKLIGHT_CLASS_DEVICE is not set -# end of Backlight & LCD device support - -# -# Console display driver support -# -# CONFIG_VGA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_DUMMY_CONSOLE_COLUMNS=80 -CONFIG_DUMMY_CONSOLE_ROWS=25 -# end of Console display driver support -# end of Graphics support - -# CONFIG_SOUND is not set -CONFIG_HID_SUPPORT=y -# CONFIG_HID is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -# CONFIG_USB_SUPPORT is not set -CONFIG_MMC=y -CONFIG_PWRSEQ_EMMC=y -CONFIG_PWRSEQ_SIMPLE=y -CONFIG_MMC_BLOCK=y -CONFIG_MMC_BLOCK_MINORS=8 -# CONFIG_SDIO_UART is not set -# CONFIG_MMC_TEST is not set - -# -# MMC/SD/SDIO Host Controller Drivers -# -# CONFIG_MMC_DEBUG is not set -# CONFIG_MMC_SDHCI is not set -CONFIG_MMC_SPI=y -# CONFIG_MMC_DW is not set -# CONFIG_MMC_USDHI6ROL0 is not set -# CONFIG_MMC_CQHCI is not set -# CONFIG_MMC_HSQ is not set -# CONFIG_MMC_MTK is not set -# CONFIG_MEMSTICK is not set -# CONFIG_NEW_LEDS is not set -# CONFIG_ACCESSIBILITY is not set -CONFIG_EDAC_SUPPORT=y -# CONFIG_RTC_CLASS is not set -# CONFIG_DMADEVICES is not set - -# -# DMABUF options -# -# CONFIG_SYNC_FILE is not set -# CONFIG_DMABUF_HEAPS is not set -# end of DMABUF options - -# CONFIG_UIO is not set -# CONFIG_VFIO is not set -# CONFIG_VIRT_DRIVERS is not set -CONFIG_VIRTIO_ANCHOR=y -CONFIG_VIRTIO=y -# CONFIG_VIRTIO_MENU is not set -# CONFIG_VHOST_MENU is not set - -# -# Microsoft Hyper-V guest support -# -# end of Microsoft Hyper-V guest support - -# CONFIG_GREYBUS is not set -# CONFIG_COMEDI is not set -# CONFIG_STAGING is not set -# CONFIG_GOLDFISH is not set -CONFIG_HAVE_CLK=y -CONFIG_HAVE_CLK_PREPARE=y -CONFIG_COMMON_CLK=y -# CONFIG_LMK04832 is not set -# CONFIG_COMMON_CLK_AXI_CLKGEN is not set -# CONFIG_COMMON_CLK_FIXED_MMIO is not set -# CONFIG_XILINX_VCU is not set -# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set -# CONFIG_HWSPINLOCK is not set - -# -# Clock Source drivers -# -CONFIG_TIMER_OF=y -CONFIG_TIMER_PROBE=y -CONFIG_RISCV_TIMER=y -# end of Clock Source drivers - -# CONFIG_MAILBOX is not set -# CONFIG_IOMMU_SUPPORT is not set - -# -# Remoteproc drivers -# -# CONFIG_REMOTEPROC is not set -# end of Remoteproc drivers - -# -# Rpmsg drivers -# -# CONFIG_RPMSG_VIRTIO is not set -# end of Rpmsg drivers - -# CONFIG_SOUNDWIRE is not set - -# -# SOC (System On Chip) specific Drivers -# - -# -# Amlogic SoC drivers -# -# end of Amlogic SoC drivers - -# -# Broadcom SoC drivers -# -# end of Broadcom SoC drivers - -# -# NXP/Freescale QorIQ SoC drivers -# -# end of NXP/Freescale QorIQ SoC drivers - -# -# fujitsu SoC drivers -# -# end of fujitsu SoC drivers - -# -# i.MX SoC drivers -# -# end of i.MX SoC drivers - -# -# Enable LiteX SoC Builder specific drivers -# -# CONFIG_LITEX_SOC_CONTROLLER is not set -# end of Enable LiteX SoC Builder specific drivers - -# CONFIG_WPCM450_SOC is not set - -# -# Qualcomm SoC drivers -# -# end of Qualcomm SoC drivers - -# CONFIG_SOC_TI is not set - -# -# Xilinx SoC drivers -# -# end of Xilinx SoC drivers -# end of SOC (System On Chip) specific Drivers - -# CONFIG_PM_DEVFREQ is not set -# CONFIG_EXTCON is not set -# CONFIG_MEMORY is not set -# CONFIG_IIO is not set -# CONFIG_PWM is not set - -# -# IRQ chip support -# -CONFIG_IRQCHIP=y -# CONFIG_AL_FIC is not set -# CONFIG_XILINX_INTC is not set -CONFIG_RISCV_INTC=y -CONFIG_SIFIVE_PLIC=y -# end of IRQ chip support - -# CONFIG_IPACK_BUS is not set -# CONFIG_RESET_CONTROLLER is not set - -# -# PHY Subsystem -# -# CONFIG_GENERIC_PHY is not set -# CONFIG_PHY_CAN_TRANSCEIVER is not set - -# -# PHY drivers for Broadcom platforms -# -# CONFIG_BCM_KONA_USB2_PHY is not set -# end of PHY drivers for Broadcom platforms - -# CONFIG_PHY_CADENCE_TORRENT is not set -# CONFIG_PHY_CADENCE_DPHY is not set -# CONFIG_PHY_CADENCE_DPHY_RX is not set -# CONFIG_PHY_CADENCE_SALVO is not set -# CONFIG_PHY_PXA_28NM_HSIC is not set -# CONFIG_PHY_PXA_28NM_USB2 is not set -# end of PHY Subsystem - -# CONFIG_POWERCAP is not set -# CONFIG_MCB is not set -# CONFIG_RAS is not set - -# -# Android -# -# CONFIG_ANDROID_BINDER_IPC is not set -# end of Android - -# CONFIG_LIBNVDIMM is not set -# CONFIG_DAX is not set -# CONFIG_NVMEM is not set - -# -# HW tracing support -# -# CONFIG_STM is not set -# CONFIG_INTEL_TH is not set -# end of HW tracing support - -# CONFIG_FPGA is not set -# CONFIG_FSI is not set -# CONFIG_SIOX is not set -# CONFIG_SLIMBUS is not set -# CONFIG_INTERCONNECT is not set -# CONFIG_COUNTER is not set -# CONFIG_PECI is not set -# CONFIG_HTE is not set -# end of Device Drivers - -# -# File systems -# -# CONFIG_VALIDATE_FS_PARSER is not set -CONFIG_FS_IOMAP=y -CONFIG_BUFFER_HEAD=y -# CONFIG_EXT2_FS is not set -# CONFIG_EXT3_FS is not set -CONFIG_EXT4_FS=y -CONFIG_EXT4_USE_FOR_EXT2=y -# CONFIG_EXT4_FS_POSIX_ACL is not set -# CONFIG_EXT4_FS_SECURITY is not set -# CONFIG_EXT4_DEBUG is not set -CONFIG_JBD2=y -# CONFIG_JBD2_DEBUG is not set -CONFIG_FS_MBCACHE=y -# CONFIG_REISERFS_FS is not set -# CONFIG_JFS_FS is not set -# CONFIG_XFS_FS is not set -# CONFIG_GFS2_FS is not set -# CONFIG_BTRFS_FS is not set -# CONFIG_NILFS2_FS is not set -# CONFIG_F2FS_FS is not set -CONFIG_FS_POSIX_ACL=y -CONFIG_EXPORTFS=y -# CONFIG_EXPORTFS_BLOCK_OPS is not set -CONFIG_FILE_LOCKING=y -# CONFIG_FS_ENCRYPTION is not set -# CONFIG_FS_VERITY is not set -CONFIG_FSNOTIFY=y -CONFIG_DNOTIFY=y -CONFIG_INOTIFY_USER=y -# CONFIG_FANOTIFY is not set -# CONFIG_QUOTA is not set -CONFIG_AUTOFS_FS=y -# CONFIG_FUSE_FS is not set -# CONFIG_OVERLAY_FS is not set - -# -# Caches -# -# CONFIG_FSCACHE is not set -# end of Caches - -# -# CD-ROM/DVD Filesystems -# -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set -# end of CD-ROM/DVD Filesystems - -# -# DOS/FAT/EXFAT/NT Filesystems -# -# CONFIG_MSDOS_FS is not set -# CONFIG_VFAT_FS is not set -# CONFIG_EXFAT_FS is not set -# CONFIG_NTFS_FS is not set -# CONFIG_NTFS3_FS is not set -# end of DOS/FAT/EXFAT/NT Filesystems - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -# CONFIG_PROC_KCORE is not set -CONFIG_PROC_SYSCTL=y -CONFIG_PROC_PAGE_MONITOR=y -CONFIG_PROC_CHILDREN=y -CONFIG_KERNFS=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_TMPFS_XATTR=y -# CONFIG_TMPFS_INODE64 is not set -# CONFIG_TMPFS_QUOTA is not set -CONFIG_ARCH_SUPPORTS_HUGETLBFS=y -# CONFIG_HUGETLBFS is not set -CONFIG_ARCH_HAS_GIGANTIC_PAGE=y -# CONFIG_CONFIGFS_FS is not set -CONFIG_EFIVAR_FS=y -# end of Pseudo filesystems - -# CONFIG_MISC_FILESYSTEMS is not set -# CONFIG_NLS is not set -# CONFIG_UNICODE is not set -CONFIG_IO_WQ=y -# end of File systems - -# -# Security options -# -# CONFIG_KEYS is not set -# CONFIG_SECURITY_DMESG_RESTRICT is not set -# CONFIG_SECURITY is not set -# CONFIG_SECURITYFS is not set -# CONFIG_HARDENED_USERCOPY is not set -# CONFIG_FORTIFY_SOURCE is not set -# CONFIG_STATIC_USERMODEHELPER is not set -CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf" - -# -# Kernel hardening options -# - -# -# Memory initialization -# -CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y -CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y -CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y -CONFIG_INIT_STACK_NONE=y -# CONFIG_INIT_STACK_ALL_PATTERN is not set -# CONFIG_INIT_STACK_ALL_ZERO is not set -# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set -# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set -CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y -# CONFIG_ZERO_CALL_USED_REGS is not set -# end of Memory initialization - -# -# Hardening of kernel data structures -# -CONFIG_LIST_HARDENED=y -# CONFIG_BUG_ON_DATA_CORRUPTION is not set -# end of Hardening of kernel data structures - -CONFIG_RANDSTRUCT_NONE=y -# end of Kernel hardening options -# end of Security options - -CONFIG_CRYPTO=y - -# -# Crypto core or helper -# -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_ALGAPI2=y -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HASH2=y -# CONFIG_CRYPTO_MANAGER is not set -# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_CRYPTD is not set -# CONFIG_CRYPTO_AUTHENC is not set -# CONFIG_CRYPTO_TEST is not set -# end of Crypto core or helper - -# -# Public-key cryptography -# -# CONFIG_CRYPTO_RSA is not set -# CONFIG_CRYPTO_DH is not set -# CONFIG_CRYPTO_ECDH is not set -# CONFIG_CRYPTO_ECDSA is not set -# CONFIG_CRYPTO_ECRDSA is not set -# CONFIG_CRYPTO_SM2 is not set -# CONFIG_CRYPTO_CURVE25519 is not set -# end of Public-key cryptography - -# -# Block ciphers -# -# CONFIG_CRYPTO_AES is not set -# CONFIG_CRYPTO_AES_TI is not set -# CONFIG_CRYPTO_ARIA is not set -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_DES is not set -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_SM4_GENERIC is not set -# CONFIG_CRYPTO_TWOFISH is not set -# end of Block ciphers - -# -# Length-preserving ciphers and modes -# -# CONFIG_CRYPTO_ADIANTUM is not set -# CONFIG_CRYPTO_CHACHA20 is not set -# CONFIG_CRYPTO_CBC is not set -# CONFIG_CRYPTO_CFB is not set -# CONFIG_CRYPTO_CTR is not set -# CONFIG_CRYPTO_CTS is not set -# CONFIG_CRYPTO_ECB is not set -# CONFIG_CRYPTO_HCTR2 is not set -# CONFIG_CRYPTO_KEYWRAP is not set -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_OFB is not set -# CONFIG_CRYPTO_PCBC is not set -# CONFIG_CRYPTO_XTS is not set -# end of Length-preserving ciphers and modes - -# -# AEAD (authenticated encryption with associated data) ciphers -# -# CONFIG_CRYPTO_AEGIS128 is not set -# CONFIG_CRYPTO_CHACHA20POLY1305 is not set -# CONFIG_CRYPTO_CCM is not set -# CONFIG_CRYPTO_GCM is not set -# CONFIG_CRYPTO_SEQIV is not set -# CONFIG_CRYPTO_ECHAINIV is not set -# CONFIG_CRYPTO_ESSIV is not set -# end of AEAD (authenticated encryption with associated data) ciphers - -# -# Hashes, digests, and MACs -# -# CONFIG_CRYPTO_BLAKE2B is not set -# CONFIG_CRYPTO_CMAC is not set -# CONFIG_CRYPTO_GHASH is not set -# CONFIG_CRYPTO_HMAC is not set -# CONFIG_CRYPTO_MD4 is not set -# CONFIG_CRYPTO_MD5 is not set -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_POLY1305 is not set -# CONFIG_CRYPTO_RMD160 is not set -# CONFIG_CRYPTO_SHA1 is not set -CONFIG_CRYPTO_SHA256=y -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_SHA3 is not set -# CONFIG_CRYPTO_SM3_GENERIC is not set -# CONFIG_CRYPTO_STREEBOG is not set -# CONFIG_CRYPTO_VMAC is not set -# CONFIG_CRYPTO_WP512 is not set -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_XXHASH is not set -# end of Hashes, digests, and MACs - -# -# CRCs (cyclic redundancy checks) -# -CONFIG_CRYPTO_CRC32C=y -# CONFIG_CRYPTO_CRC32 is not set -# CONFIG_CRYPTO_CRCT10DIF is not set -# end of CRCs (cyclic redundancy checks) - -# -# Compression -# -# CONFIG_CRYPTO_DEFLATE is not set -# CONFIG_CRYPTO_LZO is not set -# CONFIG_CRYPTO_842 is not set -# CONFIG_CRYPTO_LZ4 is not set -# CONFIG_CRYPTO_LZ4HC is not set -# CONFIG_CRYPTO_ZSTD is not set -# end of Compression - -# -# Random number generation -# -# CONFIG_CRYPTO_ANSI_CPRNG is not set -# CONFIG_CRYPTO_DRBG_MENU is not set -# CONFIG_CRYPTO_JITTERENTROPY is not set -# end of Random number generation - -# -# Userspace interface -# -# end of Userspace interface - -# CONFIG_CRYPTO_HW is not set - -# -# Certificates for signature checking -# -# end of Certificates for signature checking - -# -# Library routines -# -# CONFIG_PACKING is not set -CONFIG_BITREVERSE=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -# CONFIG_CORDIC is not set -# CONFIG_PRIME_NUMBERS is not set -CONFIG_RATIONAL=y -CONFIG_GENERIC_PCI_IOMAP=y - -# -# Crypto library routines -# -CONFIG_CRYPTO_LIB_UTILS=y -CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y -# CONFIG_CRYPTO_LIB_CHACHA is not set -# CONFIG_CRYPTO_LIB_CURVE25519 is not set -CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 -# CONFIG_CRYPTO_LIB_POLY1305 is not set -# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set -CONFIG_CRYPTO_LIB_SHA256=y -# end of Crypto library routines - -# CONFIG_CRC_CCITT is not set -CONFIG_CRC16=y -# CONFIG_CRC_T10DIF is not set -# CONFIG_CRC64_ROCKSOFT is not set -CONFIG_CRC_ITU_T=y -CONFIG_CRC32=y -# CONFIG_CRC32_SELFTEST is not set -CONFIG_CRC32_SLICEBY8=y -# CONFIG_CRC32_SLICEBY4 is not set -# CONFIG_CRC32_SARWATE is not set -# CONFIG_CRC32_BIT is not set -# CONFIG_CRC64 is not set -# CONFIG_CRC4 is not set -CONFIG_CRC7=y -# CONFIG_LIBCRC32C is not set -# CONFIG_CRC8 is not set -# CONFIG_RANDOM32_SELFTEST is not set -# CONFIG_XZ_DEC is not set -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_XARRAY_MULTI=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HAS_DMA=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_DMA_DECLARE_COHERENT=y -CONFIG_ARCH_HAS_SETUP_DMA_OPS=y -CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y -CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y -CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y -CONFIG_ARCH_DMA_DEFAULT_COHERENT=y -CONFIG_SWIOTLB=y -# CONFIG_SWIOTLB_DYNAMIC is not set -CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y -# CONFIG_DMA_RESTRICTED_POOL is not set -CONFIG_DMA_NONCOHERENT_MMAP=y -CONFIG_DMA_COHERENT_POOL=y -CONFIG_DMA_DIRECT_REMAP=y -# CONFIG_DMA_API_DEBUG is not set -# CONFIG_DMA_MAP_BENCHMARK is not set -# CONFIG_IRQ_POLL is not set -CONFIG_LIBFDT=y -CONFIG_UCS2_STRING=y -CONFIG_HAVE_GENERIC_VDSO=y -CONFIG_GENERIC_GETTIMEOFDAY=y -CONFIG_GENERIC_VDSO_TIME_NS=y -CONFIG_FONT_SUPPORT=y -CONFIG_FONT_8x16=y -CONFIG_FONT_AUTOSELECT=y -CONFIG_ARCH_HAS_PMEM_API=y -CONFIG_ARCH_STACKWALK=y -CONFIG_SBITMAP=y -# end of Library routines - -CONFIG_GENERIC_IOREMAP=y -CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y - -# -# Kernel hacking -# - -# -# printk and dmesg options -# -CONFIG_PRINTK_TIME=y -# CONFIG_PRINTK_CALLER is not set -# CONFIG_STACKTRACE_BUILD_ID is not set -CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 -CONFIG_CONSOLE_LOGLEVEL_QUIET=4 -CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 -# CONFIG_BOOT_PRINTK_DELAY is not set -# CONFIG_DYNAMIC_DEBUG is not set -# CONFIG_DYNAMIC_DEBUG_CORE is not set -CONFIG_SYMBOLIC_ERRNAME=y -CONFIG_DEBUG_BUGVERBOSE=y -# end of printk and dmesg options - -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_MISC=y - -# -# Compile-time checks and compiler options -# -CONFIG_DEBUG_INFO_NONE=y -# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set -# CONFIG_DEBUG_INFO_DWARF4 is not set -# CONFIG_DEBUG_INFO_DWARF5 is not set -CONFIG_FRAME_WARN=2048 -# CONFIG_STRIP_ASM_SYMS is not set -CONFIG_READABLE_ASM=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -CONFIG_SECTION_MISMATCH_WARN_ONLY=y -# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set -CONFIG_ARCH_WANT_FRAME_POINTERS=y -CONFIG_FRAME_POINTER=y -# CONFIG_VMLINUX_MAP is not set -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -# end of Compile-time checks and compiler options - -# -# Generic Kernel Debugging Instruments -# -# CONFIG_MAGIC_SYSRQ is not set -CONFIG_DEBUG_FS=y -CONFIG_DEBUG_FS_ALLOW_ALL=y -# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set -# CONFIG_DEBUG_FS_ALLOW_NONE is not set -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_ARCH_KGDB_QXFER_PKT=y -# CONFIG_KGDB is not set -CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y -# CONFIG_UBSAN is not set -CONFIG_HAVE_KCSAN_COMPILER=y -# end of Generic Kernel Debugging Instruments - -# -# Networking Debugging -# -# end of Networking Debugging - -# -# Memory Debugging -# -# CONFIG_PAGE_EXTENSION is not set -CONFIG_DEBUG_PAGEALLOC=y -# CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT is not set -# CONFIG_SLUB_DEBUG is not set -# CONFIG_PAGE_OWNER is not set -# CONFIG_PAGE_POISONING is not set -# CONFIG_DEBUG_RODATA_TEST is not set -CONFIG_ARCH_HAS_DEBUG_WX=y -# CONFIG_DEBUG_WX is not set -CONFIG_GENERIC_PTDUMP=y -# CONFIG_PTDUMP_DEBUGFS is not set -CONFIG_HAVE_DEBUG_KMEMLEAK=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SHRINKER_DEBUG is not set -# CONFIG_DEBUG_STACK_USAGE is not set -CONFIG_SCHED_STACK_END_CHECK=y -CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y -CONFIG_DEBUG_VM_IRQSOFF=y -CONFIG_DEBUG_VM=y -# CONFIG_DEBUG_VM_MAPLE_TREE is not set -# CONFIG_DEBUG_VM_RB is not set -CONFIG_DEBUG_VM_PGFLAGS=y -CONFIG_DEBUG_VM_PGTABLE=y -CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y -# CONFIG_DEBUG_VIRTUAL is not set -CONFIG_DEBUG_MEMORY_INIT=y -CONFIG_HAVE_ARCH_KASAN=y -CONFIG_HAVE_ARCH_KASAN_VMALLOC=y -CONFIG_CC_HAS_KASAN_GENERIC=y -CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y -# CONFIG_KASAN is not set -CONFIG_HAVE_ARCH_KFENCE=y -# CONFIG_KFENCE is not set -# end of Memory Debugging - -# CONFIG_DEBUG_SHIRQ is not set - -# -# Debug Oops, Lockups and Hangs -# -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -CONFIG_PANIC_TIMEOUT=0 -CONFIG_LOCKUP_DETECTOR=y -CONFIG_SOFTLOCKUP_DETECTOR=y -# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set -CONFIG_DETECT_HUNG_TASK=y -CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 -# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set -CONFIG_WQ_WATCHDOG=y -# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set -# CONFIG_TEST_LOCKUP is not set -# end of Debug Oops, Lockups and Hangs - -# -# Scheduler Debugging -# -CONFIG_SCHED_DEBUG=y -# CONFIG_SCHEDSTATS is not set -# end of Scheduler Debugging - -CONFIG_DEBUG_TIMEKEEPING=y - -# -# Lock Debugging (spinlocks, mutexes, etc...) -# -CONFIG_LOCK_DEBUGGING_SUPPORT=y -# CONFIG_PROVE_LOCKING is not set -# CONFIG_LOCK_STAT is not set -CONFIG_DEBUG_RT_MUTEXES=y -CONFIG_DEBUG_SPINLOCK=y -CONFIG_DEBUG_MUTEXES=y -# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set -CONFIG_DEBUG_RWSEMS=y -# CONFIG_DEBUG_LOCK_ALLOC is not set -CONFIG_DEBUG_ATOMIC_SLEEP=y -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_LOCK_TORTURE_TEST is not set -# CONFIG_WW_MUTEX_SELFTEST is not set -# CONFIG_SCF_TORTURE_TEST is not set -# CONFIG_CSD_LOCK_WAIT_DEBUG is not set -# end of Lock Debugging (spinlocks, mutexes, etc...) - -# CONFIG_DEBUG_IRQFLAGS is not set -CONFIG_STACKTRACE=y -# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set -# CONFIG_DEBUG_KOBJECT is not set - -# -# Debug kernel data structures -# -CONFIG_DEBUG_LIST=y -CONFIG_DEBUG_PLIST=y -CONFIG_DEBUG_SG=y -# CONFIG_DEBUG_NOTIFIERS is not set -# CONFIG_DEBUG_MAPLE_TREE is not set -# end of Debug kernel data structures - -# CONFIG_DEBUG_CREDENTIALS is not set - -# -# RCU Debugging -# -# CONFIG_RCU_SCALE_TEST is not set -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_RCU_REF_SCALE_TEST is not set -# CONFIG_RCU_TRACE is not set -CONFIG_RCU_EQS_DEBUG=y -# end of RCU Debugging - -# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set -# CONFIG_LATENCYTOP is not set -CONFIG_HAVE_RETHOOK=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_TRACING_SUPPORT=y -# CONFIG_FTRACE is not set -# CONFIG_SAMPLES is not set -# CONFIG_STRICT_DEVMEM is not set - -# -# riscv Debugging -# -# end of riscv Debugging - -# -# Kernel Testing and Coverage -# -# CONFIG_KUNIT is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -# CONFIG_FAULT_INJECTION is not set -CONFIG_ARCH_HAS_KCOV=y -CONFIG_CC_HAS_SANCOV_TRACE_PC=y -# CONFIG_KCOV is not set -# CONFIG_RUNTIME_TESTING_MENU is not set -CONFIG_ARCH_USE_MEMTEST=y -CONFIG_MEMTEST=y -# end of Kernel Testing and Coverage - -# -# Rust hacking -# -# end of Rust hacking -# end of Kernel hacking diff --git a/linux/buildroot-config-src/buildroot-2023.05.1/main.config b/linux/buildroot-config-src/buildroot-2023.05.1/main.config deleted file mode 100644 index 706054bf3..000000000 --- a/linux/buildroot-config-src/buildroot-2023.05.1/main.config +++ /dev/null @@ -1,3428 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Buildroot 2023.05.3 Configuration -# -BR2_HAVE_DOT_CONFIG=y -BR2_HOST_GCC_AT_LEAST_4_9=y -BR2_HOST_GCC_AT_LEAST_5=y -BR2_HOST_GCC_AT_LEAST_6=y -BR2_HOST_GCC_AT_LEAST_7=y -BR2_HOST_GCC_AT_LEAST_8=y -BR2_HOST_GCC_AT_LEAST_9=y - -# -# Target options -# -BR2_ARCH_IS_64=y -BR2_USE_MMU=y -# BR2_arcle is not set -# BR2_arceb is not set -# BR2_arm is not set -# BR2_armeb is not set -# BR2_aarch64 is not set -# BR2_aarch64_be is not set -# BR2_i386 is not set -# BR2_m68k is not set -# BR2_microblazeel is not set -# BR2_microblazebe is not set -# BR2_mips is not set -# BR2_mipsel is not set -# BR2_mips64 is not set -# BR2_mips64el is not set -# BR2_nios2 is not set -# BR2_or1k is not set -# BR2_powerpc is not set -# BR2_powerpc64 is not set -# BR2_powerpc64le is not set -BR2_riscv=y -# BR2_s390x is not set -# BR2_sh is not set -# BR2_sparc is not set -# BR2_sparc64 is not set -# BR2_x86_64 is not set -# BR2_xtensa is not set -BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y -BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8=y -BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9=y -BR2_ARCH_NEEDS_GCC_AT_LEAST_5=y -BR2_ARCH_NEEDS_GCC_AT_LEAST_6=y -BR2_ARCH_NEEDS_GCC_AT_LEAST_7=y -BR2_ARCH="riscv64" -BR2_NORMALIZED_ARCH="riscv" -BR2_ENDIAN="LITTLE" -BR2_GCC_TARGET_ABI="lp64d" -BR2_BINFMT_SUPPORTS_SHARED=y -BR2_READELF_ARCH_NAME="RISC-V" -BR2_RISCV_ISA_RVI=y -BR2_RISCV_ISA_RVM=y -BR2_RISCV_ISA_RVA=y -BR2_RISCV_ISA_RVF=y -BR2_RISCV_ISA_RVD=y -BR2_riscv_g=y -# BR2_riscv_custom is not set -# BR2_RISCV_32 is not set -BR2_RISCV_64=y -BR2_RISCV_USE_MMU=y -# BR2_RISCV_ABI_LP64 is not set -# BR2_RISCV_ABI_LP64F is not set -BR2_RISCV_ABI_LP64D=y -BR2_BINFMT_ELF=y - -# -# Toolchain -# -BR2_TOOLCHAIN=y -BR2_TOOLCHAIN_USES_GLIBC=y -BR2_TOOLCHAIN_BUILDROOT=y -# BR2_TOOLCHAIN_EXTERNAL is not set - -# -# Toolchain Buildroot Options -# -BR2_TOOLCHAIN_BUILDROOT_VENDOR="buildroot" -# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set -BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -# BR2_TOOLCHAIN_BUILDROOT_MUSL is not set -BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" - -# -# Kernel Header Options -# -# BR2_KERNEL_HEADERS_AS_KERNEL is not set -# BR2_KERNEL_HEADERS_4_19 is not set -# BR2_KERNEL_HEADERS_5_4 is not set -# BR2_KERNEL_HEADERS_5_10 is not set -# BR2_KERNEL_HEADERS_5_15 is not set -# BR2_KERNEL_HEADERS_6_1 is not set -BR2_KERNEL_HEADERS_6_3=y -# BR2_KERNEL_HEADERS_VERSION is not set -# BR2_KERNEL_HEADERS_CUSTOM_TARBALL is not set -# BR2_KERNEL_HEADERS_CUSTOM_GIT is not set -BR2_KERNEL_HEADERS_LATEST=y -BR2_DEFAULT_KERNEL_HEADERS="6.3.13" -BR2_PACKAGE_LINUX_HEADERS=y -BR2_PACKAGE_MUSL_ARCH_SUPPORTS=y -BR2_PACKAGE_MUSL_SUPPORTS=y -BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS=y -BR2_PACKAGE_UCLIBC_SUPPORTS=y -BR2_PACKAGE_GLIBC_ARCH_SUPPORTS=y -BR2_PACKAGE_GLIBC_SUPPORTS=y - -# -# Glibc Options -# -BR2_PACKAGE_GLIBC=y -# BR2_PACKAGE_GLIBC_KERNEL_COMPAT is not set -# BR2_PACKAGE_GLIBC_UTILS is not set - -# -# Binutils Options -# -BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI=y -# BR2_BINUTILS_VERSION_2_37_X is not set -BR2_BINUTILS_VERSION_2_38_X=y -# BR2_BINUTILS_VERSION_2_39_X is not set -BR2_BINUTILS_VERSION="2.38" -BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="" - -# -# GCC Options -# -# BR2_GCC_VERSION_10_X is not set -# BR2_GCC_VERSION_11_X is not set -BR2_GCC_VERSION_12_X=y -BR2_GCC_VERSION="12.3.0" -BR2_EXTRA_GCC_CONFIG_OPTIONS="" -BR2_TOOLCHAIN_BUILDROOT_CXX=y -BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y -# BR2_GCC_ENABLE_OPENMP is not set -# BR2_GCC_ENABLE_GRAPHITE is not set -BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS=y - -# -# Host GDB Options -# -# BR2_PACKAGE_HOST_GDB is not set - -# -# Toolchain Generic Options -# -BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y -BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y -BR2_USE_WCHAR=y -BR2_ENABLE_LOCALE=y -BR2_INSTALL_LIBSTDCPP=y -BR2_TOOLCHAIN_HAS_FORTRAN=y -BR2_TOOLCHAIN_HAS_THREADS=y -BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y -BR2_TOOLCHAIN_HAS_THREADS_NPTL=y -BR2_TOOLCHAIN_HAS_SSP=y -BR2_TOOLCHAIN_HAS_SSP_STRONG=y -BR2_TOOLCHAIN_HAS_UCONTEXT=y -BR2_TOOLCHAIN_SUPPORTS_PIE=y -# BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY is not set -BR2_TOOLCHAIN_EXTRA_LIBS="" -BR2_TOOLCHAIN_HAS_FULL_GETTEXT=y -BR2_TARGET_OPTIMIZATION="" -BR2_TARGET_LDFLAGS="" -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_12=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_13=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_14=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_16=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_17=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_18=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_19=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_0=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_2=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_3=y -BR2_TOOLCHAIN_HEADERS_LATEST=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST="6.3" -BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_6=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_7=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_8=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_9=y -BR2_TOOLCHAIN_GCC_AT_LEAST_5=y -BR2_TOOLCHAIN_GCC_AT_LEAST_6=y -BR2_TOOLCHAIN_GCC_AT_LEAST_7=y -BR2_TOOLCHAIN_GCC_AT_LEAST_8=y -BR2_TOOLCHAIN_GCC_AT_LEAST_9=y -BR2_TOOLCHAIN_GCC_AT_LEAST_10=y -BR2_TOOLCHAIN_GCC_AT_LEAST_11=y -BR2_TOOLCHAIN_GCC_AT_LEAST_12=y -BR2_TOOLCHAIN_GCC_AT_LEAST="12" -BR2_TOOLCHAIN_HAS_MNAN_OPTION=y -BR2_TOOLCHAIN_HAS_SYNC_1=y -BR2_TOOLCHAIN_HAS_SYNC_2=y -BR2_TOOLCHAIN_HAS_SYNC_4=y -BR2_TOOLCHAIN_HAS_SYNC_8=y -BR2_TOOLCHAIN_HAS_LIBATOMIC=y -BR2_TOOLCHAIN_HAS_ATOMIC=y - -# -# Build options -# - -# -# Commands -# -BR2_WGET="wget --passive-ftp -nd -t 3" -BR2_SVN="svn --non-interactive" -BR2_BZR="bzr" -BR2_GIT="git" -BR2_CVS="cvs" -BR2_LOCALFILES="cp" -BR2_SCP="scp" -BR2_SFTP="sftp" -BR2_HG="hg" -BR2_ZCAT="gzip -d -c" -BR2_BZCAT="bzcat" -BR2_XZCAT="xzcat" -BR2_LZCAT="lzip -d -c" -BR2_TAR_OPTIONS="" -BR2_DEFCONFIG="./board/wally/main.config" -BR2_DL_DIR="$(TOPDIR)/dl" -BR2_HOST_DIR="$(BASE_DIR)/host" - -# -# Mirrors and Download locations -# -BR2_PRIMARY_SITE="" -BR2_BACKUP_SITE="http://sources.buildroot.net" -BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub" -BR2_GNU_MIRROR="http://ftpmirror.gnu.org" -BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org" -BR2_CPAN_MIRROR="https://cpan.metacpan.org" -BR2_JLEVEL=0 -# BR2_CCACHE is not set -BR2_ENABLE_DEBUG=y -# BR2_DEBUG_1 is not set -# BR2_DEBUG_2 is not set -BR2_DEBUG_3=y -# BR2_ENABLE_RUNTIME_DEBUG is not set -# BR2_STRIP_strip is not set -# BR2_OPTIMIZE_0 is not set -# BR2_OPTIMIZE_1 is not set -# BR2_OPTIMIZE_2 is not set -# BR2_OPTIMIZE_3 is not set -# BR2_OPTIMIZE_G is not set -BR2_OPTIMIZE_S=y -# BR2_OPTIMIZE_FAST is not set -# BR2_ENABLE_LTO is not set - -# -# static only needs a toolchain w/ uclibc or musl -# -BR2_SHARED_LIBS=y -# BR2_SHARED_STATIC_LIBS is not set -BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk" -BR2_GLOBAL_PATCH_DIR="" - -# -# Advanced -# -# BR2_FORCE_HOST_BUILD is not set -# BR2_REPRODUCIBLE is not set -# BR2_PER_PACKAGE_DIRECTORIES is not set - -# -# Security Hardening Options -# -BR2_PIC_PIE_ARCH_SUPPORTS=y -# BR2_PIC_PIE is not set -BR2_SSP_NONE=y -# BR2_SSP_REGULAR is not set -# BR2_SSP_STRONG is not set -# BR2_SSP_ALL is not set -BR2_RELRO_NONE=y -# BR2_RELRO_PARTIAL is not set -# BR2_RELRO_FULL is not set -BR2_FORTIFY_SOURCE_ARCH_SUPPORTS=y -BR2_FORTIFY_SOURCE_NONE=y -# BR2_FORTIFY_SOURCE_1 is not set -# BR2_FORTIFY_SOURCE_2 is not set -# BR2_FORTIFY_SOURCE_3 is not set - -# -# System configuration -# -BR2_ROOTFS_SKELETON_DEFAULT=y -# BR2_ROOTFS_SKELETON_CUSTOM is not set -BR2_TARGET_GENERIC_HOSTNAME="WallyHostname" -BR2_TARGET_GENERIC_ISSUE="Greetings! This RISC-V Linux image was built for Wally on Buildroot!" -BR2_TARGET_GENERIC_PASSWD_SHA256=y -# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set -BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256" -BR2_INIT_BUSYBOX=y -# BR2_INIT_SYSV is not set -# BR2_INIT_OPENRC is not set -# BR2_INIT_SYSTEMD is not set -# BR2_INIT_NONE is not set -# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y -# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set -# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set -BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt" -BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES=y -# BR2_ROOTFS_MERGED_USR is not set -BR2_TARGET_ENABLE_ROOT_LOGIN=y -BR2_TARGET_GENERIC_ROOT_PASSWD="" -BR2_SYSTEM_BIN_SH_BUSYBOX=y - -# -# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS -# -# BR2_SYSTEM_BIN_SH_NONE is not set -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="console" -BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set -BR2_TARGET_GENERIC_GETTY_BAUDRATE="0" -BR2_TARGET_GENERIC_GETTY_TERM="vt100" -BR2_TARGET_GENERIC_GETTY_OPTIONS="" -BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y -BR2_SYSTEM_DHCP="eth0" -BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" -BR2_ENABLE_LOCALE_PURGE=y -BR2_ENABLE_LOCALE_WHITELIST="C en_US" -BR2_GENERATE_LOCALE="" -# BR2_SYSTEM_ENABLE_NLS is not set -# BR2_TARGET_TZ_INFO is not set -BR2_ROOTFS_USERS_TABLES="" -BR2_ROOTFS_OVERLAY="./board/wally/rootfs_overlay" -BR2_ROOTFS_PRE_BUILD_SCRIPT="" -BR2_ROOTFS_POST_BUILD_SCRIPT="" -BR2_ROOTFS_POST_FAKEROOT_SCRIPT="" -BR2_ROOTFS_POST_IMAGE_SCRIPT="" - -# -# Kernel -# -BR2_LINUX_KERNEL=y -# BR2_LINUX_KERNEL_LATEST_VERSION is not set -# BR2_LINUX_KERNEL_LATEST_CIP_VERSION is not set -# BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION is not set -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -# BR2_LINUX_KERNEL_CUSTOM_TARBALL is not set -# BR2_LINUX_KERNEL_CUSTOM_GIT is not set -# BR2_LINUX_KERNEL_CUSTOM_HG is not set -# BR2_LINUX_KERNEL_CUSTOM_SVN is not set -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6" -BR2_LINUX_KERNEL_VERSION="6.6" -BR2_LINUX_KERNEL_PATCH="" -# BR2_LINUX_KERNEL_USE_DEFCONFIG is not set -# BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG is not set -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="./board/wally/linux.config" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="" -BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH="" -BR2_LINUX_KERNEL_IMAGE=y -# BR2_LINUX_KERNEL_IMAGEGZ is not set -# BR2_LINUX_KERNEL_VMLINUX is not set -# BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM is not set -BR2_LINUX_KERNEL_GZIP=y -# BR2_LINUX_KERNEL_LZ4 is not set -# BR2_LINUX_KERNEL_LZMA is not set -# BR2_LINUX_KERNEL_LZO is not set -# BR2_LINUX_KERNEL_XZ is not set -# BR2_LINUX_KERNEL_ZSTD is not set -# BR2_LINUX_KERNEL_DTS_SUPPORT is not set -# BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL is not set -# BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is not set -# BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE is not set - -# -# Linux Kernel Extensions -# -# BR2_LINUX_KERNEL_EXT_RTAI is not set -# BR2_LINUX_KERNEL_EXT_EV3DEV_LINUX_DRIVERS is not set -# BR2_LINUX_KERNEL_EXT_FBTFT is not set -# BR2_LINUX_KERNEL_EXT_AUFS is not set - -# -# Linux Kernel Tools -# -# BR2_PACKAGE_LINUX_TOOLS_CPUPOWER is not set -# BR2_PACKAGE_LINUX_TOOLS_GPIO is not set -# BR2_PACKAGE_LINUX_TOOLS_IIO is not set -# BR2_PACKAGE_LINUX_TOOLS_PCI is not set -# BR2_PACKAGE_LINUX_TOOLS_PERF is not set - -# -# selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library and headers >= 3.14 -# -# BR2_PACKAGE_LINUX_TOOLS_USBTOOLS is not set -# BR2_PACKAGE_LINUX_TOOLS_TMON is not set - -# -# Target packages -# -BR2_PACKAGE_BUSYBOX=y -BR2_PACKAGE_BUSYBOX_CONFIG="./board/wally/busybox.config" -BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="" -# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set -# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set -# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set -BR2_PACKAGE_SKELETON=y -BR2_PACKAGE_HAS_SKELETON=y -BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv" -BR2_PACKAGE_SKELETON_INIT_COMMON=y -BR2_PACKAGE_SKELETON_INIT_SYSV=y - -# -# Audio and video applications -# -# BR2_PACKAGE_ALSA_UTILS is not set -# BR2_PACKAGE_ATEST is not set -# BR2_PACKAGE_AUMIX is not set -# BR2_PACKAGE_BLUEZ_ALSA is not set -# BR2_PACKAGE_DVBLAST is not set -# BR2_PACKAGE_DVDAUTHOR is not set -# BR2_PACKAGE_DVDRW_TOOLS is not set -# BR2_PACKAGE_ESPEAK is not set -# BR2_PACKAGE_FAAD2 is not set -BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS=y -# BR2_PACKAGE_FFMPEG is not set -# BR2_PACKAGE_FLAC is not set -# BR2_PACKAGE_FLITE is not set -# BR2_PACKAGE_FLUID_SOUNDFONT is not set -# BR2_PACKAGE_FLUIDSYNTH is not set -# BR2_PACKAGE_GMRENDER_RESURRECT is not set -# BR2_PACKAGE_GSTREAMER1 is not set -# BR2_PACKAGE_JACK1 is not set -# BR2_PACKAGE_JACK2 is not set -BR2_PACKAGE_KODI_ARCH_SUPPORTS=y - -# -# kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 9.x -# - -# -# kodi needs udev support for gbm -# - -# -# kodi needs an OpenGL EGL backend with OpenGL or GLES support -# -# BR2_PACKAGE_LAME is not set -# BR2_PACKAGE_MADPLAY is not set -# BR2_PACKAGE_MIMIC is not set -# BR2_PACKAGE_MINIMODEM is not set - -# -# miraclecast needs systemd and a glibc toolchain w/ threads and wchar -# -# BR2_PACKAGE_MJPEGTOOLS is not set -# BR2_PACKAGE_MODPLUGTOOLS is not set -# BR2_PACKAGE_MOTION is not set -# BR2_PACKAGE_MPD is not set -# BR2_PACKAGE_MPD_MPC is not set -# BR2_PACKAGE_MPG123 is not set -# BR2_PACKAGE_MPV is not set -# BR2_PACKAGE_MULTICAT is not set -# BR2_PACKAGE_MUSEPACK is not set -# BR2_PACKAGE_NCMPC is not set -# BR2_PACKAGE_OPUS_TOOLS is not set -# BR2_PACKAGE_PIPEWIRE is not set -BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y -# BR2_PACKAGE_PULSEAUDIO is not set -# BR2_PACKAGE_SOX is not set -# BR2_PACKAGE_SPEECHD is not set -# BR2_PACKAGE_SQUEEZELITE is not set -# BR2_PACKAGE_TINYCOMPRESS is not set -# BR2_PACKAGE_TSTOOLS is not set -# BR2_PACKAGE_TWOLAME is not set -# BR2_PACKAGE_UDPXY is not set -# BR2_PACKAGE_UPMPDCLI is not set -# BR2_PACKAGE_V4L2GRAB is not set -# BR2_PACKAGE_V4L2LOOPBACK is not set -# BR2_PACKAGE_VLC is not set -# BR2_PACKAGE_VORBIS_TOOLS is not set -# BR2_PACKAGE_WAVPACK is not set -# BR2_PACKAGE_YAVTA is not set -# BR2_PACKAGE_YMPD is not set -# BR2_PACKAGE_ZYNADDSUBFX is not set - -# -# Compressors and decompressors -# -# BR2_PACKAGE_BROTLI is not set -# BR2_PACKAGE_BZIP2 is not set -# BR2_PACKAGE_LRZIP is not set -# BR2_PACKAGE_LZIP is not set -# BR2_PACKAGE_LZOP is not set -# BR2_PACKAGE_P7ZIP is not set -# BR2_PACKAGE_PIGZ is not set -# BR2_PACKAGE_PIXZ is not set -# BR2_PACKAGE_UNRAR is not set -# BR2_PACKAGE_XZ is not set -# BR2_PACKAGE_ZIP is not set -# BR2_PACKAGE_ZSTD is not set - -# -# Debugging, profiling and benchmark -# -# BR2_PACKAGE_BABELTRACE2 is not set -# BR2_PACKAGE_BLKTRACE is not set -# BR2_PACKAGE_BONNIE is not set -# BR2_PACKAGE_CACHE_CALIBRATOR is not set - -# -# clinfo needs an OpenCL provider -# - -# -# clpeak needs an OpenCL provider, a toolchain w/ C++, gcc >= 4.8 -# -BR2_PACKAGE_COREMARK=y -# BR2_PACKAGE_COREMARK_PRO is not set - -# -# dacapo needs OpenJDK -# -BR2_PACKAGE_DHRYSTONE=y -# BR2_PACKAGE_DIEHARDER is not set -# BR2_PACKAGE_DMALLOC is not set -# BR2_PACKAGE_DROPWATCH is not set -# BR2_PACKAGE_DSTAT is not set -# BR2_PACKAGE_DT is not set -# BR2_PACKAGE_DUMA is not set -# BR2_PACKAGE_FIO is not set -BR2_PACKAGE_GDB_ARCH_SUPPORTS=y -# BR2_PACKAGE_GDB is not set -# BR2_PACKAGE_IOZONE is not set -# BR2_PACKAGE_KMEMD is not set -# BR2_PACKAGE_LATENCYTOP is not set -# BR2_PACKAGE_LIBBPF is not set -# BR2_PACKAGE_LMBENCH is not set -BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y -# BR2_PACKAGE_LTP_TESTSUITE is not set -# BR2_PACKAGE_LTTNG_BABELTRACE is not set -# BR2_PACKAGE_LTTNG_MODULES is not set -# BR2_PACKAGE_LTTNG_TOOLS is not set -# BR2_PACKAGE_MBW is not set -# BR2_PACKAGE_MEMSTAT is not set -# BR2_PACKAGE_NETPERF is not set -# BR2_PACKAGE_NETSNIFF_NG is not set -# BR2_PACKAGE_NMON is not set -# BR2_PACKAGE_PAX_UTILS is not set -BR2_PACKAGE_PERFTEST_ARCH_SUPPORTS=y -# BR2_PACKAGE_PERFTEST is not set -# BR2_PACKAGE_POKE is not set -# BR2_PACKAGE_PV is not set -# BR2_PACKAGE_RAMSMP is not set -BR2_PACKAGE_RAMSPEED=y -# BR2_PACKAGE_RT_TESTS is not set -# BR2_PACKAGE_RWMEM is not set -# BR2_PACKAGE_SIGNAL_ESTIMATOR is not set -# BR2_PACKAGE_SPIDEV_TEST is not set -# BR2_PACKAGE_STRACE is not set -# BR2_PACKAGE_STRESS is not set -# BR2_PACKAGE_STRESS_NG is not set - -# -# sysdig needs a glibc toolchain w/ C++, threads, gcc >= 5, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built -# -# BR2_PACKAGE_TINYMEMBENCH is not set -# BR2_PACKAGE_TRACE_CMD is not set -# BR2_PACKAGE_UCLIBC_NG_TEST is not set -# BR2_PACKAGE_VMTOUCH is not set -BR2_PACKAGE_WHETSTONE=y - -# -# Development tools -# -# BR2_PACKAGE_AVOCADO is not set -# BR2_PACKAGE_BINUTILS is not set -# BR2_PACKAGE_BITWISE is not set -# BR2_PACKAGE_BSDIFF is not set -# BR2_PACKAGE_CHECK is not set -BR2_PACKAGE_CMAKE_ARCH_SUPPORTS=y -# BR2_PACKAGE_CMAKE_CTEST is not set -# BR2_PACKAGE_CPPUNIT is not set -# BR2_PACKAGE_CUKINIA is not set -# BR2_PACKAGE_CUNIT is not set -# BR2_PACKAGE_CVS is not set -# BR2_PACKAGE_CXXTEST is not set -# BR2_PACKAGE_FLEX is not set -# BR2_PACKAGE_GETTEXT is not set -BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" -# BR2_PACKAGE_GIT is not set -# BR2_PACKAGE_GIT_CRYPT is not set -# BR2_PACKAGE_GPERF is not set -# BR2_PACKAGE_JO is not set -# BR2_PACKAGE_JQ is not set -# BR2_PACKAGE_LIBTOOL is not set -# BR2_PACKAGE_MAKE is not set -# BR2_PACKAGE_MAWK is not set -# BR2_PACKAGE_PKGCONF is not set -# BR2_PACKAGE_SUBVERSION is not set -# BR2_PACKAGE_TREE is not set - -# -# Filesystem and flash utilities -# -# BR2_PACKAGE_ABOOTIMG is not set -# BR2_PACKAGE_AUFS_UTIL is not set -# BR2_PACKAGE_AUTOFS is not set -# BR2_PACKAGE_BTRFS_PROGS is not set -# BR2_PACKAGE_CIFS_UTILS is not set -# BR2_PACKAGE_CPIO is not set -# BR2_PACKAGE_CRAMFS is not set -# BR2_PACKAGE_CURLFTPFS is not set -# BR2_PACKAGE_DAVFS2 is not set -# BR2_PACKAGE_DOSFSTOOLS is not set -# BR2_PACKAGE_E2FSPROGS is not set -# BR2_PACKAGE_E2TOOLS is not set -# BR2_PACKAGE_ECRYPTFS_UTILS is not set -# BR2_PACKAGE_EROFS_UTILS is not set -# BR2_PACKAGE_EXFAT is not set -# BR2_PACKAGE_EXFAT_UTILS is not set -# BR2_PACKAGE_EXFATPROGS is not set -# BR2_PACKAGE_F2FS_TOOLS is not set -# BR2_PACKAGE_FIRMWARE_UTILS is not set -# BR2_PACKAGE_FLASHBENCH is not set -# BR2_PACKAGE_FSCRYPTCTL is not set -# BR2_PACKAGE_FUSE_OVERLAYFS is not set -# BR2_PACKAGE_FWUP is not set -# BR2_PACKAGE_GENEXT2FS is not set -# BR2_PACKAGE_GENPART is not set -# BR2_PACKAGE_GENROMFS is not set -# BR2_PACKAGE_GOCRYPTFS is not set -# BR2_PACKAGE_IMX_USB_LOADER is not set -# BR2_PACKAGE_MMC_UTILS is not set -# BR2_PACKAGE_MTD is not set -# BR2_PACKAGE_MTOOLS is not set -# BR2_PACKAGE_NFS_UTILS is not set -# BR2_PACKAGE_NILFS_UTILS is not set -# BR2_PACKAGE_NTFS_3G is not set -# BR2_PACKAGE_SP_OOPS_EXTRACT is not set -# BR2_PACKAGE_SQUASHFS is not set -# BR2_PACKAGE_SSHFS is not set -# BR2_PACKAGE_UDFTOOLS is not set -# BR2_PACKAGE_UNIONFS is not set -# BR2_PACKAGE_XFSPROGS is not set -# BR2_PACKAGE_ZEROFREE is not set - -# -# zfs needs udev /dev management -# - -# -# Fonts, cursors, icons, sounds and themes -# - -# -# Cursors -# -# BR2_PACKAGE_COMIX_CURSORS is not set -# BR2_PACKAGE_OBSIDIAN_CURSORS is not set - -# -# Fonts -# -# BR2_PACKAGE_BITSTREAM_VERA is not set -# BR2_PACKAGE_CANTARELL is not set -# BR2_PACKAGE_DEJAVU is not set -# BR2_PACKAGE_FONT_AWESOME is not set -# BR2_PACKAGE_GHOSTSCRIPT_FONTS is not set -# BR2_PACKAGE_INCONSOLATA is not set -# BR2_PACKAGE_LIBERATION is not set -# BR2_PACKAGE_WQY_ZENHEI is not set - -# -# Icons -# -# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set -# BR2_PACKAGE_HICOLOR_ICON_THEME is not set - -# -# Sounds -# -# BR2_PACKAGE_SOUND_THEME_BOREALIS is not set -# BR2_PACKAGE_SOUND_THEME_FREEDESKTOP is not set - -# -# Themes -# - -# -# Games -# -# BR2_PACKAGE_ASCII_INVADERS is not set -# BR2_PACKAGE_CHOCOLATE_DOOM is not set -# BR2_PACKAGE_FLARE_ENGINE is not set -# BR2_PACKAGE_FROTZ is not set -# BR2_PACKAGE_GNUCHESS is not set -# BR2_PACKAGE_LBREAKOUT2 is not set -# BR2_PACKAGE_LTRIS is not set - -# -# minetest needs X11 and an OpenGL provider -# -# BR2_PACKAGE_OPENTYRIAN is not set -# BR2_PACKAGE_PRBOOM is not set -# BR2_PACKAGE_SL is not set - -# -# solarus needs OpenGL and a toolchain w/ C++, gcc >= 4.9, NPTL, dynamic library, and luajit or lua 5.1 -# -# BR2_PACKAGE_STELLA is not set -# BR2_PACKAGE_XORCURSES is not set - -# -# Graphic libraries and applications (graphic/text) -# - -# -# Graphic applications -# - -# -# cage needs udev, EGL w/ Wayland backend and OpenGL ES support -# - -# -# cog needs wpewebkit and a toolchain w/ threads -# -# BR2_PACKAGE_FSWEBCAM is not set -# BR2_PACKAGE_GHOSTSCRIPT is not set - -# -# glmark2 needs an OpenGL or an openGL ES and EGL backend -# - -# -# glslsandbox-player needs openGL ES and EGL driver -# -# BR2_PACKAGE_GNUPLOT is not set -# BR2_PACKAGE_JHEAD is not set - -# -# kmscube needs EGL, GBM and OpenGL ES, and a toolchain w/ thread support -# -# BR2_PACKAGE_LIBVA_UTILS is not set -BR2_PACKAGE_MIDORI_ARCH_SUPPORTS=y - -# -# midori needs libgtk3 w/ X11 or wayland backend -# -BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y -# BR2_PACKAGE_NETSURF is not set -# BR2_PACKAGE_PNGQUANT is not set -# BR2_PACKAGE_RRDTOOL is not set - -# -# stellarium needs Qt5 and an OpenGL provider -# - -# -# sway needs systemd, udev, EGL w/ Wayland backend and OpenGL ES support -# -# BR2_PACKAGE_TESSERACT_OCR is not set -# BR2_PACKAGE_TINIFIER is not set - -# -# Graphic libraries -# -# BR2_PACKAGE_CEGUI is not set -# BR2_PACKAGE_DIRECTFB is not set -# BR2_PACKAGE_FB_TEST_APP is not set -# BR2_PACKAGE_FBDUMP is not set -# BR2_PACKAGE_FBGRAB is not set -# BR2_PACKAGE_FBTERM is not set -# BR2_PACKAGE_FBV is not set -# BR2_PACKAGE_FREERDP is not set -# BR2_PACKAGE_GRAPHICSMAGICK is not set -# BR2_PACKAGE_IMAGEMAGICK is not set -# BR2_PACKAGE_LIBGLVND is not set -# BR2_PACKAGE_LINUX_FUSION is not set -# BR2_PACKAGE_MESA3D is not set -# BR2_PACKAGE_OCRAD is not set - -# -# ogre needs X11 and an OpenGL provider -# -# BR2_PACKAGE_PSPLASH is not set -BR2_PACKAGE_SDL=y -BR2_PACKAGE_SDL_FBCON=y -# BR2_PACKAGE_SDL_GFX is not set -# BR2_PACKAGE_SDL_IMAGE is not set -# BR2_PACKAGE_SDL_MIXER is not set -# BR2_PACKAGE_SDL_NET is not set -# BR2_PACKAGE_SDL_SOUND is not set -# BR2_PACKAGE_SDL_TTF is not set -# BR2_PACKAGE_SDL2 is not set -# BR2_PACKAGE_VULKAN_HEADERS is not set - -# -# Other GUIs -# -# BR2_PACKAGE_QT5 is not set - -# -# tekui needs a Lua interpreter and a toolchain w/ threads, dynamic library -# - -# -# weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0 -# -# BR2_PACKAGE_XORG7 is not set -# BR2_PACKAGE_APITRACE is not set - -# -# vte needs an OpenGL or an OpenGL-EGL/wayland backend -# -# BR2_PACKAGE_XKEYBOARD_CONFIG is not set - -# -# Hardware handling -# - -# -# Firmware -# -# BR2_PACKAGE_ARMBIAN_FIRMWARE is not set -# BR2_PACKAGE_B43_FIRMWARE is not set -# BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI is not set -# BR2_PACKAGE_LINUX_FIRMWARE is not set -# BR2_PACKAGE_MURATA_CYW_FW is not set -# BR2_PACKAGE_ODROIDC2_FIRMWARE is not set -# BR2_PACKAGE_QCOM_DB410C_FIRMWARE is not set -# BR2_PACKAGE_RCW_SMARC_SAL28 is not set -# BR2_PACKAGE_UX500_FIRMWARE is not set -# BR2_PACKAGE_WILC1000_FIRMWARE is not set -# BR2_PACKAGE_WILC3000_FIRMWARE is not set -# BR2_PACKAGE_WILINK_BT_FIRMWARE is not set -# BR2_PACKAGE_ZD1211_FIRMWARE is not set -# BR2_PACKAGE_18XX_TI_UTILS is not set -# BR2_PACKAGE_ACPICA is not set -# BR2_PACKAGE_ACPID is not set -# BR2_PACKAGE_ACPITOOL is not set -# BR2_PACKAGE_AER_INJECT is not set -# BR2_PACKAGE_ALTERA_STAPL is not set -# BR2_PACKAGE_APCUPSD is not set -# BR2_PACKAGE_AVRDUDE is not set - -# -# bcache-tools needs udev /dev management -# - -# -# brickd needs udev /dev management, a toolchain w/ threads, wchar -# -# BR2_PACKAGE_BRLTTY is not set -# BR2_PACKAGE_CC_TOOL is not set -# BR2_PACKAGE_CDRKIT is not set -# BR2_PACKAGE_CRUCIBLE is not set -# BR2_PACKAGE_CRYPTSETUP is not set -# BR2_PACKAGE_CWIID is not set -# BR2_PACKAGE_DAHDI_LINUX is not set -# BR2_PACKAGE_DAHDI_TOOLS is not set -# BR2_PACKAGE_DBUS is not set - -# -# dbusbroker needs systemd and a toolchain w/ threads -# -# BR2_PACKAGE_DBUS_CXX is not set -# BR2_PACKAGE_DFU_UTIL is not set -# BR2_PACKAGE_DMRAID is not set - -# -# dt-utils needs udev /dev management -# -# BR2_PACKAGE_DTBOCFG is not set -# BR2_PACKAGE_DTV_SCAN_TABLES is not set -# BR2_PACKAGE_DUMP1090 is not set -# BR2_PACKAGE_DVB_APPS is not set -# BR2_PACKAGE_DVBSNOOP is not set -# BR2_PACKAGE_EDID_DECODE is not set - -# -# eudev needs eudev /dev management -# -# BR2_PACKAGE_EVEMU is not set -# BR2_PACKAGE_EVTEST is not set -# BR2_PACKAGE_FAN_CTRL is not set -# BR2_PACKAGE_FCONFIG is not set -BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y -# BR2_PACKAGE_FLASHROM is not set -# BR2_PACKAGE_FMTOOLS is not set -# BR2_PACKAGE_FREEIPMI is not set -# BR2_PACKAGE_FXLOAD is not set -# BR2_PACKAGE_GPM is not set -# BR2_PACKAGE_GPSD is not set -# BR2_PACKAGE_GPTFDISK is not set -# BR2_PACKAGE_GVFS is not set -# BR2_PACKAGE_HDDTEMP is not set -# BR2_PACKAGE_HWDATA is not set -# BR2_PACKAGE_HWLOC is not set -# BR2_PACKAGE_INPUT_EVENT_DAEMON is not set -# BR2_PACKAGE_IPMITOOL is not set -# BR2_PACKAGE_IRDA_UTILS is not set -# BR2_PACKAGE_KBD is not set -# BR2_PACKAGE_LCDPROC is not set -# BR2_PACKAGE_LIBIEC61850 is not set -# BR2_PACKAGE_LIBMANETTE is not set -# BR2_PACKAGE_LIBUBOOTENV is not set -# BR2_PACKAGE_LIBUIO is not set -# BR2_PACKAGE_LINUX_BACKPORTS is not set -# BR2_PACKAGE_LINUX_SERIAL_TEST is not set -# BR2_PACKAGE_LINUXCONSOLETOOLS is not set -# BR2_PACKAGE_LIRC_TOOLS is not set -# BR2_PACKAGE_LM_SENSORS is not set -# BR2_PACKAGE_LSHW is not set -# BR2_PACKAGE_LSSCSI is not set -# BR2_PACKAGE_LSUIO is not set -# BR2_PACKAGE_LUKSMETA is not set -# BR2_PACKAGE_LVM2 is not set -# BR2_PACKAGE_MBPFAN is not set -# BR2_PACKAGE_MDADM is not set -# BR2_PACKAGE_MDEVD is not set -# BR2_PACKAGE_MDIO_TOOLS is not set -# BR2_PACKAGE_MEMTESTER is not set -# BR2_PACKAGE_MEMTOOL is not set -# BR2_PACKAGE_MINICOM is not set -# BR2_PACKAGE_NANOCOM is not set -# BR2_PACKAGE_NEARD is not set -# BR2_PACKAGE_NVIDIA_MODPROBE is not set -# BR2_PACKAGE_NVME is not set -# BR2_PACKAGE_OFONO is not set -# BR2_PACKAGE_OLA is not set -# BR2_PACKAGE_OPEN2300 is not set -# BR2_PACKAGE_OPENFPGALOADER is not set -# BR2_PACKAGE_OPENIPMI is not set -# BR2_PACKAGE_OPENOCD is not set -# BR2_PACKAGE_PARTED is not set -# BR2_PACKAGE_PCIUTILS is not set -# BR2_PACKAGE_PDBG is not set -# BR2_PACKAGE_PICOCOM is not set -# BR2_PACKAGE_POWERTOP is not set -# BR2_PACKAGE_PPS_TOOLS is not set -# BR2_PACKAGE_QORIQ_CADENCE_DP_FIRMWARE is not set -# BR2_PACKAGE_RASPI_GPIO is not set -# BR2_PACKAGE_RDMA_CORE is not set -# BR2_PACKAGE_READ_EDID is not set -# BR2_PACKAGE_RNG_TOOLS is not set -# BR2_PACKAGE_RS485CONF is not set -# BR2_PACKAGE_RTC_TOOLS is not set -# BR2_PACKAGE_RTL8188EU is not set -# BR2_PACKAGE_RTL8189ES is not set -# BR2_PACKAGE_RTL8189FS is not set -# BR2_PACKAGE_RTL8192EU is not set -# BR2_PACKAGE_RTL8723BU is not set -# BR2_PACKAGE_RTL8723DS is not set -# BR2_PACKAGE_RTL8723DS_BT is not set -# BR2_PACKAGE_RTL8812AU_AIRCRACK_NG is not set -# BR2_PACKAGE_RTL8821AU is not set -# BR2_PACKAGE_RTL8821CU is not set -# BR2_PACKAGE_SANE_BACKENDS is not set -# BR2_PACKAGE_SDPARM is not set -# BR2_PACKAGE_SETSERIAL is not set -# BR2_PACKAGE_SG3_UTILS is not set -# BR2_PACKAGE_SIGROK_CLI is not set -# BR2_PACKAGE_SISPMCTL is not set -# BR2_PACKAGE_SMARTMONTOOLS is not set -# BR2_PACKAGE_SMSTOOLS3 is not set -# BR2_PACKAGE_SPI_TOOLS is not set -# BR2_PACKAGE_SREDIRD is not set -# BR2_PACKAGE_STATSERIAL is not set -# BR2_PACKAGE_STM32FLASH is not set -# BR2_PACKAGE_SYSSTAT is not set - -# -# targetcli-fb depends on Python -# -# BR2_PACKAGE_TI_UIM is not set -# BR2_PACKAGE_TI_UTILS is not set -# BR2_PACKAGE_TIO is not set -# BR2_PACKAGE_TRIGGERHAPPY is not set -# BR2_PACKAGE_UBOOT_TOOLS is not set -# BR2_PACKAGE_UBUS is not set - -# -# udisks needs udev /dev management -# -# BR2_PACKAGE_UHUBCTL is not set -# BR2_PACKAGE_UMTPRD is not set - -# -# upower needs udev /dev management -# -# BR2_PACKAGE_USB_MODESWITCH is not set -# BR2_PACKAGE_USB_MODESWITCH_DATA is not set -# BR2_PACKAGE_USBGUARD is not set - -# -# usbmount requires udev to be enabled -# - -# -# usbutils needs udev /dev management and toolchain w/ threads, gcc >= 4.9 -# -# BR2_PACKAGE_W_SCAN is not set -# BR2_PACKAGE_WILC_DRIVER is not set -# BR2_PACKAGE_WIPE is not set -# BR2_PACKAGE_XORRISO is not set -# BR2_PACKAGE_XR819_XRADIO is not set - -# -# Interpreter languages and scripting -# -# BR2_PACKAGE_4TH is not set -# BR2_PACKAGE_ENSCRIPT is not set -BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS=y -BR2_PACKAGE_ERLANG_ARCH_SUPPORTS=y -# BR2_PACKAGE_ERLANG is not set -# BR2_PACKAGE_EXECLINE is not set -# BR2_PACKAGE_FICL is not set -# BR2_PACKAGE_GUILE is not set -# BR2_PACKAGE_HASERL is not set -# BR2_PACKAGE_JANET is not set -# BR2_PACKAGE_JIMTCL is not set -# BR2_PACKAGE_LUA is not set -BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER="host-lua" -# BR2_PACKAGE_MICROPYTHON is not set -# BR2_PACKAGE_MOARVM is not set -BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS=y -# BR2_PACKAGE_PERL is not set -BR2_PACKAGE_PHP_ARCH_SUPPORTS=y -# BR2_PACKAGE_PHP is not set -# BR2_PACKAGE_PYTHON3 is not set -# BR2_PACKAGE_QUICKJS is not set -# BR2_PACKAGE_RUBY is not set -# BR2_PACKAGE_TCL is not set - -# -# Libraries -# - -# -# Audio/Sound -# -# BR2_PACKAGE_ALSA_LIB is not set -# BR2_PACKAGE_ALURE is not set -# BR2_PACKAGE_AUBIO is not set -# BR2_PACKAGE_BCG729 is not set -# BR2_PACKAGE_CAPS is not set -# BR2_PACKAGE_LIBAO is not set -# BR2_PACKAGE_LIBASPLIB is not set -# BR2_PACKAGE_LIBBROADVOICE is not set -# BR2_PACKAGE_LIBCDAUDIO is not set -# BR2_PACKAGE_LIBCDDB is not set -# BR2_PACKAGE_LIBCDIO is not set -# BR2_PACKAGE_LIBCDIO_PARANOIA is not set -# BR2_PACKAGE_LIBCODEC2 is not set -# BR2_PACKAGE_LIBCUE is not set -# BR2_PACKAGE_LIBCUEFILE is not set -# BR2_PACKAGE_LIBEBUR128 is not set -# BR2_PACKAGE_LIBG7221 is not set -# BR2_PACKAGE_LIBGSM is not set -# BR2_PACKAGE_LIBID3TAG is not set -# BR2_PACKAGE_LIBILBC is not set -# BR2_PACKAGE_LIBLO is not set -# BR2_PACKAGE_LIBMAD is not set -# BR2_PACKAGE_LIBMODPLUG is not set -# BR2_PACKAGE_LIBMPD is not set -# BR2_PACKAGE_LIBMPDCLIENT is not set -# BR2_PACKAGE_LIBREPLAYGAIN is not set -# BR2_PACKAGE_LIBSAMPLERATE is not set -# BR2_PACKAGE_LIBSIDPLAY2 is not set -# BR2_PACKAGE_LIBSILK is not set -# BR2_PACKAGE_LIBSNDFILE is not set -# BR2_PACKAGE_LIBSOUNDTOUCH is not set -# BR2_PACKAGE_LIBSOXR is not set -# BR2_PACKAGE_LIBVORBIS is not set -# BR2_PACKAGE_LILV is not set -# BR2_PACKAGE_LV2 is not set -# BR2_PACKAGE_MP4V2 is not set -BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y -# BR2_PACKAGE_OPENAL is not set -# BR2_PACKAGE_OPENCORE_AMR is not set -# BR2_PACKAGE_OPUS is not set -# BR2_PACKAGE_OPUSFILE is not set -# BR2_PACKAGE_PORTAUDIO is not set -# BR2_PACKAGE_SBC is not set -# BR2_PACKAGE_SPANDSP is not set -# BR2_PACKAGE_SPEEX is not set -# BR2_PACKAGE_SPEEXDSP is not set -# BR2_PACKAGE_SRATOM is not set -# BR2_PACKAGE_TAGLIB is not set -# BR2_PACKAGE_TINYALSA is not set -# BR2_PACKAGE_TREMOR is not set -# BR2_PACKAGE_VO_AACENC is not set - -# -# Compression and decompression -# -# BR2_PACKAGE_LIBARCHIVE is not set -# BR2_PACKAGE_LIBDEFLATE is not set -# BR2_PACKAGE_LIBMSPACK is not set -# BR2_PACKAGE_LIBSQUISH is not set -# BR2_PACKAGE_LIBZIP is not set -# BR2_PACKAGE_LZ4 is not set -# BR2_PACKAGE_LZO is not set -# BR2_PACKAGE_MINIZIP is not set -# BR2_PACKAGE_MINIZIP_ZLIB is not set -# BR2_PACKAGE_SNAPPY is not set -# BR2_PACKAGE_SZIP is not set -# BR2_PACKAGE_ZCHUNK is not set -BR2_PACKAGE_ZLIB_NG_ARCH_SUPPORTS=y -# BR2_PACKAGE_ZLIB is not set -BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib" -# BR2_PACKAGE_ZZIPLIB is not set - -# -# Crypto -# -# BR2_PACKAGE_BEARSSL is not set -# BR2_PACKAGE_BEECRYPT is not set -BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y -# BR2_PACKAGE_BOTAN is not set -# BR2_PACKAGE_CA_CERTIFICATES is not set -# BR2_PACKAGE_CRYPTODEV is not set -# BR2_PACKAGE_CRYPTOPP is not set -# BR2_PACKAGE_GCR is not set -# BR2_PACKAGE_GNUTLS is not set -# BR2_PACKAGE_LIBARGON2 is not set -# BR2_PACKAGE_LIBASSUAN is not set -# BR2_PACKAGE_LIBB2 is not set -# BR2_PACKAGE_LIBGCRYPT is not set -BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBGPG_ERROR is not set -BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv64-unknown-linux-gnu" -# BR2_PACKAGE_LIBGPGME is not set -# BR2_PACKAGE_LIBKCAPI is not set -# BR2_PACKAGE_LIBKSBA is not set -# BR2_PACKAGE_LIBMD is not set -# BR2_PACKAGE_LIBMHASH is not set -# BR2_PACKAGE_LIBNSS is not set -# BR2_PACKAGE_LIBOLM is not set -# BR2_PACKAGE_LIBP11 is not set -# BR2_PACKAGE_LIBSCRYPT is not set -# BR2_PACKAGE_LIBSECRET is not set -# BR2_PACKAGE_LIBSHA1 is not set -# BR2_PACKAGE_LIBSODIUM is not set -# BR2_PACKAGE_LIBSSH is not set -# BR2_PACKAGE_LIBSSH2 is not set -# BR2_PACKAGE_LIBTOMCRYPT is not set -# BR2_PACKAGE_LIBUECC is not set -# BR2_PACKAGE_LIBXCRYPT is not set -# BR2_PACKAGE_MBEDTLS is not set -# BR2_PACKAGE_NETTLE is not set -# BR2_PACKAGE_OPENSSL is not set -BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" -# BR2_PACKAGE_PKCS11_HELPER is not set -# BR2_PACKAGE_RHASH is not set -# BR2_PACKAGE_TINYDTLS is not set -# BR2_PACKAGE_TPM2_PKCS11 is not set -# BR2_PACKAGE_TPM2_TSS is not set -# BR2_PACKAGE_TROUSERS is not set -# BR2_PACKAGE_USTREAM_SSL is not set -BR2_PACKAGE_WOLFSSL_ASM_SUPPORTS=y -# BR2_PACKAGE_WOLFSSL is not set -# BR2_PACKAGE_WOLFTPM is not set - -# -# Database -# -# BR2_PACKAGE_BERKELEYDB is not set -# BR2_PACKAGE_GDBM is not set -# BR2_PACKAGE_HIREDIS is not set -# BR2_PACKAGE_KOMPEXSQLITE is not set -# BR2_PACKAGE_LEVELDB is not set -# BR2_PACKAGE_LIBDBI is not set -# BR2_PACKAGE_LIBDBI_DRIVERS is not set -# BR2_PACKAGE_LIBGIT2 is not set -# BR2_PACKAGE_LIBMDBX is not set -# BR2_PACKAGE_LIBODB is not set -# BR2_PACKAGE_MYSQL is not set -# BR2_PACKAGE_POSTGRESQL is not set -# BR2_PACKAGE_REDIS is not set -# BR2_PACKAGE_SQLCIPHER is not set -# BR2_PACKAGE_SQLITE is not set -# BR2_PACKAGE_UNIXODBC is not set - -# -# Filesystem -# -# BR2_PACKAGE_GAMIN is not set -# BR2_PACKAGE_LIBCONFIG is not set -# BR2_PACKAGE_LIBCONFUSE is not set -# BR2_PACKAGE_LIBFUSE is not set -# BR2_PACKAGE_LIBFUSE3 is not set -# BR2_PACKAGE_LIBLOCKFILE is not set -# BR2_PACKAGE_LIBNFS is not set -# BR2_PACKAGE_LIBSYSFS is not set -# BR2_PACKAGE_LOCKDEV is not set -# BR2_PACKAGE_PHYSFS is not set - -# -# Graphics -# -# BR2_PACKAGE_ASSIMP is not set -# BR2_PACKAGE_AT_SPI2_CORE is not set -# BR2_PACKAGE_ATKMM is not set -# BR2_PACKAGE_ATKMM2_28 is not set -# BR2_PACKAGE_BULLET is not set -# BR2_PACKAGE_CAIRO is not set -# BR2_PACKAGE_CAIROMM is not set -# BR2_PACKAGE_CAIROMM1_14 is not set - -# -# chipmunk needs an OpenGL backend -# -# BR2_PACKAGE_EXEMPI is not set -# BR2_PACKAGE_EXIV2 is not set -# BR2_PACKAGE_FONTCONFIG is not set -# BR2_PACKAGE_FREETYPE is not set -# BR2_PACKAGE_GD is not set -# BR2_PACKAGE_GDK_PIXBUF is not set -# BR2_PACKAGE_GIFLIB is not set - -# -# granite needs libgtk3 and a toolchain w/ wchar, threads, gcc >= 4.9 -# -# BR2_PACKAGE_GRAPHITE2 is not set - -# -# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9 -# -# BR2_PACKAGE_HARFBUZZ is not set -# BR2_PACKAGE_IJS is not set -# BR2_PACKAGE_IMLIB2 is not set - -# -# irrlicht needs X11 and an OpenGL provider -# -# BR2_PACKAGE_JASPER is not set -# BR2_PACKAGE_JBIG2DEC is not set -# BR2_PACKAGE_JPEG is not set -# BR2_PACKAGE_KMSXX is not set -# BR2_PACKAGE_LCMS2 is not set -# BR2_PACKAGE_LENSFUN is not set -# BR2_PACKAGE_LEPTONICA is not set -# BR2_PACKAGE_LIBART is not set -# BR2_PACKAGE_LIBDMTX is not set -# BR2_PACKAGE_LIBDRM is not set - -# -# libepoxy needs an OpenGL and/or OpenGL EGL backend -# -# BR2_PACKAGE_LIBEXIF is not set - -# -# libfm needs X.org and a toolchain w/ wchar, threads, C++, gcc >= 4.9 -# -# BR2_PACKAGE_LIBFM_EXTRA is not set - -# -# libfreeglut depends on X.org and needs an OpenGL backend -# -# BR2_PACKAGE_LIBFREEIMAGE is not set -# BR2_PACKAGE_LIBGEOTIFF is not set - -# -# libglew depends on X.org and needs an OpenGL backend -# - -# -# libglfw depends on X.org or Wayland and an OpenGL or GLES backend -# - -# -# libglu needs an OpenGL backend -# -# BR2_PACKAGE_LIBGTA is not set - -# -# libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend -# -# BR2_PACKAGE_LIBJXL is not set -# BR2_PACKAGE_LIBMEDIAART is not set -# BR2_PACKAGE_LIBMNG is not set -# BR2_PACKAGE_LIBPNG is not set -# BR2_PACKAGE_LIBQRENCODE is not set -# BR2_PACKAGE_LIBRAW is not set -# BR2_PACKAGE_LIBSVG is not set -# BR2_PACKAGE_LIBSVG_CAIRO is not set -# BR2_PACKAGE_LIBSVGTINY is not set -# BR2_PACKAGE_LIBVA is not set -# BR2_PACKAGE_LIBVIPS is not set - -# -# libwpe needs a toolchain w/ C++, dynamic library and an OpenEGL-capable backend -# -# BR2_PACKAGE_MENU_CACHE is not set -# BR2_PACKAGE_OPENCV3 is not set -# BR2_PACKAGE_OPENCV4 is not set -# BR2_PACKAGE_OPENJPEG is not set -# BR2_PACKAGE_PANGO is not set -# BR2_PACKAGE_PANGOMM is not set -# BR2_PACKAGE_PANGOMM2_46 is not set -# BR2_PACKAGE_PIXMAN is not set -# BR2_PACKAGE_POPPLER is not set -# BR2_PACKAGE_STB is not set -# BR2_PACKAGE_TIFF is not set -# BR2_PACKAGE_WAYLAND is not set -BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS=y - -# -# webkitgtk needs libgtk3 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 8, host gcc >= 4.9 -# -# BR2_PACKAGE_WEBP is not set - -# -# wlroots needs udev, EGL w/ Wayland backend and OpenGL ES support -# -# BR2_PACKAGE_WOFF2 is not set - -# -# wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and an OpenEGL-capable Wayland backend -# -BR2_PACKAGE_WPEWEBKIT_ARCH_SUPPORTS=y - -# -# wpewebkit needs an OpenGL ES w/ EGL-capable Wayland backend -# -# BR2_PACKAGE_ZBAR is not set -# BR2_PACKAGE_ZXING_CPP is not set - -# -# Hardware handling -# -# BR2_PACKAGE_ACSCCID is not set -# BR2_PACKAGE_C_PERIPHERY is not set -# BR2_PACKAGE_CCID is not set -# BR2_PACKAGE_DTC is not set -# BR2_PACKAGE_HACKRF is not set - -# -# hidapi needs udev /dev management and a toolchain w/ NPTL, threads, gcc >= 4.9 -# -# BR2_PACKAGE_JITTERENTROPY_LIBRARY is not set -# BR2_PACKAGE_LCDAPI is not set -# BR2_PACKAGE_LET_ME_CREATE is not set -# BR2_PACKAGE_LIBAIO is not set - -# -# libatasmart requires udev to be enabled -# - -# -# libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library, locale -# -# BR2_PACKAGE_LIBCEC is not set -# BR2_PACKAGE_LIBFREEFARE is not set -# BR2_PACKAGE_LIBFTDI is not set -# BR2_PACKAGE_LIBFTDI1 is not set -# BR2_PACKAGE_LIBGPHOTO2 is not set -# BR2_PACKAGE_LIBGPIOD is not set - -# -# libgudev needs udev /dev handling and a toolchain w/ wchar, threads -# -# BR2_PACKAGE_LIBHID is not set -# BR2_PACKAGE_LIBIIO is not set - -# -# libinput needs udev /dev management -# -# BR2_PACKAGE_LIBIQRF is not set -# BR2_PACKAGE_LIBLLCP is not set -# BR2_PACKAGE_LIBMBIM is not set -# BR2_PACKAGE_LIBNFC is not set -# BR2_PACKAGE_LIBPCIACCESS is not set -# BR2_PACKAGE_LIBPHIDGET is not set -# BR2_PACKAGE_LIBPRI is not set -# BR2_PACKAGE_LIBQMI is not set -# BR2_PACKAGE_LIBQRTR_GLIB is not set -# BR2_PACKAGE_LIBRAW1394 is not set -# BR2_PACKAGE_LIBRTLSDR is not set -# BR2_PACKAGE_LIBSERIAL is not set -# BR2_PACKAGE_LIBSERIALPORT is not set -# BR2_PACKAGE_LIBSIGROK is not set -# BR2_PACKAGE_LIBSIGROKDECODE is not set -# BR2_PACKAGE_LIBSOC is not set -# BR2_PACKAGE_LIBSS7 is not set -# BR2_PACKAGE_LIBUSB is not set -# BR2_PACKAGE_LIBUSBGX is not set -# BR2_PACKAGE_LIBV4L is not set -# BR2_PACKAGE_LIBXKBCOMMON is not set -# BR2_PACKAGE_MTDEV is not set -# BR2_PACKAGE_NEARDAL is not set -# BR2_PACKAGE_OPENSC is not set -# BR2_PACKAGE_OWFS is not set -# BR2_PACKAGE_PCSC_LITE is not set -# BR2_PACKAGE_TSLIB is not set -# BR2_PACKAGE_UHD is not set -# BR2_PACKAGE_URG is not set - -# -# Javascript -# -# BR2_PACKAGE_ANGULARJS is not set -# BR2_PACKAGE_BOOTSTRAP is not set -# BR2_PACKAGE_CHARTJS is not set -# BR2_PACKAGE_DATATABLES is not set -# BR2_PACKAGE_DUKTAPE is not set -# BR2_PACKAGE_EXPLORERCANVAS is not set -# BR2_PACKAGE_FLOT is not set -# BR2_PACKAGE_FORGE is not set -# BR2_PACKAGE_JQUERY is not set -# BR2_PACKAGE_JSMIN is not set -# BR2_PACKAGE_JSON_JAVASCRIPT is not set -# BR2_PACKAGE_JSZIP is not set -# BR2_PACKAGE_OPENLAYERS is not set -# BR2_PACKAGE_POPPERJS is not set -# BR2_PACKAGE_VIS_NETWORK is not set -# BR2_PACKAGE_VUEJS is not set - -# -# JSON/XML -# -# BR2_PACKAGE_BENEJSON is not set -# BR2_PACKAGE_CJSON is not set -# BR2_PACKAGE_EXPAT is not set -# BR2_PACKAGE_JANSSON is not set -# BR2_PACKAGE_JOSE is not set -# BR2_PACKAGE_JSMN is not set -# BR2_PACKAGE_JSON_C is not set -# BR2_PACKAGE_JSON_FOR_MODERN_CPP is not set -# BR2_PACKAGE_JSON_GLIB is not set -# BR2_PACKAGE_JSONCPP is not set -# BR2_PACKAGE_LIBBSON is not set -# BR2_PACKAGE_LIBFASTJSON is not set -# BR2_PACKAGE_LIBJSON is not set -# BR2_PACKAGE_LIBROXML is not set -# BR2_PACKAGE_LIBUCL is not set -# BR2_PACKAGE_LIBXML2 is not set -# BR2_PACKAGE_LIBXMLPP is not set -# BR2_PACKAGE_LIBXMLRPC is not set -# BR2_PACKAGE_LIBXSLT is not set -# BR2_PACKAGE_LIBYAML is not set -# BR2_PACKAGE_MXML is not set -# BR2_PACKAGE_PUGIXML is not set -# BR2_PACKAGE_RAPIDJSON is not set -# BR2_PACKAGE_RAPIDXML is not set -# BR2_PACKAGE_RAPTOR is not set -# BR2_PACKAGE_SERD is not set -# BR2_PACKAGE_SORD is not set -# BR2_PACKAGE_TINYXML is not set -# BR2_PACKAGE_TINYXML2 is not set -# BR2_PACKAGE_VALIJSON is not set -# BR2_PACKAGE_XERCES is not set -# BR2_PACKAGE_XML_SECURITY_C is not set -# BR2_PACKAGE_YAJL is not set -# BR2_PACKAGE_YAML_CPP is not set - -# -# Logging -# -# BR2_PACKAGE_GLOG is not set -# BR2_PACKAGE_HAWKTRACER is not set -# BR2_PACKAGE_LIBLOG4C_LOCALTIME is not set -# BR2_PACKAGE_LIBLOGGING is not set -# BR2_PACKAGE_LOG4CPLUS is not set -# BR2_PACKAGE_LOG4CPP is not set -# BR2_PACKAGE_LOG4CXX is not set - -# -# log4qt needs qt5 -# -# BR2_PACKAGE_OPENTRACING_CPP is not set -# BR2_PACKAGE_SPDLOG is not set -# BR2_PACKAGE_ULOG is not set -# BR2_PACKAGE_ZLOG is not set - -# -# Multimedia -# -# BR2_PACKAGE_BENTO4 is not set -# BR2_PACKAGE_BITSTREAM is not set -# BR2_PACKAGE_DAV1D is not set -# BR2_PACKAGE_KVAZAAR is not set -# BR2_PACKAGE_LIBAACS is not set -# BR2_PACKAGE_LIBASS is not set -# BR2_PACKAGE_LIBBDPLUS is not set -# BR2_PACKAGE_LIBBLURAY is not set -BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBCAMERA is not set -# BR2_PACKAGE_LIBCAMERA_APPS is not set -# BR2_PACKAGE_LIBDVBCSA is not set -# BR2_PACKAGE_LIBDVBPSI is not set -# BR2_PACKAGE_LIBDVBSI is not set -# BR2_PACKAGE_LIBDVDCSS is not set -# BR2_PACKAGE_LIBDVDNAV is not set -# BR2_PACKAGE_LIBDVDREAD is not set -# BR2_PACKAGE_LIBEBML is not set -# BR2_PACKAGE_LIBHDHOMERUN is not set -# BR2_PACKAGE_LIBMATROSKA is not set -# BR2_PACKAGE_LIBMMS is not set -# BR2_PACKAGE_LIBMPEG2 is not set -# BR2_PACKAGE_LIBOGG is not set -# BR2_PACKAGE_LIBOPENAPTX is not set -# BR2_PACKAGE_LIBOPUSENC is not set -# BR2_PACKAGE_LIBTHEORA is not set -# BR2_PACKAGE_LIBUDFREAD is not set -# BR2_PACKAGE_LIBVPX is not set -# BR2_PACKAGE_LIBYUV is not set -# BR2_PACKAGE_LIVE555 is not set -# BR2_PACKAGE_MEDIASTREAMER is not set -# BR2_PACKAGE_X264 is not set -# BR2_PACKAGE_X265 is not set - -# -# Networking -# -# BR2_PACKAGE_AGENTPP is not set -# BR2_PACKAGE_AZMQ is not set -# BR2_PACKAGE_AZURE_IOT_SDK_C is not set -# BR2_PACKAGE_BATMAN_ADV is not set -# BR2_PACKAGE_BELLE_SIP is not set -# BR2_PACKAGE_C_ARES is not set -# BR2_PACKAGE_CGIC is not set -# BR2_PACKAGE_CNI_PLUGINS is not set -# BR2_PACKAGE_CPPZMQ is not set -# BR2_PACKAGE_CURLPP is not set -# BR2_PACKAGE_CZMQ is not set -# BR2_PACKAGE_DAQ is not set -# BR2_PACKAGE_DAQ3 is not set -# BR2_PACKAGE_DAVICI is not set -# BR2_PACKAGE_DHT is not set -# BR2_PACKAGE_ENET is not set -# BR2_PACKAGE_FILEMQ is not set -# BR2_PACKAGE_FLICKCURL is not set -# BR2_PACKAGE_FREERADIUS_CLIENT is not set -# BR2_PACKAGE_GENSIO is not set -# BR2_PACKAGE_GEOIP is not set -# BR2_PACKAGE_GLIB_NETWORKING is not set -# BR2_PACKAGE_GRPC is not set -# BR2_PACKAGE_GSSDP is not set -# BR2_PACKAGE_GUPNP is not set -# BR2_PACKAGE_GUPNP_AV is not set -# BR2_PACKAGE_GUPNP_DLNA is not set -# BR2_PACKAGE_IBRCOMMON is not set -# BR2_PACKAGE_IBRDTN is not set -# BR2_PACKAGE_LIBCGI is not set -# BR2_PACKAGE_LIBCGICC is not set -# BR2_PACKAGE_LIBCOAP is not set -# BR2_PACKAGE_LIBCPPRESTSDK is not set -# BR2_PACKAGE_LIBCURL is not set -# BR2_PACKAGE_LIBDNET is not set -# BR2_PACKAGE_LIBEXOSIP2 is not set -# BR2_PACKAGE_LIBEST is not set -# BR2_PACKAGE_LIBFCGI is not set -# BR2_PACKAGE_LIBGSASL is not set -# BR2_PACKAGE_LIBHTP is not set -# BR2_PACKAGE_LIBHTTPPARSER is not set -# BR2_PACKAGE_LIBHTTPSERVER is not set -# BR2_PACKAGE_LIBIDN is not set -# BR2_PACKAGE_LIBIDN2 is not set -# BR2_PACKAGE_LIBISCSI is not set -# BR2_PACKAGE_LIBKRB5 is not set -# BR2_PACKAGE_LIBLDNS is not set -# BR2_PACKAGE_LIBMAXMINDDB is not set -# BR2_PACKAGE_LIBMBUS is not set -# BR2_PACKAGE_LIBMEMCACHED is not set -# BR2_PACKAGE_LIBMICROHTTPD is not set -# BR2_PACKAGE_LIBMINIUPNPC is not set -# BR2_PACKAGE_LIBMNL is not set -# BR2_PACKAGE_LIBMODBUS is not set -# BR2_PACKAGE_LIBMODSECURITY is not set -# BR2_PACKAGE_LIBNATPMP is not set -# BR2_PACKAGE_LIBNDP is not set -# BR2_PACKAGE_LIBNET is not set -# BR2_PACKAGE_LIBNETCONF2 is not set -# BR2_PACKAGE_LIBNETFILTER_ACCT is not set -# BR2_PACKAGE_LIBNETFILTER_CONNTRACK is not set -# BR2_PACKAGE_LIBNETFILTER_CTHELPER is not set -# BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT is not set -# BR2_PACKAGE_LIBNETFILTER_LOG is not set -# BR2_PACKAGE_LIBNETFILTER_QUEUE is not set -# BR2_PACKAGE_LIBNFNETLINK is not set -# BR2_PACKAGE_LIBNFTNL is not set -# BR2_PACKAGE_LIBNICE is not set -# BR2_PACKAGE_LIBNIDS is not set -# BR2_PACKAGE_LIBNL is not set -# BR2_PACKAGE_LIBNPUPNP is not set -# BR2_PACKAGE_LIBOAUTH is not set -# BR2_PACKAGE_LIBOPING is not set -# BR2_PACKAGE_LIBOSIP2 is not set -# BR2_PACKAGE_LIBPAGEKITE is not set -# BR2_PACKAGE_LIBPCAP is not set -# BR2_PACKAGE_LIBPJSIP is not set -# BR2_PACKAGE_LIBPSL is not set -# BR2_PACKAGE_LIBRELP is not set -# BR2_PACKAGE_LIBRSYNC is not set -# BR2_PACKAGE_LIBSHAIRPLAY is not set -# BR2_PACKAGE_LIBSHOUT is not set -# BR2_PACKAGE_LIBSOCKETCAN is not set -# BR2_PACKAGE_LIBSOUP is not set -# BR2_PACKAGE_LIBSRTP is not set -# BR2_PACKAGE_LIBSTROPHE is not set -# BR2_PACKAGE_LIBTEAM is not set -# BR2_PACKAGE_LIBTELNET is not set -# BR2_PACKAGE_LIBTIRPC is not set -# BR2_PACKAGE_LIBTORRENT is not set -# BR2_PACKAGE_LIBTORRENT_RASTERBAR is not set -# BR2_PACKAGE_LIBUEV is not set -# BR2_PACKAGE_LIBUHTTPD is not set -# BR2_PACKAGE_LIBUPNP is not set -# BR2_PACKAGE_LIBUPNPP is not set -# BR2_PACKAGE_LIBURIPARSER is not set -# BR2_PACKAGE_LIBUTP is not set -# BR2_PACKAGE_LIBUWSC is not set -# BR2_PACKAGE_LIBVNCSERVER is not set -# BR2_PACKAGE_LIBWEBSOCK is not set -# BR2_PACKAGE_LIBWEBSOCKETS is not set -# BR2_PACKAGE_LIBYANG is not set -# BR2_PACKAGE_LKSCTP_TOOLS is not set -# BR2_PACKAGE_MBUFFER is not set -# BR2_PACKAGE_MONGOOSE is not set -# BR2_PACKAGE_NANOMSG is not set -# BR2_PACKAGE_NEON is not set -# BR2_PACKAGE_NETOPEER2 is not set -# BR2_PACKAGE_NGHTTP2 is not set -# BR2_PACKAGE_NORM is not set -# BR2_PACKAGE_NSS_MYHOSTNAME is not set -# BR2_PACKAGE_NSS_PAM_LDAPD is not set -# BR2_PACKAGE_OMNIORB is not set -# BR2_PACKAGE_OPEN_ISNS is not set -# BR2_PACKAGE_OPEN62541 is not set -# BR2_PACKAGE_OPENLDAP is not set -# BR2_PACKAGE_OPENMPI is not set -# BR2_PACKAGE_OPENPGM is not set -# BR2_PACKAGE_OPENZWAVE is not set -# BR2_PACKAGE_ORTP is not set -# BR2_PACKAGE_PAHO_MQTT_C is not set -# BR2_PACKAGE_PAHO_MQTT_CPP is not set -# BR2_PACKAGE_PISTACHE is not set -# BR2_PACKAGE_QDECODER is not set -# BR2_PACKAGE_QPID_PROTON is not set -# BR2_PACKAGE_RABBITMQ_C is not set -# BR2_PACKAGE_RESIPROCATE is not set -# BR2_PACKAGE_RESTCLIENT_CPP is not set -# BR2_PACKAGE_RTMPDUMP is not set -# BR2_PACKAGE_SIPROXD is not set -# BR2_PACKAGE_SLIRP is not set -# BR2_PACKAGE_SLIRP4NETNS is not set -# BR2_PACKAGE_SNMPPP is not set -# BR2_PACKAGE_SOFIA_SIP is not set -# BR2_PACKAGE_SSCEP is not set -# BR2_PACKAGE_SYSREPO is not set -# BR2_PACKAGE_THRIFT is not set -# BR2_PACKAGE_USBREDIR is not set -# BR2_PACKAGE_WAMPCC is not set -# BR2_PACKAGE_WEBSOCKETPP is not set -# BR2_PACKAGE_ZEROMQ is not set -# BR2_PACKAGE_ZMQPP is not set -# BR2_PACKAGE_ZYRE is not set - -# -# Other -# -# BR2_PACKAGE_ACE is not set -# BR2_PACKAGE_APR is not set -# BR2_PACKAGE_APR_UTIL is not set -# BR2_PACKAGE_ARMADILLO is not set -# BR2_PACKAGE_ATF is not set -# BR2_PACKAGE_AVRO_C is not set -# BR2_PACKAGE_BCTOOLBOX is not set -# BR2_PACKAGE_BDWGC is not set -# BR2_PACKAGE_BELR is not set -# BR2_PACKAGE_BOOST is not set -# BR2_PACKAGE_C_CAPNPROTO is not set -# BR2_PACKAGE_CAPNPROTO is not set -# BR2_PACKAGE_CATCH2 is not set -# BR2_PACKAGE_CCTZ is not set -# BR2_PACKAGE_CEREAL is not set -# BR2_PACKAGE_CLANG is not set -# BR2_PACKAGE_CMOCKA is not set -# BR2_PACKAGE_CPPCMS is not set -# BR2_PACKAGE_CRACKLIB is not set -# BR2_PACKAGE_DAWGDIC is not set -# BR2_PACKAGE_DING_LIBS is not set -# BR2_PACKAGE_DOTCONF is not set -# BR2_PACKAGE_DOUBLE_CONVERSION is not set -# BR2_PACKAGE_EIGEN is not set -# BR2_PACKAGE_ELFUTILS is not set -# BR2_PACKAGE_ELL is not set -# BR2_PACKAGE_FFTW is not set -# BR2_PACKAGE_FLANN is not set -# BR2_PACKAGE_FLATBUFFERS is not set -# BR2_PACKAGE_FLATCC is not set -# BR2_PACKAGE_FXDIV is not set -# BR2_PACKAGE_GCONF is not set -# BR2_PACKAGE_GDAL is not set -# BR2_PACKAGE_GFLAGS is not set -# BR2_PACKAGE_GLI is not set -# BR2_PACKAGE_GLIBMM is not set -# BR2_PACKAGE_GLIBMM2_66 is not set -# BR2_PACKAGE_GLM is not set -# BR2_PACKAGE_GMP is not set -BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS=y - -# -# gobject-introspection needs python3 -# -# BR2_PACKAGE_GSL is not set -# BR2_PACKAGE_GTEST is not set -# BR2_PACKAGE_GUMBO_PARSER is not set -# BR2_PACKAGE_HIGHWAY is not set -BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS=y -# BR2_PACKAGE_JEMALLOC is not set -BR2_PACKAGE_LAPACK_ARCH_SUPPORTS=y -# BR2_PACKAGE_LAPACK is not set -BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBABSEIL_CPP is not set -# BR2_PACKAGE_LIBARGTABLE2 is not set -BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBATOMIC_OPS is not set -# BR2_PACKAGE_LIBAVL is not set -# BR2_PACKAGE_LIBB64 is not set -# BR2_PACKAGE_LIBBACKTRACE is not set -BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBBSD is not set -# BR2_PACKAGE_LIBBYTESIZE is not set -# BR2_PACKAGE_LIBCAP is not set -# BR2_PACKAGE_LIBCAP_NG is not set -# BR2_PACKAGE_LIBCGROUP is not set -# BR2_PACKAGE_LIBCLC is not set -# BR2_PACKAGE_LIBCORRECT is not set -# BR2_PACKAGE_LIBCROSSGUID is not set -# BR2_PACKAGE_LIBCSV is not set -# BR2_PACKAGE_LIBDAEMON is not set -# BR2_PACKAGE_LIBDILL is not set -# BR2_PACKAGE_LIBEE is not set -# BR2_PACKAGE_LIBEV is not set -# BR2_PACKAGE_LIBEVDEV is not set -# BR2_PACKAGE_LIBEVENT is not set - -# -# libexecinfo needs a musl or uclibc toolchain w/ dynamic library -# -# BR2_PACKAGE_LIBFFI is not set -# BR2_PACKAGE_LIBFUTILS is not set -# BR2_PACKAGE_LIBGEE is not set -# BR2_PACKAGE_LIBGEOS is not set -# BR2_PACKAGE_LIBGLIB2 is not set -# BR2_PACKAGE_LIBGLOB is not set -# BR2_PACKAGE_LIBICAL is not set -# BR2_PACKAGE_LIBITE is not set -# BR2_PACKAGE_LIBKS is not set -# BR2_PACKAGE_LIBLINEAR is not set -# BR2_PACKAGE_LIBLOKI is not set -# BR2_PACKAGE_LIBNPTH is not set -BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y -# BR2_PACKAGE_LIBNSPR is not set -# BR2_PACKAGE_LIBOSMIUM is not set - -# -# libpeas needs python3 -# -# BR2_PACKAGE_LIBPFM4 is not set -# BR2_PACKAGE_LIBPLIST is not set -# BR2_PACKAGE_LIBPTHREAD_STUBS is not set -# BR2_PACKAGE_LIBPTHSEM is not set -# BR2_PACKAGE_LIBPWQUALITY is not set -# BR2_PACKAGE_LIBQB is not set -BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBSECCOMP is not set -# BR2_PACKAGE_LIBSHDATA is not set -# BR2_PACKAGE_LIBSIGC is not set -# BR2_PACKAGE_LIBSIGC2 is not set -BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBSIGSEGV is not set -# BR2_PACKAGE_LIBSOLV is not set -# BR2_PACKAGE_LIBSPATIALINDEX is not set -# BR2_PACKAGE_LIBTALLOC is not set -# BR2_PACKAGE_LIBTASN1 is not set -# BR2_PACKAGE_LIBTOMMATH is not set -# BR2_PACKAGE_LIBTPL is not set -# BR2_PACKAGE_LIBUBOX is not set -# BR2_PACKAGE_LIBUCI is not set -BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBURCU is not set -# BR2_PACKAGE_LIBURING is not set -# BR2_PACKAGE_LIBUV is not set -# BR2_PACKAGE_LIGHTNING is not set -# BR2_PACKAGE_LINUX_PAM is not set -# BR2_PACKAGE_LIQUID_DSP is not set -BR2_PACKAGE_LLVM_ARCH_SUPPORTS=y -BR2_PACKAGE_LLVM_TARGET_ARCH="riscv64" -# BR2_PACKAGE_LLVM is not set -# BR2_PACKAGE_LTTNG_LIBUST is not set -# BR2_PACKAGE_MATIO is not set -# BR2_PACKAGE_MPC is not set -# BR2_PACKAGE_MPDECIMAL is not set -# BR2_PACKAGE_MPFR is not set -# BR2_PACKAGE_MPIR is not set -# BR2_PACKAGE_MSGPACK is not set -# BR2_PACKAGE_NEON_2_SSE is not set -# BR2_PACKAGE_ORC is not set -# BR2_PACKAGE_P11_KIT is not set -BR2_PACKAGE_POCO_ARCH_SUPPORTS=y -# BR2_PACKAGE_POCO is not set -BR2_PACKAGE_HOST_PROTOBUF_ARCH_SUPPORTS=y -BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y -# BR2_PACKAGE_PROTOBUF is not set -# BR2_PACKAGE_PROTOBUF_C is not set -# BR2_PACKAGE_PROTOZERO is not set -# BR2_PACKAGE_QHULL is not set -# BR2_PACKAGE_QLIBC is not set -# BR2_PACKAGE_REPROC is not set -# BR2_PACKAGE_RIEMANN_C_CLIENT is not set -# BR2_PACKAGE_SHAPELIB is not set -# BR2_PACKAGE_SKALIBS is not set -# BR2_PACKAGE_SPHINXBASE is not set -# BR2_PACKAGE_TBB is not set -# BR2_PACKAGE_TINYCBOR is not set -# BR2_PACKAGE_TL_EXPECTED is not set -# BR2_PACKAGE_UVW is not set -# BR2_PACKAGE_VOLK is not set -# BR2_PACKAGE_XAPIAN is not set - -# -# Security -# -# BR2_PACKAGE_LIBAPPARMOR is not set -# BR2_PACKAGE_LIBSELINUX is not set -# BR2_PACKAGE_LIBSEPOL is not set -# BR2_PACKAGE_SAFECLIB is not set -# BR2_PACKAGE_SOFTHSM2 is not set - -# -# Text and terminal handling -# -# BR2_PACKAGE_AUGEAS is not set -# BR2_PACKAGE_CLI11 is not set -# BR2_PACKAGE_DOCOPT_CPP is not set -# BR2_PACKAGE_ENCHANT is not set -# BR2_PACKAGE_FMT is not set -# BR2_PACKAGE_FSTRCMP is not set -# BR2_PACKAGE_ICU is not set -# BR2_PACKAGE_INIH is not set -# BR2_PACKAGE_LIBCLI is not set -# BR2_PACKAGE_LIBEDIT is not set -# BR2_PACKAGE_LIBENCA is not set -# BR2_PACKAGE_LIBESTR is not set -# BR2_PACKAGE_LIBFRIBIDI is not set -# BR2_PACKAGE_LIBUNIBREAK is not set -# BR2_PACKAGE_LIBUNISTRING is not set -# BR2_PACKAGE_LINENOISE is not set -BR2_PACKAGE_NCURSES=y -# BR2_PACKAGE_NCURSES_WCHAR is not set -# BR2_PACKAGE_NCURSES_TARGET_PROGS is not set -BR2_PACKAGE_NCURSES_ADDITIONAL_TERMINFO="" -# BR2_PACKAGE_NEWT is not set -# BR2_PACKAGE_ONIGURUMA is not set -# BR2_PACKAGE_PCRE is not set -# BR2_PACKAGE_PCRE2 is not set -# BR2_PACKAGE_POPT is not set -# BR2_PACKAGE_RE2 is not set -# BR2_PACKAGE_READLINE is not set -# BR2_PACKAGE_SLANG is not set -# BR2_PACKAGE_TCLAP is not set -# BR2_PACKAGE_TERMCOLOR is not set -# BR2_PACKAGE_UTF8PROC is not set - -# -# Mail -# -# BR2_PACKAGE_DOVECOT is not set -# BR2_PACKAGE_EXIM is not set -# BR2_PACKAGE_FETCHMAIL is not set -# BR2_PACKAGE_HEIRLOOM_MAILX is not set -# BR2_PACKAGE_LIBESMTP is not set -# BR2_PACKAGE_MSMTP is not set -# BR2_PACKAGE_MUTT is not set - -# -# Miscellaneous -# -# BR2_PACKAGE_AESPIPE is not set -# BR2_PACKAGE_BC is not set -BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y -# BR2_PACKAGE_BITCOIN is not set -# BR2_PACKAGE_COLLECTD is not set -# BR2_PACKAGE_COLLECTL is not set - -# -# domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 6, NPTL, wchar, dynamic library -# -# BR2_PACKAGE_EMPTY is not set -# BR2_PACKAGE_GITLAB_RUNNER is not set -# BR2_PACKAGE_GNURADIO is not set -# BR2_PACKAGE_GOOGLEFONTDIRECTORY is not set - -# -# gqrx needs qt5 -# -# BR2_PACKAGE_GSETTINGS_DESKTOP_SCHEMAS is not set -# BR2_PACKAGE_HAVEGED is not set -# BR2_PACKAGE_LINUX_SYSCALL_SUPPORT is not set -# BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO is not set -# BR2_PACKAGE_NETDATA is not set -# BR2_PACKAGE_PROJ is not set -BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y -# BR2_PACKAGE_QEMU is not set -# BR2_PACKAGE_QPDF is not set -# BR2_PACKAGE_RTL_433 is not set -# BR2_PACKAGE_SHARED_MIME_INFO is not set -# BR2_PACKAGE_SUNWAIT is not set -# BR2_PACKAGE_TASKD is not set -# BR2_PACKAGE_XUTIL_UTIL_MACROS is not set -BR2_PACKAGE_Z3_ARCH_SUPPORTS=y -# BR2_PACKAGE_Z3 is not set - -# -# Networking applications -# -# BR2_PACKAGE_AIRCRACK_NG is not set -# BR2_PACKAGE_ALFRED is not set -# BR2_PACKAGE_AOETOOLS is not set -# BR2_PACKAGE_APACHE is not set -# BR2_PACKAGE_ARGUS is not set -# BR2_PACKAGE_ARP_SCAN is not set -# BR2_PACKAGE_ARPTABLES is not set -# BR2_PACKAGE_ASTERISK is not set -# BR2_PACKAGE_ATFTP is not set -# BR2_PACKAGE_AVAHI is not set -# BR2_PACKAGE_AXEL is not set -# BR2_PACKAGE_BABELD is not set -# BR2_PACKAGE_BANDWIDTHD is not set -# BR2_PACKAGE_BATCTL is not set -# BR2_PACKAGE_BCUSDK is not set -# BR2_PACKAGE_BIND is not set -# BR2_PACKAGE_BIRD is not set -# BR2_PACKAGE_BLUEZ5_UTILS is not set -# BR2_PACKAGE_BMON is not set -# BR2_PACKAGE_BMX7 is not set -# BR2_PACKAGE_BOINC is not set -# BR2_PACKAGE_BRCM_PATCHRAM_PLUS is not set -# BR2_PACKAGE_BRIDGE_UTILS is not set -# BR2_PACKAGE_BWM_NG is not set -# BR2_PACKAGE_C_ICAP is not set -# BR2_PACKAGE_CAN_UTILS is not set -# BR2_PACKAGE_CANNELLONI is not set -# BR2_PACKAGE_CASYNC is not set -# BR2_PACKAGE_CFM is not set -# BR2_PACKAGE_CHRONY is not set -# BR2_PACKAGE_CIVETWEB is not set -# BR2_PACKAGE_CONNMAN is not set - -# -# connman-gtk needs libgtk3 and a glibc or uClibc toolchain w/ wchar, threads, resolver, dynamic library -# -# BR2_PACKAGE_CONNTRACK_TOOLS is not set -# BR2_PACKAGE_CORKSCREW is not set -# BR2_PACKAGE_CRDA is not set -# BR2_PACKAGE_CTORRENT is not set -# BR2_PACKAGE_CUPS is not set -# BR2_PACKAGE_DANTE is not set -# BR2_PACKAGE_DARKHTTPD is not set -# BR2_PACKAGE_DEHYDRATED is not set -# BR2_PACKAGE_DHCPCD is not set -# BR2_PACKAGE_DHCPDUMP is not set -# BR2_PACKAGE_DNSMASQ is not set -# BR2_PACKAGE_DRBD_UTILS is not set -# BR2_PACKAGE_DROPBEAR is not set -# BR2_PACKAGE_EASYFRAMES is not set -# BR2_PACKAGE_EBTABLES is not set - -# -# ejabberd needs erlang, toolchain w/ C++ -# -# BR2_PACKAGE_ETHTOOL is not set -# BR2_PACKAGE_FAIFA is not set -# BR2_PACKAGE_FASTD is not set -# BR2_PACKAGE_FCGIWRAP is not set -# BR2_PACKAGE_FLANNEL is not set -# BR2_PACKAGE_FPING is not set -# BR2_PACKAGE_FREERADIUS_SERVER is not set -# BR2_PACKAGE_FREESWITCH is not set -# BR2_PACKAGE_FRR is not set -# BR2_PACKAGE_GERBERA is not set -# BR2_PACKAGE_GESFTPSERVER is not set -# BR2_PACKAGE_GLOOX is not set -# BR2_PACKAGE_GLORYTUN is not set - -# -# gupnp-tools needs libgtk3 -# -# BR2_PACKAGE_HANS is not set -BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS=y -# BR2_PACKAGE_HAPROXY is not set -# BR2_PACKAGE_HIAWATHA is not set -# BR2_PACKAGE_HOSTAPD is not set -# BR2_PACKAGE_HTPDATE is not set -# BR2_PACKAGE_HTTPING is not set -# BR2_PACKAGE_I2PD is not set -# BR2_PACKAGE_IBRDTN_TOOLS is not set -# BR2_PACKAGE_IBRDTND is not set -# BR2_PACKAGE_IFMETRIC is not set -# BR2_PACKAGE_IFTOP is not set -BR2_PACKAGE_IFUPDOWN_SCRIPTS=y -# BR2_PACKAGE_IGD2_FOR_LINUX is not set -# BR2_PACKAGE_IGH_ETHERCAT is not set -# BR2_PACKAGE_IGMPPROXY is not set -# BR2_PACKAGE_INADYN is not set -# BR2_PACKAGE_IODINE is not set -# BR2_PACKAGE_IPERF is not set -# BR2_PACKAGE_IPERF3 is not set -# BR2_PACKAGE_IPROUTE2 is not set -# BR2_PACKAGE_IPSET is not set -# BR2_PACKAGE_IPTABLES is not set -# BR2_PACKAGE_IPTRAF_NG is not set -# BR2_PACKAGE_IPUTILS is not set -# BR2_PACKAGE_IRSSI is not set -# BR2_PACKAGE_IW is not set -# BR2_PACKAGE_IWD is not set -# BR2_PACKAGE_JANUS_GATEWAY is not set -# BR2_PACKAGE_KEEPALIVED is not set -# BR2_PACKAGE_KISMET is not set -# BR2_PACKAGE_KNOCK is not set -# BR2_PACKAGE_KSMBD_TOOLS is not set -# BR2_PACKAGE_LEAFNODE2 is not set -# BR2_PACKAGE_LFT is not set -# BR2_PACKAGE_LFTP is not set -# BR2_PACKAGE_LIGHTTPD is not set -# BR2_PACKAGE_LINKNX is not set -# BR2_PACKAGE_LINKS is not set -# BR2_PACKAGE_LINPHONE is not set -# BR2_PACKAGE_LINUX_ZIGBEE is not set -# BR2_PACKAGE_LINUXPTP is not set -# BR2_PACKAGE_LLDPD is not set -# BR2_PACKAGE_LRZSZ is not set -# BR2_PACKAGE_LYNX is not set -# BR2_PACKAGE_MACCHANGER is not set -# BR2_PACKAGE_MEMCACHED is not set -# BR2_PACKAGE_MII_DIAG is not set -# BR2_PACKAGE_MINI_SNMPD is not set -# BR2_PACKAGE_MINIDLNA is not set -# BR2_PACKAGE_MINISSDPD is not set -# BR2_PACKAGE_MJPG_STREAMER is not set -# BR2_PACKAGE_MODEM_MANAGER is not set -BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y -# BR2_PACKAGE_MONGREL2 is not set -# BR2_PACKAGE_MOSH is not set -# BR2_PACKAGE_MOSQUITTO is not set -# BR2_PACKAGE_MROUTED is not set -# BR2_PACKAGE_MRP is not set -# BR2_PACKAGE_MSTPD is not set -# BR2_PACKAGE_MTR is not set -# BR2_PACKAGE_NBD is not set -# BR2_PACKAGE_NCFTP is not set -# BR2_PACKAGE_NDISC6 is not set -# BR2_PACKAGE_NETATALK is not set -# BR2_PACKAGE_NETCALC is not set -# BR2_PACKAGE_NETPLUG is not set -# BR2_PACKAGE_NETSNMP is not set -# BR2_PACKAGE_NETSTAT_NAT is not set - -# -# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 4.6, dynamic library, wchar, threads, gcc >= 4.9 -# -# BR2_PACKAGE_NFACCT is not set -# BR2_PACKAGE_NFTABLES is not set -# BR2_PACKAGE_NGINX is not set -# BR2_PACKAGE_NGIRCD is not set -# BR2_PACKAGE_NGREP is not set -# BR2_PACKAGE_NLOAD is not set -# BR2_PACKAGE_NMAP is not set -# BR2_PACKAGE_NOIP is not set -# BR2_PACKAGE_NTP is not set -# BR2_PACKAGE_NTPSEC is not set -# BR2_PACKAGE_NUTTCP is not set -# BR2_PACKAGE_ODHCP6C is not set -# BR2_PACKAGE_ODHCPLOC is not set -# BR2_PACKAGE_OLSR is not set -# BR2_PACKAGE_OPEN_ISCSI is not set -# BR2_PACKAGE_OPEN_LLDP is not set -# BR2_PACKAGE_OPEN_PLC_UTILS is not set -# BR2_PACKAGE_OPENNTPD is not set -# BR2_PACKAGE_OPENOBEX is not set -# BR2_PACKAGE_OPENRESOLV is not set -# BR2_PACKAGE_OPENSSH is not set -# BR2_PACKAGE_OPENSWAN is not set -# BR2_PACKAGE_OPENVPN is not set -# BR2_PACKAGE_P910ND is not set -# BR2_PACKAGE_PARPROUTED is not set -# BR2_PACKAGE_PHIDGETWEBSERVICE is not set -# BR2_PACKAGE_PHYTOOL is not set -# BR2_PACKAGE_PIMD is not set -# BR2_PACKAGE_PIXIEWPS is not set -# BR2_PACKAGE_POUND is not set -# BR2_PACKAGE_PPPD is not set -# BR2_PACKAGE_PPTP_LINUX is not set -# BR2_PACKAGE_PRIVOXY is not set -# BR2_PACKAGE_PROFTPD is not set - -# -# prosody needs the lua interpreter, dynamic library -# -# BR2_PACKAGE_PROXYCHAINS_NG is not set -# BR2_PACKAGE_PTPD is not set -# BR2_PACKAGE_PTPD2 is not set -# BR2_PACKAGE_PURE_FTPD is not set -# BR2_PACKAGE_PUTTY is not set -# BR2_PACKAGE_QUAGGA is not set -# BR2_PACKAGE_RADVD is not set -# BR2_PACKAGE_REAVER is not set -# BR2_PACKAGE_REDIR is not set -# BR2_PACKAGE_RP_PPPOE is not set -# BR2_PACKAGE_RPCBIND is not set -# BR2_PACKAGE_RSH_REDONE is not set -# BR2_PACKAGE_RSYNC is not set -# BR2_PACKAGE_RTORRENT is not set -# BR2_PACKAGE_RTPTOOLS is not set - -# -# rygel needs python3 and a glibc toolchain w/ wchar, threads, gcc >= 4.9, host gcc >= 8 -# -# BR2_PACKAGE_S6_DNS is not set -# BR2_PACKAGE_S6_NETWORKING is not set -# BR2_PACKAGE_SAMBA4 is not set -# BR2_PACKAGE_SCONESERVER is not set -# BR2_PACKAGE_SER2NET is not set -# BR2_PACKAGE_SHADOWSOCKS_LIBEV is not set -# BR2_PACKAGE_SHAIRPORT_SYNC is not set -# BR2_PACKAGE_SHELLINABOX is not set -# BR2_PACKAGE_SMCROUTE is not set -# BR2_PACKAGE_SNGREP is not set -# BR2_PACKAGE_SNORT is not set -# BR2_PACKAGE_SOCAT is not set -# BR2_PACKAGE_SOCKETCAND is not set -# BR2_PACKAGE_SOFTETHER is not set -# BR2_PACKAGE_SPAWN_FCGI is not set -# BR2_PACKAGE_SPICE_PROTOCOL is not set -# BR2_PACKAGE_SQUID is not set -# BR2_PACKAGE_SSDP_RESPONDER is not set -# BR2_PACKAGE_SSHGUARD is not set -# BR2_PACKAGE_SSHPASS is not set -# BR2_PACKAGE_SSLH is not set -# BR2_PACKAGE_STRONGSWAN is not set -# BR2_PACKAGE_STUNNEL is not set -# BR2_PACKAGE_TCPDUMP is not set -# BR2_PACKAGE_TCPING is not set -# BR2_PACKAGE_TCPREPLAY is not set -# BR2_PACKAGE_THTTPD is not set -# BR2_PACKAGE_TINC is not set -# BR2_PACKAGE_TINYPROXY is not set -# BR2_PACKAGE_TINYSSH is not set -# BR2_PACKAGE_TOR is not set -# BR2_PACKAGE_TRACEROUTE is not set -# BR2_PACKAGE_TRANSMISSION is not set -# BR2_PACKAGE_TUNCTL is not set -# BR2_PACKAGE_TVHEADEND is not set -# BR2_PACKAGE_UACME is not set -# BR2_PACKAGE_UDPCAST is not set -# BR2_PACKAGE_UFTP is not set -# BR2_PACKAGE_UHTTPD is not set -# BR2_PACKAGE_ULOGD is not set -# BR2_PACKAGE_UNBOUND is not set -# BR2_PACKAGE_UQMI is not set -# BR2_PACKAGE_UREDIR is not set -# BR2_PACKAGE_USHARE is not set -# BR2_PACKAGE_USSP_PUSH is not set -# BR2_PACKAGE_VDE2 is not set -# BR2_PACKAGE_VDR is not set -# BR2_PACKAGE_VNSTAT is not set -# BR2_PACKAGE_VPNC is not set -# BR2_PACKAGE_VSFTPD is not set -# BR2_PACKAGE_VTUN is not set -# BR2_PACKAGE_WAVEMON is not set -# BR2_PACKAGE_WIREGUARD_TOOLS is not set -# BR2_PACKAGE_WIRELESS_REGDB is not set -# BR2_PACKAGE_WIRELESS_TOOLS is not set -# BR2_PACKAGE_WIRESHARK is not set -# BR2_PACKAGE_WPA_SUPPLICANT is not set -# BR2_PACKAGE_WPAN_TOOLS is not set -# BR2_PACKAGE_XINETD is not set -# BR2_PACKAGE_XL2TP is not set -# BR2_PACKAGE_XTABLES_ADDONS is not set -# BR2_PACKAGE_ZABBIX is not set -# BR2_PACKAGE_ZEEK is not set -# BR2_PACKAGE_ZNC is not set - -# -# Package managers -# - -# -# ------------------------------------------------------- -# - -# -# Please note: -# - -# -# - Buildroot does *not* generate binary packages, -# - -# -# - Buildroot does *not* install any package database. -# - -# -# * -# - -# -# It is up to you to provide those by yourself if you -# - -# -# want to use any of those package managers. -# - -# -# * -# - -# -# See the manual: -# - -# -# http://buildroot.org/manual.html#faq-no-binary-packages -# - -# -# ------------------------------------------------------- -# -# BR2_PACKAGE_OPKG is not set -# BR2_PACKAGE_OPKG_UTILS is not set - -# -# Real-Time -# -# BR2_PACKAGE_XENOMAI is not set - -# -# Security -# -# BR2_PACKAGE_APPARMOR is not set -# BR2_PACKAGE_CHECKPOLICY is not set -# BR2_PACKAGE_IMA_EVM_UTILS is not set -# BR2_PACKAGE_OPTEE_CLIENT is not set -# BR2_PACKAGE_PAXTEST is not set -# BR2_PACKAGE_REFPOLICY is not set -# BR2_PACKAGE_RESTORECOND is not set -# BR2_PACKAGE_SELINUX_PYTHON is not set -# BR2_PACKAGE_SEMODULE_UTILS is not set - -# -# setools needs python3 -# -BR2_PACKAGE_URANDOM_SCRIPTS=y - -# -# Shell and utilities -# - -# -# Shells -# -# BR2_PACKAGE_MKSH is not set -BR2_PACKAGE_ZSH=y - -# -# Utilities -# -# BR2_PACKAGE_APG is not set -# BR2_PACKAGE_AT is not set -# BR2_PACKAGE_CATATONIT is not set -# BR2_PACKAGE_CCRYPT is not set -# BR2_PACKAGE_DIALOG is not set -# BR2_PACKAGE_DTACH is not set -# BR2_PACKAGE_EASY_RSA is not set -# BR2_PACKAGE_FILE is not set -# BR2_PACKAGE_GNUPG is not set -BR2_PACKAGE_GNUPG2_DEPENDS=y -# BR2_PACKAGE_GNUPG2 is not set -# BR2_PACKAGE_INOTIFY_TOOLS is not set -# BR2_PACKAGE_LOCKFILE_PROGS is not set -# BR2_PACKAGE_LOGROTATE is not set -# BR2_PACKAGE_LOGSURFER is not set -# BR2_PACKAGE_PDMENU is not set -# BR2_PACKAGE_PINENTRY is not set -# BR2_PACKAGE_QPRINT is not set -# BR2_PACKAGE_RANGER is not set -# BR2_PACKAGE_RTTY is not set -# BR2_PACKAGE_SCREEN is not set -# BR2_PACKAGE_SEXPECT is not set -# BR2_PACKAGE_SUDO is not set -# BR2_PACKAGE_TINI is not set -# BR2_PACKAGE_TMUX is not set -# BR2_PACKAGE_TTYD is not set -# BR2_PACKAGE_WTFUTIL is not set -# BR2_PACKAGE_XMLSTARLET is not set -# BR2_PACKAGE_XXHASH is not set -# BR2_PACKAGE_YTREE is not set - -# -# System tools -# -# BR2_PACKAGE_ACL is not set -# BR2_PACKAGE_ANDROID_TOOLS is not set -# BR2_PACKAGE_ATOP is not set -# BR2_PACKAGE_ATTR is not set -# BR2_PACKAGE_BALENA_ENGINE is not set -# BR2_PACKAGE_BUBBLEWRAP is not set -# BR2_PACKAGE_CGROUPFS_MOUNT is not set - -# -# circus needs Python 3 and a toolchain w/ C++, threads -# -# BR2_PACKAGE_CONTAINERD is not set -# BR2_PACKAGE_CPULIMIT is not set -# BR2_PACKAGE_CPULOAD is not set -# BR2_PACKAGE_CRUN is not set -# BR2_PACKAGE_DAEMON is not set -# BR2_PACKAGE_DC3DD is not set -# BR2_PACKAGE_DDRESCUE is not set -# BR2_PACKAGE_DOCKER_CLI is not set - -# -# docker-compose needs docker-cli and a toolchain w/ threads -# -# BR2_PACKAGE_DOCKER_ENGINE is not set -# BR2_PACKAGE_EARLYOOM is not set -# BR2_PACKAGE_EMBIGGEN_DISK is not set -# BR2_PACKAGE_EMLOG is not set -# BR2_PACKAGE_FLUENT_BIT is not set -# BR2_PACKAGE_FTOP is not set -# BR2_PACKAGE_GETENT is not set -# BR2_PACKAGE_GKRELLM is not set -# BR2_PACKAGE_HTOP is not set -# BR2_PACKAGE_IBM_SW_TPM2 is not set -BR2_PACKAGE_INITSCRIPTS=y - -# -# iotop depends on python3 -# -# BR2_PACKAGE_IPRUTILS is not set -# BR2_PACKAGE_IRQBALANCE is not set -# BR2_PACKAGE_KEYUTILS is not set -# BR2_PACKAGE_KMOD is not set -# BR2_PACKAGE_LIBOSTREE is not set -# BR2_PACKAGE_LXC is not set -# BR2_PACKAGE_MENDER is not set -# BR2_PACKAGE_MENDER_CONNECT is not set -# BR2_PACKAGE_MFOC is not set -# BR2_PACKAGE_MOBY_BUILDKIT is not set -# BR2_PACKAGE_MONIT is not set - -# -# multipath-tools needs udev and a toolchain w/ threads, dynamic library -# -# BR2_PACKAGE_NCDU is not set -# BR2_PACKAGE_NERDCTL is not set - -# -# netifrc needs openrc as init system -# -# BR2_PACKAGE_NUMACTL is not set -# BR2_PACKAGE_NUT is not set - -# -# pamtester depends on linux-pam -# -# BR2_PACKAGE_POLKIT is not set -# BR2_PACKAGE_PROCRANK_LINUX is not set -# BR2_PACKAGE_PWGEN is not set -# BR2_PACKAGE_QUOTA is not set -# BR2_PACKAGE_QUOTATOOL is not set -# BR2_PACKAGE_RAUC is not set -# BR2_PACKAGE_RUNC is not set -# BR2_PACKAGE_S6 is not set -# BR2_PACKAGE_S6_LINUX_INIT is not set -# BR2_PACKAGE_S6_LINUX_UTILS is not set -# BR2_PACKAGE_S6_PORTABLE_UTILS is not set -# BR2_PACKAGE_S6_RC is not set -# BR2_PACKAGE_SCRUB is not set -# BR2_PACKAGE_SCRYPT is not set - -# -# sdbus-c++ needs systemd and a toolchain w/ C++, gcc >= 7 -# - -# -# sdbusplus needs systemd and a toolchain w/ C++, gcc >= 7 -# -# BR2_PACKAGE_SEATD is not set -# BR2_PACKAGE_SHADOW is not set -# BR2_PACKAGE_SMACK is not set - -# -# supervisor needs a python interpreter -# -# BR2_PACKAGE_SWUPDATE is not set -BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS=y -# BR2_PACKAGE_TPM_TOOLS is not set -# BR2_PACKAGE_TPM2_ABRMD is not set -# BR2_PACKAGE_TPM2_TOOLS is not set -# BR2_PACKAGE_TPM2_TOTP is not set -# BR2_PACKAGE_UNSCD is not set -# BR2_PACKAGE_UTIL_LINUX is not set -# BR2_PACKAGE_WATCHDOG is not set -# BR2_PACKAGE_WATCHDOGD is not set -# BR2_PACKAGE_XDG_DBUS_PROXY is not set -BR2_PACKAGE_XVISOR_ARCH_SUPPORTS=y -# BR2_PACKAGE_XVISOR is not set - -# -# Text editors and viewers -# -# BR2_PACKAGE_ED is not set -# BR2_PACKAGE_JOE is not set -# BR2_PACKAGE_MC is not set -# BR2_PACKAGE_MG is not set -# BR2_PACKAGE_MOST is not set -# BR2_PACKAGE_NANO is not set -BR2_PACKAGE_UEMACS=y - -# -# Filesystem images -# -# BR2_TARGET_ROOTFS_AXFS is not set -# BR2_TARGET_ROOTFS_BTRFS is not set -# BR2_TARGET_ROOTFS_CLOOP is not set -BR2_TARGET_ROOTFS_CPIO=y -BR2_TARGET_ROOTFS_CPIO_FULL=y -# BR2_TARGET_ROOTFS_CPIO_DRACUT is not set -BR2_TARGET_ROOTFS_CPIO_NONE=y -# BR2_TARGET_ROOTFS_CPIO_GZIP is not set -# BR2_TARGET_ROOTFS_CPIO_BZIP2 is not set -# BR2_TARGET_ROOTFS_CPIO_LZ4 is not set -# BR2_TARGET_ROOTFS_CPIO_LZMA is not set -# BR2_TARGET_ROOTFS_CPIO_LZO is not set -# BR2_TARGET_ROOTFS_CPIO_XZ is not set -# BR2_TARGET_ROOTFS_CPIO_ZSTD is not set -# BR2_TARGET_ROOTFS_CPIO_UIMAGE is not set -# BR2_TARGET_ROOTFS_CRAMFS is not set -# BR2_TARGET_ROOTFS_EROFS is not set -# BR2_TARGET_ROOTFS_EXT2 is not set -# BR2_TARGET_ROOTFS_F2FS is not set -BR2_TARGET_ROOTFS_INITRAMFS=y -# BR2_TARGET_ROOTFS_JFFS2 is not set -# BR2_TARGET_ROOTFS_OCI is not set -# BR2_TARGET_ROOTFS_ROMFS is not set -# BR2_TARGET_ROOTFS_SQUASHFS is not set -# BR2_TARGET_ROOTFS_TAR is not set -# BR2_TARGET_ROOTFS_UBI is not set -# BR2_TARGET_ROOTFS_UBIFS is not set -# BR2_TARGET_ROOTFS_YAFFS2 is not set - -# -# Bootloaders -# -# BR2_TARGET_BAREBOX is not set -# BR2_TARGET_BEAGLEV_DDRINIT is not set -# BR2_TARGET_BEAGLEV_SECONDBOOT is not set -BR2_TARGET_OPENSBI=y -# BR2_TARGET_OPENSBI_LATEST_VERSION is not set -BR2_TARGET_OPENSBI_CUSTOM_VERSION=y -# BR2_TARGET_OPENSBI_CUSTOM_TARBALL is not set -# BR2_TARGET_OPENSBI_CUSTOM_GIT is not set -BR2_TARGET_OPENSBI_CUSTOM_VERSION_VALUE="1.3" -BR2_TARGET_OPENSBI_VERSION="1.3" -BR2_TARGET_OPENSBI_PLAT="generic" -# BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG is not set -BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG=y -# BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG is not set -# BR2_TARGET_OPENSBI_LINUX_PAYLOAD is not set -BR2_TARGET_OPENSBI_ADDITIONAL_VARIABLES="" -# BR2_TARGET_UBOOT is not set - -# -# Host utilities -# -# BR2_PACKAGE_HOST_ABOOTIMG is not set -# BR2_PACKAGE_HOST_AESPIPE is not set -# BR2_PACKAGE_HOST_AGENT_PROXY is not set -# BR2_PACKAGE_HOST_ANDROID_TOOLS is not set -# BR2_PACKAGE_HOST_ASN1C is not set -# BR2_PACKAGE_HOST_BABELTRACE2 is not set -# BR2_PACKAGE_HOST_BMAP_TOOLS is not set -# BR2_PACKAGE_HOST_BOOTGEN is not set -# BR2_PACKAGE_HOST_BTRFS_PROGS is not set -# BR2_PACKAGE_HOST_CHECKPOLICY is not set -# BR2_PACKAGE_HOST_CHECKSEC is not set -# BR2_PACKAGE_HOST_CMAKE is not set -BR2_HOST_CMAKE_AT_LEAST="3.18" -# BR2_PACKAGE_HOST_CRAMFS is not set -# BR2_PACKAGE_HOST_CRUDINI is not set -# BR2_PACKAGE_HOST_CRYPTSETUP is not set -# BR2_PACKAGE_HOST_DBUS_PYTHON is not set -# BR2_PACKAGE_HOST_DELVE is not set -# BR2_PACKAGE_HOST_DFU_UTIL is not set -# BR2_PACKAGE_HOST_DOS2UNIX is not set -# BR2_PACKAGE_HOST_DOSFSTOOLS is not set -# BR2_PACKAGE_HOST_DOXYGEN is not set -# BR2_PACKAGE_HOST_DTC is not set -BR2_PACKAGE_HOST_E2FSPROGS=y -# BR2_PACKAGE_HOST_E2TOOLS is not set -# BR2_PACKAGE_HOST_ENVIRONMENT_SETUP is not set -# BR2_PACKAGE_HOST_EROFS_UTILS is not set -# BR2_PACKAGE_HOST_EXFATPROGS is not set -# BR2_PACKAGE_HOST_F2FS_TOOLS is not set -# BR2_PACKAGE_HOST_FAKETIME is not set -# BR2_PACKAGE_HOST_FATCAT is not set -# BR2_PACKAGE_HOST_FIRMWARE_UTILS is not set -# BR2_PACKAGE_HOST_FWUP is not set -# BR2_PACKAGE_HOST_GENEXT2FS is not set -# BR2_PACKAGE_HOST_GENIMAGE is not set -# BR2_PACKAGE_HOST_GENPART is not set -# BR2_PACKAGE_HOST_GNUPG is not set -BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS=y -BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y -# BR2_PACKAGE_HOST_GPTFDISK is not set -# BR2_PACKAGE_HOST_IMAGEMAGICK is not set -# BR2_PACKAGE_HOST_IMX_MKIMAGE is not set -# BR2_PACKAGE_HOST_JH71XX_TOOLS is not set -# BR2_PACKAGE_HOST_JQ is not set -# BR2_PACKAGE_HOST_JSMIN is not set -BR2_PACKAGE_HOST_KMOD=y -# BR2_PACKAGE_HOST_KMOD_GZ is not set -# BR2_PACKAGE_HOST_KMOD_ZSTD is not set -# BR2_PACKAGE_HOST_KMOD_XZ is not set -# BR2_PACKAGE_HOST_LIBP11 is not set -# BR2_PACKAGE_HOST_LLD is not set -# BR2_PACKAGE_HOST_LPC3250LOADER is not set -# BR2_PACKAGE_HOST_LTTNG_BABELTRACE is not set -# BR2_PACKAGE_HOST_LZMA_ALONE is not set -# BR2_PACKAGE_HOST_MENDER_ARTIFACT is not set -# BR2_PACKAGE_HOST_MESON_TOOLS is not set -# BR2_PACKAGE_HOST_MKPASSWD is not set -# BR2_PACKAGE_HOST_MOBY_BUILDKIT is not set -# BR2_PACKAGE_HOST_MOSQUITTO is not set -# BR2_PACKAGE_HOST_MTD is not set -# BR2_PACKAGE_HOST_MTOOLS is not set -# BR2_PACKAGE_HOST_NODEJS is not set -# BR2_PACKAGE_HOST_ODB is not set -# BR2_PACKAGE_HOST_OPENOCD is not set -# BR2_PACKAGE_HOST_OPKG_UTILS is not set -# BR2_PACKAGE_HOST_PAHOLE is not set -# BR2_PACKAGE_HOST_PARTED is not set -BR2_PACKAGE_HOST_PATCHELF=y -# BR2_PACKAGE_HOST_PIGZ is not set -# BR2_PACKAGE_HOST_PKGCONF is not set -# BR2_PACKAGE_HOST_PWGEN is not set -# BR2_PACKAGE_HOST_PYTHON_CYTHON is not set -# BR2_PACKAGE_HOST_PYTHON_GREENLET is not set -# BR2_PACKAGE_HOST_PYTHON_INIPARSE is not set -# BR2_PACKAGE_HOST_PYTHON_LXML is not set -# BR2_PACKAGE_HOST_PYTHON_PYYAML is not set -# BR2_PACKAGE_HOST_PYTHON_SIX is not set -# BR2_PACKAGE_HOST_PYTHON_XLRD is not set -# BR2_PACKAGE_HOST_PYTHON3 is not set -BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_QEMU=y - -# -# Emulators selection -# -BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y -# BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE is not set -# BR2_PACKAGE_HOST_QEMU_VDE2 is not set -# BR2_PACKAGE_HOST_QEMU_VIRTFS is not set -# BR2_PACKAGE_HOST_QEMU_USB is not set -# BR2_PACKAGE_HOST_QORIQ_RCW is not set -# BR2_PACKAGE_HOST_RAUC is not set -# BR2_PACKAGE_HOST_RISCV_ISA_SIM is not set -# BR2_PACKAGE_HOST_RUNC is not set -BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_RUSTC_ARCH="riscv64gc" -# BR2_PACKAGE_HOST_RUSTC is not set -BR2_PACKAGE_PROVIDES_HOST_RUSTC="host-rust-bin" -# BR2_PACKAGE_HOST_SAM_BA is not set -# BR2_PACKAGE_HOST_SDBUSPLUS is not set -# BR2_PACKAGE_HOST_SENTRY_CLI is not set -# BR2_PACKAGE_HOST_SLOCI_IMAGE is not set -# BR2_PACKAGE_HOST_SQUASHFS is not set -# BR2_PACKAGE_HOST_SWIG is not set -# BR2_PACKAGE_HOST_UBOOT_TOOLS is not set -BR2_PACKAGE_HOST_UTIL_LINUX=y -# BR2_PACKAGE_HOST_UTP_COM is not set -# BR2_PACKAGE_HOST_UUU is not set -# BR2_PACKAGE_HOST_VBOOT_UTILS is not set -# BR2_PACKAGE_HOST_XORRISO is not set -# BR2_PACKAGE_HOST_ZIP is not set -# BR2_PACKAGE_HOST_ZSTD is not set - -# -# Legacy config options -# - -# -# Legacy options removed in 2023.05 -# -# BR2_KERNEL_HEADERS_6_2 is not set -# BR2_PACKAGE_ATK is not set -# BR2_PACKAGE_AT_SPI2_ATK is not set -# BR2_PACKAGE_OPTEE_BENCHMARK is not set -# BR2_PACAKGE_OPENFPGALOADER_CMSIS is not set - -# -# Legacy options removed in 2023.02 -# -# BR2_PACKAGE_PUGIXML_HEADER_ONLY is not set -# BR2_PACKAGE_UCCP420WLAN is not set -# BR2_PACKAGE_IMX_GPU_G2D_EXAMPLES is not set -# BR2_KERNEL_HEADERS_6_0 is not set -# BR2_KERNEL_HEADERS_4_9 is not set -# BR2_PACKAGE_DOCKER_PROXY is not set -# BR2_PACKAGE_PYTHON_BUNCH is not set -# BR2_TARGET_GUMMIBOOT is not set -# BR2_PACKAGE_IPUTILS_NINFOD is not set -# BR2_PACKAGE_IPUTILS_RARPD is not set -# BR2_PACKAGE_IPUTILS_RDISC is not set -# BR2_PACKAGE_IPUTILS_RDISC_SERVER is not set -# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_XINGMUX is not set -# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOSCALE is not set -# BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERT is not set -# BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_X11 is not set -# BR2_PACKAGE_XDRIVER_XF86_VIDEO_IMX_VIV is not set -BR2_PACKAGE_QEMU_CUSTOM_TARGETS="" -# BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD is not set -# BR2_TARGET_SUN20I_D1_SPL is not set -# BR2_PACKAGE_PYTHON_M2R is not set -# BR2_PACKAGE_MESA3D_XVMC is not set -# BR2_KERNEL_HEADERS_5_19 is not set -# BR2_PACKAGE_XDRIVER_XF86_VIDEO_TGA is not set -# BR2_PACKAGE_XDRIVER_XF86_VIDEO_GLINT is not set -# BR2_PACKAGE_USBREDIR_SERVER is not set - -# -# Legacy options removed in 2022.11 -# -# BR2_BINUTILS_VERSION_2_36_X is not set -# BR2_PACKAGE_RABBITMQ_SERVER is not set -# BR2_PACKAGE_LIBOPENSSL_ENABLE_RC5 is not set -# BR2_PACKAGE_LIBDCADEC is not set -# BR2_KERNEL_HEADERS_5_17 is not set -# BR2_iwmmxt is not set -# BR2_PACKAGE_UHD_N230 is not set -# BR2_PACKAGE_UHD_RFNOC is not set -# BR2_PACKAGE_GPSD_OLDSTYLE is not set -# BR2_GDB_VERSION_9_2 is not set - -# -# Legacy options removed in 2022.08 -# -# BR2_ECLIPSE_REGISTER is not set -# BR2_csky is not set -# BR2_PACKAGE_MESA3D_DRI_DRIVER_I915 is not set -# BR2_PACKAGE_MESA3D_DRI_DRIVER_I965 is not set -# BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU is not set -# BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON is not set -# BR2_GCC_VERSION_9_X is not set -# BR2_PACKAGE_PHP_EXT_WDDX is not set -# BR2_nds32 is not set -# BR2_PACKAGE_RTL8723BS is not set - -# -# Legacy options removed in 2022.05 -# -# BR2_PACKAGE_KTAP is not set -# BR2_KERNEL_HEADERS_5_16 is not set -# BR2_KERNEL_HEADERS_4_4 is not set -# BR2_BINUTILS_VERSION_2_32_X is not set -# BR2_sh2a is not set -# BR2_BINUTILS_VERSION_2_35_X is not set -# BR2_PACKAGE_BOOST_LAYOUT_TAGGED is not set -# BR2_PACKAGE_BOOST_LAYOUT_VERSIONED is not set - -# -# Legacy options removed in 2022.02 -# -BR2_TARGET_ROOTFS_OCI_ENTRYPOINT_ARGS="" -# BR2_PACKAGE_LIBCURL_LIBNSS is not set -# BR2_PACKAGE_WESTON_DEFAULT_FBDEV is not set -# BR2_PACKAGE_WESTON_FBDEV is not set -# BR2_PACKAGE_PYTHON_PYCLI is not set -# BR2_PACKAGE_LINUX_TOOLS_BPFTOOL is not set -# BR2_TARGET_UBOOT_NEEDS_PYTHON2 is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIBMMS is not set -# BR2_PACKAGE_PYTHON_FUNCTOOLS32 is not set -# BR2_PACKAGE_PYTHON_ENUM34 is not set -# BR2_PACKAGE_PYTHON_ENUM is not set -# BR2_PACKAGE_PYTHON_DIALOG is not set -# BR2_PACKAGE_PYTHON_CONFIGOBJ is not set -# BR2_PACKAGE_PYTHON_YIELDFROM is not set -# BR2_PACKAGE_PYTHON_TYPING is not set -# BR2_PACKAGE_PYTHON_SUBPROCESS32 is not set -# BR2_PACKAGE_PYTHON_SINGLEDISPATCH is not set -# BR2_PACKAGE_PYTHON_PYRO is not set -# BR2_PACKAGE_PYTHON_PYPCAP is not set -# BR2_PACKAGE_PYTHON_PATHLIB2 is not set -# BR2_PACKAGE_PYTHON_PAM is not set -# BR2_PACKAGE_PYTHON_NFC is not set -# BR2_PACKAGE_PYTHON_MAD is not set -# BR2_PACKAGE_PYTHON_IPADDRESS is not set -# BR2_PACKAGE_PYTHON_IPADDR is not set -# BR2_PACKAGE_PYTHON_ID3 is not set -# BR2_PACKAGE_PYTHON_FUTURES is not set -# BR2_PACKAGE_PYTHON_BACKPORTS_SSL_MATCH_HOSTNAME is not set -# BR2_PACKAGE_PYTHON_BACKPORTS_SHUTIL_GET_TERMINAL_SIZE is not set -# BR2_PACKAGE_PYTHON_BACKPORTS_ABC is not set -# BR2_PACKAGE_PYTHON is not set -# BR2_TARGET_UBOOT_ZYNQ_IMAGE is not set -# BR2_PACKAGE_HOST_GDB_PYTHON is not set -# BR2_PACKAGE_GSTREAMER1_MM is not set -# BR2_KERNEL_HEADERS_5_14 is not set -# BR2_PACKAGE_PYTHON_BACKPORTS_FUNCTOOLS_LRU_CACHE is not set -# BR2_PACKAGE_CIVETWEB_WITH_LUA is not set -# BR2_PACKAGE_SUNXI_MALI_MAINLINE_DRIVER is not set -# BR2_PACKAGE_SUNXI_MALI_MAINLINE is not set -# BR2_PACKAGE_SUNXI_MALI_MAINLINE_R6P2 is not set -# BR2_PACKAGE_SUNXI_MALI_MAINLINE_R8P1 is not set -# BR2_PACKAGE_QT5WEBKIT_EXAMPLES is not set -# BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_GLIBC_BLEEDING_EDGE is not set -# BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_RISCV64_MUSL_BLEEDING_EDGE is not set -# BR2_PACKAGE_IPUTILS_TFTPD is not set -# BR2_PACKAGE_IPUTILS_TRACEROUTE6 is not set -# BR2_PACKAGE_LIBMEDIAART_BACKEND_NONE is not set -# BR2_PACKAGE_MPD_UPNP is not set - -# -# Legacy options removed in 2021.11 -# -# BR2_OPENJDK_VERSION_LTS is not set -# BR2_OPENJDK_VERSION_LATEST is not set -# BR2_PACKAGE_MPD_TIDAL is not set -# BR2_PACKAGE_MROUTED_RSRR is not set -# BR2_BINUTILS_VERSION_CSKY is not set -# BR2_GCC_VERSION_CSKY is not set -# BR2_PACKAGE_CANFESTIVAL is not set -# BR2_PACKAGE_NMAP_NDIFF is not set -# BR2_GDB_VERSION_8_3 is not set -# BR2_PACKAGE_PYTHON_MELD3 is not set -# BR2_PACKAGE_STRONGSWAN_EAP is not set -# BR2_PACKAGE_GNURADIO_PAGER is not set -# BR2_KERNEL_HEADERS_5_11 is not set -# BR2_KERNEL_HEADERS_5_12 is not set -# BR2_KERNEL_HEADERS_5_13 is not set - -# -# Legacy options removed in 2021.08 -# -BR2_TARGET_GRUB2_BUILTIN_MODULES="" -BR2_TARGET_GRUB2_BUILTIN_CONFIG="" -# BR2_PACKAGE_LIBMCRYPT is not set -# BR2_PACKAGE_MCRYPT is not set -# BR2_PACKAGE_PHP_EXT_MCRYPT is not set -# BR2_BINUTILS_VERSION_2_34_X is not set -# BR2_PACKAGE_LIBSOIL is not set -# BR2_PACKAGE_CLAPACK is not set -# BR2_PACKAGE_SPIDERMONKEY is not set -# BR2_PACKAGE_KODI_LIBVA is not set -# BR2_PACKAGE_PYTHON_COHERENCE is not set -# BR2_PACKAGE_PHP_EXT_XMLRPC is not set -# BR2_GCC_VERSION_8_X is not set - -# -# Legacy options removed in 2021.05 -# -# BR2_PACKAGE_UDISKS_LVM2 is not set -# BR2_PACKAGE_LVM2_APP_LIBRARY is not set -# BR2_PACKAGE_LVM2_LVMETAD is not set -# BR2_PACKAGE_MONKEY is not set -# BR2_PACKAGE_DOCKER_CONTAINERD is not set -# BR2_PACKAGE_IOSTAT is not set -# BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE is not set -# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV is not set -# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_KBD is not set -# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_MOUSE is not set -# BR2_PACKAGE_MESA3D_OSMESA_CLASSIC is not set -# BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST is not set -# BR2_PACKAGE_KODI_SCREENSAVER_CRYSTALMORPH is not set - -# -# Legacy options removed in 2021.02 -# -# BR2_PACKAGE_MPD_AUDIOFILE is not set -# BR2_PACKAGE_AUDIOFILE is not set -# BR2_BINUTILS_VERSION_2_33_X is not set -# BR2_PACKAGE_LIBUPNP18 is not set -# BR2_PACKAGE_BOA is not set -# BR2_PACKAGE_LINUX_FIRMWARE_IMX_SDMA is not set -# BR2_GDB_VERSION_8_2 is not set -# BR2_PACKAGE_HOST_RCW is not set -# BR2_KERNEL_HEADERS_5_9 is not set -# BR2_KERNEL_HEADERS_5_8 is not set -# BR2_powerpc_601 is not set -# BR2_PACKAGE_TI_SGX_LIBGBM is not set -# BR2_PACKAGE_IPSEC_TOOLS is not set - -# -# Legacy options removed in 2020.11 -# -# BR2_PACKAGE_GPSD_FIXED_PORT_SPEED is not set -# BR2_PACKAGE_GPSD_RECONFIGURE is not set -# BR2_PACKAGE_GPSD_CONTROLSEND is not set -# BR2_PACKAGE_OPENCV is not set -# BR2_PACKAGE_LIBCROCO is not set -# BR2_PACKAGE_BELLAGIO is not set -# BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY is not set -# BR2_TARGET_UBOOT_BOOT_SCRIPT is not set -# BR2_TARGET_UBOOT_ENVIMAGE is not set -# BR2_PACKAGE_KISMET_CLIENT is not set -# BR2_PACKAGE_KISMET_DRONE is not set -# BR2_GCC_VERSION_7_X is not set -# BR2_PACKAGE_GST1_VALIDATE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_YADIF is not set -# BR2_PACKAGE_GQVIEW is not set -# BR2_PACKAGE_WESTON_IMX is not set -# BR2_KERNEL_HEADERS_5_7 is not set -# BR2_PACKAGE_TINYHTTPD is not set -# BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX is not set -# BR2_PACKAGE_AMD_CATALYST is not set -# BR2_PACKAGE_NVIDIA_TEGRA23 is not set -# BR2_GDB_VERSION_8_1 is not set - -# -# Legacy options removed in 2020.08 -# -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 is not set -# BR2_KERNEL_HEADERS_5_6 is not set -# BR2_KERNEL_HEADERS_5_5 is not set -# BR2_BINUTILS_VERSION_2_31_X is not set -# BR2_PACKAGE_KODI_PERIPHERAL_STEAMCONTROLLER is not set - -# -# Legacy options removed in 2020.05 -# -# BR2_PACKAGE_WIRINGPI is not set -# BR2_PACKAGE_PYTHON_PYCRYPTO is not set -# BR2_PACKAGE_MTDEV2TUIO is not set -# BR2_PACKAGE_EZXML is not set -# BR2_PACKAGE_COLLECTD_LVM is not set -# BR2_PACKAGE_PYTHON_PYASN is not set -# BR2_PACKAGE_PYTHON_PYASN_MODULES is not set -# BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA6174 is not set -# BR2_PACKAGE_QT5CANVAS3D is not set -# BR2_PACKAGE_KODI_LIBTHEORA is not set -# BR2_PACKAGE_CEGUI06 is not set -# BR2_GCC_VERSION_5_X is not set - -# -# Legacy options removed in 2020.02 -# -# BR2_PACKAGE_JAMVM is not set -# BR2_PACKAGE_CLASSPATH is not set -# BR2_PACKAGE_QT5_VERSION_5_6 is not set -# BR2_PACKAGE_CURL is not set -# BR2_PACKAGE_GSTREAMER is not set -# BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS is not set -# BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_NV_SAMPLE_APPS is not set -# BR2_PACKAGE_FREERDP_GSTREAMER is not set -# BR2_PACKAGE_OPENCV3_WITH_GSTREAMER is not set -# BR2_PACKAGE_OPENCV_WITH_GSTREAMER is not set -# BR2_PACKAGE_LIBPLAYER is not set -# BR2_GCC_VERSION_OR1K is not set -# BR2_PACKAGE_BLUEZ_UTILS is not set -# BR2_PACKAGE_GADGETFS_TEST is not set -# BR2_PACKAGE_FIS is not set -BR2_PACKAGE_REFPOLICY_POLICY_VERSION="" -# BR2_PACKAGE_CELT051 is not set -# BR2_PACKAGE_WIREGUARD is not set -# BR2_PACKAGE_PERL_NET_PING is not set -# BR2_PACKAGE_PERL_MIME_BASE64 is not set -# BR2_PACKAGE_PERL_DIGEST_MD5 is not set -# BR2_PACKAGE_ERLANG_P1_ICONV is not set -# BR2_KERNEL_HEADERS_5_3 is not set -# BR2_PACKAGE_PYTHON_SCAPY3K is not set -# BR2_BINUTILS_VERSION_2_30_X is not set -# BR2_PACKAGE_RPI_USERLAND_START_VCFILED is not set -# BR2_PACKAGE_TI_SGX_KM_AM335X is not set -# BR2_PACKAGE_TI_SGX_KM_AM437X is not set -# BR2_PACKAGE_TI_SGX_KM_AM4430 is not set -# BR2_PACKAGE_TI_SGX_KM_AM5430 is not set - -# -# Legacy options removed in 2019.11 -# -# BR2_PACKAGE_OPENVMTOOLS_PROCPS is not set -# BR2_PACKAGE_ALLJOYN is not set -# BR2_PACKAGE_ALLJOYN_BASE is not set -# BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL is not set -# BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION is not set -# BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING is not set -# BR2_PACKAGE_ALLJOYN_TCL_BASE is not set -# BR2_PACKAGE_ALLJOYN_TCL is not set -BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS="" -# BR2_PACKAGE_PYTHON_PYSNMP_APPS is not set -# BR2_KERNEL_HEADERS_5_2 is not set -# BR2_TARGET_RISCV_PK is not set -# BR2_PACKAGE_SQLITE_STAT3 is not set -# BR2_KERNEL_HEADERS_5_1 is not set -# BR2_PACKAGE_DEVMEM2 is not set -# BR2_PACKAGE_USTR is not set -# BR2_PACKAGE_KODI_SCREENSAVER_PLANESTATE is not set -# BR2_PACKAGE_KODI_VISUALISATION_WAVEFORHUE is not set -# BR2_PACKAGE_KODI_AUDIODECODER_OPUS is not set -# BR2_PACKAGE_MESA3D_OSMESA is not set -# BR2_PACKAGE_HOSTAPD_DRIVER_RTW is not set -# BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW is not set -# BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD is not set - -# -# Legacy options removed in 2019.08 -# -# BR2_TARGET_TS4800_MBRBOOT is not set -# BR2_PACKAGE_LIBAMCODEC is not set -# BR2_PACKAGE_ODROID_SCRIPTS is not set -# BR2_PACKAGE_ODROID_MALI is not set -# BR2_PACKAGE_KODI_PLATFORM_AML is not set -# BR2_GCC_VERSION_6_X is not set -# BR2_GCC_VERSION_4_9_X is not set -# BR2_GDB_VERSION_7_12 is not set -# BR2_PACKAGE_XAPP_MKFONTDIR is not set -# BR2_GDB_VERSION_8_0 is not set -# BR2_KERNEL_HEADERS_4_20 is not set -# BR2_KERNEL_HEADERS_5_0 is not set - -# -# Legacy options removed in 2019.05 -# -# BR2_CSKY_DSP is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD is not set -# BR2_PACKAGE_LUNIT is not set -# BR2_PACKAGE_FFMPEG_FFSERVER is not set -# BR2_PACKAGE_LIBUMP is not set -# BR2_PACKAGE_SUNXI_MALI is not set -# BR2_BINUTILS_VERSION_2_29_X is not set -# BR2_BINUTILS_VERSION_2_28_X is not set -# BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK is not set - -# -# Legacy options removed in 2019.02 -# -# BR2_PACKAGE_QT is not set -# BR2_PACKAGE_QTUIO is not set -# BR2_PACKAGE_PINENTRY_QT4 is not set -# BR2_PACKAGE_POPPLER_QT is not set -# BR2_PACKAGE_OPENCV3_WITH_QT is not set -# BR2_PACKAGE_OPENCV_WITH_QT is not set -# BR2_PACKAGE_AMD_CATALYST_CCCLE is not set -# BR2_PACKAGE_SDL_QTOPIA is not set -# BR2_PACKAGE_PYTHON_PYQT is not set -# BR2_PACKAGE_LUACRYPTO is not set -# BR2_PACKAGE_TN5250 is not set -# BR2_PACKAGE_BOOST_SIGNALS is not set -# BR2_PACKAGE_FFTW_PRECISION_SINGLE is not set -# BR2_PACKAGE_FFTW_PRECISION_DOUBLE is not set -# BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE is not set -# BR2_PACKAGE_LUA_5_2 is not set -# BR2_TARGET_GENERIC_PASSWD_MD5 is not set - -# -# Legacy options removed in 2018.11 -# -# BR2_TARGET_XLOADER is not set -# BR2_PACKAGE_TIDSP_BINARIES is not set -# BR2_PACKAGE_DSP_TOOLS is not set -# BR2_PACKAGE_GST_DSP is not set -# BR2_PACKAGE_BOOTUTILS is not set -# BR2_PACKAGE_EXPEDITE is not set -# BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT is not set -# BR2_KERNEL_HEADERS_4_10 is not set -# BR2_KERNEL_HEADERS_4_11 is not set -# BR2_KERNEL_HEADERS_4_12 is not set -# BR2_KERNEL_HEADERS_4_13 is not set -# BR2_KERNEL_HEADERS_4_15 is not set -# BR2_KERNEL_HEADERS_4_17 is not set -# BR2_PACKAGE_LIBNFTNL_XML is not set -# BR2_KERNEL_HEADERS_3_2 is not set -# BR2_KERNEL_HEADERS_4_1 is not set -# BR2_KERNEL_HEADERS_4_16 is not set -# BR2_KERNEL_HEADERS_4_18 is not set - -# -# Legacy options removed in 2018.08 -# -# BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT is not set -# BR2_PACKAGE_XPROTO_APPLEWMPROTO is not set -# BR2_PACKAGE_XPROTO_BIGREQSPROTO is not set -# BR2_PACKAGE_XPROTO_COMPOSITEPROTO is not set -# BR2_PACKAGE_XPROTO_DAMAGEPROTO is not set -# BR2_PACKAGE_XPROTO_DMXPROTO is not set -# BR2_PACKAGE_XPROTO_DRI2PROTO is not set -# BR2_PACKAGE_XPROTO_DRI3PROTO is not set -# BR2_PACKAGE_XPROTO_FIXESPROTO is not set -# BR2_PACKAGE_XPROTO_FONTCACHEPROTO is not set -# BR2_PACKAGE_XPROTO_FONTSPROTO is not set -# BR2_PACKAGE_XPROTO_GLPROTO is not set -# BR2_PACKAGE_XPROTO_INPUTPROTO is not set -# BR2_PACKAGE_XPROTO_KBPROTO is not set -# BR2_PACKAGE_XPROTO_PRESENTPROTO is not set -# BR2_PACKAGE_XPROTO_RANDRPROTO is not set -# BR2_PACKAGE_XPROTO_RECORDPROTO is not set -# BR2_PACKAGE_XPROTO_RENDERPROTO is not set -# BR2_PACKAGE_XPROTO_RESOURCEPROTO is not set -# BR2_PACKAGE_XPROTO_SCRNSAVERPROTO is not set -# BR2_PACKAGE_XPROTO_VIDEOPROTO is not set -# BR2_PACKAGE_XPROTO_WINDOWSWMPROTO is not set -# BR2_PACKAGE_XPROTO_XCMISCPROTO is not set -# BR2_PACKAGE_XPROTO_XEXTPROTO is not set -# BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO is not set -# BR2_PACKAGE_XPROTO_XF86DGAPROTO is not set -# BR2_PACKAGE_XPROTO_XF86DRIPROTO is not set -# BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO is not set -# BR2_PACKAGE_XPROTO_XINERAMAPROTO is not set -# BR2_PACKAGE_XPROTO_XPROTO is not set -# BR2_PACKAGE_XPROTO_XPROXYMANAGEMENTPROTOCOL is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2 is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11 is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER is not set -# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME is not set -# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123 is not set -# BR2_GDB_VERSION_7_11 is not set -# BR2_GDB_VERSION_7_10 is not set - -# -# Legacy options removed in 2018.05 -# -# BR2_PACKAGE_MEDIAART_BACKEND_NONE is not set -# BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF is not set -# BR2_PACKAGE_MEDIAART_BACKEND_QT is not set -# BR2_PACKAGE_TI_SGX_AM335X is not set -# BR2_PACKAGE_TI_SGX_AM437X is not set -# BR2_PACKAGE_TI_SGX_AM4430 is not set -# BR2_PACKAGE_TI_SGX_AM5430 is not set -# BR2_PACKAGE_JANUS_AUDIO_BRIDGE is not set -# BR2_PACKAGE_JANUS_ECHO_TEST is not set -# BR2_PACKAGE_JANUS_RECORDPLAY is not set -# BR2_PACKAGE_JANUS_SIP_GATEWAY is not set -# BR2_PACKAGE_JANUS_STREAMING is not set -# BR2_PACKAGE_JANUS_TEXT_ROOM is not set -# BR2_PACKAGE_JANUS_VIDEO_CALL is not set -# BR2_PACKAGE_JANUS_VIDEO_ROOM is not set -# BR2_PACKAGE_JANUS_MQTT is not set -# BR2_PACKAGE_JANUS_RABBITMQ is not set -# BR2_PACKAGE_JANUS_REST is not set -# BR2_PACKAGE_JANUS_UNIX_SOCKETS is not set -# BR2_PACKAGE_JANUS_WEBSOCKETS is not set -# BR2_PACKAGE_IPSEC_SECCTX_DISABLE is not set -# BR2_PACKAGE_IPSEC_SECCTX_ENABLE is not set -# BR2_PACKAGE_IPSEC_SECCTX_KERNEL is not set -# BR2_PACKAGE_LIBTFDI_CPP is not set -# BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE is not set -# BR2_PACKAGE_JQUERY_UI_THEME_BLITZER is not set -# BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO is not set -# BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE is not set -# BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV is not set -# BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT is not set -# BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE is not set -# BR2_PACKAGE_JQUERY_UI_THEME_FLICK is not set -# BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS is not set -# BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY is not set -# BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG is not set -# BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC is not set -# BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST is not set -# BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER is not set -# BR2_PACKAGE_JQUERY_UI_THEME_REDMOND is not set -# BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS is not set -# BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET is not set -# BR2_PACKAGE_JQUERY_UI_THEME_START is not set -# BR2_PACKAGE_JQUERY_UI_THEME_SUNNY is not set -# BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE is not set -# BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC is not set -# BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS is not set -# BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS is not set -# BR2_PACKAGE_JQUERY_UI_THEME_VADER is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_NFC is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_SAP is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS is not set -# BR2_PACKAGE_TRANSMISSION_REMOTE is not set -# BR2_PACKAGE_LIBKCAPI_APPS is not set -# BR2_PACKAGE_MPLAYER is not set -# BR2_PACKAGE_MPLAYER_MPLAYER is not set -# BR2_PACKAGE_MPLAYER_MENCODER is not set -# BR2_PACKAGE_LIBPLAYER_MPLAYER is not set -# BR2_PACKAGE_IQVLINUX is not set -# BR2_BINFMT_FLAT_SEP_DATA is not set -# BR2_bfin is not set -# BR2_PACKAGE_KODI_ADSP_BASIC is not set -# BR2_PACKAGE_KODI_ADSP_FREESURROUND is not set - -# -# Legacy options removed in 2018.02 -# -# BR2_KERNEL_HEADERS_3_4 is not set -# BR2_KERNEL_HEADERS_3_10 is not set -# BR2_KERNEL_HEADERS_3_12 is not set -# BR2_BINUTILS_VERSION_2_27_X is not set -# BR2_PACKAGE_EEPROG is not set -# BR2_PACKAGE_GNUPG2_GPGV2 is not set -# BR2_PACKAGE_IMX_GPU_VIV_APITRACE is not set -# BR2_PACKAGE_IMX_GPU_VIV_G2D is not set - -# -# Legacy options removed in 2017.11 -# -# BR2_PACKAGE_RFKILL is not set -# BR2_PACKAGE_UTIL_LINUX_RESET is not set -# BR2_PACKAGE_POLICYCOREUTILS_AUDIT2ALLOW is not set -# BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND is not set -# BR2_PACKAGE_SEPOLGEN is not set -# BR2_PACKAGE_OPENOBEX_BLUEZ is not set -# BR2_PACKAGE_OPENOBEX_LIBUSB is not set -# BR2_PACKAGE_OPENOBEX_APPS is not set -# BR2_PACKAGE_OPENOBEX_SYSLOG is not set -# BR2_PACKAGE_OPENOBEX_DUMP is not set -# BR2_PACKAGE_AICCU is not set -# BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS is not set - -# -# Legacy options removed in 2017.08 -# -# BR2_TARGET_GRUB is not set -# BR2_PACKAGE_SIMICSFS is not set -# BR2_BINUTILS_VERSION_2_26_X is not set -BR2_XTENSA_OVERLAY_DIR="" -BR2_XTENSA_CUSTOM_NAME="" -# BR2_PACKAGE_HOST_MKE2IMG is not set -BR2_TARGET_ROOTFS_EXT2_BLOCKS=0 -BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0 -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL is not set -# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD is not set -# BR2_STRIP_none is not set -# BR2_PACKAGE_BEECRYPT_CPP is not set -# BR2_PACKAGE_SPICE_CLIENT is not set -# BR2_PACKAGE_SPICE_GUI is not set -# BR2_PACKAGE_SPICE_TUNNEL is not set -# BR2_PACKAGE_INPUT_TOOLS is not set -# BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH is not set -# BR2_PACKAGE_INPUT_TOOLS_JSCAL is not set -# BR2_PACKAGE_INPUT_TOOLS_JSTEST is not set -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH is not set -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 is not set -# BR2_GCC_VERSION_4_8_X is not set - -# -# Legacy options removed in 2017.05 -# -# BR2_PACKAGE_SUNXI_MALI_R2P4 is not set -# BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT is not set -# BR2_PACKAGE_NODEJS_MODULES_EXPRESS is not set -# BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL is not set -# BR2_PACKAGE_OPENOCD_FT2XXX is not set -# BR2_PACKAGE_KODI_RTMPDUMP is not set -# BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN is not set -# BR2_PACKAGE_PORTMAP is not set -# BR2_BINUTILS_VERSION_2_25_X is not set -# BR2_TOOLCHAIN_BUILDROOT_INET_RPC is not set -BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0 -# BR2_PACKAGE_SYSTEMD_KDBUS is not set -# BR2_PACKAGE_POLARSSL is not set -# BR2_NBD_CLIENT is not set -# BR2_NBD_SERVER is not set -# BR2_PACKAGE_GMOCK is not set -# BR2_KERNEL_HEADERS_4_8 is not set -# BR2_KERNEL_HEADERS_3_18 is not set -# BR2_GLIBC_VERSION_2_22 is not set - -# -# Legacy options removed in 2017.02 -# -# BR2_PACKAGE_PERL_DB_FILE is not set -# BR2_KERNEL_HEADERS_4_7 is not set -# BR2_KERNEL_HEADERS_4_6 is not set -# BR2_KERNEL_HEADERS_4_5 is not set -# BR2_KERNEL_HEADERS_3_14 is not set -# BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS is not set -# BR2_UCLIBC_INSTALL_TEST_SUITE is not set -# BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX is not set -# BR2_PACKAGE_MAKEDEVS is not set -# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A is not set -# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE is not set -# BR2_PACKAGE_SNOWBALL_HDMISERVICE is not set -# BR2_PACKAGE_SNOWBALL_INIT is not set -# BR2_GDB_VERSION_7_9 is not set - -# -# Legacy options removed in 2016.11 -# -# BR2_PACKAGE_PHP_SAPI_CLI_CGI is not set -# BR2_PACKAGE_PHP_SAPI_CLI_FPM is not set -# BR2_PACKAGE_WVSTREAMS is not set -# BR2_PACKAGE_WVDIAL is not set -# BR2_PACKAGE_WEBKITGTK24 is not set -# BR2_PACKAGE_TORSMO is not set -# BR2_PACKAGE_SSTRIP is not set -# BR2_KERNEL_HEADERS_4_3 is not set -# BR2_KERNEL_HEADERS_4_2 is not set -# BR2_PACKAGE_KODI_ADDON_XVDR is not set -# BR2_PACKAGE_IPKG is not set -# BR2_GCC_VERSION_4_7_X is not set -# BR2_BINUTILS_VERSION_2_24_X is not set -# BR2_PACKAGE_WESTON_RPI is not set -# BR2_LINUX_KERNEL_TOOL_CPUPOWER is not set -# BR2_LINUX_KERNEL_TOOL_PERF is not set -# BR2_LINUX_KERNEL_TOOL_SELFTESTS is not set -# BR2_GCC_VERSION_4_8_ARC is not set -# BR2_KERNEL_HEADERS_4_0 is not set -# BR2_KERNEL_HEADERS_3_19 is not set -# BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS is not set -# BR2_PACKAGE_ELEMENTARY is not set -# BR2_LINUX_KERNEL_CUSTOM_LOCAL is not set - -# -# Legacy options removed in 2016.08 -# -# BR2_PACKAGE_EFL_JP2K is not set -# BR2_PACKAGE_SYSTEMD_COMPAT is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIVEADDER is not set -# BR2_PACKAGE_LIBFSLVPUWRAP is not set -# BR2_PACKAGE_LIBFSLPARSER is not set -# BR2_PACKAGE_LIBFSLCODEC is not set -# BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT is not set -# BR2_PTHREADS_OLD is not set -# BR2_BINUTILS_VERSION_2_23_X is not set -# BR2_TOOLCHAIN_BUILDROOT_EGLIBC is not set -# BR2_GDB_VERSION_7_8 is not set - -# -# Legacy options removed in 2016.05 -# -# BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL is not set -# BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123 is not set -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC is not set -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2 is not set -# BR2_x86_i386 is not set -# BR2_PACKAGE_QT5QUICK1 is not set -BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR="" -# BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID is not set -# BR2_KERNEL_HEADERS_3_17 is not set -# BR2_GDB_VERSION_7_7 is not set -# BR2_PACKAGE_FOOMATIC_FILTERS is not set -# BR2_PACKAGE_SAMBA is not set -# BR2_PACKAGE_KODI_WAVPACK is not set -# BR2_PACKAGE_KODI_RSXS is not set -# BR2_PACKAGE_KODI_GOOM is not set -# BR2_PACKAGE_SYSTEMD_ALL_EXTRAS is not set -# BR2_GCC_VERSION_4_5_X is not set -# BR2_PACKAGE_SQLITE_READLINE is not set - -# -# Legacy options removed in 2016.02 -# -# BR2_PACKAGE_DOVECOT_BZIP2 is not set -# BR2_PACKAGE_DOVECOT_ZLIB is not set -# BR2_PACKAGE_E2FSPROGS_FINDFS is not set -# BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL is not set -# BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE is not set -# BR2_PACKAGE_OPENPOWERLINK_LIBPCAP is not set -# BR2_LINUX_KERNEL_SAME_AS_HEADERS is not set -# BR2_PACKAGE_CUPS_PDFTOPS is not set -# BR2_KERNEL_HEADERS_3_16 is not set -# BR2_PACKAGE_PYTHON_PYXML is not set -# BR2_ENABLE_SSP is not set -# BR2_PACKAGE_DIRECTFB_CLE266 is not set -# BR2_PACKAGE_DIRECTFB_UNICHROME is not set -# BR2_PACKAGE_LIBELEMENTARY is not set -# BR2_PACKAGE_LIBEINA is not set -# BR2_PACKAGE_LIBEET is not set -# BR2_PACKAGE_LIBEVAS is not set -# BR2_PACKAGE_LIBECORE is not set -# BR2_PACKAGE_LIBEDBUS is not set -# BR2_PACKAGE_LIBEFREET is not set -# BR2_PACKAGE_LIBEIO is not set -# BR2_PACKAGE_LIBEMBRYO is not set -# BR2_PACKAGE_LIBEDJE is not set -# BR2_PACKAGE_LIBETHUMB is not set -# BR2_PACKAGE_INFOZIP is not set -# BR2_BR2_PACKAGE_NODEJS_0_10_X is not set -# BR2_BR2_PACKAGE_NODEJS_0_12_X is not set -# BR2_BR2_PACKAGE_NODEJS_4_X is not set - -# -# Legacy options removed in 2015.11 -# -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REAL is not set -# BR2_PACKAGE_MEDIA_CTL is not set -# BR2_PACKAGE_SCHIFRA is not set -# BR2_PACKAGE_ZXING is not set -# BR2_PACKAGE_BLACKBOX is not set -# BR2_KERNEL_HEADERS_3_0 is not set -# BR2_KERNEL_HEADERS_3_11 is not set -# BR2_KERNEL_HEADERS_3_13 is not set -# BR2_KERNEL_HEADERS_3_15 is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW is not set -# BR2_PACKAGE_KOBS_NG is not set -# BR2_PACKAGE_SAWMAN is not set -# BR2_PACKAGE_DIVINE is not set - -# -# Legacy options removed in 2015.08 -# -# BR2_PACKAGE_KODI_PVR_ADDONS is not set -# BR2_BINUTILS_VERSION_2_23_2 is not set -# BR2_BINUTILS_VERSION_2_24 is not set -# BR2_BINUTILS_VERSION_2_25 is not set -# BR2_PACKAGE_PERF is not set -# BR2_BINUTILS_VERSION_2_22 is not set -# BR2_PACKAGE_GPU_VIV_BIN_MX6Q is not set -# BR2_TARGET_UBOOT_NETWORK is not set diff --git a/linux/buildroot-config-src/wally/linux.config b/linux/buildroot-config-src/wally/linux.config deleted file mode 100644 index 3c8503dd6..000000000 --- a/linux/buildroot-config-src/wally/linux.config +++ /dev/null @@ -1,1312 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Linux/riscv 5.10.7 Kernel Configuration -# -CONFIG_CC_VERSION_TEXT="riscv64-buildroot-linux-gnu-gcc.br_real (Buildroot -g8d5e37d-dirty) 10.3.0" -CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=100300 -CONFIG_LD_VERSION=235020000 -CONFIG_CLANG_VERSION=0 -CONFIG_LLD_VERSION=0 -CONFIG_CC_CAN_LINK=y -CONFIG_CC_CAN_LINK_STATIC=y -CONFIG_CC_HAS_ASM_GOTO=y -CONFIG_CC_HAS_ASM_INLINE=y -CONFIG_IRQ_WORK=y -CONFIG_THREAD_INFO_IN_TASK=y - -# -# General setup -# -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 -# CONFIG_COMPILE_TEST is not set -CONFIG_LOCALVERSION="" -CONFIG_LOCALVERSION_AUTO=y -CONFIG_BUILD_SALT="" -CONFIG_DEFAULT_INIT="" -CONFIG_DEFAULT_HOSTNAME="WallyDefaultHostname" -CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y -# CONFIG_WATCH_QUEUE is not set -CONFIG_CROSS_MEMORY_ATTACH=y -# CONFIG_USELIB is not set -CONFIG_HAVE_ARCH_AUDITSYSCALL=y - -# -# IRQ subsystem -# -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_IRQ_DOMAIN=y -CONFIG_IRQ_DOMAIN_HIERARCHY=y -CONFIG_HANDLE_DOMAIN_IRQ=y -CONFIG_SPARSE_IRQ=y -# CONFIG_GENERIC_IRQ_DEBUGFS is not set -# end of IRQ subsystem - -CONFIG_GENERIC_IRQ_MULTI_HANDLER=y -CONFIG_ARCH_CLOCKSOURCE_INIT=y -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GENERIC_CLOCKEVENTS=y - -# -# Timers subsystem -# -CONFIG_TICK_ONESHOT=y -CONFIG_NO_HZ_COMMON=y -# CONFIG_HZ_PERIODIC is not set -CONFIG_NO_HZ_IDLE=y -# CONFIG_NO_HZ is not set -# CONFIG_HIGH_RES_TIMERS is not set -# end of Timers subsystem - -CONFIG_PREEMPT_NONE=y -# CONFIG_PREEMPT_VOLUNTARY is not set -# CONFIG_PREEMPT is not set -CONFIG_PREEMPT_COUNT=y - -# -# CPU/Task time and stats accounting -# -CONFIG_TICK_CPU_ACCOUNTING=y -# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_PSI is not set -# end of CPU/Task time and stats accounting - -# -# RCU Subsystem -# -CONFIG_TINY_RCU=y -# CONFIG_RCU_EXPERT is not set -CONFIG_SRCU=y -CONFIG_TINY_SRCU=y -# end of RCU Subsystem - -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -# CONFIG_IKHEADERS is not set -CONFIG_LOG_BUF_SHIFT=17 -CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 -CONFIG_GENERIC_SCHED_CLOCK=y - -# -# Scheduler features -# -# end of Scheduler features - -CONFIG_CC_HAS_INT128=y -CONFIG_ARCH_SUPPORTS_INT128=y -# CONFIG_CGROUPS is not set -# CONFIG_NAMESPACES is not set -# CONFIG_CHECKPOINT_RESTORE is not set -# CONFIG_SCHED_AUTOGROUP is not set -# CONFIG_SYSFS_DEPRECATED is not set -# CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="${BR_BINARIES_DIR}/rootfs.cpio" -CONFIG_INITRAMFS_ROOT_UID=0 -CONFIG_INITRAMFS_ROOT_GID=0 -CONFIG_RD_GZIP=y -# CONFIG_RD_BZIP2 is not set -# CONFIG_RD_LZMA is not set -# CONFIG_RD_XZ is not set -# CONFIG_RD_LZO is not set -# CONFIG_RD_LZ4 is not set -# CONFIG_RD_ZSTD is not set -CONFIG_INITRAMFS_COMPRESSION_GZIP=y -# CONFIG_INITRAMFS_COMPRESSION_NONE is not set -# CONFIG_BOOT_CONFIG is not set -CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_SYSCTL=y -CONFIG_SYSCTL_EXCEPTION_TRACE=y -CONFIG_EXPERT=y -CONFIG_MULTIUSER=y -# CONFIG_SGETMASK_SYSCALL is not set -# CONFIG_SYSFS_SYSCALL is not set -CONFIG_FHANDLE=y -CONFIG_POSIX_TIMERS=y -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_FUTEX_PI=y -CONFIG_HAVE_FUTEX_CMPXCHG=y -CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y -CONFIG_SHMEM=y -CONFIG_AIO=y -CONFIG_IO_URING=y -CONFIG_ADVISE_SYSCALLS=y -CONFIG_MEMBARRIER=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set -CONFIG_KALLSYMS_BASE_RELATIVE=y -# CONFIG_BPF_SYSCALL is not set -# CONFIG_USERFAULTFD is not set -# CONFIG_EMBEDDED is not set -CONFIG_HAVE_PERF_EVENTS=y -# CONFIG_PC104 is not set - -# -# Kernel Performance Events And Counters -# -# CONFIG_PERF_EVENTS is not set -# end of Kernel Performance Events And Counters - -# CONFIG_VM_EVENT_COUNTERS is not set -# CONFIG_SLUB_DEBUG is not set -CONFIG_COMPAT_BRK=y -# CONFIG_SLAB is not set -CONFIG_SLUB=y -# CONFIG_SLOB is not set -CONFIG_SLAB_MERGE_DEFAULT=y -# CONFIG_SLAB_FREELIST_RANDOM is not set -# CONFIG_SLAB_FREELIST_HARDENED is not set -# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set -# CONFIG_PROFILING is not set -# end of General setup - -CONFIG_64BIT=y -CONFIG_RISCV=y -CONFIG_ARCH_MMAP_RND_BITS_MIN=18 -CONFIG_ARCH_MMAP_RND_BITS_MAX=24 -CONFIG_RISCV_SBI=y -CONFIG_MMU=y -CONFIG_ZONE_DMA32=y -CONFIG_VA_BITS=39 -CONFIG_PA_BITS=56 -CONFIG_PAGE_OFFSET=0xffffffff80000000 -CONFIG_ARCH_FLATMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ARCH_WANT_GENERAL_HUGETLB=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y -CONFIG_SYS_SUPPORTS_HUGETLBFS=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_GENERIC_BUG=y -CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_GENERIC_CSUM=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_PGTABLE_LEVELS=3 -CONFIG_LOCKDEP_SUPPORT=y - -# -# SoC selection -# -# CONFIG_SOC_SIFIVE is not set -# CONFIG_SOC_VIRT is not set -# end of SoC selection - -# -# Platform type -# -# CONFIG_ARCH_RV32I is not set -CONFIG_ARCH_RV64I=y -# CONFIG_CMODEL_MEDLOW is not set -CONFIG_CMODEL_MEDANY=y -CONFIG_MAXPHYSMEM_2GB=y -# CONFIG_MAXPHYSMEM_128GB is not set -# CONFIG_SMP is not set -CONFIG_TUNE_GENERIC=y -CONFIG_RISCV_ISA_C=y -CONFIG_FPU=y -# end of Platform type - -# -# Kernel features -# -# CONFIG_HZ_100 is not set -CONFIG_HZ_250=y -# CONFIG_HZ_300 is not set -# CONFIG_HZ_1000 is not set -CONFIG_HZ=250 -# CONFIG_RISCV_SBI_V01 is not set -# end of Kernel features - -# -# Boot options -# -CONFIG_CMDLINE="" -# CONFIG_EFI is not set -# end of Boot options - -# -# Power management options -# -# CONFIG_PM is not set -# end of Power management options - -# -# Firmware Drivers -# -# CONFIG_FIRMWARE_MEMMAP is not set -# CONFIG_GOOGLE_FIRMWARE is not set - -# -# Tegra firmware driver -# -# end of Tegra firmware driver -# end of Firmware Drivers - -# -# General architecture-dependent options -# -CONFIG_JUMP_LABEL=y -# CONFIG_STATIC_KEYS_SELFTEST is not set -CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -CONFIG_HAVE_DMA_CONTIGUOUS=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_ARCH_HAS_SET_MEMORY=y -CONFIG_ARCH_HAS_SET_DIRECT_MAP=y -CONFIG_HAVE_ASM_MODVERSIONS=y -CONFIG_HAVE_PERF_REGS=y -CONFIG_HAVE_PERF_USER_STACK_DUMP=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y -CONFIG_HAVE_ARCH_SECCOMP=y -CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -CONFIG_SECCOMP=y -CONFIG_HAVE_STACKPROTECTOR=y -CONFIG_STACKPROTECTOR=y -CONFIG_STACKPROTECTOR_STRONG=y -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y -CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y -CONFIG_ARCH_HAS_ELF_RANDOMIZE=y -CONFIG_HAVE_ARCH_MMAP_RND_BITS=y -CONFIG_ARCH_MMAP_RND_BITS=18 -CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y -CONFIG_CLONE_BACKWARDS=y -# CONFIG_COMPAT_32BIT_TIME is not set -CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y -CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y -CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y -CONFIG_STRICT_KERNEL_RWX=y -# CONFIG_LOCK_EVENT_COUNTS is not set - -# -# GCOV-based kernel profiling -# -# CONFIG_GCOV_KERNEL is not set -CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y -# end of GCOV-based kernel profiling - -CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set -# end of General architecture-dependent options - -CONFIG_RT_MUTEXES=y -CONFIG_BASE_SMALL=0 -# CONFIG_MODULES is not set -# CONFIG_BLOCK is not set -CONFIG_UNINLINE_SPIN_UNLOCK=y -CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y -CONFIG_ARCH_HAS_MMIOWB=y - -# -# Executable file formats -# -CONFIG_BINFMT_ELF=y -CONFIG_ELFCORE=y -CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y -CONFIG_BINFMT_SCRIPT=y -CONFIG_ARCH_HAS_BINFMT_FLAT=y -# CONFIG_BINFMT_FLAT is not set -# CONFIG_BINFMT_MISC is not set -CONFIG_COREDUMP=y -# end of Executable file formats - -# -# Memory Management options -# -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_FLATMEM_MANUAL=y -# CONFIG_SPARSEMEM_MANUAL is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_SPLIT_PTLOCK_CPUS=4 -CONFIG_COMPACTION=y -CONFIG_PAGE_REPORTING=y -CONFIG_MIGRATION=y -CONFIG_PHYS_ADDR_T_64BIT=y -# CONFIG_KSM is not set -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -CONFIG_NEED_PER_CPU_KM=y -# CONFIG_CLEANCACHE is not set -# CONFIG_CMA is not set -# CONFIG_ZPOOL is not set -# CONFIG_ZBUD is not set -# CONFIG_ZSMALLOC is not set -CONFIG_GENERIC_EARLY_IOREMAP=y -# CONFIG_IDLE_PAGE_TRACKING is not set -# CONFIG_PERCPU_STATS is not set -# CONFIG_GUP_BENCHMARK is not set -CONFIG_ARCH_HAS_PTE_SPECIAL=y -# end of Memory Management options - -# CONFIG_NET is not set -CONFIG_HAVE_EBPF_JIT=y - -# -# Device Drivers -# -CONFIG_HAVE_PCI=y -# CONFIG_PCI is not set -# CONFIG_PCCARD is not set - -# -# Generic Driver Options -# -# CONFIG_UEVENT_HELPER is not set -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y - -# -# Firmware loader -# -CONFIG_FW_LOADER=y -CONFIG_EXTRA_FIRMWARE="" -# CONFIG_FW_LOADER_USER_HELPER is not set -# CONFIG_FW_LOADER_COMPRESS is not set -# end of Firmware loader - -CONFIG_ALLOW_DEV_COREDUMP=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set -# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set -CONFIG_REGMAP=y -CONFIG_REGMAP_MMIO=y -# end of Generic Driver Options - -# -# Bus devices -# -# CONFIG_MHI_BUS is not set -# end of Bus devices - -# CONFIG_GNSS is not set -# CONFIG_MTD is not set -CONFIG_DTC=y -CONFIG_OF=y -# CONFIG_OF_UNITTEST is not set -CONFIG_OF_FLATTREE=y -CONFIG_OF_EARLY_FLATTREE=y -CONFIG_OF_KOBJ=y -CONFIG_OF_ADDRESS=y -CONFIG_OF_IRQ=y -CONFIG_OF_RESERVED_MEM=y -# CONFIG_OF_OVERLAY is not set -# CONFIG_PARPORT is not set - -# -# NVME Support -# -# end of NVME Support - -# -# Misc devices -# -# CONFIG_DUMMY_IRQ is not set -# CONFIG_ENCLOSURE_SERVICES is not set -# CONFIG_SRAM is not set -# CONFIG_XILINX_SDFEC is not set -# CONFIG_PVPANIC is not set -# CONFIG_C2PORT is not set - -# -# EEPROM support -# -# CONFIG_EEPROM_93CX6 is not set -# end of EEPROM support - -# -# Texas Instruments shared transport line discipline -# -# end of Texas Instruments shared transport line discipline - -# -# Altera FPGA firmware download module (requires I2C) -# -# CONFIG_ECHO is not set -# end of Misc devices - -# -# SCSI device support -# -CONFIG_SCSI_MOD=y -# end of SCSI device support - -# -# Input device support -# -CONFIG_INPUT=y -# CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_POLLDEV is not set -# CONFIG_INPUT_SPARSEKMAP is not set -# CONFIG_INPUT_MATRIXKMAP is not set - -# -# Userland interfaces -# -# CONFIG_INPUT_MOUSEDEV is not set -# CONFIG_INPUT_JOYDEV is not set -# CONFIG_INPUT_EVDEV is not set -# CONFIG_INPUT_EVBUG is not set - -# -# Input Device Drivers -# -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set -# CONFIG_INPUT_TOUCHSCREEN is not set -# CONFIG_INPUT_MISC is not set -# CONFIG_RMI4_CORE is not set - -# -# Hardware I/O ports -# -# CONFIG_SERIO is not set -# CONFIG_GAMEPORT is not set -# end of Hardware I/O ports -# end of Input device support - -# -# Character devices -# -CONFIG_TTY=y -CONFIG_VT=y -CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_VT_CONSOLE=y -CONFIG_HW_CONSOLE=y -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_UNIX98_PTYS=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -CONFIG_LDISC_AUTOLOAD=y - -# -# Serial drivers -# -CONFIG_SERIAL_EARLYCON=y -CONFIG_SERIAL_8250=y -# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set -CONFIG_SERIAL_8250_16550A_VARIANTS=y -# CONFIG_SERIAL_8250_FINTEK is not set -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_NR_UARTS=1 -CONFIG_SERIAL_8250_RUNTIME_UARTS=1 -# CONFIG_SERIAL_8250_EXTENDED is not set -# CONFIG_SERIAL_8250_DW is not set -# CONFIG_SERIAL_8250_RT288X is not set -CONFIG_SERIAL_OF_PLATFORM=y - -# -# Non-8250 serial port support -# -# CONFIG_SERIAL_UARTLITE is not set -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -CONFIG_SERIAL_SIFIVE=y -CONFIG_SERIAL_SIFIVE_CONSOLE=y -# CONFIG_SERIAL_SCCNXP is not set -# CONFIG_SERIAL_ALTERA_JTAGUART is not set -# CONFIG_SERIAL_ALTERA_UART is not set -# CONFIG_SERIAL_XILINX_PS_UART is not set -# CONFIG_SERIAL_ARC is not set -# CONFIG_SERIAL_FSL_LPUART is not set -# CONFIG_SERIAL_FSL_LINFLEXUART is not set -# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set -# CONFIG_SERIAL_SPRD is not set -# end of Serial drivers - -CONFIG_SERIAL_MCTRL_GPIO=y -# CONFIG_SERIAL_NONSTANDARD is not set -# CONFIG_NULL_TTY is not set -# CONFIG_TRACE_SINK is not set -CONFIG_HVC_DRIVER=y -# CONFIG_SERIAL_DEV_BUS is not set -# CONFIG_TTY_PRINTK is not set -CONFIG_VIRTIO_CONSOLE=y -# CONFIG_IPMI_HANDLER is not set -CONFIG_HW_RANDOM=y -# CONFIG_HW_RANDOM_TIMERIOMEM is not set -# CONFIG_HW_RANDOM_BA431 is not set -CONFIG_HW_RANDOM_VIRTIO=y -# CONFIG_HW_RANDOM_CCTRNG is not set -# CONFIG_HW_RANDOM_XIPHERA is not set -CONFIG_DEVMEM=y -# CONFIG_DEVKMEM is not set -# CONFIG_TCG_TPM is not set -# CONFIG_XILLYBUS is not set -# end of Character devices - -# CONFIG_RANDOM_TRUST_BOOTLOADER is not set - -# -# I2C support -# -# CONFIG_I2C is not set -# end of I2C support - -# CONFIG_I3C is not set -# CONFIG_SPI is not set -# CONFIG_SPMI is not set -# CONFIG_HSI is not set -# CONFIG_PPS is not set - -# -# PTP clock support -# - -# -# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. -# -# end of PTP clock support - -# CONFIG_PINCTRL is not set -CONFIG_GPIOLIB=y -CONFIG_GPIOLIB_FASTPATH_LIMIT=32 -CONFIG_OF_GPIO=y -CONFIG_GPIOLIB_IRQCHIP=y -# CONFIG_DEBUG_GPIO is not set -# CONFIG_GPIO_SYSFS is not set -CONFIG_GPIO_CDEV=y -# CONFIG_GPIO_CDEV_V1 is not set -CONFIG_GPIO_GENERIC=y - -# -# Memory mapped GPIO drivers -# -# CONFIG_GPIO_74XX_MMIO is not set -# CONFIG_GPIO_ALTERA is not set -# CONFIG_GPIO_CADENCE is not set -# CONFIG_GPIO_DWAPB is not set -# CONFIG_GPIO_FTGPIO010 is not set -# CONFIG_GPIO_GENERIC_PLATFORM is not set -# CONFIG_GPIO_GRGPIO is not set -# CONFIG_GPIO_HLWD is not set -# CONFIG_GPIO_MB86S7X is not set -CONFIG_GPIO_SIFIVE=y -# CONFIG_GPIO_XILINX is not set -# CONFIG_GPIO_AMD_FCH is not set -# end of Memory mapped GPIO drivers - -# -# MFD GPIO expanders -# -# end of MFD GPIO expanders - -# CONFIG_GPIO_AGGREGATOR is not set -# CONFIG_GPIO_MOCKUP is not set -# CONFIG_W1 is not set -# CONFIG_POWER_RESET is not set -# CONFIG_POWER_SUPPLY is not set -# CONFIG_HWMON is not set -# CONFIG_THERMAL is not set -# CONFIG_WATCHDOG is not set -CONFIG_SSB_POSSIBLE=y -# CONFIG_SSB is not set -CONFIG_BCMA_POSSIBLE=y -# CONFIG_BCMA is not set - -# -# Multifunction device drivers -# -# CONFIG_MFD_ATMEL_FLEXCOM is not set -# CONFIG_MFD_ATMEL_HLCDC is not set -# CONFIG_MFD_MADERA is not set -# CONFIG_MFD_HI6421_PMIC is not set -# CONFIG_HTC_PASIC3 is not set -# CONFIG_MFD_KEMPLD is not set -# CONFIG_MFD_MT6397 is not set -# CONFIG_MFD_SM501 is not set -# CONFIG_ABX500_CORE is not set -# CONFIG_MFD_SYSCON is not set -# CONFIG_MFD_TI_AM335X_TSCADC is not set -# CONFIG_MFD_TQMX86 is not set -# end of Multifunction device drivers - -# CONFIG_REGULATOR is not set -# CONFIG_RC_CORE is not set -# CONFIG_MEDIA_CEC_SUPPORT is not set -# CONFIG_MEDIA_SUPPORT is not set - -# -# Graphics support -# -# CONFIG_DRM is not set - -# -# ARM devices -# -# end of ARM devices - -# -# Frame buffer Devices -# -# CONFIG_FB is not set -# end of Frame buffer Devices - -# -# Backlight & LCD device support -# -# CONFIG_LCD_CLASS_DEVICE is not set -# CONFIG_BACKLIGHT_CLASS_DEVICE is not set -# end of Backlight & LCD device support - -# -# Console display driver support -# -# CONFIG_VGA_CONSOLE is not set -CONFIG_DUMMY_CONSOLE=y -CONFIG_DUMMY_CONSOLE_COLUMNS=80 -CONFIG_DUMMY_CONSOLE_ROWS=25 -# end of Console display driver support -# end of Graphics support - -# CONFIG_SOUND is not set - -# -# HID support -# -# CONFIG_HID is not set -# end of HID support - -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -# CONFIG_USB_SUPPORT is not set -# CONFIG_MMC is not set -# CONFIG_MEMSTICK is not set -# CONFIG_NEW_LEDS is not set -# CONFIG_ACCESSIBILITY is not set -CONFIG_EDAC_SUPPORT=y -# CONFIG_RTC_CLASS is not set -# CONFIG_DMADEVICES is not set - -# -# DMABUF options -# -# CONFIG_SYNC_FILE is not set -# CONFIG_DMABUF_MOVE_NOTIFY is not set -# CONFIG_DMABUF_HEAPS is not set -# end of DMABUF options - -# CONFIG_AUXDISPLAY is not set -# CONFIG_UIO is not set -# CONFIG_VIRT_DRIVERS is not set -CONFIG_VIRTIO=y -# CONFIG_VIRTIO_MENU is not set -# CONFIG_VDPA is not set -# CONFIG_VHOST_MENU is not set - -# -# Microsoft Hyper-V guest support -# -# end of Microsoft Hyper-V guest support - -# CONFIG_GREYBUS is not set -# CONFIG_STAGING is not set -# CONFIG_GOLDFISH is not set -CONFIG_HAVE_CLK=y -CONFIG_CLKDEV_LOOKUP=y -CONFIG_HAVE_CLK_PREPARE=y -CONFIG_COMMON_CLK=y -# CONFIG_COMMON_CLK_FIXED_MMIO is not set -# CONFIG_CLK_SIFIVE is not set -# CONFIG_HWSPINLOCK is not set - -# -# Clock Source drivers -# -CONFIG_TIMER_OF=y -CONFIG_TIMER_PROBE=y -CONFIG_RISCV_TIMER=y -# CONFIG_MICROCHIP_PIT64B is not set -# end of Clock Source drivers - -# CONFIG_MAILBOX is not set -# CONFIG_IOMMU_SUPPORT is not set - -# -# Remoteproc drivers -# -# CONFIG_REMOTEPROC is not set -# end of Remoteproc drivers - -# -# Rpmsg drivers -# -# CONFIG_RPMSG_VIRTIO is not set -# end of Rpmsg drivers - -# CONFIG_SOUNDWIRE is not set - -# -# SOC (System On Chip) specific Drivers -# - -# -# Amlogic SoC drivers -# -# end of Amlogic SoC drivers - -# -# Aspeed SoC drivers -# -# end of Aspeed SoC drivers - -# -# Broadcom SoC drivers -# -# end of Broadcom SoC drivers - -# -# NXP/Freescale QorIQ SoC drivers -# -# end of NXP/Freescale QorIQ SoC drivers - -# -# i.MX SoC drivers -# -# end of i.MX SoC drivers - -# -# Qualcomm SoC drivers -# -# end of Qualcomm SoC drivers - -# CONFIG_SOC_TI is not set - -# -# Xilinx SoC drivers -# -# CONFIG_XILINX_VCU is not set -# end of Xilinx SoC drivers -# end of SOC (System On Chip) specific Drivers - -# CONFIG_PM_DEVFREQ is not set -# CONFIG_EXTCON is not set -# CONFIG_MEMORY is not set -# CONFIG_IIO is not set -# CONFIG_PWM is not set - -# -# IRQ chip support -# -CONFIG_IRQCHIP=y -# CONFIG_AL_FIC is not set -CONFIG_RISCV_INTC=y -CONFIG_SIFIVE_PLIC=y -# end of IRQ chip support - -# CONFIG_IPACK_BUS is not set -# CONFIG_RESET_CONTROLLER is not set - -# -# PHY Subsystem -# -# CONFIG_GENERIC_PHY is not set -# CONFIG_BCM_KONA_USB2_PHY is not set -# CONFIG_PHY_CADENCE_TORRENT is not set -# CONFIG_PHY_CADENCE_DPHY is not set -# CONFIG_PHY_CADENCE_SALVO is not set -# CONFIG_PHY_FSL_IMX8MQ_USB is not set -# CONFIG_PHY_MIXEL_MIPI_DPHY is not set -# CONFIG_PHY_PXA_28NM_HSIC is not set -# CONFIG_PHY_PXA_28NM_USB2 is not set -# end of PHY Subsystem - -# CONFIG_POWERCAP is not set -# CONFIG_MCB is not set -# CONFIG_RAS is not set - -# -# Android -# -# CONFIG_ANDROID is not set -# end of Android - -# CONFIG_DAX is not set -# CONFIG_NVMEM is not set - -# -# HW tracing support -# -# CONFIG_STM is not set -# CONFIG_INTEL_TH is not set -# end of HW tracing support - -# CONFIG_FPGA is not set -# CONFIG_FSI is not set -# CONFIG_SIOX is not set -# CONFIG_SLIMBUS is not set -# CONFIG_INTERCONNECT is not set -# CONFIG_COUNTER is not set -# end of Device Drivers - -# -# File systems -# -# CONFIG_VALIDATE_FS_PARSER is not set -CONFIG_FS_POSIX_ACL=y -CONFIG_EXPORTFS=y -# CONFIG_EXPORTFS_BLOCK_OPS is not set -CONFIG_FILE_LOCKING=y -CONFIG_MANDATORY_FILE_LOCKING=y -# CONFIG_FS_ENCRYPTION is not set -# CONFIG_FS_VERITY is not set -CONFIG_FSNOTIFY=y -CONFIG_DNOTIFY=y -CONFIG_INOTIFY_USER=y -# CONFIG_FANOTIFY is not set -# CONFIG_QUOTA is not set -# CONFIG_AUTOFS4_FS is not set -CONFIG_AUTOFS_FS=y -# CONFIG_FUSE_FS is not set -# CONFIG_OVERLAY_FS is not set - -# -# Caches -# -# CONFIG_FSCACHE is not set -# end of Caches - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -# CONFIG_PROC_KCORE is not set -CONFIG_PROC_SYSCTL=y -CONFIG_PROC_PAGE_MONITOR=y -CONFIG_PROC_CHILDREN=y -CONFIG_KERNFS=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_TMPFS_XATTR=y -# CONFIG_TMPFS_INODE64 is not set -# CONFIG_HUGETLBFS is not set -CONFIG_MEMFD_CREATE=y -CONFIG_ARCH_HAS_GIGANTIC_PAGE=y -# CONFIG_CONFIGFS_FS is not set -# end of Pseudo filesystems - -# CONFIG_MISC_FILESYSTEMS is not set -# CONFIG_NLS is not set -# CONFIG_UNICODE is not set -CONFIG_IO_WQ=y -# end of File systems - -# -# Security options -# -# CONFIG_KEYS is not set -# CONFIG_SECURITY_DMESG_RESTRICT is not set -# CONFIG_SECURITY is not set -# CONFIG_SECURITYFS is not set -CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y -# CONFIG_HARDENED_USERCOPY is not set -# CONFIG_STATIC_USERMODEHELPER is not set -CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf" - -# -# Kernel hardening options -# - -# -# Memory initialization -# -CONFIG_INIT_STACK_NONE=y -# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set -# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set -# end of Memory initialization -# end of Kernel hardening options -# end of Security options - -CONFIG_CRYPTO=y - -# -# Crypto core or helper -# -# CONFIG_CRYPTO_MANAGER is not set -# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_CRYPTD is not set -# CONFIG_CRYPTO_AUTHENC is not set - -# -# Public-key cryptography -# -# CONFIG_CRYPTO_RSA is not set -# CONFIG_CRYPTO_DH is not set -# CONFIG_CRYPTO_ECDH is not set -# CONFIG_CRYPTO_ECRDSA is not set -# CONFIG_CRYPTO_SM2 is not set -# CONFIG_CRYPTO_CURVE25519 is not set - -# -# Authenticated Encryption with Associated Data -# -# CONFIG_CRYPTO_CCM is not set -# CONFIG_CRYPTO_GCM is not set -# CONFIG_CRYPTO_CHACHA20POLY1305 is not set -# CONFIG_CRYPTO_AEGIS128 is not set -# CONFIG_CRYPTO_SEQIV is not set -# CONFIG_CRYPTO_ECHAINIV is not set - -# -# Block modes -# -# CONFIG_CRYPTO_CBC is not set -# CONFIG_CRYPTO_CFB is not set -# CONFIG_CRYPTO_CTR is not set -# CONFIG_CRYPTO_CTS is not set -# CONFIG_CRYPTO_ECB is not set -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_OFB is not set -# CONFIG_CRYPTO_PCBC is not set -# CONFIG_CRYPTO_XTS is not set -# CONFIG_CRYPTO_KEYWRAP is not set -# CONFIG_CRYPTO_ADIANTUM is not set -# CONFIG_CRYPTO_ESSIV is not set - -# -# Hash modes -# -# CONFIG_CRYPTO_CMAC is not set -# CONFIG_CRYPTO_HMAC is not set -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_VMAC is not set - -# -# Digest -# -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_CRC32 is not set -# CONFIG_CRYPTO_XXHASH is not set -# CONFIG_CRYPTO_BLAKE2B is not set -# CONFIG_CRYPTO_BLAKE2S is not set -# CONFIG_CRYPTO_CRCT10DIF is not set -# CONFIG_CRYPTO_GHASH is not set -# CONFIG_CRYPTO_POLY1305 is not set -# CONFIG_CRYPTO_MD4 is not set -# CONFIG_CRYPTO_MD5 is not set -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_RMD128 is not set -# CONFIG_CRYPTO_RMD160 is not set -# CONFIG_CRYPTO_RMD256 is not set -# CONFIG_CRYPTO_RMD320 is not set -# CONFIG_CRYPTO_SHA1 is not set -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_SHA3 is not set -# CONFIG_CRYPTO_SM3 is not set -# CONFIG_CRYPTO_STREEBOG is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_WP512 is not set - -# -# Ciphers -# -# CONFIG_CRYPTO_AES is not set -# CONFIG_CRYPTO_AES_TI is not set -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_DES is not set -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_SALSA20 is not set -# CONFIG_CRYPTO_CHACHA20 is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_SM4 is not set -# CONFIG_CRYPTO_TWOFISH is not set - -# -# Compression -# -# CONFIG_CRYPTO_DEFLATE is not set -# CONFIG_CRYPTO_LZO is not set -# CONFIG_CRYPTO_842 is not set -# CONFIG_CRYPTO_LZ4 is not set -# CONFIG_CRYPTO_LZ4HC is not set -# CONFIG_CRYPTO_ZSTD is not set - -# -# Random Number Generation -# -# CONFIG_CRYPTO_ANSI_CPRNG is not set -# CONFIG_CRYPTO_DRBG_MENU is not set -# CONFIG_CRYPTO_JITTERENTROPY is not set - -# -# Crypto library routines -# -# CONFIG_CRYPTO_LIB_BLAKE2S is not set -# CONFIG_CRYPTO_LIB_CHACHA is not set -# CONFIG_CRYPTO_LIB_CURVE25519 is not set -CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 -# CONFIG_CRYPTO_LIB_POLY1305 is not set -# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set -# CONFIG_CRYPTO_HW is not set - -# -# Certificates for signature checking -# -# end of Certificates for signature checking - -# -# Library routines -# -# CONFIG_PACKING is not set -CONFIG_BITREVERSE=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -# CONFIG_CORDIC is not set -# CONFIG_PRIME_NUMBERS is not set -CONFIG_RATIONAL=y -CONFIG_GENERIC_PCI_IOMAP=y -# CONFIG_CRC_CCITT is not set -# CONFIG_CRC16 is not set -# CONFIG_CRC_T10DIF is not set -# CONFIG_CRC_ITU_T is not set -CONFIG_CRC32=y -# CONFIG_CRC32_SELFTEST is not set -CONFIG_CRC32_SLICEBY8=y -# CONFIG_CRC32_SLICEBY4 is not set -# CONFIG_CRC32_SARWATE is not set -# CONFIG_CRC32_BIT is not set -# CONFIG_CRC64 is not set -# CONFIG_CRC4 is not set -# CONFIG_CRC7 is not set -# CONFIG_LIBCRC32C is not set -# CONFIG_CRC8 is not set -# CONFIG_RANDOM32_SELFTEST is not set -CONFIG_ZLIB_INFLATE=y -# CONFIG_XZ_DEC is not set -CONFIG_DECOMPRESS_GZIP=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HAS_DMA=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_DMA_DECLARE_COHERENT=y -CONFIG_SWIOTLB=y -# CONFIG_DMA_API_DEBUG is not set -# CONFIG_IRQ_POLL is not set -CONFIG_LIBFDT=y -CONFIG_HAVE_GENERIC_VDSO=y -CONFIG_GENERIC_GETTIMEOFDAY=y -# CONFIG_STRING_SELFTEST is not set -# end of Library routines - -CONFIG_GENERIC_IOREMAP=y - -# -# Kernel hacking -# - -# -# printk and dmesg options -# -CONFIG_PRINTK_TIME=y -# CONFIG_PRINTK_CALLER is not set -CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 -CONFIG_CONSOLE_LOGLEVEL_QUIET=4 -CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 -# CONFIG_BOOT_PRINTK_DELAY is not set -# CONFIG_DYNAMIC_DEBUG is not set -# CONFIG_DYNAMIC_DEBUG_CORE is not set -CONFIG_SYMBOLIC_ERRNAME=y -CONFIG_DEBUG_BUGVERBOSE=y -# end of printk and dmesg options - -# -# Compile-time checks and compiler options -# -CONFIG_DEBUG_INFO=y -# CONFIG_DEBUG_INFO_REDUCED is not set -# CONFIG_DEBUG_INFO_COMPRESSED is not set -# CONFIG_DEBUG_INFO_SPLIT is not set -# CONFIG_DEBUG_INFO_DWARF4 is not set -# CONFIG_DEBUG_INFO_BTF is not set -CONFIG_GDB_SCRIPTS=y -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_FRAME_WARN=2048 -# CONFIG_STRIP_ASM_SYMS is not set -CONFIG_READABLE_ASM=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -CONFIG_SECTION_MISMATCH_WARN_ONLY=y -# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set -CONFIG_ARCH_WANT_FRAME_POINTERS=y -CONFIG_FRAME_POINTER=y -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -# end of Compile-time checks and compiler options - -# -# Generic Kernel Debugging Instruments -# -# CONFIG_MAGIC_SYSRQ is not set -CONFIG_DEBUG_FS=y -CONFIG_DEBUG_FS_ALLOW_ALL=y -# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set -# CONFIG_DEBUG_FS_ALLOW_NONE is not set -CONFIG_HAVE_ARCH_KGDB=y -CONFIG_HAVE_ARCH_KGDB_QXFER_PKT=y -# CONFIG_KGDB is not set -# CONFIG_UBSAN is not set -# end of Generic Kernel Debugging Instruments - -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_MISC=y - -# -# Memory Debugging -# -# CONFIG_PAGE_EXTENSION is not set -CONFIG_DEBUG_PAGEALLOC=y -# CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT is not set -# CONFIG_PAGE_OWNER is not set -# CONFIG_PAGE_POISONING is not set -# CONFIG_DEBUG_RODATA_TEST is not set -CONFIG_ARCH_HAS_DEBUG_WX=y -# CONFIG_DEBUG_WX is not set -CONFIG_GENERIC_PTDUMP=y -# CONFIG_PTDUMP_DEBUGFS is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SLUB_STATS is not set -CONFIG_HAVE_DEBUG_KMEMLEAK=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_DEBUG_STACK_USAGE is not set -CONFIG_SCHED_STACK_END_CHECK=y -CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y -CONFIG_DEBUG_VM=y -# CONFIG_DEBUG_VM_VMACACHE is not set -# CONFIG_DEBUG_VM_RB is not set -CONFIG_DEBUG_VM_PGFLAGS=y -CONFIG_DEBUG_VM_PGTABLE=y -CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y -# CONFIG_DEBUG_VIRTUAL is not set -CONFIG_DEBUG_MEMORY_INIT=y -CONFIG_HAVE_ARCH_KASAN=y -CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y -# end of Memory Debugging - -# CONFIG_DEBUG_SHIRQ is not set - -# -# Debug Oops, Lockups and Hangs -# -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -CONFIG_PANIC_TIMEOUT=0 -CONFIG_LOCKUP_DETECTOR=y -CONFIG_SOFTLOCKUP_DETECTOR=y -# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set -CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 -CONFIG_DETECT_HUNG_TASK=y -CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 -# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set -CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 -CONFIG_WQ_WATCHDOG=y -# end of Debug Oops, Lockups and Hangs - -# -# Scheduler Debugging -# -CONFIG_SCHED_DEBUG=y -# CONFIG_SCHEDSTATS is not set -# end of Scheduler Debugging - -CONFIG_DEBUG_TIMEKEEPING=y - -# -# Lock Debugging (spinlocks, mutexes, etc...) -# -CONFIG_LOCK_DEBUGGING_SUPPORT=y -# CONFIG_PROVE_LOCKING is not set -# CONFIG_LOCK_STAT is not set -CONFIG_DEBUG_RT_MUTEXES=y -CONFIG_DEBUG_SPINLOCK=y -CONFIG_DEBUG_MUTEXES=y -# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set -CONFIG_DEBUG_RWSEMS=y -# CONFIG_DEBUG_LOCK_ALLOC is not set -CONFIG_DEBUG_ATOMIC_SLEEP=y -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_LOCK_TORTURE_TEST is not set -# CONFIG_WW_MUTEX_SELFTEST is not set -# CONFIG_SCF_TORTURE_TEST is not set -# CONFIG_CSD_LOCK_WAIT_DEBUG is not set -# end of Lock Debugging (spinlocks, mutexes, etc...) - -CONFIG_STACKTRACE=y -# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set -# CONFIG_DEBUG_KOBJECT is not set - -# -# Debug kernel data structures -# -CONFIG_DEBUG_LIST=y -CONFIG_DEBUG_PLIST=y -CONFIG_DEBUG_SG=y -# CONFIG_DEBUG_NOTIFIERS is not set -# CONFIG_BUG_ON_DATA_CORRUPTION is not set -# end of Debug kernel data structures - -# CONFIG_DEBUG_CREDENTIALS is not set - -# -# RCU Debugging -# -# CONFIG_RCU_SCALE_TEST is not set -# CONFIG_RCU_TORTURE_TEST is not set -# CONFIG_RCU_REF_SCALE_TEST is not set -# CONFIG_RCU_TRACE is not set -CONFIG_RCU_EQS_DEBUG=y -# end of RCU Debugging - -# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set -# CONFIG_LATENCYTOP is not set -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_TRACING_SUPPORT=y -# CONFIG_FTRACE is not set -# CONFIG_SAMPLES is not set - -# -# riscv Debugging -# - -# -# Kernel Testing and Coverage -# -# CONFIG_KUNIT is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -# CONFIG_FAULT_INJECTION is not set -CONFIG_ARCH_HAS_KCOV=y -CONFIG_CC_HAS_SANCOV_TRACE_PC=y -# CONFIG_KCOV is not set -# CONFIG_RUNTIME_TESTING_MENU is not set -CONFIG_MEMTEST=y -# end of Kernel Testing and Coverage -# end of Kernel hacking diff --git a/linux/buildroot-config-src/wally/main.config b/linux/buildroot-config-src/wally/main.config deleted file mode 100644 index 7e5f68df7..000000000 --- a/linux/buildroot-config-src/wally/main.config +++ /dev/null @@ -1,3807 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Buildroot 2021.05 Configuration -# -BR2_HAVE_DOT_CONFIG=y -BR2_HOST_GCC_AT_LEAST_4_9=y -BR2_HOST_GCC_AT_LEAST_5=y -BR2_HOST_GCC_AT_LEAST_6=y -BR2_HOST_GCC_AT_LEAST_7=y -BR2_HOST_GCC_AT_LEAST_8=y -BR2_HOST_GCC_AT_LEAST_9=y - -# -# Target options -# -BR2_ARCH_IS_64=y -BR2_ARCH_HAS_MMU_MANDATORY=y -# BR2_arcle is not set -# BR2_arceb is not set -# BR2_arm is not set -# BR2_armeb is not set -# BR2_aarch64 is not set -# BR2_aarch64_be is not set -# BR2_csky is not set -# BR2_i386 is not set -# BR2_m68k is not set -# BR2_microblazeel is not set -# BR2_microblazebe is not set -# BR2_mips is not set -# BR2_mipsel is not set -# BR2_mips64 is not set -# BR2_mips64el is not set -# BR2_nds32 is not set -# BR2_nios2 is not set -# BR2_or1k is not set -# BR2_powerpc is not set -# BR2_powerpc64 is not set -# BR2_powerpc64le is not set -BR2_riscv=y -# BR2_s390x is not set -# BR2_sh is not set -# BR2_sparc is not set -# BR2_sparc64 is not set -# BR2_x86_64 is not set -# BR2_xtensa is not set -BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT=y -BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8=y -BR2_ARCH_NEEDS_GCC_AT_LEAST_4_9=y -BR2_ARCH_NEEDS_GCC_AT_LEAST_5=y -BR2_ARCH_NEEDS_GCC_AT_LEAST_6=y -BR2_ARCH_NEEDS_GCC_AT_LEAST_7=y -BR2_ARCH="riscv64" -BR2_ENDIAN="LITTLE" -BR2_GCC_TARGET_ABI="lp64d" -BR2_BINFMT_SUPPORTS_SHARED=y -BR2_READELF_ARCH_NAME="RISC-V" -BR2_BINFMT_ELF=y -BR2_RISCV_ISA_RVI=y -BR2_RISCV_ISA_RVM=y -BR2_RISCV_ISA_RVA=y -BR2_RISCV_ISA_RVF=y -BR2_RISCV_ISA_RVD=y -BR2_riscv_g=y -# BR2_riscv_custom is not set -# BR2_RISCV_32 is not set -BR2_RISCV_64=y -# BR2_RISCV_ABI_LP64 is not set -# BR2_RISCV_ABI_LP64F is not set -BR2_RISCV_ABI_LP64D=y - -# -# Build options -# - -# -# Commands -# -BR2_WGET="wget --passive-ftp -nd -t 3" -BR2_SVN="svn --non-interactive" -BR2_BZR="bzr" -BR2_GIT="git" -BR2_CVS="cvs" -BR2_LOCALFILES="cp" -BR2_SCP="scp" -BR2_HG="hg" -BR2_ZCAT="gzip -d -c" -BR2_BZCAT="bzcat" -BR2_XZCAT="xzcat" -BR2_LZCAT="lzip -d -c" -BR2_TAR_OPTIONS="" -BR2_DEFCONFIG="./board/wally/main.config" -BR2_DL_DIR="$(TOPDIR)/dl" -BR2_HOST_DIR="$(BASE_DIR)/host" - -# -# Mirrors and Download locations -# -BR2_PRIMARY_SITE="" -BR2_BACKUP_SITE="http://sources.buildroot.net" -BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub" -BR2_GNU_MIRROR="http://ftpmirror.gnu.org" -BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org" -BR2_CPAN_MIRROR="http://cpan.metacpan.org" -BR2_JLEVEL=0 -# BR2_CCACHE is not set -BR2_ENABLE_DEBUG=y -# BR2_DEBUG_1 is not set -# BR2_DEBUG_2 is not set -BR2_DEBUG_3=y -# BR2_STRIP_strip is not set -# BR2_OPTIMIZE_0 is not set -# BR2_OPTIMIZE_1 is not set -# BR2_OPTIMIZE_2 is not set -# BR2_OPTIMIZE_3 is not set -# BR2_OPTIMIZE_G is not set -BR2_OPTIMIZE_S=y -# BR2_OPTIMIZE_FAST is not set -# BR2_STATIC_LIBS is not set -BR2_SHARED_LIBS=y -# BR2_SHARED_STATIC_LIBS is not set -BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk" -BR2_GLOBAL_PATCH_DIR="" - -# -# Advanced -# -BR2_COMPILER_PARANOID_UNSAFE_PATH=y -# BR2_FORCE_HOST_BUILD is not set -# BR2_REPRODUCIBLE is not set -# BR2_PER_PACKAGE_DIRECTORIES is not set - -# -# Security Hardening Options -# -# BR2_PIC_PIE is not set -BR2_SSP_NONE=y -# BR2_SSP_REGULAR is not set -# BR2_SSP_STRONG is not set -# BR2_SSP_ALL is not set -BR2_RELRO_NONE=y -# BR2_RELRO_PARTIAL is not set -# BR2_RELRO_FULL is not set -BR2_FORTIFY_SOURCE_NONE=y -# BR2_FORTIFY_SOURCE_1 is not set -# BR2_FORTIFY_SOURCE_2 is not set - -# -# Toolchain -# -BR2_TOOLCHAIN=y -BR2_TOOLCHAIN_USES_GLIBC=y -BR2_TOOLCHAIN_BUILDROOT=y -# BR2_TOOLCHAIN_EXTERNAL is not set - -# -# Toolchain Buildroot Options -# -BR2_TOOLCHAIN_BUILDROOT_VENDOR="buildroot" -# BR2_TOOLCHAIN_BUILDROOT_UCLIBC is not set -BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -# BR2_TOOLCHAIN_BUILDROOT_MUSL is not set -BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" - -# -# Kernel Header Options -# -BR2_KERNEL_HEADERS_AS_KERNEL=y -# BR2_KERNEL_HEADERS_4_19 is not set -# BR2_KERNEL_HEADERS_5_4 is not set -# BR2_KERNEL_HEADERS_5_10 is not set -# BR2_KERNEL_HEADERS_5_11 is not set -# BR2_KERNEL_HEADERS_5_12 is not set -# BR2_KERNEL_HEADERS_VERSION is not set -# BR2_KERNEL_HEADERS_CUSTOM_TARBALL is not set -# BR2_KERNEL_HEADERS_CUSTOM_GIT is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_11 is not set -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_9 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_8 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_5 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_2 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_1 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_20 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_5 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_3 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_2 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_19 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_17 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_16 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_15 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_13 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_12 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_11 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_8 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_7 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_6 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_5 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_3 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_2 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_1 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0 is not set -# BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD is not set -BR2_PACKAGE_LINUX_HEADERS=y - -# -# Glibc Options -# -BR2_PACKAGE_GLIBC=y -# BR2_PACKAGE_GLIBC_UTILS is not set - -# -# Binutils Options -# -BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI=y -# BR2_BINUTILS_VERSION_2_32_X is not set -# BR2_BINUTILS_VERSION_2_34_X is not set -BR2_BINUTILS_VERSION_2_35_X=y -# BR2_BINUTILS_VERSION_2_36_X is not set -BR2_BINUTILS_VERSION="2.35.2" -BR2_BINUTILS_EXTRA_CONFIG_OPTIONS="" - -# -# GCC Options -# -# BR2_GCC_VERSION_8_X is not set -# BR2_GCC_VERSION_9_X is not set -BR2_GCC_VERSION_10_X=y -BR2_GCC_VERSION="10.3.0" -BR2_EXTRA_GCC_CONFIG_OPTIONS="" -# BR2_TOOLCHAIN_BUILDROOT_CXX is not set -# BR2_TOOLCHAIN_BUILDROOT_FORTRAN is not set -# BR2_GCC_ENABLE_LTO is not set -# BR2_GCC_ENABLE_OPENMP is not set -# BR2_GCC_ENABLE_GRAPHITE is not set - -# -# Toolchain Generic Options -# -BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS=y -BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK=y -BR2_USE_WCHAR=y -BR2_ENABLE_LOCALE=y -BR2_TOOLCHAIN_HAS_THREADS=y -BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y -BR2_TOOLCHAIN_HAS_THREADS_NPTL=y -BR2_TOOLCHAIN_HAS_SSP=y -BR2_TOOLCHAIN_HAS_SSP_STRONG=y -BR2_TOOLCHAIN_HAS_UCONTEXT=y -BR2_TOOLCHAIN_SUPPORTS_PIE=y -# BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY is not set -BR2_TOOLCHAIN_EXTRA_LIBS="" -BR2_TOOLCHAIN_HAS_FULL_GETTEXT=y -BR2_USE_MMU=y -BR2_TARGET_OPTIMIZATION="" -BR2_TARGET_LDFLAGS="" -# BR2_ECLIPSE_REGISTER is not set -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10=y -BR2_TOOLCHAIN_HEADERS_AT_LEAST="5.10" -BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_6=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_7=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_8=y -BR2_TOOLCHAIN_GCC_AT_LEAST_4_9=y -BR2_TOOLCHAIN_GCC_AT_LEAST_5=y -BR2_TOOLCHAIN_GCC_AT_LEAST_6=y -BR2_TOOLCHAIN_GCC_AT_LEAST_7=y -BR2_TOOLCHAIN_GCC_AT_LEAST_8=y -BR2_TOOLCHAIN_GCC_AT_LEAST_9=y -BR2_TOOLCHAIN_GCC_AT_LEAST_10=y -BR2_TOOLCHAIN_GCC_AT_LEAST="10" -BR2_TOOLCHAIN_HAS_MNAN_OPTION=y -BR2_TOOLCHAIN_HAS_SYNC_1=y -BR2_TOOLCHAIN_HAS_SYNC_2=y -BR2_TOOLCHAIN_HAS_SYNC_4=y -BR2_TOOLCHAIN_HAS_SYNC_8=y -BR2_TOOLCHAIN_HAS_LIBATOMIC=y -BR2_TOOLCHAIN_HAS_ATOMIC=y - -# -# System configuration -# -BR2_ROOTFS_SKELETON_DEFAULT=y -# BR2_ROOTFS_SKELETON_CUSTOM is not set -BR2_TARGET_GENERIC_HOSTNAME="WallyHostname" -BR2_TARGET_GENERIC_ISSUE="Greetings! This RISC-V Linux image was built for Wally on Buildroot!" -BR2_TARGET_GENERIC_PASSWD_SHA256=y -# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set -BR2_TARGET_GENERIC_PASSWD_METHOD="sha-256" -BR2_INIT_BUSYBOX=y -# BR2_INIT_SYSV is not set -# BR2_INIT_OPENRC is not set -# BR2_INIT_SYSTEMD is not set -# BR2_INIT_NONE is not set -# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set -BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y -# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set -# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set -BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt" -# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set -# BR2_ROOTFS_MERGED_USR is not set -BR2_TARGET_ENABLE_ROOT_LOGIN=y -BR2_TARGET_GENERIC_ROOT_PASSWD="" -BR2_SYSTEM_BIN_SH_BUSYBOX=y - -# -# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS -# -# BR2_SYSTEM_BIN_SH_NONE is not set -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="console" -BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set -# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set -BR2_TARGET_GENERIC_GETTY_BAUDRATE="0" -BR2_TARGET_GENERIC_GETTY_TERM="vt100" -BR2_TARGET_GENERIC_GETTY_OPTIONS="" -BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y -BR2_SYSTEM_DHCP="eth0" -BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin" -BR2_ENABLE_LOCALE_PURGE=y -BR2_ENABLE_LOCALE_WHITELIST="C en_US" -BR2_GENERATE_LOCALE="" -# BR2_SYSTEM_ENABLE_NLS is not set -# BR2_TARGET_TZ_INFO is not set -BR2_ROOTFS_USERS_TABLES="" -BR2_ROOTFS_OVERLAY="./board/wally/rootfs_overlay" -BR2_ROOTFS_POST_BUILD_SCRIPT="" -BR2_ROOTFS_POST_FAKEROOT_SCRIPT="" -BR2_ROOTFS_POST_IMAGE_SCRIPT="" - -# -# Kernel -# -BR2_LINUX_KERNEL=y -# BR2_LINUX_KERNEL_LATEST_VERSION is not set -# BR2_LINUX_KERNEL_LATEST_CIP_VERSION is not set -# BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION is not set -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -# BR2_LINUX_KERNEL_CUSTOM_TARBALL is not set -# BR2_LINUX_KERNEL_CUSTOM_GIT is not set -# BR2_LINUX_KERNEL_CUSTOM_HG is not set -# BR2_LINUX_KERNEL_CUSTOM_SVN is not set -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.7" -BR2_LINUX_KERNEL_VERSION="5.10.7" -BR2_LINUX_KERNEL_PATCH="" -# BR2_LINUX_KERNEL_USE_DEFCONFIG is not set -# BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG is not set -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="./board/wally/linux.config" -BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="" -BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH="" -BR2_LINUX_KERNEL_IMAGE=y -# BR2_LINUX_KERNEL_IMAGEGZ is not set -# BR2_LINUX_KERNEL_VMLINUX is not set -# BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM is not set -BR2_LINUX_KERNEL_GZIP=y -# BR2_LINUX_KERNEL_LZ4 is not set -# BR2_LINUX_KERNEL_LZMA is not set -# BR2_LINUX_KERNEL_LZO is not set -# BR2_LINUX_KERNEL_XZ is not set -# BR2_LINUX_KERNEL_ZSTD is not set -# BR2_LINUX_KERNEL_DTS_SUPPORT is not set -# BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL is not set -# BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF is not set - -# -# Linux Kernel Extensions -# -# BR2_LINUX_KERNEL_EXT_RTAI is not set -# BR2_LINUX_KERNEL_EXT_EV3DEV_LINUX_DRIVERS is not set -# BR2_LINUX_KERNEL_EXT_FBTFT is not set -# BR2_LINUX_KERNEL_EXT_AUFS is not set - -# -# Linux Kernel Tools -# -# BR2_PACKAGE_LINUX_TOOLS_CPUPOWER is not set -# BR2_PACKAGE_LINUX_TOOLS_GPIO is not set -# BR2_PACKAGE_LINUX_TOOLS_IIO is not set -# BR2_PACKAGE_LINUX_TOOLS_PCI is not set -# BR2_PACKAGE_LINUX_TOOLS_PERF is not set - -# -# selftests needs BR2_PACKAGE_BUSYBOX_SHOW_OTHERS and a toolchain w/ dynamic library -# -# BR2_PACKAGE_LINUX_TOOLS_TMON is not set - -# -# Target packages -# -BR2_PACKAGE_BUSYBOX=y -BR2_PACKAGE_BUSYBOX_CONFIG="./board/wally/busybox.config" -BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="" -# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set -# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set -# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set -BR2_PACKAGE_SKELETON=y -BR2_PACKAGE_HAS_SKELETON=y -BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv" -BR2_PACKAGE_SKELETON_INIT_COMMON=y -BR2_PACKAGE_SKELETON_INIT_SYSV=y - -# -# Audio and video applications -# -# BR2_PACKAGE_ALSA_UTILS is not set -# BR2_PACKAGE_ATEST is not set -# BR2_PACKAGE_AUMIX is not set -# BR2_PACKAGE_BLUEZ_ALSA is not set -# BR2_PACKAGE_DVBLAST is not set -# BR2_PACKAGE_DVDAUTHOR is not set - -# -# dvdrw-tools needs a toolchain w/ threads, C++, wchar -# - -# -# espeak needs a toolchain w/ C++, wchar, threads, dynamic library -# -# BR2_PACKAGE_FAAD2 is not set -BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS=y -# BR2_PACKAGE_FFMPEG is not set -# BR2_PACKAGE_FLAC is not set -# BR2_PACKAGE_FLITE is not set -# BR2_PACKAGE_FLUID_SOUNDFONT is not set -# BR2_PACKAGE_FLUIDSYNTH is not set -# BR2_PACKAGE_GMRENDER_RESURRECT is not set -# BR2_PACKAGE_GSTREAMER1 is not set -# BR2_PACKAGE_JACK1 is not set - -# -# jack2 needs a toolchain w/ threads, C++, dynamic library -# -BR2_PACKAGE_KODI_ARCH_SUPPORTS=y - -# -# kodi needs python3 w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.9 -# - -# -# kodi needs an OpenGL EGL backend with OpenGL or GLES support -# -# BR2_PACKAGE_LAME is not set -# BR2_PACKAGE_MADPLAY is not set -# BR2_PACKAGE_MIMIC is not set -# BR2_PACKAGE_MINIMODEM is not set - -# -# miraclecast needs systemd and a glibc toolchain w/ threads and wchar -# - -# -# mjpegtools needs a toolchain w/ C++, threads -# - -# -# modplugtools needs a toolchain w/ C++ -# -# BR2_PACKAGE_MOTION is not set - -# -# mpd needs a toolchain w/ C++, threads, wchar, gcc >= 7, host gcc >= 7 -# -# BR2_PACKAGE_MPD_MPC is not set -# BR2_PACKAGE_MPG123 is not set - -# -# mpv needs a toolchain w/ C++, threads, gcc >= 4.9 -# -# BR2_PACKAGE_MULTICAT is not set -# BR2_PACKAGE_MUSEPACK is not set - -# -# ncmpc needs a toolchain w/ C++, wchar, threads, gcc >= 7 -# -# BR2_PACKAGE_OPUS_TOOLS is not set -BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC=y -# BR2_PACKAGE_PULSEAUDIO is not set -# BR2_PACKAGE_SOX is not set -# BR2_PACKAGE_SQUEEZELITE is not set - -# -# tovid needs a toolchain w/ threads, C++, wchar, gcc >= 4.9 -# -# BR2_PACKAGE_TSTOOLS is not set -# BR2_PACKAGE_TWOLAME is not set -# BR2_PACKAGE_UDPXY is not set - -# -# upmpdcli needs a toolchain w/ C++, NPTL, gcc >= 4.9 -# - -# -# v4l2grab needs a toolchain w/ threads, dynamic library, C++ and headers >= 3.0 -# -# BR2_PACKAGE_V4L2LOOPBACK is not set - -# -# vlc needs a toolchain w/ C++, dynamic library, wchar, threads, gcc >= 4.9, headers >= 3.7 -# -# BR2_PACKAGE_VORBIS_TOOLS is not set -# BR2_PACKAGE_WAVPACK is not set -# BR2_PACKAGE_YAVTA is not set -# BR2_PACKAGE_YMPD is not set - -# -# Compressors and decompressors -# -# BR2_PACKAGE_BROTLI is not set -# BR2_PACKAGE_BZIP2 is not set - -# -# lrzip needs a toolchain w/ wchar, threads, C++ -# - -# -# lzip needs a toolchain w/ C++ -# -# BR2_PACKAGE_LZOP is not set - -# -# p7zip needs a toolchain w/ threads, wchar, C++ -# -# BR2_PACKAGE_PIGZ is not set -# BR2_PACKAGE_PIXZ is not set - -# -# unrar needs a toolchain w/ C++, wchar, threads -# -# BR2_PACKAGE_XZ is not set -# BR2_PACKAGE_ZIP is not set -# BR2_PACKAGE_ZSTD is not set - -# -# Debugging, profiling and benchmark -# -# BR2_PACKAGE_BABELTRACE2 is not set -# BR2_PACKAGE_BLKTRACE is not set - -# -# bonnie++ needs a toolchain w/ C++ -# -# BR2_PACKAGE_CACHE_CALIBRATOR is not set - -# -# clinfo needs an OpenCL provider -# -# BR2_PACKAGE_COREMARK is not set -# BR2_PACKAGE_COREMARK_PRO is not set - -# -# dacapo needs OpenJDK -# -# BR2_PACKAGE_DHRYSTONE is not set -# BR2_PACKAGE_DIEHARDER is not set -# BR2_PACKAGE_DMALLOC is not set -# BR2_PACKAGE_DROPWATCH is not set -# BR2_PACKAGE_DSTAT is not set -# BR2_PACKAGE_DT is not set - -# -# duma needs a toolchain w/ C++, threads, dynamic library -# -# BR2_PACKAGE_FIO is not set -BR2_PACKAGE_GDB_ARCH_SUPPORTS=y - -# -# gdb/gdbserver >= 8.x needs a toolchain w/ C++, gcc >= 4.8 -# -# BR2_PACKAGE_IOZONE is not set -# BR2_PACKAGE_KTAP is not set -# BR2_PACKAGE_LATENCYTOP is not set -# BR2_PACKAGE_LMBENCH is not set -BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y -# BR2_PACKAGE_LTP_TESTSUITE is not set -# BR2_PACKAGE_LTTNG_BABELTRACE is not set -# BR2_PACKAGE_LTTNG_MODULES is not set -# BR2_PACKAGE_LTTNG_TOOLS is not set -# BR2_PACKAGE_MEMSTAT is not set -# BR2_PACKAGE_NETPERF is not set -# BR2_PACKAGE_NETSNIFF_NG is not set -# BR2_PACKAGE_NMON is not set -# BR2_PACKAGE_PAX_UTILS is not set -# BR2_PACKAGE_PV is not set -# BR2_PACKAGE_RAMSMP is not set -# BR2_PACKAGE_RAMSPEED is not set -# BR2_PACKAGE_RT_TESTS is not set -# BR2_PACKAGE_SPIDEV_TEST is not set -# BR2_PACKAGE_STRACE is not set -# BR2_PACKAGE_STRESS is not set -# BR2_PACKAGE_STRESS_NG is not set - -# -# sysdig needs a glibc or uclibc toolchain w/ C++, threads, gcc >= 4.8, dynamic library, a Linux kernel, and luajit or lua 5.1 to be built -# -# BR2_PACKAGE_TINYMEMBENCH is not set -# BR2_PACKAGE_TRACE_CMD is not set -# BR2_PACKAGE_UCLIBC_NG_TEST is not set -# BR2_PACKAGE_VMTOUCH is not set -# BR2_PACKAGE_WHETSTONE is not set - -# -# Development tools -# -# BR2_PACKAGE_BINUTILS is not set -# BR2_PACKAGE_BITWISE is not set -# BR2_PACKAGE_BSDIFF is not set -# BR2_PACKAGE_CHECK is not set - -# -# cppunit needs a toolchain w/ C++, dynamic library -# -# BR2_PACKAGE_CUKINIA is not set -# BR2_PACKAGE_CUNIT is not set -# BR2_PACKAGE_CVS is not set - -# -# cxxtest needs a toolchain w/ C++ support -# -# BR2_PACKAGE_FLEX is not set -# BR2_PACKAGE_GETTEXT is not set -BR2_PACKAGE_PROVIDES_HOST_GETTEXT="host-gettext-tiny" -# BR2_PACKAGE_GIT is not set - -# -# git-crypt needs a toolchain w/ C++, gcc >= 4.9 -# - -# -# gperf needs a toolchain w/ C++ -# -# BR2_PACKAGE_JO is not set -# BR2_PACKAGE_JQ is not set -# BR2_PACKAGE_LIBTOOL is not set -# BR2_PACKAGE_MAKE is not set -# BR2_PACKAGE_MAWK is not set -# BR2_PACKAGE_PKGCONF is not set -# BR2_PACKAGE_SUBVERSION is not set -# BR2_PACKAGE_TREE is not set - -# -# Filesystem and flash utilities -# -# BR2_PACKAGE_ABOOTIMG is not set -# BR2_PACKAGE_AUFS_UTIL is not set -# BR2_PACKAGE_AUTOFS is not set -# BR2_PACKAGE_BTRFS_PROGS is not set -# BR2_PACKAGE_CIFS_UTILS is not set -# BR2_PACKAGE_CPIO is not set -# BR2_PACKAGE_CRAMFS is not set -# BR2_PACKAGE_CURLFTPFS is not set -# BR2_PACKAGE_DAVFS2 is not set -# BR2_PACKAGE_DOSFSTOOLS is not set -# BR2_PACKAGE_E2FSPROGS is not set -# BR2_PACKAGE_E2TOOLS is not set -# BR2_PACKAGE_ECRYPTFS_UTILS is not set -# BR2_PACKAGE_EROFS_UTILS is not set -# BR2_PACKAGE_EXFAT is not set -# BR2_PACKAGE_EXFAT_UTILS is not set -# BR2_PACKAGE_EXFATPROGS is not set -# BR2_PACKAGE_F2FS_TOOLS is not set -# BR2_PACKAGE_FLASHBENCH is not set -# BR2_PACKAGE_FSCRYPTCTL is not set -# BR2_PACKAGE_FUSE_OVERLAYFS is not set -# BR2_PACKAGE_FWUP is not set -# BR2_PACKAGE_GENEXT2FS is not set -# BR2_PACKAGE_GENPART is not set -# BR2_PACKAGE_GENROMFS is not set -# BR2_PACKAGE_IMX_USB_LOADER is not set -# BR2_PACKAGE_MMC_UTILS is not set -# BR2_PACKAGE_MTD is not set -# BR2_PACKAGE_MTOOLS is not set -# BR2_PACKAGE_NFS_UTILS is not set -# BR2_PACKAGE_NILFS_UTILS is not set -# BR2_PACKAGE_NTFS_3G is not set -# BR2_PACKAGE_SP_OOPS_EXTRACT is not set -# BR2_PACKAGE_SQUASHFS is not set -# BR2_PACKAGE_SSHFS is not set -# BR2_PACKAGE_UDFTOOLS is not set -# BR2_PACKAGE_UNIONFS is not set -# BR2_PACKAGE_XFSPROGS is not set - -# -# zfs needs udev /dev management -# - -# -# Fonts, cursors, icons, sounds and themes -# - -# -# Cursors -# -# BR2_PACKAGE_COMIX_CURSORS is not set -# BR2_PACKAGE_OBSIDIAN_CURSORS is not set - -# -# Fonts -# -# BR2_PACKAGE_BITSTREAM_VERA is not set -# BR2_PACKAGE_CANTARELL is not set -# BR2_PACKAGE_DEJAVU is not set -# BR2_PACKAGE_FONT_AWESOME is not set -# BR2_PACKAGE_GHOSTSCRIPT_FONTS is not set -# BR2_PACKAGE_INCONSOLATA is not set -# BR2_PACKAGE_LIBERATION is not set -# BR2_PACKAGE_WQY_ZENHEI is not set - -# -# Icons -# -# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set -# BR2_PACKAGE_HICOLOR_ICON_THEME is not set - -# -# Sounds -# -# BR2_PACKAGE_SOUND_THEME_BOREALIS is not set -# BR2_PACKAGE_SOUND_THEME_FREEDESKTOP is not set - -# -# Themes -# - -# -# Games -# -# BR2_PACKAGE_ASCII_INVADERS is not set -# BR2_PACKAGE_CHOCOLATE_DOOM is not set - -# -# flare-engine needs a toolchain w/ C++, dynamic library -# -# BR2_PACKAGE_FROTZ is not set - -# -# gnuchess needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_LBREAKOUT2 is not set -# BR2_PACKAGE_LTRIS is not set -# BR2_PACKAGE_OPENTYRIAN is not set -# BR2_PACKAGE_PRBOOM is not set -# BR2_PACKAGE_SL is not set - -# -# solarus needs OpenGL and a toolchain w/ C++, gcc >= 4.9, NPTL, dynamic library, and luajit or lua 5.1 -# - -# -# stella needs a toolchain w/ dynamic library, C++, threads, gcc >= 6 -# -# BR2_PACKAGE_XORCURSES is not set - -# -# Graphic libraries and applications (graphic/text) -# - -# -# Graphic applications -# - -# -# cage needs udev, EGL w/ Wayland backend and OpenGL ES support -# - -# -# cog needs wpewebkit and a toolchain w/ threads -# -# BR2_PACKAGE_FSWEBCAM is not set -# BR2_PACKAGE_GHOSTSCRIPT is not set - -# -# glmark2 needs a toolchain w/ C++, gcc >= 4.9 -# - -# -# glslsandbox-player needs a toolchain w/ threads and an openGL ES and EGL driver -# -# BR2_PACKAGE_GNUPLOT is not set -# BR2_PACKAGE_JHEAD is not set - -# -# libva-utils needs a toolchain w/ C++, threads, dynamic library -# -BR2_PACKAGE_NETSURF_ARCH_SUPPORTS=y -# BR2_PACKAGE_NETSURF is not set -# BR2_PACKAGE_PNGQUANT is not set -# BR2_PACKAGE_RRDTOOL is not set - -# -# stellarium needs Qt5 and an OpenGL provider -# - -# -# tesseract-ocr needs a toolchain w/ threads, C++, gcc >= 4.8, dynamic library, wchar -# - -# -# Graphic libraries -# - -# -# cegui needs a toolchain w/ C++, threads, dynamic library, wchar -# - -# -# directfb needs a glibc or uClibc toolchain w/ C++, NPTL, gcc >= 4.5, dynamic library -# - -# -# efl needs a toolchain w/ C++, dynamic library, gcc >= 4.9, host gcc >= 4.9, threads, wchar -# -# BR2_PACKAGE_FB_TEST_APP is not set -# BR2_PACKAGE_FBDUMP is not set -# BR2_PACKAGE_FBGRAB is not set - -# -# fbterm needs a toolchain w/ C++, wchar, locale -# -# BR2_PACKAGE_FBV is not set - -# -# freerdp needs a toolchain w/ wchar, dynamic library, threads, C++ -# -# BR2_PACKAGE_GRAPHICSMAGICK is not set -# BR2_PACKAGE_IMAGEMAGICK is not set -# BR2_PACKAGE_LINUX_FUSION is not set - -# -# mesa3d needs a toolchain w/ C++, NPTL, dynamic library -# - -# -# ocrad needs a toolchain w/ C++ -# - -# -# ogre needs a toolchain w/ C++, dynamic library, gcc >= 4.8, threads, wchar -# -# BR2_PACKAGE_PSPLASH is not set -# BR2_PACKAGE_SDL is not set -# BR2_PACKAGE_SDL2 is not set - -# -# Other GUIs -# - -# -# Qt5 needs host g++ >= 5.0, and a toolchain w/ gcc >= 5.0, wchar, NPTL, C++, dynamic library -# - -# -# tekui needs a Lua interpreter and a toolchain w/ threads, dynamic library -# - -# -# weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0 -# -# BR2_PACKAGE_XORG7 is not set - -# -# apitrace needs a toolchain w/ C++, wchar, dynamic library, threads, gcc >= 4.9 -# - -# -# vte needs a toolchain w/ wchar, threads, C++, gcc >= 4.8 -# - -# -# vte needs an OpenGL or an OpenGL-EGL/wayland backend -# -# BR2_PACKAGE_XKEYBOARD_CONFIG is not set - -# -# Hardware handling -# - -# -# Firmware -# -# BR2_PACKAGE_ARMBIAN_FIRMWARE is not set -# BR2_PACKAGE_B43_FIRMWARE is not set -# BR2_PACKAGE_LINUX_FIRMWARE is not set -# BR2_PACKAGE_MURATA_CYW_FW is not set -# BR2_PACKAGE_ODROIDC2_FIRMWARE is not set -# BR2_PACKAGE_QCOM_DB410C_FIRMWARE is not set -# BR2_PACKAGE_RCW_SMARC_SAL28 is not set -# BR2_PACKAGE_UX500_FIRMWARE is not set -# BR2_PACKAGE_WILC1000_FIRMWARE is not set -# BR2_PACKAGE_WILINK_BT_FIRMWARE is not set -# BR2_PACKAGE_ZD1211_FIRMWARE is not set -# BR2_PACKAGE_18XX_TI_UTILS is not set -# BR2_PACKAGE_ACPICA is not set -# BR2_PACKAGE_ACPID is not set - -# -# acpitool needs a toolchain w/ threads, C++, dynamic library -# -# BR2_PACKAGE_AER_INJECT is not set -# BR2_PACKAGE_ALTERA_STAPL is not set - -# -# apcupsd needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_AVRDUDE is not set - -# -# bcache-tools needs udev /dev management -# - -# -# brickd needs udev /dev management, a toolchain w/ threads, wchar -# -# BR2_PACKAGE_BRLTTY is not set - -# -# cc-tool needs a toolchain w/ C++, threads, wchar, gcc >= 4.9 -# -# BR2_PACKAGE_CDRKIT is not set -# BR2_PACKAGE_CRYPTSETUP is not set -# BR2_PACKAGE_CWIID is not set -# BR2_PACKAGE_DAHDI_LINUX is not set -# BR2_PACKAGE_DAHDI_TOOLS is not set -# BR2_PACKAGE_DBUS is not set -# BR2_PACKAGE_DFU_UTIL is not set -# BR2_PACKAGE_DMRAID is not set - -# -# dt-utils needs udev /dev management -# -# BR2_PACKAGE_DTV_SCAN_TABLES is not set -# BR2_PACKAGE_DUMP1090 is not set -# BR2_PACKAGE_DVB_APPS is not set -# BR2_PACKAGE_DVBSNOOP is not set - -# -# eudev needs eudev /dev management -# -# BR2_PACKAGE_EVEMU is not set -# BR2_PACKAGE_EVTEST is not set -# BR2_PACKAGE_FAN_CTRL is not set -# BR2_PACKAGE_FCONFIG is not set -BR2_PACKAGE_FLASHROM_ARCH_SUPPORTS=y -# BR2_PACKAGE_FLASHROM is not set -# BR2_PACKAGE_FMTOOLS is not set -# BR2_PACKAGE_FXLOAD is not set -# BR2_PACKAGE_GPM is not set -# BR2_PACKAGE_GPSD is not set - -# -# gptfdisk needs a toolchain w/ C++ -# -# BR2_PACKAGE_GVFS is not set -# BR2_PACKAGE_HWDATA is not set -# BR2_PACKAGE_HWLOC is not set -# BR2_PACKAGE_INPUT_EVENT_DAEMON is not set -# BR2_PACKAGE_IPMITOOL is not set -# BR2_PACKAGE_IRDA_UTILS is not set -# BR2_PACKAGE_KBD is not set -# BR2_PACKAGE_LCDPROC is not set - -# -# libiec61850 needs a toolchain w/ C++, threads, dynamic library -# -# BR2_PACKAGE_LIBUBOOTENV is not set -# BR2_PACKAGE_LIBUIO is not set -# BR2_PACKAGE_LINUX_BACKPORTS is not set -# BR2_PACKAGE_LINUX_SERIAL_TEST is not set -# BR2_PACKAGE_LINUXCONSOLETOOLS is not set - -# -# lirc-tools needs a toolchain w/ threads, dynamic library, C++ -# -# BR2_PACKAGE_LM_SENSORS is not set - -# -# lshw needs a toolchain w/ C++, wchar -# -# BR2_PACKAGE_LSSCSI is not set -# BR2_PACKAGE_LSUIO is not set -# BR2_PACKAGE_LUKSMETA is not set -# BR2_PACKAGE_LVM2 is not set -# BR2_PACKAGE_MBPFAN is not set -# BR2_PACKAGE_MDADM is not set -# BR2_PACKAGE_MDEVD is not set -# BR2_PACKAGE_MEMTESTER is not set -# BR2_PACKAGE_MEMTOOL is not set -# BR2_PACKAGE_MINICOM is not set -# BR2_PACKAGE_NANOCOM is not set -# BR2_PACKAGE_NEARD is not set -# BR2_PACKAGE_NVIDIA_MODPROBE is not set -# BR2_PACKAGE_NVME is not set -# BR2_PACKAGE_OFONO is not set -# BR2_PACKAGE_OPEN2300 is not set - -# -# openfpgaloader needs a toolchain w/ threads, C++, gcc >= 4.9 -# -# BR2_PACKAGE_OPENIPMI is not set -# BR2_PACKAGE_OPENOCD is not set -# BR2_PACKAGE_PARTED is not set -# BR2_PACKAGE_PCIUTILS is not set -# BR2_PACKAGE_PDBG is not set -# BR2_PACKAGE_PICOCOM is not set - -# -# powertop needs a toolchain w/ C++, threads, wchar -# -# BR2_PACKAGE_PPS_TOOLS is not set -# BR2_PACKAGE_RASPI_GPIO is not set -# BR2_PACKAGE_READ_EDID is not set -# BR2_PACKAGE_RNG_TOOLS is not set -# BR2_PACKAGE_RS485CONF is not set -# BR2_PACKAGE_RTC_TOOLS is not set -# BR2_PACKAGE_RTL8188EU is not set -# BR2_PACKAGE_RTL8189FS is not set -# BR2_PACKAGE_RTL8723BS is not set -# BR2_PACKAGE_RTL8723BU is not set -# BR2_PACKAGE_RTL8821AU is not set -# BR2_PACKAGE_SANE_BACKENDS is not set -# BR2_PACKAGE_SDPARM is not set -# BR2_PACKAGE_SETSERIAL is not set -# BR2_PACKAGE_SG3_UTILS is not set -# BR2_PACKAGE_SIGROK_CLI is not set -# BR2_PACKAGE_SISPMCTL is not set - -# -# smartmontools needs a toolchain w/ C++ -# -# BR2_PACKAGE_SMSTOOLS3 is not set -# BR2_PACKAGE_SPI_TOOLS is not set -# BR2_PACKAGE_SREDIRD is not set -# BR2_PACKAGE_STATSERIAL is not set -# BR2_PACKAGE_STM32FLASH is not set -# BR2_PACKAGE_SYSSTAT is not set - -# -# targetcli-fb depends on Python -# - -# -# ti-sgx-um needs the ti-sgx-km driver -# - -# -# ti-sgx-um needs udev and a glibc toolchain w/ threads -# -# BR2_PACKAGE_TI_UIM is not set -# BR2_PACKAGE_TI_UTILS is not set -# BR2_PACKAGE_TIO is not set -# BR2_PACKAGE_TRIGGERHAPPY is not set -# BR2_PACKAGE_UBOOT_TOOLS is not set -# BR2_PACKAGE_UBUS is not set -# BR2_PACKAGE_UCCP420WLAN is not set - -# -# udisks needs udev /dev management -# - -# -# udisks needs a glibc or musl toolchain with locale, C++, wchar, dynamic library, NPTL, gcc >= 4.9 -# -# BR2_PACKAGE_UHUBCTL is not set -# BR2_PACKAGE_UMTPRD is not set - -# -# upower needs udev /dev management -# -# BR2_PACKAGE_USB_MODESWITCH is not set -# BR2_PACKAGE_USB_MODESWITCH_DATA is not set - -# -# usbmount requires udev to be enabled -# - -# -# usbutils needs udev /dev management and toolchain w/ threads, gcc >= 4.9 -# -# BR2_PACKAGE_W_SCAN is not set -# BR2_PACKAGE_WIPE is not set -# BR2_PACKAGE_XORRISO is not set -# BR2_PACKAGE_XR819_XRADIO is not set - -# -# Interpreter languages and scripting -# -# BR2_PACKAGE_4TH is not set -# BR2_PACKAGE_ENSCRIPT is not set -BR2_PACKAGE_HOST_ERLANG_ARCH_SUPPORTS=y -# BR2_PACKAGE_EXECLINE is not set -# BR2_PACKAGE_FICL is not set -# BR2_PACKAGE_HASERL is not set -# BR2_PACKAGE_JANET is not set -# BR2_PACKAGE_JIMTCL is not set -# BR2_PACKAGE_LUA is not set -BR2_PACKAGE_PROVIDES_HOST_LUAINTERPRETER="host-lua" -# BR2_PACKAGE_MICROPYTHON is not set -BR2_PACKAGE_HOST_MONO_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_OPENJDK_BIN_ARCH_SUPPORTS=y -# BR2_PACKAGE_PERL is not set -# BR2_PACKAGE_PHP is not set -# BR2_PACKAGE_PYTHON is not set -# BR2_PACKAGE_PYTHON3 is not set -# BR2_PACKAGE_QUICKJS is not set -# BR2_PACKAGE_RUBY is not set -# BR2_PACKAGE_TCL is not set - -# -# Libraries -# - -# -# Audio/Sound -# -# BR2_PACKAGE_ALSA_LIB is not set - -# -# alure needs a toolchain w/ C++, gcc >= 4.9, NPTL, wchar -# -# BR2_PACKAGE_AUBIO is not set -# BR2_PACKAGE_BCG729 is not set - -# -# caps needs a toolchain w/ C++, dynamic library -# -# BR2_PACKAGE_LIBAO is not set - -# -# asplib needs a toolchain w/ C++ -# -# BR2_PACKAGE_LIBBROADVOICE is not set -# BR2_PACKAGE_LIBCDAUDIO is not set -# BR2_PACKAGE_LIBCDDB is not set -# BR2_PACKAGE_LIBCDIO is not set -# BR2_PACKAGE_LIBCDIO_PARANOIA is not set -# BR2_PACKAGE_LIBCODEC2 is not set -# BR2_PACKAGE_LIBCUE is not set -# BR2_PACKAGE_LIBCUEFILE is not set -# BR2_PACKAGE_LIBEBUR128 is not set -# BR2_PACKAGE_LIBG7221 is not set -# BR2_PACKAGE_LIBGSM is not set -# BR2_PACKAGE_LIBID3TAG is not set -# BR2_PACKAGE_LIBILBC is not set -# BR2_PACKAGE_LIBLO is not set -# BR2_PACKAGE_LIBMAD is not set - -# -# libmodplug needs a toolchain w/ C++ -# -# BR2_PACKAGE_LIBMPD is not set -# BR2_PACKAGE_LIBMPDCLIENT is not set -# BR2_PACKAGE_LIBREPLAYGAIN is not set -# BR2_PACKAGE_LIBSAMPLERATE is not set - -# -# libsidplay2 needs a toolchain w/ C++ -# -# BR2_PACKAGE_LIBSILK is not set -# BR2_PACKAGE_LIBSNDFILE is not set - -# -# libsoundtouch needs a toolchain w/ C++ -# -# BR2_PACKAGE_LIBSOXR is not set -# BR2_PACKAGE_LIBVORBIS is not set - -# -# mp4v2 needs a toolchain w/ C++ -# -BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y - -# -# openal needs a toolchain w/ NPTL, C++, gcc >= 4.9 -# - -# -# opencore-amr needs a toolchain w/ C++ -# -# BR2_PACKAGE_OPUS is not set -# BR2_PACKAGE_OPUSFILE is not set -# BR2_PACKAGE_PORTAUDIO is not set -# BR2_PACKAGE_SBC is not set -# BR2_PACKAGE_SPANDSP is not set -# BR2_PACKAGE_SPEEX is not set -# BR2_PACKAGE_SPEEXDSP is not set - -# -# taglib needs a toolchain w/ C++, wchar -# -# BR2_PACKAGE_TINYALSA is not set -# BR2_PACKAGE_TREMOR is not set -# BR2_PACKAGE_VO_AACENC is not set - -# -# Compression and decompression -# -# BR2_PACKAGE_LIBARCHIVE is not set -# BR2_PACKAGE_LIBMSPACK is not set - -# -# libsquish needs a toolchain w/ C++ -# -# BR2_PACKAGE_LIBZIP is not set -# BR2_PACKAGE_LZ4 is not set -# BR2_PACKAGE_LZO is not set -# BR2_PACKAGE_MINIZIP is not set - -# -# snappy needs a toolchain w/ C++ -# -# BR2_PACKAGE_SZIP is not set -# BR2_PACKAGE_ZLIB is not set -BR2_PACKAGE_PROVIDES_HOST_ZLIB="host-libzlib" -# BR2_PACKAGE_ZZIPLIB is not set - -# -# Crypto -# -# BR2_PACKAGE_BEARSSL is not set -# BR2_PACKAGE_BEECRYPT is not set -BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y - -# -# botan needs a toolchain w/ C++, threads, gcc >= 4.8 -# -# BR2_PACKAGE_CA_CERTIFICATES is not set -# BR2_PACKAGE_CRYPTODEV is not set -# BR2_PACKAGE_GCR is not set -# BR2_PACKAGE_GNUTLS is not set -# BR2_PACKAGE_LIBARGON2 is not set -# BR2_PACKAGE_LIBASSUAN is not set -# BR2_PACKAGE_LIBGCRYPT is not set -BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBGPG_ERROR is not set -BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="riscv64-unknown-linux-gnu" -# BR2_PACKAGE_LIBGPGME is not set -# BR2_PACKAGE_LIBKCAPI is not set -# BR2_PACKAGE_LIBKSBA is not set -# BR2_PACKAGE_LIBMCRYPT is not set -# BR2_PACKAGE_LIBMHASH is not set -# BR2_PACKAGE_LIBNSS is not set - -# -# libolm needs a toolchain w/ C++, gcc >= 4.8 -# -# BR2_PACKAGE_LIBP11 is not set -# BR2_PACKAGE_LIBSCRYPT is not set -# BR2_PACKAGE_LIBSECRET is not set -# BR2_PACKAGE_LIBSHA1 is not set -# BR2_PACKAGE_LIBSODIUM is not set -# BR2_PACKAGE_LIBSSH is not set -# BR2_PACKAGE_LIBSSH2 is not set -# BR2_PACKAGE_LIBTOMCRYPT is not set -# BR2_PACKAGE_LIBUECC is not set -# BR2_PACKAGE_LIBXCRYPT is not set -# BR2_PACKAGE_MBEDTLS is not set -# BR2_PACKAGE_NETTLE is not set -# BR2_PACKAGE_OPENSSL is not set -BR2_PACKAGE_PROVIDES_HOST_OPENSSL="host-libopenssl" -# BR2_PACKAGE_PKCS11_HELPER is not set -# BR2_PACKAGE_RHASH is not set -# BR2_PACKAGE_TINYDTLS is not set -# BR2_PACKAGE_TPM2_PKCS11 is not set -# BR2_PACKAGE_TPM2_TSS is not set -# BR2_PACKAGE_TROUSERS is not set -# BR2_PACKAGE_USTREAM_SSL is not set -# BR2_PACKAGE_WOLFSSL is not set - -# -# Database -# -# BR2_PACKAGE_BERKELEYDB is not set -# BR2_PACKAGE_GDBM is not set -# BR2_PACKAGE_HIREDIS is not set - -# -# kompexsqlite needs a toolchain w/ C++, wchar, threads, dynamic library -# - -# -# leveldb needs a toolchain w/ C++, threads, gcc >= 4.8 -# -# BR2_PACKAGE_LIBGIT2 is not set -# BR2_PACKAGE_LIBMDBX is not set - -# -# libodb needs a toolchain w/ C++, threads -# - -# -# mysql needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_POSTGRESQL is not set -# BR2_PACKAGE_REDIS is not set -# BR2_PACKAGE_SQLCIPHER is not set -# BR2_PACKAGE_SQLITE is not set -# BR2_PACKAGE_UNIXODBC is not set - -# -# Filesystem -# -# BR2_PACKAGE_GAMIN is not set -# BR2_PACKAGE_LIBCONFIG is not set -# BR2_PACKAGE_LIBCONFUSE is not set -# BR2_PACKAGE_LIBFUSE is not set -# BR2_PACKAGE_LIBFUSE3 is not set -# BR2_PACKAGE_LIBLOCKFILE is not set -# BR2_PACKAGE_LIBNFS is not set -# BR2_PACKAGE_LIBSYSFS is not set -# BR2_PACKAGE_LOCKDEV is not set - -# -# physfs needs a toolchain w/ C++, threads -# - -# -# Graphics -# - -# -# assimp needs libzlib -# - -# -# at-spi2-atk depends on X.org -# - -# -# at-spi2-core depends on X.org -# -# BR2_PACKAGE_ATK is not set - -# -# atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 -# - -# -# bullet needs a toolchain w/ C++, dynamic library, threads, wchar -# -# BR2_PACKAGE_CAIRO is not set - -# -# cairomm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8 -# - -# -# chipmunk needs an OpenGL backend -# - -# -# exempi needs a toolchain w/ C++, dynamic library, threads, wchar -# - -# -# exiv2 needs a uClibc or glibc toolchain w/ C++, wchar, dynamic library, threads -# -# BR2_PACKAGE_FONTCONFIG is not set -# BR2_PACKAGE_FREETYPE is not set -# BR2_PACKAGE_GD is not set -# BR2_PACKAGE_GDK_PIXBUF is not set -# BR2_PACKAGE_GIFLIB is not set - -# -# granite needs libgtk3 and a toolchain w/ wchar, threads -# - -# -# graphite2 needs a toolchain w/ C++ -# - -# -# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9 -# - -# -# harfbuzz needs a toolchain w/ C++, gcc >= 4.8 -# -# BR2_PACKAGE_IJS is not set -# BR2_PACKAGE_IMLIB2 is not set - -# -# irrlicht needs a toolchain w/ C++ -# -# BR2_PACKAGE_JASPER is not set -# BR2_PACKAGE_JBIG2DEC is not set -# BR2_PACKAGE_JPEG is not set - -# -# kms++ needs a toolchain w/ threads, C++, gcc >= 4.8, headers >= 4.11, wchar -# -# BR2_PACKAGE_LCMS2 is not set - -# -# lensfun needs a toolchain w/ C++, threads, wchar -# -# BR2_PACKAGE_LEPTONICA is not set -# BR2_PACKAGE_LIBART is not set -# BR2_PACKAGE_LIBDMTX is not set -# BR2_PACKAGE_LIBDRM is not set - -# -# libepoxy needs an OpenGL and/or OpenGL EGL backend -# -# BR2_PACKAGE_LIBEXIF is not set - -# -# libfm needs X.org and a toolchain w/ wchar, threads, C++, gcc >= 4.8 -# -# BR2_PACKAGE_LIBFM_EXTRA is not set - -# -# libfreeglut depends on X.org and needs an OpenGL backend -# - -# -# libfreeimage needs a toolchain w/ C++, dynamic library, wchar -# - -# -# libgeotiff needs a toolchain w/ C++, gcc >= 4.7, threads, wchar -# - -# -# libglew depends on X.org and needs an OpenGL backend -# - -# -# libglfw depends on X.org and needs an OpenGL backend -# - -# -# libglu needs an OpenGL backend -# -# BR2_PACKAGE_LIBGTA is not set - -# -# libgtk3 needs a toolchain w/ wchar, threads, C++, gcc >= 4.8 -# - -# -# libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend -# -# BR2_PACKAGE_LIBMEDIAART is not set -# BR2_PACKAGE_LIBMNG is not set -# BR2_PACKAGE_LIBPNG is not set -# BR2_PACKAGE_LIBQRENCODE is not set - -# -# libraw needs a toolchain w/ C++ -# - -# -# libsoil needs an OpenGL backend and a toolchain w/ dynamic library -# -# BR2_PACKAGE_LIBSVG is not set -# BR2_PACKAGE_LIBSVG_CAIRO is not set -# BR2_PACKAGE_LIBSVGTINY is not set -# BR2_PACKAGE_LIBVA is not set - -# -# libvips needs a toolchain w/ wchar, threads, C++ -# - -# -# libwpe needs a toolchain w/ C++, dynamic library and an OpenEGL-capable backend -# -# BR2_PACKAGE_MENU_CACHE is not set - -# -# opencv3 needs a toolchain w/ C++, NPTL, wchar, dynamic library -# -# BR2_PACKAGE_OPENJPEG is not set - -# -# pango needs a toolchain w/ wchar, threads, C++, gcc >= 4.8 -# - -# -# pangomm needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 -# -# BR2_PACKAGE_PIPEWIRE is not set -# BR2_PACKAGE_PIXMAN is not set - -# -# poppler needs a toolchain w/ wchar, C++, threads, dynamic library, gcc >= 5 -# -# BR2_PACKAGE_TIFF is not set -# BR2_PACKAGE_WAYLAND is not set -# BR2_PACKAGE_WEBP is not set - -# -# wlroots needs udev, EGL w/ Wayland backend and OpenGL ES support -# - -# -# woff2 needs a toolchain w/ C++ -# - -# -# wpebackend-fdo needs a toolchain w/ C++, wchar, threads, dynamic library and an OpenEGL-capable Wayland backend -# - -# -# zbar needs a toolchain w/ threads, C++ and headers >= 3.0 -# - -# -# zxing-cpp needs a toolchain w/ C++, dynamic library -# - -# -# Hardware handling -# -# BR2_PACKAGE_ACSCCID is not set -# BR2_PACKAGE_C_PERIPHERY is not set -# BR2_PACKAGE_CCID is not set -# BR2_PACKAGE_DTC is not set -# BR2_PACKAGE_HACKRF is not set - -# -# hidapi needs udev /dev management and a toolchain w/ NPTL, threads, gcc >= 4.9 -# -# BR2_PACKAGE_JITTERENTROPY_LIBRARY is not set - -# -# lcdapi needs a toolchain w/ C++, threads -# - -# -# let-me-create needs a toolchain w/ C++, threads, dynamic library -# -# BR2_PACKAGE_LIBAIO is not set - -# -# libatasmart requires udev to be enabled -# - -# -# libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library -# - -# -# libcec needs a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 4.7 -# -# BR2_PACKAGE_LIBFREEFARE is not set -# BR2_PACKAGE_LIBFTDI is not set -# BR2_PACKAGE_LIBFTDI1 is not set -# BR2_PACKAGE_LIBGPHOTO2 is not set -# BR2_PACKAGE_LIBGPIOD is not set - -# -# libgudev needs udev /dev handling and a toolchain w/ wchar, threads -# -# BR2_PACKAGE_LIBHID is not set -# BR2_PACKAGE_LIBIIO is not set - -# -# libinput needs udev /dev management -# -# BR2_PACKAGE_LIBIQRF is not set -# BR2_PACKAGE_LIBLLCP is not set -# BR2_PACKAGE_LIBMBIM is not set -# BR2_PACKAGE_LIBNFC is not set -# BR2_PACKAGE_LIBPCIACCESS is not set -# BR2_PACKAGE_LIBPHIDGET is not set -# BR2_PACKAGE_LIBPRI is not set -# BR2_PACKAGE_LIBQMI is not set -# BR2_PACKAGE_LIBQRTR_GLIB is not set -# BR2_PACKAGE_LIBRAW1394 is not set -# BR2_PACKAGE_LIBRTLSDR is not set - -# -# libserial needs a toolchain w/ C++, gcc >= 5, threads, wchar -# -# BR2_PACKAGE_LIBSERIALPORT is not set -# BR2_PACKAGE_LIBSIGROK is not set -# BR2_PACKAGE_LIBSIGROKDECODE is not set -# BR2_PACKAGE_LIBSOC is not set -# BR2_PACKAGE_LIBSS7 is not set -# BR2_PACKAGE_LIBUSB is not set -# BR2_PACKAGE_LIBUSBGX is not set - -# -# libv4l needs a toolchain w/ threads, C++ and headers >= 3.0 -# -# BR2_PACKAGE_LIBXKBCOMMON is not set -# BR2_PACKAGE_MTDEV is not set -# BR2_PACKAGE_NEARDAL is not set -# BR2_PACKAGE_OWFS is not set -# BR2_PACKAGE_PCSC_LITE is not set -# BR2_PACKAGE_TSLIB is not set - -# -# uhd needs a toolchain w/ C++, NPTL, wchar, dynamic library -# - -# -# urg needs a toolchain w/ C++ -# - -# -# Javascript -# -# BR2_PACKAGE_ANGULARJS is not set -# BR2_PACKAGE_BOOTSTRAP is not set -# BR2_PACKAGE_CHARTJS is not set -# BR2_PACKAGE_DATATABLES is not set -# BR2_PACKAGE_DUKTAPE is not set -# BR2_PACKAGE_EXPLORERCANVAS is not set -# BR2_PACKAGE_FLOT is not set -# BR2_PACKAGE_JQUERY is not set -# BR2_PACKAGE_JSMIN is not set -# BR2_PACKAGE_JSON_JAVASCRIPT is not set -# BR2_PACKAGE_JSZIP is not set -# BR2_PACKAGE_OPENLAYERS is not set -# BR2_PACKAGE_POPPERJS is not set -BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS=y - -# -# spidermonkey needs a glibc or musl toolchain with C++, wchar, dynamic library, NPTL, gcc >= 4.9 -# -# BR2_PACKAGE_VUEJS is not set - -# -# JSON/XML -# - -# -# benejson needs a toolchain w/ C++ -# -# BR2_PACKAGE_CJSON is not set -# BR2_PACKAGE_EXPAT is not set -# BR2_PACKAGE_JANSSON is not set -# BR2_PACKAGE_JOSE is not set -# BR2_PACKAGE_JSMN is not set -# BR2_PACKAGE_JSON_C is not set - -# -# json-for-modern-cpp needs a toolchain w/ C++, gcc >= 4.9 -# -# BR2_PACKAGE_JSON_GLIB is not set - -# -# jsoncpp needs a toolchain w/ C++, gcc >= 4.7 -# -# BR2_PACKAGE_LIBBSON is not set -# BR2_PACKAGE_LIBFASTJSON is not set - -# -# libjson needs a toolchain w/ C++ -# -# BR2_PACKAGE_LIBROXML is not set -# BR2_PACKAGE_LIBUCL is not set -# BR2_PACKAGE_LIBXML2 is not set - -# -# libxml++ needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 -# -# BR2_PACKAGE_LIBXMLRPC is not set -# BR2_PACKAGE_LIBXSLT is not set -# BR2_PACKAGE_LIBYAML is not set -# BR2_PACKAGE_MXML is not set - -# -# pugixml needs a toolchain w/ C++ -# - -# -# rapidjson needs a toolchain w/ C++ -# -# BR2_PACKAGE_RAPIDXML is not set -# BR2_PACKAGE_RAPTOR is not set - -# -# tinyxml needs a toolchain w/ C++ -# - -# -# tinyxml2 needs a toolchain w/ C++ -# - -# -# valijson needs a toolchain w/ C++, threads, wchar support -# - -# -# xerces-c++ needs a toolchain w/ C++, wchar -# -# BR2_PACKAGE_YAJL is not set - -# -# yaml-cpp needs a toolchain w/ C++, gcc >= 4.7 -# - -# -# Logging -# - -# -# glog needs a toolchain w/ C++ -# -# BR2_PACKAGE_LIBLOG4C_LOCALTIME is not set -# BR2_PACKAGE_LIBLOGGING is not set - -# -# log4cplus needs a toolchain w/ C++, wchar, threads, gcc >= 4.8 -# - -# -# log4cpp needs a toolchain w/ C++, threads -# - -# -# log4cxx needs a toolchain w/ C++, threads, dynamic library -# - -# -# log4qt needs qt5 -# - -# -# opentracing-cpp needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8 -# - -# -# spdlog needs a toolchain w/ C++, threads, wchar -# -# BR2_PACKAGE_ZLOG is not set - -# -# Multimedia -# -# BR2_PACKAGE_BITSTREAM is not set -# BR2_PACKAGE_DAV1D is not set - -# -# kvazaar needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_LIBAACS is not set - -# -# libass needs a toolchain w/ C++, gcc >= 4.8 -# -# BR2_PACKAGE_LIBBDPLUS is not set -# BR2_PACKAGE_LIBBLURAY is not set -BR2_PACKAGE_LIBCAMERA_ARCH_SUPPORTS=y - -# -# libcamera needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 7 -# -# BR2_PACKAGE_LIBDCADEC is not set -# BR2_PACKAGE_LIBDVBCSA is not set -# BR2_PACKAGE_LIBDVBPSI is not set - -# -# libdvbsi++ needs a toolchain w/ C++, wchar, threads -# -# BR2_PACKAGE_LIBDVDCSS is not set -# BR2_PACKAGE_LIBDVDNAV is not set -# BR2_PACKAGE_LIBDVDREAD is not set - -# -# libebml needs a toolchain w/ C++, wchar -# -# BR2_PACKAGE_LIBHDHOMERUN is not set - -# -# libmatroska needs a toolchain w/ C++, wchar -# -# BR2_PACKAGE_LIBMMS is not set -# BR2_PACKAGE_LIBMPEG2 is not set -# BR2_PACKAGE_LIBOGG is not set -# BR2_PACKAGE_LIBOPUSENC is not set -# BR2_PACKAGE_LIBTHEORA is not set -# BR2_PACKAGE_LIBUDFREAD is not set -# BR2_PACKAGE_LIBVPX is not set - -# -# libyuv needs a toolchain w/ C++, dynamic library -# - -# -# live555 needs a toolchain w/ C++ -# - -# -# mediastreamer needs a toolchain w/ threads, C++, dynamic library, gcc >= 5 -# -# BR2_PACKAGE_X264 is not set - -# -# x265 needs a toolchain w/ C++, threads, dynamic library -# - -# -# Networking -# - -# -# agent++ needs a toolchain w/ threads, C++, dynamic library -# - -# -# azmq needs a toolchain w/ C++11, wchar and NPTL -# - -# -# azure-iot-sdk-c needs a toolchain w/ C++, NPTL and wchar -# -# BR2_PACKAGE_BATMAN_ADV is not set - -# -# belle-sip needs a toolchain w/ threads, C++, dynamic library, wchar -# -# BR2_PACKAGE_C_ARES is not set -# BR2_PACKAGE_CGIC is not set - -# -# cppzmq needs a toolchain w/ C++, threads -# - -# -# curlpp needs a toolchain w/ C++, dynamic library -# - -# -# czmq needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_DAQ is not set -# BR2_PACKAGE_DAVICI is not set -# BR2_PACKAGE_ENET is not set - -# -# filemq needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_FLICKCURL is not set -# BR2_PACKAGE_FREERADIUS_CLIENT is not set -# BR2_PACKAGE_GENSIO is not set -# BR2_PACKAGE_GEOIP is not set -# BR2_PACKAGE_GLIB_NETWORKING is not set - -# -# grpc needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.9, host gcc >= 4.9 -# -# BR2_PACKAGE_GSSDP is not set -# BR2_PACKAGE_GUPNP is not set -# BR2_PACKAGE_GUPNP_AV is not set -# BR2_PACKAGE_GUPNP_DLNA is not set - -# -# ibrcommon needs a toolchain w/ C++, threads -# - -# -# ibrdtn needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_LIBCGI is not set - -# -# libcgicc needs a toolchain w/ C++ -# -# BR2_PACKAGE_LIBCOAP is not set - -# -# libcpprestsdk needs a toolchain w/ NPTL, C++, wchar, locale -# -# BR2_PACKAGE_LIBCURL is not set -# BR2_PACKAGE_LIBDNET is not set -# BR2_PACKAGE_LIBEXOSIP2 is not set -# BR2_PACKAGE_LIBFCGI is not set -# BR2_PACKAGE_LIBGSASL is not set -# BR2_PACKAGE_LIBHTP is not set -# BR2_PACKAGE_LIBHTTPPARSER is not set - -# -# libhttpserver needs a toolchain w/ C++, threads, gcc >= 5 -# -# BR2_PACKAGE_LIBIDN is not set -# BR2_PACKAGE_LIBIDN2 is not set -# BR2_PACKAGE_LIBISCSI is not set -# BR2_PACKAGE_LIBKRB5 is not set -# BR2_PACKAGE_LIBLDNS is not set -# BR2_PACKAGE_LIBMAXMINDDB is not set -# BR2_PACKAGE_LIBMBUS is not set - -# -# libmemcached needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_LIBMICROHTTPD is not set -# BR2_PACKAGE_LIBMINIUPNPC is not set -# BR2_PACKAGE_LIBMNL is not set -# BR2_PACKAGE_LIBMODBUS is not set - -# -# libmodsecurity needs a toolchain w/ C++, dynamic library, threads -# -# BR2_PACKAGE_LIBNATPMP is not set -# BR2_PACKAGE_LIBNDP is not set -# BR2_PACKAGE_LIBNET is not set -# BR2_PACKAGE_LIBNETCONF2 is not set -# BR2_PACKAGE_LIBNETFILTER_ACCT is not set -# BR2_PACKAGE_LIBNETFILTER_CONNTRACK is not set -# BR2_PACKAGE_LIBNETFILTER_CTHELPER is not set -# BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT is not set -# BR2_PACKAGE_LIBNETFILTER_LOG is not set -# BR2_PACKAGE_LIBNETFILTER_QUEUE is not set -# BR2_PACKAGE_LIBNFNETLINK is not set -# BR2_PACKAGE_LIBNFTNL is not set -# BR2_PACKAGE_LIBNICE is not set -# BR2_PACKAGE_LIBNIDS is not set -# BR2_PACKAGE_LIBNL is not set - -# -# libnpupnp needs a toolchain w/ C++, threads, gcc >= 4.9 -# -# BR2_PACKAGE_LIBOAUTH is not set -# BR2_PACKAGE_LIBOPING is not set -# BR2_PACKAGE_LIBOSIP2 is not set -# BR2_PACKAGE_LIBPAGEKITE is not set -# BR2_PACKAGE_LIBPCAP is not set - -# -# libpjsip needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_LIBRELP is not set -# BR2_PACKAGE_LIBRSYNC is not set -# BR2_PACKAGE_LIBSHAIRPLAY is not set -# BR2_PACKAGE_LIBSHOUT is not set -# BR2_PACKAGE_LIBSOCKETCAN is not set -# BR2_PACKAGE_LIBSOUP is not set -# BR2_PACKAGE_LIBSRTP is not set -# BR2_PACKAGE_LIBSTROPHE is not set -# BR2_PACKAGE_LIBTELNET is not set -# BR2_PACKAGE_LIBTIRPC is not set - -# -# libtorrent needs a toolchain w/ C++, threads -# - -# -# libtorrent-rasterbar needs a toolchain w/ C++, threads, wchar, gcc >= 4.9 -# -# BR2_PACKAGE_LIBUEV is not set -# BR2_PACKAGE_LIBUHTTPD is not set -# BR2_PACKAGE_LIBUPNP is not set - -# -# libupnpp needs a toolchain w/ C++, threads, gcc >= 4.9 -# -# BR2_PACKAGE_LIBURIPARSER is not set -# BR2_PACKAGE_LIBUWSC is not set -# BR2_PACKAGE_LIBVNCSERVER is not set -# BR2_PACKAGE_LIBWEBSOCK is not set -# BR2_PACKAGE_LIBWEBSOCKETS is not set -# BR2_PACKAGE_LIBYANG is not set -# BR2_PACKAGE_LKSCTP_TOOLS is not set -# BR2_PACKAGE_MBUFFER is not set -# BR2_PACKAGE_MONGOOSE is not set -# BR2_PACKAGE_NANOMSG is not set -# BR2_PACKAGE_NEON is not set - -# -# netopeer2 needs a toolchain w/ gcc >= 4.8, C++, threads, dynamic library -# -# BR2_PACKAGE_NGHTTP2 is not set - -# -# norm needs a toolchain w/ C++, threads, dynamic library -# -# BR2_PACKAGE_NSS_MYHOSTNAME is not set -# BR2_PACKAGE_NSS_PAM_LDAPD is not set - -# -# omniORB needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_OPEN62541 is not set -# BR2_PACKAGE_OPENLDAP is not set - -# -# openmpi needs a toolchain w/ dynamic library, NPTL, wchar, C++ -# -# BR2_PACKAGE_OPENPGM is not set - -# -# openzwave needs a toolchain w/ C++, dynamic library, NPTL, wchar -# - -# -# ortp needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_PAHO_MQTT_C is not set - -# -# paho-mqtt-cpp needs a toolchain w/ threads, C++ -# - -# -# pistache needs a glibc toolchain w/ C++, gcc >= 4.9, threads, wchar -# -# BR2_PACKAGE_QDECODER is not set -# BR2_PACKAGE_QPID_PROTON is not set -# BR2_PACKAGE_RABBITMQ_C is not set - -# -# resiprocate needs a toolchain w/ C++, threads, wchar -# - -# -# restclient-cpp needs a toolchain w/ C++, gcc >= 4.8 -# -# BR2_PACKAGE_RTMPDUMP is not set -# BR2_PACKAGE_SIPROXD is not set -# BR2_PACKAGE_SLIRP is not set - -# -# snmp++ needs a toolchain w/ threads, C++, dynamic library -# -# BR2_PACKAGE_SOFIA_SIP is not set - -# -# sysrepo needs a toolchain w/ C++, NPTL, dynamic library, gcc >= 4.8 -# - -# -# thrift needs a toolchain w/ C++, wchar, threads -# -# BR2_PACKAGE_USBREDIR is not set - -# -# wampcc needs a toolchain w/ C++, NPTL, dynamic library -# - -# -# websocketpp needs a toolchain w/ C++ and gcc >= 4.8 -# - -# -# zeromq needs a toolchain w/ C++, threads -# - -# -# zmqpp needs a toolchain w/ C++, threads, gcc >= 4.7 -# - -# -# zyre needs a toolchain w/ C++, threads -# - -# -# Other -# -# BR2_PACKAGE_APR is not set -# BR2_PACKAGE_APR_UTIL is not set - -# -# armadillo needs a toolchain w/ C++ -# - -# -# atf needs a toolchain w/ C++ -# -# BR2_PACKAGE_AVRO_C is not set - -# -# bctoolbox needs a toolchain w/ C++, threads -# - -# -# belr needs a toolchain w/ threads, C++ -# - -# -# boost needs a toolchain w/ C++, threads, wchar -# - -# -# c-capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic, ucontext and not gcc bug 64735 -# - -# -# capnproto needs host and target gcc >= 5 w/ C++14, threads, atomic, ucontext and not gcc bug 64735 -# - -# -# cctz needs a toolchain w/ C++, threads, gcc >= 4.8 -# - -# -# cereal needs a toolchain w/ C++, gcc >= 4.7, threads, wchar -# -# BR2_PACKAGE_CLAPACK is not set -# BR2_PACKAGE_CMOCKA is not set - -# -# cppcms needs a toolchain w/ C++, NPTL, wchar, dynamic library -# -# BR2_PACKAGE_CRACKLIB is not set - -# -# dawgdic needs a toolchain w/ C++, gcc >= 4.6 -# -# BR2_PACKAGE_DING_LIBS is not set - -# -# eigen needs a toolchain w/ C++ -# -# BR2_PACKAGE_ELFUTILS is not set -# BR2_PACKAGE_ELL is not set -# BR2_PACKAGE_FFTW is not set - -# -# flann needs a toolchain w/ C++, dynamic library -# - -# -# flatbuffers needs a toolchain w/ C++, gcc >= 4.7 -# -# BR2_PACKAGE_FLATCC is not set -# BR2_PACKAGE_GCONF is not set - -# -# gflags needs a toolchain w/ C++ -# - -# -# gli needs a toolchain w/ C++ -# - -# -# glibmm needs a toolchain w/ C++, wchar, threads, gcc >= 4.9 -# - -# -# glm needs a toolchain w/ C++ -# -# BR2_PACKAGE_GMP is not set -BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS=y - -# -# gobject-introspection needs python3 -# -# BR2_PACKAGE_GSL is not set - -# -# gtest needs a toolchain w/ C++, wchar, threads -# -BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS=y -# BR2_PACKAGE_JEMALLOC is not set - -# -# lapack/blas needs a toolchain w/ fortran -# -BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS=y - -# -# libabseil-cpp needs a toolchain w/ gcc >= 4.9, C++, threads, dynamic library -# -# BR2_PACKAGE_LIBARGTABLE2 is not set -# BR2_PACKAGE_LIBAVL is not set -# BR2_PACKAGE_LIBB64 is not set -# BR2_PACKAGE_LIBBACKTRACE is not set -BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBBSD is not set -# BR2_PACKAGE_LIBBYTESIZE is not set -# BR2_PACKAGE_LIBCAP is not set -# BR2_PACKAGE_LIBCAP_NG is not set - -# -# libcgroup needs a glibc toolchain w/ C++ -# -# BR2_PACKAGE_LIBCORRECT is not set - -# -# libcrossguid needs a toolchain w/ C++, gcc >= 4.7 -# -# BR2_PACKAGE_LIBCSV is not set -# BR2_PACKAGE_LIBDAEMON is not set -# BR2_PACKAGE_LIBEE is not set -# BR2_PACKAGE_LIBEV is not set -# BR2_PACKAGE_LIBEVDEV is not set -# BR2_PACKAGE_LIBEVENT is not set -# BR2_PACKAGE_LIBFFI is not set -# BR2_PACKAGE_LIBGEE is not set - -# -# libgeos needs a toolchain w/ C++, wchar, not binutils bug 21464, 27597 -# -# BR2_PACKAGE_LIBGLIB2 is not set -# BR2_PACKAGE_LIBGLOB is not set - -# -# libical needs a toolchain w/ C++, dynamic library, wchar -# -# BR2_PACKAGE_LIBITE is not set - -# -# liblinear needs a toolchain w/ C++ -# - -# -# libloki needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_LIBNPTH is not set -BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y -# BR2_PACKAGE_LIBNSPR is not set -# BR2_PACKAGE_LIBPFM4 is not set - -# -# libplist needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_LIBPTHREAD_STUBS is not set -# BR2_PACKAGE_LIBPTHSEM is not set -# BR2_PACKAGE_LIBPWQUALITY is not set - -# -# libsigc++ needs a toolchain w/ C++, gcc >= 4.8 -# -BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBSIGSEGV is not set - -# -# libspatialindex needs a toolchain w/ C++, gcc >= 4.7 -# -# BR2_PACKAGE_LIBTASN1 is not set -# BR2_PACKAGE_LIBTOMMATH is not set -# BR2_PACKAGE_LIBTPL is not set -# BR2_PACKAGE_LIBUBOX is not set -# BR2_PACKAGE_LIBUCI is not set -BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS=y -# BR2_PACKAGE_LIBURCU is not set -# BR2_PACKAGE_LIBUV is not set -# BR2_PACKAGE_LIGHTNING is not set -# BR2_PACKAGE_LINUX_PAM is not set -# BR2_PACKAGE_LIQUID_DSP is not set -# BR2_PACKAGE_LTTNG_LIBUST is not set -# BR2_PACKAGE_MATIO is not set -# BR2_PACKAGE_MPC is not set -# BR2_PACKAGE_MPDECIMAL is not set -# BR2_PACKAGE_MPFR is not set -# BR2_PACKAGE_MPIR is not set - -# -# msgpack needs a toolchain w/ C++ -# -# BR2_PACKAGE_ORC is not set -# BR2_PACKAGE_P11_KIT is not set -BR2_PACKAGE_POCO_ARCH_SUPPORTS=y - -# -# poco needs a toolchain w/ wchar, NPTL, C++, dynamic library, gcc >= 5 w/ C++14 -# -BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y - -# -# protobuf needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8 -# - -# -# protobuf-c needs a toolchain w/ C++, threads -# - -# -# protozero needs a toolchain w/ C++, gcc >= 4.7 -# - -# -# qhull needs a toolchain w/ C++, gcc >= 4.4 -# -# BR2_PACKAGE_QLIBC is not set - -# -# riemann-c-client needs a toolchain w/ C++, threads -# - -# -# shapelib needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_SKALIBS is not set -# BR2_PACKAGE_SPHINXBASE is not set -# BR2_PACKAGE_TINYCBOR is not set - -# -# uvw needs a toolchain w/ NPTL, dynamic library, C++, gcc >= 7 -# - -# -# xapian needs a toolchain w/ C++ -# - -# -# Security -# -# BR2_PACKAGE_LIBAPPARMOR is not set -# BR2_PACKAGE_LIBSELINUX is not set -# BR2_PACKAGE_LIBSEPOL is not set -# BR2_PACKAGE_SAFECLIB is not set - -# -# Text and terminal handling -# -# BR2_PACKAGE_AUGEAS is not set - -# -# enchant needs a toolchain w/ C++, threads, wchar -# - -# -# fmt needs a toolchain w/ C++, wchar -# -# BR2_PACKAGE_FSTRCMP is not set - -# -# icu needs a toolchain w/ C++, wchar, threads, gcc >= 4.9, host gcc >= 4.9 -# -# BR2_PACKAGE_INIH is not set -# BR2_PACKAGE_LIBCLI is not set -# BR2_PACKAGE_LIBEDIT is not set -# BR2_PACKAGE_LIBENCA is not set -# BR2_PACKAGE_LIBESTR is not set -# BR2_PACKAGE_LIBFRIBIDI is not set -# BR2_PACKAGE_LIBUNISTRING is not set -# BR2_PACKAGE_LINENOISE is not set -# BR2_PACKAGE_NCURSES is not set -# BR2_PACKAGE_NEWT is not set -# BR2_PACKAGE_ONIGURUMA is not set -# BR2_PACKAGE_PCRE is not set -# BR2_PACKAGE_PCRE2 is not set -# BR2_PACKAGE_POPT is not set - -# -# re2 needs a toolchain w/ C++, threads, gcc >= 4.8 -# -# BR2_PACKAGE_READLINE is not set -# BR2_PACKAGE_SLANG is not set - -# -# tclap needs a toolchain w/ C++ -# -# BR2_PACKAGE_UTF8PROC is not set - -# -# Mail -# -# BR2_PACKAGE_DOVECOT is not set -# BR2_PACKAGE_EXIM is not set -# BR2_PACKAGE_FETCHMAIL is not set -# BR2_PACKAGE_HEIRLOOM_MAILX is not set -# BR2_PACKAGE_LIBESMTP is not set -# BR2_PACKAGE_MSMTP is not set -# BR2_PACKAGE_MUTT is not set - -# -# Miscellaneous -# -# BR2_PACKAGE_AESPIPE is not set -# BR2_PACKAGE_BC is not set -BR2_PACKAGE_BITCOIN_ARCH_SUPPORTS=y - -# -# bitcoin needs a toolchain w/ C++, threads, wchar -# - -# -# clamav needs a toolchain w/ C++, dynamic library, threads, wchar -# -# BR2_PACKAGE_COLLECTD is not set -# BR2_PACKAGE_COLLECTL is not set - -# -# domoticz needs lua 5.3 and a toolchain w/ C++, gcc >= 6, NPTL, wchar, dynamic library -# -# BR2_PACKAGE_EMPTY is not set - -# -# gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library -# -# BR2_PACKAGE_GOOGLEFONTDIRECTORY is not set - -# -# gqrx needs a toolchain w/ C++, threads, wchar, dynamic library -# - -# -# gqrx needs qt5 -# -# BR2_PACKAGE_GSETTINGS_DESKTOP_SCHEMAS is not set -# BR2_PACKAGE_HAVEGED is not set -# BR2_PACKAGE_LINUX_SYSCALL_SUPPORT is not set -# BR2_PACKAGE_MCRYPT is not set -# BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO is not set -# BR2_PACKAGE_NETDATA is not set - -# -# proj needs a toolchain w/ C++, gcc >= 4.7, threads, wchar -# - -# -# qpdf needs a toolchain w/ C++, wchar, gcc >= 4.7 -# -# BR2_PACKAGE_SHARED_MIME_INFO is not set - -# -# sunwait needs a toolchain w/ C++ -# - -# -# taskd needs a toolchain w/ C++, wchar, dynamic library -# -# BR2_PACKAGE_XUTIL_UTIL_MACROS is not set - -# -# Networking applications -# - -# -# aircrack-ng needs a toolchain w/ dynamic library, threads, C++ -# -# BR2_PACKAGE_AOETOOLS is not set -# BR2_PACKAGE_APACHE is not set -# BR2_PACKAGE_ARGUS is not set -# BR2_PACKAGE_ARP_SCAN is not set -# BR2_PACKAGE_ARPTABLES is not set - -# -# asterisk needs a glibc or uClibc toolchain w/ C++, dynamic library, threads, wchar -# -# BR2_PACKAGE_ATFTP is not set -# BR2_PACKAGE_AVAHI is not set -# BR2_PACKAGE_AXEL is not set -# BR2_PACKAGE_BABELD is not set -# BR2_PACKAGE_BANDWIDTHD is not set -# BR2_PACKAGE_BATCTL is not set - -# -# bcusdk needs a toolchain w/ C++ -# -# BR2_PACKAGE_BIND is not set -# BR2_PACKAGE_BIRD is not set -# BR2_PACKAGE_BLUEZ5_UTILS is not set -# BR2_PACKAGE_BMON is not set - -# -# boinc needs a toolchain w/ dynamic library, C++, threads -# -# BR2_PACKAGE_BRCM_PATCHRAM_PLUS is not set -# BR2_PACKAGE_BRIDGE_UTILS is not set -# BR2_PACKAGE_BWM_NG is not set -# BR2_PACKAGE_C_ICAP is not set -# BR2_PACKAGE_CAN_UTILS is not set - -# -# cannelloni needs a toolchain w/ C++, threads, dynamic library, gcc >= 4.8 -# -# BR2_PACKAGE_CASYNC is not set -# BR2_PACKAGE_CHRONY is not set -# BR2_PACKAGE_CIVETWEB is not set -# BR2_PACKAGE_CONNMAN is not set - -# -# connman-gtk needs libgtk3 and a glibc or uClibc toolchain w/ wchar, threads, resolver, dynamic library -# -# BR2_PACKAGE_CONNTRACK_TOOLS is not set -# BR2_PACKAGE_CORKSCREW is not set -# BR2_PACKAGE_CRDA is not set - -# -# ctorrent needs a toolchain w/ C++ -# - -# -# cups needs a toolchain w/ C++, threads -# - -# -# cups-filters needs a toolchain w/ wchar, C++, threads and dynamic library, gcc >= 4.8 -# -# BR2_PACKAGE_DANTE is not set -# BR2_PACKAGE_DARKHTTPD is not set -# BR2_PACKAGE_DEHYDRATED is not set -# BR2_PACKAGE_DHCPCD is not set -# BR2_PACKAGE_DHCPDUMP is not set -# BR2_PACKAGE_DNSMASQ is not set -# BR2_PACKAGE_DRBD_UTILS is not set -# BR2_PACKAGE_DROPBEAR is not set -# BR2_PACKAGE_EASYFRAMES is not set -# BR2_PACKAGE_EBTABLES is not set - -# -# ejabberd needs erlang, toolchain w/ C++ -# -# BR2_PACKAGE_ETHTOOL is not set -# BR2_PACKAGE_FAIFA is not set -# BR2_PACKAGE_FASTD is not set -# BR2_PACKAGE_FCGIWRAP is not set -# BR2_PACKAGE_FPING is not set - -# -# freeswitch needs a toolchain w/ C++, dynamic library, threads, wchar -# -# BR2_PACKAGE_FRR is not set - -# -# gerbera needs a toolchain w/ C++, dynamic library, threads, wchar, gcc >= 8 -# -# BR2_PACKAGE_GESFTPSERVER is not set - -# -# gloox needs a toolchain w/ C++ -# -# BR2_PACKAGE_GLORYTUN is not set - -# -# gupnp-tools needs libgtk3 -# - -# -# hans needs a toolchain w/ C++ -# -BR2_PACKAGE_HAPROXY_ARCH_SUPPORTS=y -# BR2_PACKAGE_HAPROXY is not set -# BR2_PACKAGE_HIAWATHA is not set -# BR2_PACKAGE_HOSTAPD is not set -# BR2_PACKAGE_HTPDATE is not set -# BR2_PACKAGE_HTTPING is not set - -# -# i2pd needs a toolchain w/ C++, NPTL, wchar -# - -# -# ibrdtn-tools needs a toolchain w/ C++, threads -# - -# -# ibrdtnd needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_IFMETRIC is not set -# BR2_PACKAGE_IFTOP is not set -# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set -# BR2_PACKAGE_IGD2_FOR_LINUX is not set -# BR2_PACKAGE_IGH_ETHERCAT is not set -# BR2_PACKAGE_IGMPPROXY is not set -# BR2_PACKAGE_INADYN is not set -# BR2_PACKAGE_IODINE is not set - -# -# iperf needs a toolchain w/ C++ -# -# BR2_PACKAGE_IPERF3 is not set -# BR2_PACKAGE_IPROUTE2 is not set -# BR2_PACKAGE_IPSET is not set -# BR2_PACKAGE_IPTABLES is not set -# BR2_PACKAGE_IPTRAF_NG is not set -# BR2_PACKAGE_IPUTILS is not set -# BR2_PACKAGE_IRSSI is not set -# BR2_PACKAGE_IW is not set -# BR2_PACKAGE_IWD is not set -# BR2_PACKAGE_JANUS_GATEWAY is not set -# BR2_PACKAGE_KEEPALIVED is not set - -# -# kismet needs a toolchain w/ threads, C++ -# -# BR2_PACKAGE_KNOCK is not set -# BR2_PACKAGE_LEAFNODE2 is not set -# BR2_PACKAGE_LFT is not set - -# -# lftp requires a toolchain w/ C++, wchar -# -# BR2_PACKAGE_LIGHTTPD is not set - -# -# linknx needs a toolchain w/ C++ -# -# BR2_PACKAGE_LINKS is not set - -# -# linphone needs a toolchain w/ threads, C++, dynamic library, wchar, gcc >= 5 -# -# BR2_PACKAGE_LINUX_ZIGBEE is not set -# BR2_PACKAGE_LINUXPTP is not set -# BR2_PACKAGE_LLDPD is not set -# BR2_PACKAGE_LRZSZ is not set -# BR2_PACKAGE_LYNX is not set -# BR2_PACKAGE_MACCHANGER is not set -# BR2_PACKAGE_MEMCACHED is not set -# BR2_PACKAGE_MII_DIAG is not set -# BR2_PACKAGE_MINI_SNMPD is not set -# BR2_PACKAGE_MINIDLNA is not set -# BR2_PACKAGE_MINISSDPD is not set -# BR2_PACKAGE_MJPG_STREAMER is not set -# BR2_PACKAGE_MODEM_MANAGER is not set -BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y - -# -# mongrel2 needs a uClibc or glibc toolchain w/ C++, threads, dynamic library -# - -# -# mosh needs a toolchain w/ C++, threads, dynamic library, wchar, gcc >= 4.8 -# -# BR2_PACKAGE_MOSQUITTO is not set -# BR2_PACKAGE_MROUTED is not set -# BR2_PACKAGE_MRP is not set -# BR2_PACKAGE_MTR is not set -# BR2_PACKAGE_NBD is not set -# BR2_PACKAGE_NCFTP is not set -# BR2_PACKAGE_NDISC6 is not set -# BR2_PACKAGE_NETATALK is not set -# BR2_PACKAGE_NETCALC is not set -# BR2_PACKAGE_NETPLUG is not set -# BR2_PACKAGE_NETSNMP is not set -# BR2_PACKAGE_NETSTAT_NAT is not set - -# -# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.2, dynamic library, wchar, threads -# -# BR2_PACKAGE_NFACCT is not set -# BR2_PACKAGE_NFTABLES is not set -# BR2_PACKAGE_NGINX is not set -# BR2_PACKAGE_NGIRCD is not set -# BR2_PACKAGE_NGREP is not set - -# -# nload needs a toolchain w/ C++ -# - -# -# nmap-nmap needs a toolchain w/ C++, threads -# -# BR2_PACKAGE_NOIP is not set -# BR2_PACKAGE_NTP is not set -# BR2_PACKAGE_NUTTCP is not set -# BR2_PACKAGE_ODHCP6C is not set -# BR2_PACKAGE_ODHCPLOC is not set -# BR2_PACKAGE_OLSR is not set -# BR2_PACKAGE_OPEN_LLDP is not set -# BR2_PACKAGE_OPEN_PLC_UTILS is not set -# BR2_PACKAGE_OPENNTPD is not set -# BR2_PACKAGE_OPENOBEX is not set -# BR2_PACKAGE_OPENRESOLV is not set -# BR2_PACKAGE_OPENSSH is not set -# BR2_PACKAGE_OPENSWAN is not set -# BR2_PACKAGE_OPENVPN is not set -# BR2_PACKAGE_P910ND is not set -# BR2_PACKAGE_PARPROUTED is not set -# BR2_PACKAGE_PHIDGETWEBSERVICE is not set -# BR2_PACKAGE_PHYTOOL is not set -# BR2_PACKAGE_PIMD is not set -# BR2_PACKAGE_PIXIEWPS is not set -# BR2_PACKAGE_POUND is not set -# BR2_PACKAGE_PPPD is not set -# BR2_PACKAGE_PPTP_LINUX is not set -# BR2_PACKAGE_PRIVOXY is not set -# BR2_PACKAGE_PROFTPD is not set - -# -# prosody needs the lua interpreter, dynamic library -# -# BR2_PACKAGE_PROXYCHAINS_NG is not set -# BR2_PACKAGE_PTPD is not set -# BR2_PACKAGE_PTPD2 is not set -# BR2_PACKAGE_PURE_FTPD is not set -# BR2_PACKAGE_PUTTY is not set -# BR2_PACKAGE_QUAGGA is not set - -# -# rabbitmq-server needs erlang -# -# BR2_PACKAGE_RADVD is not set -# BR2_PACKAGE_REAVER is not set -# BR2_PACKAGE_REDIR is not set -# BR2_PACKAGE_RP_PPPOE is not set -# BR2_PACKAGE_RPCBIND is not set -# BR2_PACKAGE_RSH_REDONE is not set -# BR2_PACKAGE_RSYNC is not set - -# -# rtorrent needs a toolchain w/ C++, threads, wchar, gcc >= 4.9 -# -# BR2_PACKAGE_RTPTOOLS is not set -# BR2_PACKAGE_RYGEL is not set -# BR2_PACKAGE_S6_DNS is not set -# BR2_PACKAGE_S6_NETWORKING is not set -# BR2_PACKAGE_SAMBA4 is not set - -# -# sconeserver needs a toolchain with dynamic library, C++, NPTL -# -# BR2_PACKAGE_SER2NET is not set -# BR2_PACKAGE_SHADOWSOCKS_LIBEV is not set - -# -# shairport-sync needs a toolchain w/ C++, NPTL -# -# BR2_PACKAGE_SHELLINABOX is not set -# BR2_PACKAGE_SMCROUTE is not set -# BR2_PACKAGE_SNGREP is not set -# BR2_PACKAGE_SNORT is not set -# BR2_PACKAGE_SOCAT is not set -# BR2_PACKAGE_SOCKETCAND is not set -# BR2_PACKAGE_SOFTETHER is not set -# BR2_PACKAGE_SPAWN_FCGI is not set -# BR2_PACKAGE_SPICE_PROTOCOL is not set - -# -# squid needs a toolchain w/ C++, gcc >= 4.8 not affected by bug 64735 -# -# BR2_PACKAGE_SSDP_RESPONDER is not set -# BR2_PACKAGE_SSHGUARD is not set -# BR2_PACKAGE_SSHPASS is not set -# BR2_PACKAGE_SSLH is not set -# BR2_PACKAGE_STRONGSWAN is not set -# BR2_PACKAGE_STUNNEL is not set -# BR2_PACKAGE_TCPDUMP is not set -# BR2_PACKAGE_TCPING is not set -# BR2_PACKAGE_TCPREPLAY is not set -# BR2_PACKAGE_THTTPD is not set -# BR2_PACKAGE_TINC is not set -# BR2_PACKAGE_TINYPROXY is not set -# BR2_PACKAGE_TINYSSH is not set -# BR2_PACKAGE_TOR is not set -# BR2_PACKAGE_TRACEROUTE is not set -# BR2_PACKAGE_TRANSMISSION is not set -# BR2_PACKAGE_TUNCTL is not set -# BR2_PACKAGE_TVHEADEND is not set -# BR2_PACKAGE_UACME is not set -# BR2_PACKAGE_UDPCAST is not set -# BR2_PACKAGE_UFTP is not set -# BR2_PACKAGE_UHTTPD is not set -# BR2_PACKAGE_ULOGD is not set -# BR2_PACKAGE_UNBOUND is not set -# BR2_PACKAGE_UREDIR is not set -# BR2_PACKAGE_USHARE is not set -# BR2_PACKAGE_USSP_PUSH is not set -# BR2_PACKAGE_VDE2 is not set - -# -# vdr needs a glibc toolchain w/ C++, dynamic library, NPTL, wchar, headers >= 3.9 -# -# BR2_PACKAGE_VNSTAT is not set -# BR2_PACKAGE_VPNC is not set -# BR2_PACKAGE_VSFTPD is not set -# BR2_PACKAGE_VTUN is not set -# BR2_PACKAGE_WAVEMON is not set -# BR2_PACKAGE_WIREGUARD_TOOLS is not set -# BR2_PACKAGE_WIRELESS_REGDB is not set -# BR2_PACKAGE_WIRELESS_TOOLS is not set -# BR2_PACKAGE_WIRESHARK is not set -# BR2_PACKAGE_WPA_SUPPLICANT is not set -# BR2_PACKAGE_WPAN_TOOLS is not set -# BR2_PACKAGE_XINETD is not set -# BR2_PACKAGE_XL2TP is not set -# BR2_PACKAGE_XTABLES_ADDONS is not set - -# -# znc needs a toolchain w/ C++, dynamic library, gcc >= 4.8, threads -# - -# -# Package managers -# - -# -# ------------------------------------------------------- -# - -# -# Please note: -# - -# -# - Buildroot does *not* generate binary packages, -# - -# -# - Buildroot does *not* install any package database. -# - -# -# * -# - -# -# It is up to you to provide those by yourself if you -# - -# -# want to use any of those package managers. -# - -# -# * -# - -# -# See the manual: -# - -# -# http://buildroot.org/manual.html#faq-no-binary-packages -# - -# -# ------------------------------------------------------- -# -# BR2_PACKAGE_OPKG is not set -# BR2_PACKAGE_OPKG_UTILS is not set - -# -# Real-Time -# -# BR2_PACKAGE_XENOMAI is not set - -# -# Security -# - -# -# apparmor needs a toolchain w/ headers >= 3.16, threads, C++ -# -# BR2_PACKAGE_CHECKPOLICY is not set -# BR2_PACKAGE_IMA_EVM_UTILS is not set -# BR2_PACKAGE_OPTEE_BENCHMARK is not set -# BR2_PACKAGE_OPTEE_CLIENT is not set -# BR2_PACKAGE_PAXTEST is not set -# BR2_PACKAGE_REFPOLICY is not set -# BR2_PACKAGE_RESTORECOND is not set -# BR2_PACKAGE_SELINUX_PYTHON is not set -# BR2_PACKAGE_SEMODULE_UTILS is not set - -# -# setools needs python3 -# -# BR2_PACKAGE_URANDOM_SCRIPTS is not set - -# -# Shell and utilities -# - -# -# Shells -# -# BR2_PACKAGE_MKSH is not set -# BR2_PACKAGE_ZSH is not set - -# -# Utilities -# -# BR2_PACKAGE_AT is not set -# BR2_PACKAGE_CCRYPT is not set -# BR2_PACKAGE_DIALOG is not set -# BR2_PACKAGE_DTACH is not set -# BR2_PACKAGE_EASY_RSA is not set -# BR2_PACKAGE_FILE is not set -# BR2_PACKAGE_GNUPG is not set -# BR2_PACKAGE_GNUPG2 is not set -# BR2_PACKAGE_INOTIFY_TOOLS is not set -# BR2_PACKAGE_LOCKFILE_PROGS is not set -# BR2_PACKAGE_LOGROTATE is not set -# BR2_PACKAGE_LOGSURFER is not set -# BR2_PACKAGE_PDMENU is not set -# BR2_PACKAGE_PINENTRY is not set -# BR2_PACKAGE_QPRINT is not set -# BR2_PACKAGE_RANGER is not set -# BR2_PACKAGE_RTTY is not set -# BR2_PACKAGE_SCREEN is not set -# BR2_PACKAGE_SUDO is not set -# BR2_PACKAGE_TINI is not set -# BR2_PACKAGE_TMUX is not set -# BR2_PACKAGE_TTYD is not set -# BR2_PACKAGE_XMLSTARLET is not set -# BR2_PACKAGE_XXHASH is not set -# BR2_PACKAGE_YTREE is not set - -# -# System tools -# -# BR2_PACKAGE_ACL is not set -# BR2_PACKAGE_ANDROID_TOOLS is not set -# BR2_PACKAGE_ATOP is not set -# BR2_PACKAGE_ATTR is not set -# BR2_PACKAGE_BUBBLEWRAP is not set -# BR2_PACKAGE_CGROUPFS_MOUNT is not set - -# -# circus needs Python 3 and a toolchain w/ C++, threads -# -# BR2_PACKAGE_CPULOAD is not set -# BR2_PACKAGE_DAEMON is not set -# BR2_PACKAGE_DC3DD is not set - -# -# ddrescue needs a toolchain w/ C++ -# - -# -# docker-compose needs a toolchain w/ C++, wchar, threads, dynamic library -# -# BR2_PACKAGE_EARLYOOM is not set -# BR2_PACKAGE_EMLOG is not set -# BR2_PACKAGE_FTOP is not set -# BR2_PACKAGE_GETENT is not set -# BR2_PACKAGE_GKRELLM is not set -# BR2_PACKAGE_HTOP is not set -# BR2_PACKAGE_IBM_SW_TPM2 is not set -BR2_PACKAGE_INITSCRIPTS=y - -# -# iotop depends on python or python3 -# -# BR2_PACKAGE_IPRUTILS is not set -# BR2_PACKAGE_IRQBALANCE is not set -# BR2_PACKAGE_KEYUTILS is not set -# BR2_PACKAGE_KMOD is not set -# BR2_PACKAGE_LIBOSTREE is not set -# BR2_PACKAGE_LXC is not set -# BR2_PACKAGE_MFOC is not set -# BR2_PACKAGE_MONIT is not set - -# -# multipath-tools needs udev and a uClibc or glibc toolchain w/ threads, dynamic library -# -# BR2_PACKAGE_NCDU is not set - -# -# netifrc needs openrc as init system -# -# BR2_PACKAGE_NUMACTL is not set - -# -# nut needs a toolchain w/ C++ -# - -# -# pamtester depends on linux-pam -# - -# -# polkit needs a glibc or musl toolchain with C++, wchar, dynamic library, NPTL, gcc >= 4.9 -# -# BR2_PACKAGE_PROCRANK_LINUX is not set -# BR2_PACKAGE_PWGEN is not set -# BR2_PACKAGE_QUOTA is not set -# BR2_PACKAGE_QUOTATOOL is not set -# BR2_PACKAGE_RAUC is not set -# BR2_PACKAGE_S6 is not set -# BR2_PACKAGE_S6_LINUX_INIT is not set -# BR2_PACKAGE_S6_LINUX_UTILS is not set -# BR2_PACKAGE_S6_PORTABLE_UTILS is not set -# BR2_PACKAGE_S6_RC is not set -# BR2_PACKAGE_SCRUB is not set -# BR2_PACKAGE_SCRYPT is not set - -# -# sdbusplus needs systemd and a toolchain w/ C++, gcc >= 7 -# -# BR2_PACKAGE_SMACK is not set - -# -# supervisor needs a python interpreter -# -# BR2_PACKAGE_SWUPDATE is not set -BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS=y -# BR2_PACKAGE_TPM_TOOLS is not set -# BR2_PACKAGE_TPM2_ABRMD is not set -# BR2_PACKAGE_TPM2_TOOLS is not set -# BR2_PACKAGE_TPM2_TOTP is not set -# BR2_PACKAGE_UNSCD is not set -# BR2_PACKAGE_UTIL_LINUX is not set -# BR2_PACKAGE_WATCHDOG is not set -# BR2_PACKAGE_XDG_DBUS_PROXY is not set - -# -# Text editors and viewers -# -# BR2_PACKAGE_ED is not set -# BR2_PACKAGE_JOE is not set -# BR2_PACKAGE_MC is not set -# BR2_PACKAGE_MG is not set -# BR2_PACKAGE_MOST is not set -# BR2_PACKAGE_NANO is not set -# BR2_PACKAGE_UEMACS is not set - -# -# Filesystem images -# -# BR2_TARGET_ROOTFS_AXFS is not set -# BR2_TARGET_ROOTFS_BTRFS is not set -# BR2_TARGET_ROOTFS_CLOOP is not set -BR2_TARGET_ROOTFS_CPIO=y -BR2_TARGET_ROOTFS_CPIO_NONE=y -# BR2_TARGET_ROOTFS_CPIO_GZIP is not set -# BR2_TARGET_ROOTFS_CPIO_BZIP2 is not set -# BR2_TARGET_ROOTFS_CPIO_LZ4 is not set -# BR2_TARGET_ROOTFS_CPIO_LZMA is not set -# BR2_TARGET_ROOTFS_CPIO_LZO is not set -# BR2_TARGET_ROOTFS_CPIO_XZ is not set -# BR2_TARGET_ROOTFS_CPIO_ZSTD is not set -# BR2_TARGET_ROOTFS_CPIO_UIMAGE is not set -# BR2_TARGET_ROOTFS_CRAMFS is not set -# BR2_TARGET_ROOTFS_EROFS is not set -# BR2_TARGET_ROOTFS_EXT2 is not set -# BR2_TARGET_ROOTFS_F2FS is not set -BR2_TARGET_ROOTFS_INITRAMFS=y -# BR2_TARGET_ROOTFS_JFFS2 is not set -# BR2_TARGET_ROOTFS_ROMFS is not set -# BR2_TARGET_ROOTFS_SQUASHFS is not set -# BR2_TARGET_ROOTFS_TAR is not set -# BR2_TARGET_ROOTFS_UBI is not set -# BR2_TARGET_ROOTFS_UBIFS is not set -# BR2_TARGET_ROOTFS_YAFFS2 is not set - -# -# Bootloaders -# -# BR2_TARGET_BAREBOX is not set -# BR2_TARGET_BEAGLEV_DDRINIT is not set -# BR2_TARGET_BEAGLEV_SECONDBOOT is not set -BR2_TARGET_OPENSBI=y -BR2_TARGET_OPENSBI_LATEST_VERSION=y -# BR2_TARGET_OPENSBI_CUSTOM_VERSION is not set -# BR2_TARGET_OPENSBI_CUSTOM_TARBALL is not set -# BR2_TARGET_OPENSBI_CUSTOM_GIT is not set -BR2_TARGET_OPENSBI_VERSION="0.9" -BR2_TARGET_OPENSBI_PLAT="generic" -BR2_TARGET_OPENSBI_INSTALL_DYNAMIC_IMG=y -BR2_TARGET_OPENSBI_INSTALL_JUMP_IMG=y -# BR2_TARGET_OPENSBI_INSTALL_PAYLOAD_IMG is not set -# BR2_TARGET_OPENSBI_LINUX_PAYLOAD is not set -# BR2_TARGET_UBOOT is not set - -# -# Host utilities -# -# BR2_PACKAGE_HOST_ABOOTIMG is not set -# BR2_PACKAGE_HOST_AESPIPE is not set -# BR2_PACKAGE_HOST_ANDROID_TOOLS is not set -# BR2_PACKAGE_HOST_ASN1C is not set -# BR2_PACKAGE_HOST_BABELTRACE2 is not set -# BR2_PACKAGE_HOST_BTRFS_PROGS is not set -# BR2_PACKAGE_HOST_CHECKPOLICY is not set -# BR2_PACKAGE_HOST_CHECKSEC is not set -# BR2_PACKAGE_HOST_CMAKE is not set -# BR2_PACKAGE_HOST_CRAMFS is not set -# BR2_PACKAGE_HOST_CRYPTSETUP is not set -# BR2_PACKAGE_HOST_DBUS_PYTHON is not set -# BR2_PACKAGE_HOST_DFU_UTIL is not set -# BR2_PACKAGE_HOST_DOS2UNIX is not set -# BR2_PACKAGE_HOST_DOSFSTOOLS is not set -# BR2_PACKAGE_HOST_DOXYGEN is not set -# BR2_PACKAGE_HOST_DTC is not set -BR2_PACKAGE_HOST_E2FSPROGS=y -# BR2_PACKAGE_HOST_E2TOOLS is not set -# BR2_PACKAGE_HOST_ENVIRONMENT_SETUP is not set -# BR2_PACKAGE_HOST_EROFS_UTILS is not set -# BR2_PACKAGE_HOST_EXFATPROGS is not set -# BR2_PACKAGE_HOST_F2FS_TOOLS is not set -# BR2_PACKAGE_HOST_FAKETIME is not set -# BR2_PACKAGE_HOST_FATCAT is not set -# BR2_PACKAGE_HOST_FWUP is not set -# BR2_PACKAGE_HOST_GENEXT2FS is not set -# BR2_PACKAGE_HOST_GENIMAGE is not set -# BR2_PACKAGE_HOST_GENPART is not set -# BR2_PACKAGE_HOST_GNUPG is not set -BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y -# BR2_PACKAGE_HOST_GPTFDISK is not set -# BR2_PACKAGE_HOST_IMAGEMAGICK is not set -# BR2_PACKAGE_HOST_IMX_MKIMAGE is not set -# BR2_PACKAGE_HOST_JH71XX_TOOLS is not set -# BR2_PACKAGE_HOST_JQ is not set -# BR2_PACKAGE_HOST_JSMIN is not set -BR2_PACKAGE_HOST_KMOD=y -# BR2_PACKAGE_HOST_KMOD_GZ is not set -# BR2_PACKAGE_HOST_KMOD_ZSTD is not set -# BR2_PACKAGE_HOST_KMOD_XZ is not set -# BR2_PACKAGE_HOST_LIBP11 is not set -# BR2_PACKAGE_HOST_LPC3250LOADER is not set -# BR2_PACKAGE_HOST_LTTNG_BABELTRACE is not set -# BR2_PACKAGE_HOST_MENDER_ARTIFACT is not set -# BR2_PACKAGE_HOST_MESON_TOOLS is not set -# BR2_PACKAGE_HOST_MKPASSWD is not set -# BR2_PACKAGE_HOST_MTD is not set -# BR2_PACKAGE_HOST_MTOOLS is not set -# BR2_PACKAGE_HOST_ODB is not set -# BR2_PACKAGE_HOST_OPENOCD is not set -# BR2_PACKAGE_HOST_OPKG_UTILS is not set -# BR2_PACKAGE_HOST_PARTED is not set -BR2_PACKAGE_HOST_PATCHELF=y -# BR2_PACKAGE_HOST_PIGZ is not set -# BR2_PACKAGE_HOST_PKGCONF is not set -# BR2_PACKAGE_HOST_PWGEN is not set -# BR2_PACKAGE_HOST_PYTHON is not set -# BR2_PACKAGE_HOST_PYTHON_CYTHON is not set -# BR2_PACKAGE_HOST_PYTHON_LXML is not set -# BR2_PACKAGE_HOST_PYTHON_SIX is not set -# BR2_PACKAGE_HOST_PYTHON_XLRD is not set -# BR2_PACKAGE_HOST_PYTHON3 is not set -BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_QEMU_SYSTEM_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_QEMU=y - -# -# Emulators selection -# -BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y -# BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE is not set -# BR2_PACKAGE_HOST_QEMU_VDE2 is not set -# BR2_PACKAGE_HOST_QEMU_VIRTFS is not set -# BR2_PACKAGE_HOST_QEMU_USB is not set -# BR2_PACKAGE_HOST_QORIQ_RCW is not set -# BR2_PACKAGE_HOST_RAUC is not set -BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS=y -BR2_PACKAGE_HOST_RUSTC_ARCH="riscv64" -# BR2_PACKAGE_HOST_RUSTC is not set -BR2_PACKAGE_PROVIDES_HOST_RUSTC="host-rust-bin" -# BR2_PACKAGE_HOST_SAM_BA is not set -# BR2_PACKAGE_HOST_SDBUSPLUS is not set -# BR2_PACKAGE_HOST_SENTRY_CLI is not set -# BR2_PACKAGE_HOST_SQUASHFS is not set -# BR2_PACKAGE_HOST_SWIG is not set -# BR2_PACKAGE_HOST_UBOOT_TOOLS is not set -BR2_PACKAGE_HOST_UTIL_LINUX=y -# BR2_PACKAGE_HOST_UTP_COM is not set -# BR2_PACKAGE_HOST_VBOOT_UTILS is not set -# BR2_PACKAGE_HOST_XORRISO is not set -# BR2_PACKAGE_HOST_ZIP is not set -# BR2_PACKAGE_HOST_ZSTD is not set - -# -# Legacy config options -# - -# -# Legacy options removed in 2021.05 -# -# BR2_PACKAGE_UDISKS_LVM2 is not set -# BR2_PACKAGE_LVM2_APP_LIBRARY is not set -# BR2_PACKAGE_LVM2_LVMETAD is not set -# BR2_PACKAGE_MONKEY is not set -# BR2_PACKAGE_DOCKER_CONTAINERD is not set -# BR2_PACKAGE_IOSTAT is not set -# BR2_PACKAGE_SCONESERVER_HTTP_SCONESITE_IMAGE is not set -# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV is not set -# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_KBD is not set -# BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_MOUSE is not set -# BR2_PACKAGE_MESA3D_OSMESA_CLASSIC is not set -# BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST is not set -# BR2_PACKAGE_KODI_SCREENSAVER_CRYSTALMORPH is not set - -# -# Legacy options removed in 2021.02 -# -# BR2_PACKAGE_MPD_AUDIOFILE is not set -# BR2_PACKAGE_AUDIOFILE is not set -# BR2_BINUTILS_VERSION_2_33_X is not set -# BR2_PACKAGE_LIBUPNP18 is not set -# BR2_PACKAGE_BOA is not set -# BR2_PACKAGE_LINUX_FIRMWARE_IMX_SDMA is not set -# BR2_GDB_VERSION_8_2 is not set -# BR2_PACKAGE_HOST_RCW is not set -# BR2_KERNEL_HEADERS_5_9 is not set -# BR2_KERNEL_HEADERS_5_8 is not set -# BR2_powerpc_601 is not set -# BR2_PACKAGE_TI_SGX_LIBGBM is not set -# BR2_PACKAGE_IPSEC_TOOLS is not set - -# -# Legacy options removed in 2020.11 -# -# BR2_PACKAGE_OPENCV is not set -# BR2_PACKAGE_LIBCROCO is not set -# BR2_PACKAGE_BELLAGIO is not set -# BR2_PACKAGE_SYSTEMD_JOURNAL_GATEWAY is not set -# BR2_TARGET_UBOOT_BOOT_SCRIPT is not set -# BR2_TARGET_UBOOT_ENVIMAGE is not set -# BR2_PACKAGE_KISMET_CLIENT is not set -# BR2_PACKAGE_KISMET_DRONE is not set -# BR2_GCC_VERSION_7_X is not set -# BR2_PACKAGE_GST1_VALIDATE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_YADIF is not set -# BR2_PACKAGE_GQVIEW is not set -# BR2_PACKAGE_WESTON_IMX is not set -# BR2_KERNEL_HEADERS_5_7 is not set -# BR2_PACKAGE_TINYHTTPD is not set -# BR2_PACKAGE_XSERVER_XORG_SERVER_AIGLX is not set -# BR2_PACKAGE_AMD_CATALYST is not set -# BR2_PACKAGE_NVIDIA_TEGRA23 is not set -# BR2_GDB_VERSION_8_1 is not set - -# -# Legacy options removed in 2020.08 -# -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AMD64 is not set -# BR2_KERNEL_HEADERS_5_6 is not set -# BR2_KERNEL_HEADERS_5_5 is not set -# BR2_BINUTILS_VERSION_2_31_X is not set -# BR2_PACKAGE_KODI_PERIPHERAL_STEAMCONTROLLER is not set - -# -# Legacy options removed in 2020.05 -# -# BR2_PACKAGE_WIRINGPI is not set -# BR2_PACKAGE_PYTHON_PYCRYPTO is not set -# BR2_PACKAGE_MTDEV2TUIO is not set -# BR2_PACKAGE_EZXML is not set -# BR2_PACKAGE_COLLECTD_LVM is not set -# BR2_PACKAGE_PYTHON_PYASN is not set -# BR2_PACKAGE_PYTHON_PYASN_MODULES is not set -# BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA6174 is not set -# BR2_PACKAGE_QT5CANVAS3D is not set -# BR2_PACKAGE_KODI_LIBTHEORA is not set -# BR2_PACKAGE_CEGUI06 is not set -# BR2_GCC_VERSION_5_X is not set - -# -# Legacy options removed in 2020.02 -# -# BR2_PACKAGE_JAMVM is not set -# BR2_PACKAGE_CLASSPATH is not set -# BR2_PACKAGE_QT5_VERSION_5_6 is not set -# BR2_PACKAGE_CURL is not set -# BR2_PACKAGE_GSTREAMER is not set -# BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_GSTREAMER_PLUGINS is not set -# BR2_PACKAGE_NVIDIA_TEGRA23_BINARIES_NV_SAMPLE_APPS is not set -# BR2_PACKAGE_FREERDP_GSTREAMER is not set -# BR2_PACKAGE_OPENCV3_WITH_GSTREAMER is not set -# BR2_PACKAGE_OPENCV_WITH_GSTREAMER is not set -# BR2_PACKAGE_LIBPLAYER is not set -# BR2_GCC_VERSION_OR1K is not set -# BR2_PACKAGE_BLUEZ_UTILS is not set -# BR2_PACKAGE_GADGETFS_TEST is not set -# BR2_PACKAGE_FIS is not set -BR2_PACKAGE_REFPOLICY_POLICY_VERSION="" -# BR2_PACKAGE_CELT051 is not set -# BR2_PACKAGE_WIREGUARD is not set -# BR2_PACKAGE_PERL_NET_PING is not set -# BR2_PACKAGE_PERL_MIME_BASE64 is not set -# BR2_PACKAGE_PERL_DIGEST_MD5 is not set -# BR2_PACKAGE_ERLANG_P1_ICONV is not set -# BR2_KERNEL_HEADERS_5_3 is not set -# BR2_PACKAGE_PYTHON_SCAPY3K is not set -# BR2_BINUTILS_VERSION_2_30_X is not set -# BR2_PACKAGE_RPI_USERLAND_START_VCFILED is not set - -# -# Legacy options removed in 2019.11 -# -# BR2_PACKAGE_OPENVMTOOLS_PROCPS is not set -# BR2_PACKAGE_ALLJOYN is not set -# BR2_PACKAGE_ALLJOYN_BASE is not set -# BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL is not set -# BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION is not set -# BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING is not set -# BR2_PACKAGE_ALLJOYN_TCL_BASE is not set -# BR2_PACKAGE_ALLJOYN_TCL is not set -BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS="" -# BR2_PACKAGE_PYTHON_PYSNMP_APPS is not set -# BR2_KERNEL_HEADERS_5_2 is not set -# BR2_TARGET_RISCV_PK is not set -# BR2_PACKAGE_SQLITE_STAT3 is not set -# BR2_KERNEL_HEADERS_5_1 is not set -# BR2_PACKAGE_DEVMEM2 is not set -# BR2_PACKAGE_USTR is not set -# BR2_PACKAGE_KODI_SCREENSAVER_PLANESTATE is not set -# BR2_PACKAGE_KODI_VISUALISATION_WAVEFORHUE is not set -# BR2_PACKAGE_KODI_AUDIODECODER_OPUS is not set -# BR2_PACKAGE_MESA3D_OSMESA is not set -# BR2_PACKAGE_HOSTAPD_DRIVER_RTW is not set -# BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW is not set -# BR2_PACKAGE_WPA_SUPPLICANT_DBUS_OLD is not set - -# -# Legacy options removed in 2019.08 -# -# BR2_TARGET_TS4800_MBRBOOT is not set -# BR2_PACKAGE_LIBAMCODEC is not set -# BR2_PACKAGE_ODROID_SCRIPTS is not set -# BR2_PACKAGE_ODROID_MALI is not set -# BR2_PACKAGE_KODI_PLATFORM_AML is not set -# BR2_GCC_VERSION_6_X is not set -# BR2_GCC_VERSION_4_9_X is not set -# BR2_GDB_VERSION_7_12 is not set -# BR2_PACKAGE_XAPP_MKFONTDIR is not set -# BR2_GDB_VERSION_8_0 is not set -# BR2_KERNEL_HEADERS_4_20 is not set -# BR2_KERNEL_HEADERS_5_0 is not set - -# -# Legacy options removed in 2019.05 -# -# BR2_CSKY_DSP is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_COMPOSITOR is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_OPENCV is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_STEREO is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VCD is not set -# BR2_PACKAGE_LUNIT is not set -# BR2_PACKAGE_FFMPEG_FFSERVER is not set -# BR2_PACKAGE_LIBUMP is not set -# BR2_PACKAGE_SUNXI_MALI is not set -# BR2_BINUTILS_VERSION_2_29_X is not set -# BR2_BINUTILS_VERSION_2_28_X is not set -# BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK is not set - -# -# Legacy options removed in 2019.02 -# -# BR2_PACKAGE_QT is not set -# BR2_PACKAGE_QTUIO is not set -# BR2_PACKAGE_PINENTRY_QT4 is not set -# BR2_PACKAGE_POPPLER_QT is not set -# BR2_PACKAGE_OPENCV3_WITH_QT is not set -# BR2_PACKAGE_OPENCV_WITH_QT is not set -# BR2_PACKAGE_AMD_CATALYST_CCCLE is not set -# BR2_PACKAGE_SDL_QTOPIA is not set -# BR2_PACKAGE_PYTHON_PYQT is not set -# BR2_PACKAGE_LUACRYPTO is not set -# BR2_PACKAGE_TN5250 is not set -# BR2_PACKAGE_BOOST_SIGNALS is not set -# BR2_PACKAGE_FFTW_PRECISION_SINGLE is not set -# BR2_PACKAGE_FFTW_PRECISION_DOUBLE is not set -# BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE is not set -# BR2_PACKAGE_LUA_5_2 is not set -# BR2_TARGET_GENERIC_PASSWD_MD5 is not set - -# -# Legacy options removed in 2018.11 -# -# BR2_TARGET_XLOADER is not set -# BR2_PACKAGE_TIDSP_BINARIES is not set -# BR2_PACKAGE_DSP_TOOLS is not set -# BR2_PACKAGE_GST_DSP is not set -# BR2_PACKAGE_BOOTUTILS is not set -# BR2_PACKAGE_EXPEDITE is not set -# BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT is not set -# BR2_KERNEL_HEADERS_4_10 is not set -# BR2_KERNEL_HEADERS_4_11 is not set -# BR2_KERNEL_HEADERS_4_12 is not set -# BR2_KERNEL_HEADERS_4_13 is not set -# BR2_KERNEL_HEADERS_4_15 is not set -# BR2_KERNEL_HEADERS_4_17 is not set -# BR2_PACKAGE_LIBNFTNL_XML is not set -# BR2_KERNEL_HEADERS_3_2 is not set -# BR2_KERNEL_HEADERS_4_1 is not set -# BR2_KERNEL_HEADERS_4_16 is not set -# BR2_KERNEL_HEADERS_4_18 is not set - -# -# Legacy options removed in 2018.08 -# -# BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT is not set -# BR2_PACKAGE_XPROTO_APPLEWMPROTO is not set -# BR2_PACKAGE_XPROTO_BIGREQSPROTO is not set -# BR2_PACKAGE_XPROTO_COMPOSITEPROTO is not set -# BR2_PACKAGE_XPROTO_DAMAGEPROTO is not set -# BR2_PACKAGE_XPROTO_DMXPROTO is not set -# BR2_PACKAGE_XPROTO_DRI2PROTO is not set -# BR2_PACKAGE_XPROTO_DRI3PROTO is not set -# BR2_PACKAGE_XPROTO_FIXESPROTO is not set -# BR2_PACKAGE_XPROTO_FONTCACHEPROTO is not set -# BR2_PACKAGE_XPROTO_FONTSPROTO is not set -# BR2_PACKAGE_XPROTO_GLPROTO is not set -# BR2_PACKAGE_XPROTO_INPUTPROTO is not set -# BR2_PACKAGE_XPROTO_KBPROTO is not set -# BR2_PACKAGE_XPROTO_PRESENTPROTO is not set -# BR2_PACKAGE_XPROTO_RANDRPROTO is not set -# BR2_PACKAGE_XPROTO_RECORDPROTO is not set -# BR2_PACKAGE_XPROTO_RENDERPROTO is not set -# BR2_PACKAGE_XPROTO_RESOURCEPROTO is not set -# BR2_PACKAGE_XPROTO_SCRNSAVERPROTO is not set -# BR2_PACKAGE_XPROTO_VIDEOPROTO is not set -# BR2_PACKAGE_XPROTO_WINDOWSWMPROTO is not set -# BR2_PACKAGE_XPROTO_XCMISCPROTO is not set -# BR2_PACKAGE_XPROTO_XEXTPROTO is not set -# BR2_PACKAGE_XPROTO_XF86BIGFONTPROTO is not set -# BR2_PACKAGE_XPROTO_XF86DGAPROTO is not set -# BR2_PACKAGE_XPROTO_XF86DRIPROTO is not set -# BR2_PACKAGE_XPROTO_XF86VIDMODEPROTO is not set -# BR2_PACKAGE_XPROTO_XINERAMAPROTO is not set -# BR2_PACKAGE_XPROTO_XPROTO is not set -# BR2_PACKAGE_XPROTO_XPROXYMANAGEMENTPROTOCOL is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_OPENGL is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLES2 is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_GLX is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_EGL is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_X11 is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_WAYLAND is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_LIB_OPENGL_DISPMANX is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER is not set -# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_LAME is not set -# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MPG123 is not set -# BR2_GDB_VERSION_7_11 is not set -# BR2_GDB_VERSION_7_10 is not set - -# -# Legacy options removed in 2018.05 -# -# BR2_PACKAGE_MEDIAART_BACKEND_NONE is not set -# BR2_PACKAGE_MEDIAART_BACKEND_GDK_PIXBUF is not set -# BR2_PACKAGE_TI_SGX_AM335X is not set -# BR2_PACKAGE_TI_SGX_AM437X is not set -# BR2_PACKAGE_TI_SGX_AM4430 is not set -# BR2_PACKAGE_TI_SGX_AM5430 is not set -# BR2_PACKAGE_JANUS_AUDIO_BRIDGE is not set -# BR2_PACKAGE_JANUS_ECHO_TEST is not set -# BR2_PACKAGE_JANUS_RECORDPLAY is not set -# BR2_PACKAGE_JANUS_SIP_GATEWAY is not set -# BR2_PACKAGE_JANUS_STREAMING is not set -# BR2_PACKAGE_JANUS_TEXT_ROOM is not set -# BR2_PACKAGE_JANUS_VIDEO_CALL is not set -# BR2_PACKAGE_JANUS_VIDEO_ROOM is not set -# BR2_PACKAGE_JANUS_MQTT is not set -# BR2_PACKAGE_JANUS_RABBITMQ is not set -# BR2_PACKAGE_JANUS_REST is not set -# BR2_PACKAGE_JANUS_UNIX_SOCKETS is not set -# BR2_PACKAGE_JANUS_WEBSOCKETS is not set -# BR2_PACKAGE_IPSEC_SECCTX_DISABLE is not set -# BR2_PACKAGE_IPSEC_SECCTX_ENABLE is not set -# BR2_PACKAGE_IPSEC_SECCTX_KERNEL is not set -# BR2_PACKAGE_LIBTFDI_CPP is not set -# BR2_PACKAGE_JQUERY_UI_THEME_BLACK_TIE is not set -# BR2_PACKAGE_JQUERY_UI_THEME_BLITZER is not set -# BR2_PACKAGE_JQUERY_UI_THEME_CUPERTINO is not set -# BR2_PACKAGE_JQUERY_UI_THEME_DARK_HIVE is not set -# BR2_PACKAGE_JQUERY_UI_THEME_DOT_LUV is not set -# BR2_PACKAGE_JQUERY_UI_THEME_EGGPLANT is not set -# BR2_PACKAGE_JQUERY_UI_THEME_EXCITE_BIKE is not set -# BR2_PACKAGE_JQUERY_UI_THEME_FLICK is not set -# BR2_PACKAGE_JQUERY_UI_THEME_HOT_SNEAKS is not set -# BR2_PACKAGE_JQUERY_UI_THEME_HUMANITY is not set -# BR2_PACKAGE_JQUERY_UI_THEME_LE_FROG is not set -# BR2_PACKAGE_JQUERY_UI_THEME_MINT_CHOC is not set -# BR2_PACKAGE_JQUERY_UI_THEME_OVERCAST is not set -# BR2_PACKAGE_JQUERY_UI_THEME_PEPPER_GRINDER is not set -# BR2_PACKAGE_JQUERY_UI_THEME_REDMOND is not set -# BR2_PACKAGE_JQUERY_UI_THEME_SMOOTHNESS is not set -# BR2_PACKAGE_JQUERY_UI_THEME_SOUTH_STREET is not set -# BR2_PACKAGE_JQUERY_UI_THEME_START is not set -# BR2_PACKAGE_JQUERY_UI_THEME_SUNNY is not set -# BR2_PACKAGE_JQUERY_UI_THEME_SWANKY_PURSE is not set -# BR2_PACKAGE_JQUERY_UI_THEME_TRONTASTIC is not set -# BR2_PACKAGE_JQUERY_UI_THEME_UI_DARKNESS is not set -# BR2_PACKAGE_JQUERY_UI_THEME_UI_LIGHTNESS is not set -# BR2_PACKAGE_JQUERY_UI_THEME_VADER is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_HEALTH is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_MIDI is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_NFC is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_SAP is not set -# BR2_PACKAGE_BLUEZ5_PLUGINS_SIXAXIS is not set -# BR2_PACKAGE_TRANSMISSION_REMOTE is not set -# BR2_PACKAGE_LIBKCAPI_APPS is not set -# BR2_PACKAGE_MPLAYER is not set -# BR2_PACKAGE_MPLAYER_MPLAYER is not set -# BR2_PACKAGE_MPLAYER_MENCODER is not set -# BR2_PACKAGE_LIBPLAYER_MPLAYER is not set -# BR2_PACKAGE_IQVLINUX is not set -# BR2_BINFMT_FLAT_SEP_DATA is not set -# BR2_bfin is not set -# BR2_PACKAGE_KODI_ADSP_BASIC is not set -# BR2_PACKAGE_KODI_ADSP_FREESURROUND is not set - -# -# Legacy options removed in 2018.02 -# -# BR2_KERNEL_HEADERS_3_4 is not set -# BR2_KERNEL_HEADERS_3_10 is not set -# BR2_KERNEL_HEADERS_3_12 is not set -# BR2_BINUTILS_VERSION_2_27_X is not set -# BR2_PACKAGE_EEPROG is not set -# BR2_PACKAGE_GNUPG2_GPGV2 is not set -# BR2_PACKAGE_IMX_GPU_VIV_APITRACE is not set -# BR2_PACKAGE_IMX_GPU_VIV_G2D is not set - -# -# Legacy options removed in 2017.11 -# -# BR2_PACKAGE_RFKILL is not set -# BR2_PACKAGE_UTIL_LINUX_RESET is not set -# BR2_PACKAGE_POLICYCOREUTILS_AUDIT2ALLOW is not set -# BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND is not set -# BR2_PACKAGE_SEPOLGEN is not set -# BR2_PACKAGE_OPENOBEX_BLUEZ is not set -# BR2_PACKAGE_OPENOBEX_LIBUSB is not set -# BR2_PACKAGE_OPENOBEX_APPS is not set -# BR2_PACKAGE_OPENOBEX_SYSLOG is not set -# BR2_PACKAGE_OPENOBEX_DUMP is not set -# BR2_PACKAGE_AICCU is not set -# BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS is not set - -# -# Legacy options removed in 2017.08 -# -# BR2_TARGET_GRUB is not set -# BR2_PACKAGE_SIMICSFS is not set -# BR2_BINUTILS_VERSION_2_26_X is not set -BR2_XTENSA_OVERLAY_DIR="" -BR2_XTENSA_CUSTOM_NAME="" -# BR2_PACKAGE_HOST_MKE2IMG is not set -BR2_TARGET_ROOTFS_EXT2_BLOCKS=0 -BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0 -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL is not set -# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD is not set -# BR2_STRIP_none is not set -# BR2_PACKAGE_BEECRYPT_CPP is not set -# BR2_PACKAGE_SPICE_CLIENT is not set -# BR2_PACKAGE_SPICE_GUI is not set -# BR2_PACKAGE_SPICE_TUNNEL is not set -# BR2_PACKAGE_INPUT_TOOLS is not set -# BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH is not set -# BR2_PACKAGE_INPUT_TOOLS_JSCAL is not set -# BR2_PACKAGE_INPUT_TOOLS_JSTEST is not set -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH is not set -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 is not set -# BR2_GCC_VERSION_4_8_X is not set - -# -# Legacy options removed in 2017.05 -# -# BR2_PACKAGE_SUNXI_MALI_R2P4 is not set -# BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT is not set -# BR2_PACKAGE_NODEJS_MODULES_EXPRESS is not set -# BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL is not set -# BR2_PACKAGE_OPENOCD_FT2XXX is not set -# BR2_PACKAGE_KODI_RTMPDUMP is not set -# BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN is not set -# BR2_PACKAGE_PORTMAP is not set -# BR2_BINUTILS_VERSION_2_25_X is not set -# BR2_TOOLCHAIN_BUILDROOT_INET_RPC is not set -BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0 -# BR2_PACKAGE_SYSTEMD_KDBUS is not set -# BR2_PACKAGE_POLARSSL is not set -# BR2_NBD_CLIENT is not set -# BR2_NBD_SERVER is not set -# BR2_PACKAGE_GMOCK is not set -# BR2_KERNEL_HEADERS_4_8 is not set -# BR2_KERNEL_HEADERS_3_18 is not set -# BR2_GLIBC_VERSION_2_22 is not set - -# -# Legacy options removed in 2017.02 -# -# BR2_PACKAGE_PERL_DB_FILE is not set -# BR2_KERNEL_HEADERS_4_7 is not set -# BR2_KERNEL_HEADERS_4_6 is not set -# BR2_KERNEL_HEADERS_4_5 is not set -# BR2_KERNEL_HEADERS_3_14 is not set -# BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS is not set -# BR2_UCLIBC_INSTALL_TEST_SUITE is not set -# BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX is not set -# BR2_PACKAGE_MAKEDEVS is not set -# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A is not set -# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE is not set -# BR2_PACKAGE_SNOWBALL_HDMISERVICE is not set -# BR2_PACKAGE_SNOWBALL_INIT is not set -# BR2_GDB_VERSION_7_9 is not set - -# -# Legacy options removed in 2016.11 -# -# BR2_PACKAGE_PHP_SAPI_CLI_CGI is not set -# BR2_PACKAGE_PHP_SAPI_CLI_FPM is not set -# BR2_PACKAGE_WVSTREAMS is not set -# BR2_PACKAGE_WVDIAL is not set -# BR2_PACKAGE_WEBKITGTK24 is not set -# BR2_PACKAGE_TORSMO is not set -# BR2_PACKAGE_SSTRIP is not set -# BR2_KERNEL_HEADERS_4_3 is not set -# BR2_KERNEL_HEADERS_4_2 is not set -# BR2_PACKAGE_KODI_ADDON_XVDR is not set -# BR2_PACKAGE_IPKG is not set -# BR2_GCC_VERSION_4_7_X is not set -# BR2_BINUTILS_VERSION_2_24_X is not set -# BR2_PACKAGE_WESTON_RPI is not set -# BR2_LINUX_KERNEL_TOOL_CPUPOWER is not set -# BR2_LINUX_KERNEL_TOOL_PERF is not set -# BR2_LINUX_KERNEL_TOOL_SELFTESTS is not set -# BR2_GCC_VERSION_4_8_ARC is not set -# BR2_KERNEL_HEADERS_4_0 is not set -# BR2_KERNEL_HEADERS_3_19 is not set -# BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS is not set -# BR2_PACKAGE_ELEMENTARY is not set -# BR2_LINUX_KERNEL_CUSTOM_LOCAL is not set - -# -# Legacy options removed in 2016.08 -# -# BR2_PACKAGE_EFL_JP2K is not set -# BR2_PACKAGE_SYSTEMD_COMPAT is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIVEADDER is not set -# BR2_PACKAGE_LIBFSLVPUWRAP is not set -# BR2_PACKAGE_LIBFSLPARSER is not set -# BR2_PACKAGE_LIBFSLCODEC is not set -# BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT is not set -# BR2_PTHREADS_OLD is not set -# BR2_BINUTILS_VERSION_2_23_X is not set -# BR2_TOOLCHAIN_BUILDROOT_EGLIBC is not set -# BR2_GDB_VERSION_7_8 is not set - -# -# Legacy options removed in 2016.05 -# -# BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL is not set -# BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP is not set -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123 is not set -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC is not set -# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2 is not set -# BR2_x86_i386 is not set -# BR2_PACKAGE_QT5QUICK1 is not set -BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR="" -# BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID is not set -# BR2_KERNEL_HEADERS_3_17 is not set -# BR2_GDB_VERSION_7_7 is not set -# BR2_PACKAGE_FOOMATIC_FILTERS is not set -# BR2_PACKAGE_SAMBA is not set -# BR2_PACKAGE_KODI_WAVPACK is not set -# BR2_PACKAGE_KODI_RSXS is not set -# BR2_PACKAGE_KODI_GOOM is not set -# BR2_PACKAGE_SYSTEMD_ALL_EXTRAS is not set -# BR2_GCC_VERSION_4_5_X is not set -# BR2_PACKAGE_SQLITE_READLINE is not set - -# -# Legacy options removed in 2016.02 -# -# BR2_PACKAGE_DOVECOT_BZIP2 is not set -# BR2_PACKAGE_DOVECOT_ZLIB is not set -# BR2_PACKAGE_E2FSPROGS_FINDFS is not set -# BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL is not set -# BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE is not set -# BR2_PACKAGE_OPENPOWERLINK_LIBPCAP is not set -# BR2_LINUX_KERNEL_SAME_AS_HEADERS is not set -# BR2_PACKAGE_CUPS_PDFTOPS is not set -# BR2_KERNEL_HEADERS_3_16 is not set -# BR2_PACKAGE_PYTHON_PYXML is not set -# BR2_ENABLE_SSP is not set -# BR2_PACKAGE_DIRECTFB_CLE266 is not set -# BR2_PACKAGE_DIRECTFB_UNICHROME is not set -# BR2_PACKAGE_LIBELEMENTARY is not set -# BR2_PACKAGE_LIBEINA is not set -# BR2_PACKAGE_LIBEET is not set -# BR2_PACKAGE_LIBEVAS is not set -# BR2_PACKAGE_LIBECORE is not set -# BR2_PACKAGE_LIBEDBUS is not set -# BR2_PACKAGE_LIBEFREET is not set -# BR2_PACKAGE_LIBEIO is not set -# BR2_PACKAGE_LIBEMBRYO is not set -# BR2_PACKAGE_LIBEDJE is not set -# BR2_PACKAGE_LIBETHUMB is not set -# BR2_PACKAGE_INFOZIP is not set -# BR2_BR2_PACKAGE_NODEJS_0_10_X is not set -# BR2_BR2_PACKAGE_NODEJS_0_12_X is not set -# BR2_BR2_PACKAGE_NODEJS_4_X is not set - -# -# Legacy options removed in 2015.11 -# -# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REAL is not set -# BR2_PACKAGE_MEDIA_CTL is not set -# BR2_PACKAGE_SCHIFRA is not set -# BR2_PACKAGE_ZXING is not set -# BR2_PACKAGE_BLACKBOX is not set -# BR2_KERNEL_HEADERS_3_0 is not set -# BR2_KERNEL_HEADERS_3_11 is not set -# BR2_KERNEL_HEADERS_3_13 is not set -# BR2_KERNEL_HEADERS_3_15 is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE is not set -# BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW is not set -# BR2_PACKAGE_KOBS_NG is not set -# BR2_PACKAGE_SAWMAN is not set -# BR2_PACKAGE_DIVINE is not set - -# -# Legacy options removed in 2015.08 -# -# BR2_PACKAGE_KODI_PVR_ADDONS is not set -# BR2_BINUTILS_VERSION_2_23_2 is not set -# BR2_BINUTILS_VERSION_2_24 is not set -# BR2_BINUTILS_VERSION_2_25 is not set -# BR2_PACKAGE_PERF is not set -# BR2_BINUTILS_VERSION_2_22 is not set -# BR2_PACKAGE_GPU_VIV_BIN_MX6Q is not set -# BR2_TARGET_UBOOT_NETWORK is not set diff --git a/linux/devicetree/wally-artya7.dts b/linux/devicetree/wally-artya7.dts index 0e94f4883..d6ecc02b9 100644 --- a/linux/devicetree/wally-artya7.dts +++ b/linux/devicetree/wally-artya7.dts @@ -5,7 +5,7 @@ #size-cells = <0x02>; compatible = "wally-virt"; model = "wally-virt,qemu"; - + chosen { linux,initrd-end = <0x85c43a00>; linux,initrd-start = <0x84200000>; @@ -30,9 +30,9 @@ reg = <0x00>; status = "okay"; compatible = "riscv"; - riscv,isa = "rv64imafdcsu"; riscv,isa-base = "rv64i"; - riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "sstc", "svinval", "svnapot", "svpbmt", "zba", "zbb", "zbc", "zbs", "zicbom", "zicbop", "zicbopz", "zicntr", "zicsr", "zifencei", "zihpm"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "sstc", "svadu", "svinval", "svnapot", "svpbmt", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", "zfa", "zfh", "zkn", "zkt", "zicbom", "zicboz", "zicntr", "zicond", "zicsr", "zifencei", "zihpm"; + riscv,cboz-block-size = <64>; riscv,cbom-block-size = <64>; mmu-type = "riscv,sv48"; diff --git a/linux/devicetree/wally-vcu108.dts b/linux/devicetree/wally-vcu108.dts index bb9200822..5158e05a2 100644 --- a/linux/devicetree/wally-vcu108.dts +++ b/linux/devicetree/wally-vcu108.dts @@ -30,9 +30,9 @@ reg = <0x00>; status = "okay"; compatible = "riscv"; - riscv,isa = "rv64imafdcsu"; riscv,isa-base = "rv64i"; - riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "sstc", "svinval", "svnapot", "svpbmt", "zba", "zbb", "zbc", "zbs", "zicbom", "zicbop", "zicbopz", "zicntr", "zicsr", "zifencei", "zihpm"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "sstc", "svadu", "svinval", "svnapot", "svpbmt", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", "zfa", "zfh", "zkn", "zkt", "zicbom", "zicboz", "zicntr", "zicond", "zicsr", "zifencei", "zihpm"; + riscv,cboz-block-size = <64>; riscv,cbom-block-size = <64>; mmu-type = "riscv,sv48"; diff --git a/linux/devicetree/wally-vcu118.dts b/linux/devicetree/wally-vcu118.dts index 20448609b..89f917635 100644 --- a/linux/devicetree/wally-vcu118.dts +++ b/linux/devicetree/wally-vcu118.dts @@ -9,7 +9,7 @@ chosen { linux,initrd-end = <0x85c43a00>; linux,initrd-start = <0x84200000>; - bootargs = "root=/dev/vda ro console=ttyS0,115200"; + bootargs = "root=/dev/vda ro console=ttyS0,115200"; stdout-path = "/soc/uart@10000000"; }; @@ -30,8 +30,10 @@ reg = <0x00>; status = "okay"; compatible = "riscv"; - riscv,isa = "rv64imafdcsu"; - riscv,isa-extensions = "imafdc", "sstc", "svinval", "svnapot", "svpbmt", "zba", "zbb", "zbc", "zbs", "zicbom", "zicbop", "zicbopz", "zicntr", "zicsr", "zifencei", "zihpm"; + riscv,isa-base = "rv64i"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "sstc", "svadu", "svinval", "svnapot", "svpbmt", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", "zfa", "zfh", "zkn", "zkt", "zicbom", "zicboz", "zicntr", "zicond", "zicsr", "zifencei", "zihpm"; + riscv,cboz-block-size = <64>; + riscv,cbom-block-size = <64>; mmu-type = "riscv,sv48"; interrupt-controller { diff --git a/linux/devicetree/wally-virt.dts b/linux/devicetree/wally-virt.dts index edf602df3..c250e6920 100644 --- a/linux/devicetree/wally-virt.dts +++ b/linux/devicetree/wally-virt.dts @@ -15,7 +15,7 @@ memory@80000000 { device_type = "memory"; - reg = <0x00 0x80000000 0x00 0x10000000>; + reg = <0x00 0x80000000 0x00 0x10000000>; }; cpus { @@ -30,8 +30,10 @@ reg = <0x00>; status = "okay"; compatible = "riscv"; - riscv,isa = "rv64imafdcsu"; - riscv,isa-extensions = "svadu"; + riscv,isa-base = "rv64i"; + riscv,isa-extensions = "i", "m", "a", "f", "d", "c", "sstc", "svadu", "svinval", "svnapot", "svpbmt", "zba", "zbb", "zbc", "zbs", "zca", "zcb", "zcd", "zfa", "zfh", "zkn", "zkt", "zicbom", "zicboz", "zicntr", "zicond", "zicsr", "zifencei", "zihpm"; + riscv,cboz-block-size = <64>; + riscv,cbom-block-size = <64>; mmu-type = "riscv,sv48"; interrupt-controller { diff --git a/linux/genInitMem.sh b/linux/genInitMem.sh index a85837f80..b77445add 100755 --- a/linux/genInitMem.sh +++ b/linux/genInitMem.sh @@ -29,7 +29,7 @@ echo "Launching QEMU in replay mode!" (qemu-system-riscv64 \ -M virt -m 256M -dtb "$DEVICE_TREE" \ -nographic \ --bios "$imageDir"/fw_jump.elf -kernel "$imageDir"/Image -append "root=/dev/vda ro" -initrd "$imageDir"/rootfs.cpio \ +-bios "$imageDir"/fw_jump.bin -kernel "$imageDir"/Image -append "root=/dev/vda ro" -initrd "$imageDir"/rootfs.cpio \ -gdb tcp::$tcpPort -S) \ & riscv64-unknown-elf-gdb --quiet \ -ex "set pagination off" \ diff --git a/linux/sdcard/Makefile b/linux/sdcard/Makefile deleted file mode 100644 index 643514815..000000000 --- a/linux/sdcard/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -.PHONY: all clean - -all: - ./make-img.sh test.img - -clean: - rm -f test.img diff --git a/linux/sdcard/make-img.sh b/linux/sdcard/make-img.sh deleted file mode 100755 index df6193f16..000000000 --- a/linux/sdcard/make-img.sh +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash - -# Exit on any error (return code != 0) -set -e - -# Output colors -GREEN='\033[1;32m' -NC='\033[0m' -NAME="$GREEN"${0:2}"$NC" - -# File location variables -IMAGES=$RISCV/buildroot/output/images -FW_JUMP=$IMAGES/fw_jump.bin -LINUX_KERNEL=$IMAGES/Image -DEVICE_TREE=$IMAGES/wally-vcu108.dtb - -# Mount Directory -MNT_DIR=wallyimg - -if [ ! -z "$2" ] ; then - MNT_DIR=$2 -fi - -# If images are not built, exit -if [ ! -e $FW_JUMP ] || [ ! -e $LINUX_KERNEL ] ; then - echo 'ERROR: Missing images in buildroot output directory.' - echo ' Build images before running this script.' - exit 1 -fi - -if [ ! -e $DEVICE_TREE ] ; then - echo 'ERROR: Missing device tree file' - exit 1 -fi - -# Size of OpenSBI and the Kernel in 512B blocks -DST_SIZE=$(ls -la --block-size=512 $DEVICE_TREE | cut -d' ' -f 5 ) -FW_JUMP_SIZE=$(ls -la --block-size=512 $FW_JUMP | cut -d' ' -f 5 ) -KERNEL_SIZE=$(ls -la --block-size=512 $LINUX_KERNEL | cut -d' ' -f 5 ) - -# Start sectors of OpenSBI and Kernel Partitions -FW_JUMP_START=$(( 34 + $DST_SIZE )) -KERNEL_START=$(( $FW_JUMP_START + $FW_JUMP_SIZE )) -FS_START=$(( $KERNEL_START + $KERNEL_SIZE )) - -# Print out the sizes of the binaries in 512B blocks -echo -e "$NAME: Device tree block size: $DST_SIZE" -echo -e "$NAME: OpenSBI FW_JUMP block size: $FW_JUMP_SIZE" -echo -e "$NAME: Kernel block size: $KERNEL_SIZE" - -if [ ! -e $1 ] ; then - # Make empty image - echo -e "$NAME: Creating blank image" - sudo dd if=/dev/zero of=$1 bs=1M count=1536 - - # GUID Partition Tables (GPT) - # =============================================== - # -g Converts any existing mbr record to a gpt record - # --clear clears any GPT partition table that already exists. - # --set-alignment=1 that we want to align partition starting sectors - # to 1 sector boundaries I think? This would normally be set to 2048 - # apparently. - - # sudo sgdisk -g --clear --set-alignment=1 \ - # --new=1:34:+$FW_JUMP_SIZE: --change-name=1:'opensbi' --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \ - # --new=2:$KERNEL_START:+$KERNEL_SIZE --change-name=2:'kernel' --typecode=2:3000 \ - # --new=3:$FS_START:-0 --change-name=3:'filesystem' \ - # $1 - - # echo -e "$NAME: Creating GUID Partition Table" - # sudo sgdisk -g --clear --set-alignment=1 \ - # --new=1:34:+$DST_SIZE: --change-name=1:'fdt' \ - # --new=2:$FW_JUMP_START:+$FW_JUMP_SIZE --change-name=2:'opensbi' --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \ - # --new=3:$KERNEL_START:+$KERNEL_SIZE --change-name=3:'kernel' \ - # --new=4:$FS_START:-0 --change-name=4:'filesystem' \ - # $1 - - echo -e "$NAME: Creating GUID Partition Table" - sudo sgdisk -g --clear --set-alignment=1 \ - --new=1:34:+$DST_SIZE: --change-name=1:'fdt' \ - --new=2:$FW_JUMP_START:+$FW_JUMP_SIZE --change-name=2:'opensbi' --typecode=1:2E54B353-1271-4842-806F-E436D6AF6985 \ - --new=3:$KERNEL_START:+$KERNEL_SIZE --change-name=3:'kernel' \ - $1 - - LOOPDEVICE=$(sudo losetup -f) - echo -e "$NAME: Loop device: $LOOPDEVICE" - - sudo losetup --partscan $LOOPDEVICE $1 - - echo -e "$NAME: Copying binaries into their partitions." - DD_FLAGS="bs=4k iflag=fullblock oflag=direct conv=fsync status=progress" - # Store device tree in device tree partition - - echo -e "$NAME: Copying device tree" - sudo dd if=$DEVICE_TREE of="$LOOPDEVICE"p1 $DD_FLAGS - - echo -e "$NAME: Copying OpenSBI" - sudo dd if=$FW_JUMP of="$LOOPDEVICE"p2 $DD_FLAGS - - echo -e "$NAME: Copying Kernel" - sudo dd if=$LINUX_KERNEL of="$LOOPDEVICE"p3 $DD_FLAGS - - # sudo mkfs.ext4 "$LOOPDEVICE"p4 - # sudo mkdir /mnt/$MNT_DIR - - # sudo mount -v "$LOOPDEVICE"p4 /mnt/$MNT_DIR - - # sudo umount -v /mnt/$MNT_DIR - - # sudo rmdir /mnt/$MNT_DIR - sudo losetup -d $LOOPDEVICE -fi - -echo -echo "GPT Information for $1 ===================================" -sgdisk -p $1 diff --git a/sim/Makefile b/sim/Makefile index d94936381..d4a94112e 100644 --- a/sim/Makefile +++ b/sim/Makefile @@ -29,8 +29,8 @@ deriv: .PHONY: QuestaCodeCoverage collect_functcov combine_functcov remove_functcov_artifacts riscvdv riscvdv_functcov -QuestaCodeCoverage: questa/ucdb/rv64gc_arch64i.ucdb - vcover merge -out questa/ucdb/cov.ucdb questa/ucdb/rv64gc_arch64i.ucdb questa/ucdb/rv64gc*.ucdb -logfile questa/cov/log +QuestaCodeCoverage: + vcover merge -out questa/ucdb/cov.ucdb questa/ucdb/rv64gc*.ucdb -logfile questa/cov/log # vcover merge -out questa/ucdb/cov.ucdb questa/ucdb/rv64gc_arch64i.ucdb questa/ucdb/rv64gc*.ucdb questa/ucdb/buildroot_buildroot.ucdb riscv.ucdb -logfile questa/cov/log vcover report -details questa/ucdb/cov.ucdb > questa/cov/rv64gc_coverage_details.rpt vcover report questa/ucdb/cov.ucdb -details -instance=/core/ebu. > questa/cov/rv64gc_coverage_ebu.rpt @@ -55,9 +55,9 @@ collect_functcov: remove_functcov_artifacts riscvdv_functcov combine_functcov riscvdv_functcov: mkdir -p ${SIM}/questa/fcov_logs - mkdir -p ${SIM}/questa/fcov_ucdbs + mkdir -p ${SIM}/questa/fcov_ucdb rm -rf ${SIM}/questa/fcov_logs/* - rm -rf ${SIM}/questa/fcov_ucdbs/* + rm -rf ${SIM}/questa/fcov_ucdb/* $(MAKE) riscvdv test_name=riscv_arithmetic_basic_test >> ${SIM}/questa/fcov.log 2>&1 $(MAKE) riscvdv test_name=riscv_amo_test >> ${SIM}/questa/fcov.log 2>&1 $(MAKE) riscvdv test_name=riscv_ebreak_debug_mode_test >> ${SIM}/questa/fcov.log 2>&1 @@ -109,7 +109,7 @@ combine_functcov: grep "Total Coverage By Instance" ${SIM}/questa/fcov/fcov.log remove_functcov_artifacts: - rm -rf ${SIM}/questa/riscv.ucdb ${SIM}/questa/fcov.log ${SIM}/questa/covhtmlreport/ ${SIM}/questa/fcov_logs/ ${SIM}/questa/fcov_ucdbs/ ${SIM}/questa/fcov/ + rm -rf ${SIM}/questa/riscv.ucdb ${SIM}/questa/fcov.log ${SIM}/questa/covhtmlreport/ ${SIM}/questa/fcov_logs/ ${SIM}/questa/fcov_ucdb/ ${SIM}/questa/fcov/ benchmarks: $(MAKE) -C ${WALLY}benchmarks/embench build diff --git a/sim/questa/wally.do b/sim/questa/wally.do index 6f613c404..945cb6ef4 100644 --- a/sim/questa/wally.do +++ b/sim/questa/wally.do @@ -3,12 +3,12 @@ # # Modification by Oklahoma State University & Harvey Mudd College # Use with Testbench -# James Stine, 2008; David Harris 2021 +# James Stine, 2008; David Harris 2021; Jordan Carlin 2024 # Go Cowboys!!!!!! # # Takes 1:10 to run RV64IC tests using gui -# Usage: do wally.do [--ccov] [--fcov] [+acc] [--args "any number of +value"] [--params "any number of VAR=VAL parameter overrides"] +# Usage: do wally.do [--ccov] [--fcov] [--gui] [--args "any number of +value"] [--params "any number of VAR=VAL parameter overrides"] [--define "any number of +define+VAR=VAL"] # Example: do wally.do rv64gc arch64i testbench # Use this wally.do file to run this example. @@ -40,7 +40,6 @@ set TESTSUITE ${2} set TESTBENCH ${3} set WKDIR wkdir/${CFG}_${TESTSUITE} set WALLY $::env(WALLY) -set IMPERAS_HOME $::env(IMPERAS_HOME) set CONFIG ${WALLY}/config set SRC ${WALLY}/src set TB ${WALLY}/testbench @@ -55,6 +54,7 @@ vlib ${WKDIR} set PlusArgs "" set ParamArgs "" set ExpandedParamArgs {} +set DefineArgs "" set ccov 0 set CoverageVoptArg "" @@ -62,11 +62,14 @@ set CoverageVsimArg "" set FunctCoverage 0 set FCvlog "" -set FCvopt "" -set FCdefineCOVER_EXTS {} + +set breker 0 +set brekervlog "" +set brekervopt "" set lockstep 0 set lockstepvlog "" + set SVLib "" set GUI 0 @@ -74,24 +77,27 @@ set accFlag "" # Need to be able to pass arguments to vopt. Unforunately argv does not work because # it takes on different values if vsim and the do file are called from the command line or -# if the do file is called from questa sim directly. This chunk of code uses the $4 through $n -# variables and compacts into a single list for passing to vopt. -set from 4 -set step 1 +# if the do file is called from questa sim directly. This chunk of code uses the $n variables +# and compacts them into a single list for passing to vopt. Shift is used to move the arguments +# through the list. set lst {} +echo "number of args = $argc" -for {set i 0} true {incr i} { - set x [expr {$i*$step + $from}] - if {$x > $argc} break - set arg [expr "$$x"] - lappend lst $arg +# Shift off the first three arguments (config, testcases, testbench) +shift +shift +shift + +# Copy the remaining arguments into a list +while {$argc > 0} { + lappend lst [expr "\$1"] + shift } -echo "number of args = $argc" echo "lst = $lst" # if +acc found set flag and remove from list -if {[lcheck lst "+acc"]} { +if {[lcheck lst "--gui"]} { set GUI 1 set accFlag "+acc" } @@ -106,26 +112,32 @@ if {[lcheck lst "--ccov"]} { # if --fcov found set flag and remove from list if {[lcheck lst "--fcov"]} { set FunctCoverage 1 - # COVER_BASE_RV32I is just needed to keep riscvISACOV happy, but no longer affects tests - set FCvlog "+define+INCLUDE_TRACE2COV \ - +define+IDV_INCLUDE_TRACE2COV \ - +define+COVER_BASE_RV32I \ - +incdir+$env(WALLY)/addins/riscvISACOV/source \ - " - - set FCvopt "+TRACE2COV_ENABLE=1 +IDV_TRACE2COV=1" - + set FCvlog "+incdir+${FCRVVI}/unpriv \ + +incdir+${FCRVVI}/priv +incdir+${FCRVVI}/rv64_priv +incdir+${FCRVVI}/rv32_priv \ + +incdir+${FCRVVI}/common +incdir+${FCRVVI} \ + +incdir+$env(WALLY)/addins/cvw-arch-verif/riscvISACOV/source" } # if --lockstep or --fcov found set flag and remove from list if {[lcheck lst "--lockstep"] || $FunctCoverage == 1} { + set IMPERAS_HOME $::env(IMPERAS_HOME) set lockstep 1 - set lockstepvlog "+define+USE_IMPERAS_DV \ - +incdir+${IMPERAS_HOME}/ImpPublic/include/host \ + set lockstepvlog "+incdir+${IMPERAS_HOME}/ImpPublic/include/host \ +incdir+${IMPERAS_HOME}/ImpProprietary/include/host \ ${IMPERAS_HOME}/ImpPublic/source/host/rvvi/*.sv \ ${IMPERAS_HOME}/ImpProprietary/source/host/idv/*.sv" - set SVLib "-sv_lib ${IMPERAS_HOME}/lib/Linux64/ImperasLib/imperas.com/verification/riscv/1.0/model" + set SVLib " -sv_lib ${IMPERAS_HOME}/lib/Linux64/ImperasLib/imperas.com/verification/riscv/1.0/model " +} + +# if --breker found set flag and remove from list +# Requires a license for the breker tool. See tests/breker/README.md for details +if {[lcheck lst "--breker"]} { + set breker 1 + set BREKER_HOME $::env(BREKER_HOME) + set brekervlog "+incdir+${WALLY}/testbench/trek_files \ + ${WALLY}/testbench/trek_files/uvm_output/trek_uvm_pkg.sv" + set brekervopt "${WKDIR}.trek_uvm" + append SVLib " -sv_lib ${BREKER_HOME}/linux64/lib/libtrek " } # Set PlusArgs passed using the --args flag @@ -146,30 +158,39 @@ if {$ParamArgsIndex >= 0} { set lst [lreplace $lst $ParamArgsIndex [expr {$ParamArgsIndex + 1}]] } +# Set +define macros passed using the --define flag +set DefineArgsIndex [lsearch -exact $lst "--define"] +if {$DefineArgsIndex >= 0} { + set DefineArgs [lindex $lst [expr {$DefineArgsIndex + 1}]] + set lst [lreplace $lst $DefineArgsIndex [expr {$DefineArgsIndex + 1}]] +} + # Debug print statements if {$DEBUG > 0} { echo "GUI = $GUI" echo "ccov = $ccov" echo "lockstep = $lockstep" echo "FunctCoverage = $FunctCoverage" + echo "Breker = $breker" echo "remaining list = $lst" echo "Extra +args = $PlusArgs" - echo "Extra -args = $ExpandedParamArgs" + echo "Extra params = $ExpandedParamArgs" + echo "Extra defines = $DefineArgs" } # compile source files # suppress spurious warnngs about # "Extra checking for conflicts with always_comb done at vopt time" # because vsim will run vopt -set INC_DIRS "+incdir+${CONFIG}/${CFG} +incdir+${CONFIG}/deriv/${CFG} +incdir+${CONFIG}/shared +incdir+${FCRVVI} +incdir+${FCRVVI}/rv32 +incdir+${FCRVVI}/rv64 +incdir+${FCRVVI}/rv64_priv +incdir+${FCRVVI}/priv +incdir+${FCRVVI}/rv32_priv +incdir+${FCRVVI}/common +incdir+${FCRVVI}" +set INC_DIRS "+incdir+${CONFIG}/${CFG} +incdir+${CONFIG}/deriv/${CFG} +incdir+${CONFIG}/shared" set SOURCES "${SRC}/cvw.sv ${TB}/${TESTBENCH}.sv ${TB}/common/*.sv ${SRC}/*/*.sv ${SRC}/*/*/*.sv ${WALLY}/addins/verilog-ethernet/*/*.sv ${WALLY}/addins/verilog-ethernet/*/*/*/*.sv" -vlog -permissive -lint -work ${WKDIR} {*}${INC_DIRS} {*}${FCvlog} {*}${FCdefineCOVER_EXTS} {*}${lockstepvlog} {*}${SOURCES} -suppress 2282,2583,7053,7063,2596,13286 +vlog -permissive -lint -work ${WKDIR} {*}${INC_DIRS} {*}${FCvlog} {*}${DefineArgs} {*}${lockstepvlog} {*}${brekervlog} {*}${SOURCES} -suppress 2282,2583,7053,7063,2596,13286,2605,2250 # start and run simulation # remove +acc flag for faster sim during regressions if there is no need to access internal signals -vopt $accFlag wkdir/${CFG}_${TESTSUITE}.${TESTBENCH} -work ${WKDIR} {*}${ExpandedParamArgs} -o testbenchopt ${CoverageVoptArg} +vopt $accFlag ${WKDIR}.${TESTBENCH} ${brekervopt} -work ${WKDIR} {*}${ExpandedParamArgs} -o testbenchopt ${CoverageVoptArg} -vsim -lib ${WKDIR} testbenchopt +TEST=${TESTSUITE} {*}${PlusArgs} -fatal 7 {*}${SVLib} {*}${FCvopt} -suppress 3829 ${CoverageVsimArg} +vsim -lib ${WKDIR} testbenchopt +TEST=${TESTSUITE} {*}${PlusArgs} -fatal 7 {*}${SVLib} -suppress 3829 ${CoverageVsimArg} # power add generates the logging necessary for saif generation. # power add -r /dut/core/* diff --git a/sim/vcs/run_vcs b/sim/vcs/run_vcs index 02eccc59b..7437d2725 100755 --- a/sim/vcs/run_vcs +++ b/sim/vcs/run_vcs @@ -2,98 +2,118 @@ # run_vcs # David_Harris@hmc.edu 2 July 2024 +# Modified Jordan Carlin jcarlin@hmc.edu Dec 9 2024 # Run VCS on a given file, passing appropriate flags # SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 - import argparse import os import subprocess +import sys + +# Global variables +WALLY = os.environ.get('WALLY') +simdir = f"{WALLY}/sim/vcs" +cfgdir = f"{WALLY}/config" +srcdir = f"{WALLY}/src" +tbdir = f"{WALLY}/testbench" +logdir = f"{simdir}/logs" # run a Linux command and return the result as a string in a form that VCS can use -def runfindcmd(cmd): -# print("Executing: " + str(cmd) ) - res = subprocess.check_output(cmd, shell=True) +def runFindCommand(cmd): + res = subprocess.check_output(cmd, shell=True, ) res = str(res) res = res.replace("\\n", " ") # replace newline with space res = res.replace("\'", "") # strip off quotation marks res = res[1:] # strip off leading b from byte string return res -parser = argparse.ArgumentParser() -parser.add_argument("config", help="Configuration file") -parser.add_argument("testsuite", help="Test suite (or none, when running a single ELF file) ") -parser.add_argument("--tb", "-t", help="Testbench", choices=["testbench", "testbench_fp"], default="testbench") -parser.add_argument("--elffile", "-e", help="ELF file name", default="") -parser.add_argument("--coverage", "-c", help="Code & Functional Coverage", action="store_true") -parser.add_argument("--fcov", "-f", help="Code & Functional Coverage", action="store_true") -parser.add_argument("--args", "-a", help="Optional arguments passed to simulator via $value$plusargs", default="") -parser.add_argument("--params", "-p", help="Optional top-level parameter overrides of the form param=value", default="") -parser.add_argument("--lockstep", "-l", help="Run ImperasDV lock, step, and compare.", action="store_true") -# GUI not yet implemented -#parser.add_argument("--gui", "-g", help="Simulate with GUI", action="store_true") -args = parser.parse_args() -print("run_vcs Config=" + args.config + " tests=" + args.testsuite + " elffile=" + args.elffile + " lockstep=" + str(args.lockstep) + " args='" + args.args + "'") +def parseArgs(): + parser = argparse.ArgumentParser() + parser.add_argument("config", help="Configuration file") + parser.add_argument("testsuite", help="Test suite (or none, when running a single ELF file) ") + parser.add_argument("--tb", "-t", help="Testbench", choices=["testbench", "testbench_fp"], default="testbench") + parser.add_argument("--ccov", "-c", help="Code Coverage", action="store_true") + parser.add_argument("--fcov", "-f", help="Functional Coverage", action="store_true") + parser.add_argument("--args", "-a", help="Optional arguments passed to simulator via $value$plusargs", default="") + parser.add_argument("--params", "-p", help="Optional top-level parameter overrides of the form param=value", default="") + parser.add_argument("--define", "-d", help="Optional define macros passed to simulator", default="") + parser.add_argument("--lockstep", "-l", help="Run ImperasDV lock, step, and compare.", action="store_true") + #parser.add_argument("--gui", "-g", help="Simulate with GUI", action="store_true") # GUI not yet implemented + return parser.parse_args() -cfgdir = "$WALLY/config" -srcdir = "$WALLY/src" -tbdir = "$WALLY/testbench" -wkdir = "$WALLY/sim/vcs/wkdir/" + args.config + "_" + args.testsuite -covdir = "$WALLY/sim/vcs/cov/" + args.config + "_" + args.testsuite -logdir = "$WALLY/sim/vcs/logs" +def createDirs(args): + wkdir = f"{simdir}/wkdir/{args.config}_{args.testsuite}" + covdir = f"{simdir}/cov/{args.config}_{args.testsuite}" + os.makedirs(wkdir, exist_ok=True) + os.makedirs(covdir, exist_ok=True) + os.makedirs(logdir, exist_ok=True) + return wkdir, covdir -os.system("mkdir -p " + wkdir) -os.system("mkdir -p " + covdir) -os.system("mkdir -p " + logdir) +def generateFileList(): + rtlsrc_cmd = f'find {srcdir} -name "*.sv" ! -path "{srcdir}/generic/mem/rom1p1r_128x64.sv" ! -path "{srcdir}/generic/mem/ram2p1r1wbe_128x64.sv" ! -path "{srcdir}/generic/mem/rom1p1r_128x32.sv" ! -path "{srcdir}/generic/mem/ram2p1r1wbe_2048x64.sv"' + rtlsrc_files = runFindCommand(rtlsrc_cmd) + tbcommon_cmd = f'find {tbdir}/common -name "*.sv"' + tbcommon_files = runFindCommand(tbcommon_cmd) + tb_file = f'{tbdir}/{args.tb}.sv' + return f"{tb_file} {rtlsrc_files} {tbcommon_files}" -# Find RTL source files -rtlsrc_cmd = "find " + srcdir + ' -name "*.sv" ! -path "' + srcdir + '/generic/mem/rom1p1r_128x64.sv" ! -path "' + srcdir + '/generic/mem/ram2p1r1wbe_128x64.sv" ! -path "' + srcdir + '/generic/mem/rom1p1r_128x32.sv" ! -path "' + srcdir + '/generic/mem/ram2p1r1wbe_2048x64.sv"' -rtlsrc_files = runfindcmd(rtlsrc_cmd) -tbcommon_cmd = 'find ' + tbdir+'/common -name "*.sv" ! -path "' + tbdir+'/common/wallyTracer.sv"' -tbcommon_files = runfindcmd(tbcommon_cmd) -tb_file = tbdir + "/" + args.tb + ".sv" -RTL_FILES = tb_file + ' ' + str(rtlsrc_files) + ' ' + str(tbcommon_files) +def processArgs(wkdir, args): + compileOptions = [] + simvOptions = [] + if args.lockstep: + compileOptions.extend(["+incdir+$IMPERAS_HOME/ImpPublic/include/host", + "+incdir+$IMPERAS_HOME/ImpProprietary/include/host", + "$IMPERAS_HOME/ImpPublic/source/host/rvvi/*.sv", + "$IMPERAS_HOME/ImpProprietary/source/host/idv/*.sv"]) + simvOptions.append("-sv_lib $IMPERAS_HOME/lib/Linux64/ImperasLib/imperas.com/verification/riscv/1.0/model") + if args.ccov: + compileOptions.extend(["-cm line+cond+branch+fsm+tgl", f"-cm_log {wkdir}/coverage.log", f"-cm_dir {wkdir}/coverage"]) + if args.params: + compileOptions.append(setupParamOverrides(wkdir, args)) + if args.define: + compileOptions.append(args.define) + # if args.gui: + # compileOptions.append("-debug_access+all+reverse -kdb +vcs+vcdpluson") + compileOptions = " ".join(compileOptions) + simvOptions = " ".join(simvOptions) + return compileOptions, simvOptions -# Include directories -INCLUDE_PATH="+incdir+" + cfgdir + "/" + args.config + " +incdir+" + cfgdir + "/deriv/" + args.config + " +incdir+" + cfgdir + "/shared +incdir+$WALLY/tests +incdir+" + tbdir + " +incdir+" + srcdir +def setupParamOverrides(wkdir, args): + paramOverrideFile = os.path.join(wkdir, "param_overrides.txt") + with open(paramOverrideFile, "w") as f: + for param in args.params.split(): + [param, value] = param.split("=") + if fr"\'" in value: # for bit values + value = value.replace(fr"\'", "'") + else: # for strings + value = f'"{value}"' + f.write(f"assign {value} {args.tb}/{param}\n") + return f" -parameters {wkdir}/param_overrides.txt " -# lockstep mode -if (args.lockstep): - LOCKSTEP_OPTIONS = " +define+USE_IMPERAS_DV +incdir+$IMPERAS_HOME/ImpPublic/include/host +incdir+$IMPERAS_HOME/ImpProprietary/include/host $IMPERAS_HOME/ImpPublic/source/host/rvvi/*.sv $IMPERAS_HOME/ImpProprietary/source/host/idv/*.sv " + tbdir + "/common/wallyTracer.sv" - LOCKSTEP_SIMV = "-sv_lib $IMPERAS_HOME/lib/Linux64/ImperasLib/imperas.com/verification/riscv/1.0/model" -else: - LOCKSTEP_OPTIONS = "" - LOCKSTEP_SIMV = "" +def setupCommands(wkdir, rtlFiles, compileOptions, simvOptions, args): + includePath=f"+incdir+{cfgdir}/{args.config} +incdir+{cfgdir}/deriv/{args.config} +incdir+{cfgdir}/shared +incdir+$WALLY/tests +incdir+{tbdir} +incdir+{srcdir}" + vcsStandardFlags = "+lint=all,noGCWM,noUI,noSVA-UA,noIDTS,noNS,noULCO,noCAWM-L,noWMIA-L,noSV-PIU,noSTASKW_CO,noSTASKW_CO1,noSTASKW_RMCOF -suppress +warn -sverilog +vc -Mupdate -line -full64 -lca -ntb_opts sensitive_dyn" + vcsCMD = f"vcs {vcsStandardFlags} -top {args.tb} {compileOptions} -Mdir={wkdir} {includePath} {srcdir}/cvw.sv {rtlFiles} -o {wkdir}/sim_out -work {wkdir} -Mlib={wkdir} -l {logdir}/{args.config}_{args.testsuite}.log" + simvCMD = f"{wkdir}/sim_out +TEST={args.testsuite} {args.args} -no_save {simvOptions}" + return vcsCMD, simvCMD -# coverage mode -if (args.coverage): - COV_OPTIONS = "-cm line+cond+branch+fsm+tgl -cm_log " + wkdir + "/coverage.log -cm_dir " + wkdir + "/coverage" -else: - COV_OPTIONS = "" +def runVCS(wkdir, vcsCMD, simvCMD): + print(f"Executing: {vcsCMD}") + subprocess.run(vcsCMD, shell=True) + subprocess.run(simvCMD, shell=True) + if (args.ccov): + COV_RUN = f"urg -dir {wkdir}/coverage.vdb -format text -report IndividualCovReport/{args.config}_{args.testsuite}" + subprocess.run(COV_RUN, shell=True) -# Write parameter overrides to a file -f = open(os.path.expandvars(wkdir) + "/param_overrides.txt", "w") -for param in args.params.split(): - [param, value] = param.split("=") - if "\\'" in value: # for bit values - value = value.replace("\\'", "'") - else: # for strings - value = "\"" + value + "\"" - # print("param=" + param + " value=" + value) - f.write("assign " + value + " " + args.tb + "/" + param + "\n") -f.close() -PARAM_OVERRIDES=" -parameters " + wkdir + "/param_overrides.txt " +def main(args): + print(f"run_vcs Config={args.config} tests={args.testsuite} lockstep={args.lockstep} args='{args.args}' params='{args.params}' define='{args.define}'") + wkdir, covdir = createDirs(args) + rtlFiles = generateFileList() + compileOptions, simvOptions = processArgs(wkdir, args) + vcsCMD, simvCMD = setupCommands(wkdir, rtlFiles, compileOptions, simvOptions, args) + runVCS(wkdir, vcsCMD, simvCMD) -# Simulation commands -OUTPUT="sim_out" -VCS_CMD="vcs +lint=all,noGCWM,noUI,noSVA-UA,noIDTS,noNS,noULCO,noCAWM-L,noWMIA-L,noSV-PIU,noSTASKW_CO,noSTASKW_CO1,noSTASKW_RMCOF -suppress +warn -sverilog +vc -Mupdate -line -full64 -lca -ntb_opts sensitive_dyn " + "-top " + args.tb + PARAM_OVERRIDES + INCLUDE_PATH # Disabled Debug flags; add them back for a GUI mode -debug_access+all+reverse -kdb +vcs+vcdpluson -VCS = VCS_CMD + " -Mdir=" + wkdir + " " + srcdir + "/cvw.sv " + LOCKSTEP_OPTIONS + " " + COV_OPTIONS + " " + RTL_FILES + " -o " + wkdir + "/" + OUTPUT + " -work " + wkdir + " -Mlib=" + wkdir + " -l " + logdir + "/" + args.config + "_" + args.testsuite + ".log" -SIMV_CMD= wkdir + "/" + OUTPUT + " +TEST=" + args.testsuite + " " + args.elffile + " " + args.args + " -no_save " + LOCKSTEP_SIMV - -# Run simulation -print("Executing: " + str(VCS) ) -subprocess.run(VCS, shell=True) -subprocess.run(SIMV_CMD, shell=True) -if (args.coverage): - COV_RUN = "urg -dir " + wkdir + "/coverage.vdb -format text -report IndividualCovReport/" + args.config + "_" + args.testsuite - subprocess.run(COV_RUN, shell=True) +if __name__ == "__main__": + args = parseArgs() + sys.exit(main(args)) diff --git a/sim/verilator/Makefile b/sim/verilator/Makefile index 6a6ad267a..ecb6b5f42 100644 --- a/sim/verilator/Makefile +++ b/sim/verilator/Makefile @@ -13,16 +13,15 @@ VERILATOR_DIR=${WALLY}/sim/verilator SOURCE=${WALLY}/config/shared/*.vh ${WALLY}/config/${WALLYCONF} ${WALLY}/config/deriv/${WALLYCONF} ${WALLY}/src/cvw.sv ${WALLY}/testbench/*.sv ${WALLY}/testbench/common/*.sv ${WALLY}/src/*/*.sv ${WALLY}/src/*/*/*.sv PLUS_ARGS= PARAM_ARGS= +DEFINE_ARGS= EXPANDED_PARAM_ARGS:=$(patsubst %,-G%,$(PARAM_ARGS)) WALLYCONF?=rv64gc TEST?=arch64i -TESTBENCH?=testbench +TESTBENCH?=testbench # constants # assume WALLY variable is correctly configured in the shell environment -WORKING_DIR=${WALLY}/sim/verilator -TARGET=$(WORKING_DIR)/target # INCLUDE_PATH are pathes that Verilator should search for files it needs INCLUDE_PATH="-I${WALLY}/config/shared" "-I${WALLY}/config/$(WALLYCONF)" "-I${WALLY}/config/deriv/$(WALLYCONF)" # SOURCES are source files @@ -30,6 +29,8 @@ SOURCES=${WALLY}/src/cvw.sv ${WALLY}/testbench/${TESTBENCH}.sv ${WALLY}/testbenc # DEPENDENCIES are configuration files and source files, which leads to recompilation of executables DEPENDENCIES=${WALLY}/config/shared/*.vh $(SOURCES) +WORKDIR = $(VERILATOR_DIR)/wkdir/$(WALLYCONF)_$(TEST) + # regular testbench requires a wrapper defining getenvval ifeq ($(TESTBENCH), testbench) WRAPPER=${WALLY}/sim/verilator/wrapper.c @@ -41,9 +42,9 @@ endif default: run -run: wkdir/$(WALLYCONF)_$(TEST)/V${TESTBENCH} +run: $(WORKDIR)/V${TESTBENCH} mkdir -p $(VERILATOR_DIR)/logs - wkdir/$(WALLYCONF)_$(TEST)/V${TESTBENCH} ${ARGTEST} $(PLUS_ARGS) + $(WORKDIR)/V${TESTBENCH} ${ARGTEST} $(PLUS_ARGS) profile: obj_dir_profiling/V${TESTBENCH}_$(WALLYCONF) $(VERILATOR_DIR)/obj_dir_profiling/V${TESTBENCH}_$(WALLYCONF) ${ARGTEST} @@ -54,15 +55,16 @@ profile: obj_dir_profiling/V${TESTBENCH}_$(WALLYCONF) mv gmon_$(WALLYCONF)* $(VERILATOR_DIR)/logs_profiling echo "Please check $(VERILATOR_DIR)/logs_profiling/gmon_$(WALLYCONF)* for logs and output files." -wkdir/$(WALLYCONF)_$(TEST)/V${TESTBENCH}: $(DEPENDENCIES) - mkdir -p wkdir/$(WALLYCONF)_$(TEST) +$(WORKDIR)/V${TESTBENCH}: $(DEPENDENCIES) + mkdir -p $(WORKDIR) verilator \ - --Mdir wkdir/$(WALLYCONF)_$(TEST) -o V${TESTBENCH} \ + --Mdir $(WORKDIR) -o V${TESTBENCH} \ --binary --trace \ $(OPT) $(PARAMS) $(NONPROF) \ --top-module ${TESTBENCH} --relative-includes \ $(INCLUDE_PATH) \ ${WRAPPER} \ + ${DEFINE_ARGS} \ ${EXPANDED_PARAM_ARGS} \ $(SOURCES) @@ -75,6 +77,7 @@ obj_dir_profiling/V${TESTBENCH}_$(WALLYCONF): $(DEPENDENCIES) --top-module ${TESTBENCH} --relative-includes \ $(INCLUDE_PATH) \ ${WRAPPER} \ + ${DEFINE_ARGS} \ ${EXPANDED_PARAM_ARGS} \ $(SOURCES) diff --git a/site-setup.sh b/site-setup.sh index 34fe1eb42..81f17fff2 100755 --- a/site-setup.sh +++ b/site-setup.sh @@ -15,6 +15,7 @@ export IMPERASD_LICENSE_FILE=27020@zircon.eng.hmc.edu # Change thi export QUESTA_HOME=/cad/mentor/questa_sim-2023.4/questasim # Change this for your path to Questa, excluding bin export DC_HOME=/cad/synopsys/SYN # Change this for your path to Synopsys DC, excluding bin export VCS_HOME=/cad/synopsys/vcs/U-2023.03-SP2-4 # Change this for your path to Synopsys VCS, excluding bin +export BREKER_HOME=/cad/breker/trek5-2.1.10b-GCC6_el7 # Change this for your path to Breker Trek # Tools # Questa and Synopsys @@ -77,6 +78,8 @@ fi # Use newer gcc version for older distros if [ -e /opt/rh/gcc-toolset-13/enable ]; then source /opt/rh/gcc-toolset-13/enable # Red Hat Family +elif [ -e $RISCV/gcc-13 ]; then + export PATH=$RISCV/gcc-13/bin:$PATH # SUSE Family elif [ -e $RISCV/gcc-10 ]; then export PATH=$RISCV/gcc-10/bin:$PATH # Ubuntu 20.04 LTS fi diff --git a/src/fpu/fctrl.sv b/src/fpu/fctrl.sv index d04fc45fa..2b8dbc411 100755 --- a/src/fpu/fctrl.sv +++ b/src/fpu/fctrl.sv @@ -153,18 +153,20 @@ module fctrl import cvw::*; #(parameter cvw_t P) ( endcase 7'b11100??: if (Funct3D == 3'b001 & Rs2D == 5'b00000) ControlsD = `FCTRLW'b0_1_10_00_000_0_0_0_0_0; // fclass - else if (Funct3D == 3'b000 & Rs2D == 5'b00000) - ControlsD = `FCTRLW'b0_1_11_00_000_0_0_0_0_0; // fmv.x.w/d/h/q fp to int register - else if (P.ZFA_SUPPORTED & P.XLEN == 32 & P.D_SUPPORTED & Funct7D[1:0] == 2'b01 & Funct3D == 3'b000 & Rs2D == 5'b00001) - ControlsD = `FCTRLW'b0_1_11_00_000_0_0_0_1_0; // fmvh.x.d (Zfa) + else if (Funct3D == 3'b000 & Rs2D == 5'b00000) begin + if (Fmt[1:0] == 2'b00 | Fmt[1:0] == 2'b10 | (P.XLEN == 64 & Fmt[1:0] == 2'b01)) + ControlsD = `FCTRLW'b0_1_11_00_000_0_0_0_0_0; // fmv.x.w/d/h fp to int register (double only in RV64) + end else if (P.ZFA_SUPPORTED & P.XLEN == 32 & P.D_SUPPORTED & Funct7D[1:0] == 2'b01 & Funct3D == 3'b000 & Rs2D == 5'b00001) + ControlsD = `FCTRLW'b0_1_11_00_000_0_0_0_1_0; // fmvh.x.d (Zfa) // Q not supported in RV64GC // coverage off else if (P.ZFA_SUPPORTED & P.XLEN == 64 & P.Q_SUPPORTED & Funct7D[1:0] == 2'b11 & Funct3D == 3'b000 & Rs2D == 5'b00001) - ControlsD = `FCTRLW'b0_1_11_00_000_0_0_0_1_0; // fmvh.x.q (Zfa) + ControlsD = `FCTRLW'b0_1_11_00_000_0_0_0_1_0; // fmvh.x.q (Zfa) // coverage on - 7'b11110??: if (Funct3D == 3'b000 & Rs2D == 5'b00000) - ControlsD = `FCTRLW'b1_0_00_00_011_0_0_0_0_0; // fmv.w/d/h/q.x int to fp reg - else if (P.ZFA_SUPPORTED & Funct3D == 3'b000 & Rs2D == 5'b00001) + 7'b11110??: if (Funct3D == 3'b000 & Rs2D == 5'b00000) begin + if (Fmt[1:0] == 2'b00 | Fmt[1:0] == 2'b10 | (P.XLEN == 64 & Fmt[1:0] == 2'b01)) + ControlsD = `FCTRLW'b1_0_00_00_011_0_0_0_0_0; // fmv.w/d/h.x int to fp reg (double only in RV64) + end else if (P.ZFA_SUPPORTED & Funct3D == 3'b000 & Rs2D == 5'b00001) ControlsD = `FCTRLW'b1_0_00_00_111_0_0_0_1_0; // fli (Zfa) 7'b0100000: if (Rs2D[4:2] == 3'b000 & SupportedFmt2 & Rs2D[1:0] != 2'b00) ControlsD = `FCTRLW'b1_0_01_00_000_0_0_0_0_0; // fcvt.s.(d/q/h) @@ -196,54 +198,54 @@ module fctrl import cvw::*; #(parameter cvw_t P) ( 7'b1101000: case(Rs2D) 5'b00000: ControlsD = `FCTRLW'b1_0_01_00_101_0_0_0_0_0; // fcvt.s.w w->s 5'b00001: ControlsD = `FCTRLW'b1_0_01_00_100_0_0_0_0_0; // fcvt.s.wu wu->s - 5'b00010: ControlsD = `FCTRLW'b1_0_01_00_111_0_0_0_0_0; // fcvt.s.l l->s - 5'b00011: ControlsD = `FCTRLW'b1_0_01_00_110_0_0_0_0_0; // fcvt.s.lu lu->s + 5'b00010: if (P.XLEN == 64) ControlsD = `FCTRLW'b1_0_01_00_111_0_0_0_0_0; // fcvt.s.l l->s + 5'b00011: if (P.XLEN == 64) ControlsD = `FCTRLW'b1_0_01_00_110_0_0_0_0_0; // fcvt.s.lu lu->s endcase 7'b1100000: case(Rs2D) 5'b00000: ControlsD = `FCTRLW'b0_1_01_00_001_0_0_1_0_0; // fcvt.w.s s->w 5'b00001: ControlsD = `FCTRLW'b0_1_01_00_000_0_0_1_0_0; // fcvt.wu.s s->wu - 5'b00010: ControlsD = `FCTRLW'b0_1_01_00_011_0_0_1_0_0; // fcvt.l.s s->l - 5'b00011: ControlsD = `FCTRLW'b0_1_01_00_010_0_0_1_0_0; // fcvt.lu.s s->lu + 5'b00010: if (P.XLEN == 64) ControlsD = `FCTRLW'b0_1_01_00_011_0_0_1_0_0; // fcvt.l.s s->l + 5'b00011: if (P.XLEN == 64) ControlsD = `FCTRLW'b0_1_01_00_010_0_0_1_0_0; // fcvt.lu.s s->lu endcase 7'b1101001: case(Rs2D) 5'b00000: ControlsD = `FCTRLW'b1_0_01_00_101_0_0_0_0_0; // fcvt.d.w w->d 5'b00001: ControlsD = `FCTRLW'b1_0_01_00_100_0_0_0_0_0; // fcvt.d.wu wu->d - 5'b00010: ControlsD = `FCTRLW'b1_0_01_00_111_0_0_0_0_0; // fcvt.d.l l->d - 5'b00011: ControlsD = `FCTRLW'b1_0_01_00_110_0_0_0_0_0; // fcvt.d.lu lu->d + 5'b00010: if (P.XLEN == 64) ControlsD = `FCTRLW'b1_0_01_00_111_0_0_0_0_0; // fcvt.d.l l->d + 5'b00011: if (P.XLEN == 64) ControlsD = `FCTRLW'b1_0_01_00_110_0_0_0_0_0; // fcvt.d.lu lu->d endcase 7'b1100001: case(Rs2D) 5'b00000: ControlsD = `FCTRLW'b0_1_01_00_001_0_0_1_0_0; // fcvt.w.d d->w 5'b00001: ControlsD = `FCTRLW'b0_1_01_00_000_0_0_1_0_0; // fcvt.wu.d d->wu - 5'b00010: ControlsD = `FCTRLW'b0_1_01_00_011_0_0_1_0_0; // fcvt.l.d d->l - 5'b00011: ControlsD = `FCTRLW'b0_1_01_00_010_0_0_1_0_0; // fcvt.lu.d d->lu + 5'b00010: if (P.XLEN == 64) ControlsD = `FCTRLW'b0_1_01_00_011_0_0_1_0_0; // fcvt.l.d d->l + 5'b00011: if (P.XLEN == 64) ControlsD = `FCTRLW'b0_1_01_00_010_0_0_1_0_0; // fcvt.lu.d d->lu 5'b01000: if (P.ZFA_SUPPORTED & P.D_SUPPORTED & Funct3D == 3'b001) ControlsD = `FCTRLW'b0_1_01_00_001_0_0_1_1_0; // fcvtmod.w.d (Zfa) endcase 7'b1101010: case(Rs2D) 5'b00000: ControlsD = `FCTRLW'b1_0_01_00_101_0_0_0_0_0; // fcvt.h.w w->h 5'b00001: ControlsD = `FCTRLW'b1_0_01_00_100_0_0_0_0_0; // fcvt.h.wu wu->h - 5'b00010: ControlsD = `FCTRLW'b1_0_01_00_111_0_0_0_0_0; // fcvt.h.l l->h - 5'b00011: ControlsD = `FCTRLW'b1_0_01_00_110_0_0_0_0_0; // fcvt.h.lu lu->h + 5'b00010: if (P.XLEN == 64) ControlsD = `FCTRLW'b1_0_01_00_111_0_0_0_0_0; // fcvt.h.l l->h + 5'b00011: if (P.XLEN == 64) ControlsD = `FCTRLW'b1_0_01_00_110_0_0_0_0_0; // fcvt.h.lu lu->h endcase 7'b1100010: case(Rs2D) 5'b00000: ControlsD = `FCTRLW'b0_1_01_00_001_0_0_1_0_0; // fcvt.w.h h->w 5'b00001: ControlsD = `FCTRLW'b0_1_01_00_000_0_0_1_0_0; // fcvt.wu.h h->wu - 5'b00010: ControlsD = `FCTRLW'b0_1_01_00_011_0_0_1_0_0; // fcvt.l.h h->l - 5'b00011: ControlsD = `FCTRLW'b0_1_01_00_010_0_0_1_0_0; // fcvt.lu.h h->lu + 5'b00010: if (P.XLEN == 64) ControlsD = `FCTRLW'b0_1_01_00_011_0_0_1_0_0; // fcvt.l.h h->l + 5'b00011: if (P.XLEN == 64) ControlsD = `FCTRLW'b0_1_01_00_010_0_0_1_0_0; // fcvt.lu.h h->lu endcase // Not covered in testing because rv64gc does not support quad precision // coverage off 7'b1101011: case(Rs2D) 5'b00000: ControlsD = `FCTRLW'b1_0_01_00_101_0_0_0_0_0; // fcvt.q.w w->q 5'b00001: ControlsD = `FCTRLW'b1_0_01_00_100_0_0_0_0_0; // fcvt.q.wu wu->q - 5'b00010: ControlsD = `FCTRLW'b1_0_01_00_111_0_0_0_0_0; // fcvt.q.l l->q - 5'b00011: ControlsD = `FCTRLW'b1_0_01_00_110_0_0_0_0_0; // fcvt.q.lu lu->q + 5'b00010: if (P.XLEN == 64) ControlsD = `FCTRLW'b1_0_01_00_111_0_0_0_0_0; // fcvt.q.l l->q + 5'b00011: if (P.XLEN == 64) ControlsD = `FCTRLW'b1_0_01_00_110_0_0_0_0_0; // fcvt.q.lu lu->q endcase 7'b1100011: case(Rs2D) 5'b00000: ControlsD = `FCTRLW'b0_1_01_00_001_0_0_1_0_0; // fcvt.w.q q->w 5'b00001: ControlsD = `FCTRLW'b0_1_01_00_000_0_0_1_0_0; // fcvt.wu.q q->wu - 5'b00010: ControlsD = `FCTRLW'b0_1_01_00_011_0_0_1_0_0; // fcvt.l.q q->l - 5'b00011: ControlsD = `FCTRLW'b0_1_01_00_010_0_0_1_0_0; // fcvt.lu.q q->lu + 5'b00010: if (P.XLEN == 64) ControlsD = `FCTRLW'b0_1_01_00_011_0_0_1_0_0; // fcvt.l.q q->l + 5'b00011: if (P.XLEN == 64) ControlsD = `FCTRLW'b0_1_01_00_010_0_0_1_0_0; // fcvt.lu.q q->lu endcase // coverage off // Not covered in testing because rv64gc is not RV64Q or RV32D diff --git a/src/ieu/bmu/bmuctrl.sv b/src/ieu/bmu/bmuctrl.sv index d4a8afe23..fe781e78b 100644 --- a/src/ieu/bmu/bmuctrl.sv +++ b/src/ieu/bmu/bmuctrl.sv @@ -119,13 +119,11 @@ module bmuctrl import cvw::*; #(parameter cvw_t P) ( if (P.ZBC_SUPPORTED) casez({OpD, Funct7D, Funct3D}) 17'b0110011_0000101_010: BMUControlsD = `BMUCTRLW'b000_0011_0001_1_0_0_0_1_0_0_0_0_0; // clmulr - 17'b0110011_0000101_0??: BMUControlsD = `BMUCTRLW'b000_0011_0000_1_0_0_0_1_0_0_0_0_0; // clmul/clmulh + 17'b0110011_0000101_0?1: BMUControlsD = `BMUCTRLW'b000_0011_0000_1_0_0_0_1_0_0_0_0_0; // clmul/clmulh endcase if (P.ZBKC_SUPPORTED) begin casez({OpD, Funct7D, Funct3D}) - 17'b0110011_0000101_0??: BMUControlsD = `BMUCTRLW'b000_0011_0000_1_0_0_0_1_0_0_0_0_0; // clmul/clmulh - // 17'b0110011_0000101_001: BMUControlsD = `BMUCTRLW'b000_0011_0000_1_0_0_0_1_0_0_0_0_0; // clmul - // 17'b0110011_0000101_011: BMUControlsD = `BMUCTRLW'b000_0011_0001_1_0_0_0_1_0_0_0_0_0; // clmulh + 17'b0110011_0000101_0?1: BMUControlsD = `BMUCTRLW'b000_0011_0000_1_0_0_0_1_0_0_0_0_0; // clmul/clmulh endcase end @@ -153,10 +151,17 @@ module bmuctrl import cvw::*; #(parameter cvw_t P) ( end if (P.ZBB_SUPPORTED | P.ZBS_SUPPORTED) // rv32i/64i shift instructions need BMU ALUSelect when BMU shifter is used casez({OpD, Funct7D, Funct3D}) - 17'b0110011_0?0000?_?01: BMUControlsD = `BMUCTRLW'b001_0000_0000_1_0_0_0_1_0_0_0_0_0; // sra, srl, sll - 17'b0010011_0?0000?_?01: BMUControlsD = `BMUCTRLW'b001_0000_0000_1_1_0_0_1_0_0_0_0_0; // srai, srli, slli - 17'b0111011_0?0000?_?01: BMUControlsD = `BMUCTRLW'b001_0000_0000_1_0_1_0_1_0_0_0_0_0; // sraw, srlw, sllw - 17'b0011011_0?0000?_?01: BMUControlsD = `BMUCTRLW'b001_0000_0000_1_1_1_0_1_0_0_0_0_0; // sraiw, srliw, slliw + // variable shifts don't encode shift amount in funct7 + 17'b0110011_0000000_001: BMUControlsD = `BMUCTRLW'b001_0000_0000_1_0_0_0_1_0_0_0_0_0; // sll + 17'b0110011_0?00000_101: BMUControlsD = `BMUCTRLW'b001_0000_0000_1_0_0_0_1_0_0_0_0_0; // sra, srl + // Immediate Shifts by more than 32 (Funct7[0]) are only supported in RV64 + 17'b0010011_000000?_001: if (P.XLEN == 64 | !Funct7D[0]) BMUControlsD = `BMUCTRLW'b001_0000_0000_1_1_0_0_1_0_0_0_0_0; // slli + 17'b0010011_0?0000?_101: if (P.XLEN == 64 | !Funct7D[0]) BMUControlsD = `BMUCTRLW'b001_0000_0000_1_1_0_0_1_0_0_0_0_0; // srai, srli + // w-type shifts only supported in RV64 and must have Funct7[0] = 0 because the shift amount is < 32 + 17'b0111011_0000000_001: if (P.XLEN == 64) BMUControlsD = `BMUCTRLW'b001_0000_0000_1_0_1_0_1_0_0_0_0_0; // sllw + 17'b0111011_0?00000_101: if (P.XLEN == 64) BMUControlsD = `BMUCTRLW'b001_0000_0000_1_0_1_0_1_0_0_0_0_0; // sraw, srlw + 17'b0011011_0000000_001: if (P.XLEN == 64) BMUControlsD = `BMUCTRLW'b001_0000_0000_1_1_1_0_1_0_0_0_0_0; // slliw + 17'b0011011_0?00000_101: if (P.XLEN == 64) BMUControlsD = `BMUCTRLW'b001_0000_0000_1_1_1_0_1_0_0_0_0_0; // sraiw, srliw endcase if (P.ZBKB_SUPPORTED) begin // ZBKB Bitmanip diff --git a/src/ieu/controller.sv b/src/ieu/controller.sv index 19f96c98d..75dbf2b6a 100644 --- a/src/ieu/controller.sv +++ b/src/ieu/controller.sv @@ -181,8 +181,8 @@ module controller import cvw::*; #(parameter cvw_t P) ( assign Funct7ZeroD = (Funct7D == 7'b0000000); // most R-type instructions assign Funct7b5D = (Funct7D == 7'b0100000); // srai, sub assign FunctCZeroD = (Funct3D == 3'b101 | Funct3D == 3'b111) & (Funct7D == 7'b0000111) & P.ZICOND_SUPPORTED; // czero.eqz or czero.nez - assign Funct7ShiftZeroD = (P.XLEN==64) ? (Funct7D[6:1] == 6'b000000) : Funct7ZeroD; - assign Funct7Shiftb5D = (P.XLEN==64) ? (Funct7D[6:1] == 6'b010000) : Funct7b5D; + assign Funct7ShiftZeroD = (P.XLEN==64 & ~OpD[3]) ? (Funct7D[6:1] == 6'b000000) : Funct7ZeroD; // 64-bit logical shifts allowed on XLEN=64, non-W + assign Funct7Shiftb5D = (P.XLEN==64 & ~OpD[3]) ? (Funct7D[6:1] == 6'b010000) : Funct7b5D; // 64-bit arithmetic shifts allowed on XLEN=64, non-W assign IShiftD = (Funct3D == 3'b001 & Funct7ShiftZeroD) | (Funct3D == 3'b101 & (Funct7ShiftZeroD | Funct7Shiftb5D)); // slli, srli, srai, or w forms assign INoShiftD = ((Funct3D != 3'b001) & (Funct3D != 3'b101)); assign IFunctD = IShiftD | INoShiftD; @@ -300,7 +300,6 @@ module controller import cvw::*; #(parameter cvw_t P) ( // Squash control signals if coming from an illegal compressed instruction // On RV32E, can't write to upper 16 registers. Checking reads to upper 16 is more costly so disregard them. assign IllegalERegAdrD = P.E_SUPPORTED & P.ZICSR_SUPPORTED & ControlsD[`CTRLW-1] & InstrD[11]; - //assign IllegalBaseInstrD = 1'b0; assign {BaseRegWriteD, PreImmSrcD, ALUSrcAD, BaseALUSrcBD, MemRWD, ResultSrcD, BranchD, ALUOpD, JumpD, ALUResultSrcD, BaseW64D, CSRReadD, PrivilegedD, FenceXD, MDUD, AtomicD, CMOD, unused} = IllegalIEUFPUInstrD ? `CTRLW'b0 : ControlsD; diff --git a/src/mmu/mmu.sv b/src/mmu/mmu.sv index 85796f060..a53392fc9 100644 --- a/src/mmu/mmu.sv +++ b/src/mmu/mmu.sv @@ -118,7 +118,7 @@ module mmu import cvw::*; #(parameter cvw_t P, if (P.PMP_ENTRIES > 0) begin : pmp pmpchecker #(P) pmpchecker(.PhysicalAddress, .PrivilegeModeW, .PMPCFG_ARRAY_REGW, .PMPADDR_ARRAY_REGW, - .ExecuteAccessF, .WriteAccessM, .ReadAccessM, .CMOpM, + .ExecuteAccessF, .WriteAccessM, .ReadAccessM, .Size, .CMOpM, .PMPInstrAccessFaultF, .PMPLoadAccessFaultM, .PMPStoreAmoAccessFaultM); end else begin assign PMPInstrAccessFaultF = 1'b0; @@ -131,7 +131,7 @@ module mmu import cvw::*; #(parameter cvw_t P, // Misaligned faults always_comb // exclusion-tag: immu-wordaccess - case(Size[1:0]) + case(Size) 2'b00: DataMisalignedM = 1'b0; // lb, sb, lbu 2'b01: DataMisalignedM = VAdr[0]; // lh, sh, lhu 2'b10: DataMisalignedM = VAdr[1] | VAdr[0]; // lw, sw, flw, fsw, lwu diff --git a/src/mmu/pmpadrdec.sv b/src/mmu/pmpadrdec.sv index 71a6b890a..fab15b24d 100644 --- a/src/mmu/pmpadrdec.sv +++ b/src/mmu/pmpadrdec.sv @@ -35,9 +35,11 @@ module pmpadrdec import cvw::*; #(parameter cvw_t P) ( input logic [P.PA_BITS-1:0] PhysicalAddress, input logic [7:0] PMPCfg, input logic [P.PA_BITS-3:0] PMPAdr, + input logic FirstMatch, input logic PAgePMPAdrIn, output logic PAgePMPAdrOut, output logic Match, + output logic [P.PA_BITS-1:0] PMPTop, output logic L, X, W, R ); @@ -50,7 +52,8 @@ module pmpadrdec import cvw::*; #(parameter cvw_t P) ( logic PAltPMPAdr; logic [P.PA_BITS-1:0] CurrentAdrFull; logic [1:0] AdrMode; - + logic [P.PA_BITS-1:0] PMPTop1; + assign AdrMode = PMPCfg[4:3]; // The two lsb of the physical address don't matter for this checking. @@ -71,20 +74,22 @@ module pmpadrdec import cvw::*; #(parameter cvw_t P) ( assign NAMask[P.PA_BITS-1:2] = (PMPAdr + {{(P.PA_BITS-3){1'b0}}, (AdrMode == NAPOT)}) ^ PMPAdr; // form a mask where the bottom k bits are 1, corresponding to a size of 2^k bytes for this memory region. // This assumes we're using at least an NA4 region, but works for any size NAPOT region. - assign NABase = {(PMPAdr & ~NAMask[P.PA_BITS-1:2]), 2'b00}; // base physical address of the pmp. - + assign NABase = {(PMPAdr & ~NAMask[P.PA_BITS-1:2]), 2'b00}; // base physical address of the pmp region assign NAMatch = &((NABase ~^ PhysicalAddress) | NAMask); // check if upper bits of base address match, ignore lower bits correspoonding to inside the memory range + // finally pick the appropriate match for the access type assign Match = (AdrMode == TOR) ? TORMatch : (AdrMode == NA4 | AdrMode == NAPOT) ? NAMatch : 1'b0; + // Report top of region for first matching region + assign PMPTop1 = {PMPAdr,2'b00} | NAMask; // top of the pmp region. All 1s in the lower bits. Used to check the address doesn't pass the top + assign PMPTop = FirstMatch ? PMPTop1 : '0; // AND portion of distributed AND-OR mux (OR portion in pmpchhecker) + + // PMP should match but fail if the size is too big (8-byte accesses spanning to TOR or NA4 region) assign L = PMPCfg[7]; assign X = PMPCfg[2]; assign W = PMPCfg[1]; assign R = PMPCfg[0]; - // known bug: The size of the access is not yet checked. For example, if an NA4 entry matches 0xC-0xF and the system - // attempts an 8-byte access to 0x8, the access should fail (see page 60 of privileged specification 20211203). This - // implementation will not detect the failure. - endmodule +endmodule diff --git a/src/mmu/pmpchecker.sv b/src/mmu/pmpchecker.sv index a55e137ef..27f8745fe 100644 --- a/src/mmu/pmpchecker.sv +++ b/src/mmu/pmpchecker.sv @@ -43,6 +43,7 @@ module pmpchecker import cvw::*; #(parameter cvw_t P) ( input var logic [7:0] PMPCFG_ARRAY_REGW[P.PMP_ENTRIES-1:0], input var logic [P.PA_BITS-3:0] PMPADDR_ARRAY_REGW [P.PMP_ENTRIES-1:0], input logic ExecuteAccessF, WriteAccessM, ReadAccessM, + input logic [1:0] Size, input logic [3:0] CMOpM, output logic PMPInstrAccessFaultF, output logic PMPLoadAccessFaultM, @@ -55,29 +56,55 @@ module pmpchecker import cvw::*; #(parameter cvw_t P) ( logic [P.PMP_ENTRIES-1:0] FirstMatch; // onehot encoding for the first pmpaddr to match the current address. logic [P.PMP_ENTRIES-1:0] L, X, W, R; // PMP matches and has flag set logic [P.PMP_ENTRIES-1:0] PAgePMPAdr; // for TOR PMP matching, PhysicalAddress > PMPAdr[i] + logic [P.PA_BITS-1:0] PMPTop[P.PMP_ENTRIES-1:0]; // Upper end of each region, for checking that the access is fully within the region logic PMPCMOAccessFault, PMPCBOMAccessFault, PMPCBOZAccessFault; - + logic [2:0] SizeBytesMinus1; + logic MatchingR, MatchingW, MatchingX, MatchingL; + logic [P.PA_BITS-1:0] MatchingPMPTop, PhysicalAddressTop; + logic TooBig; if (P.PMP_ENTRIES > 0) begin: pmp // prevent complaints about array of no elements when PMP_ENTRIES = 0 pmpadrdec #(P) pmpadrdecs[P.PMP_ENTRIES-1:0]( .PhysicalAddress, .PMPCfg(PMPCFG_ARRAY_REGW), .PMPAdr(PMPADDR_ARRAY_REGW), + .FirstMatch, .PAgePMPAdrIn({PAgePMPAdr[P.PMP_ENTRIES-2:0], 1'b1}), .PAgePMPAdrOut(PAgePMPAdr), - .Match, .L, .X, .W, .R); + .Match, .PMPTop, .L, .X, .W, .R); end priorityonehot #(P.PMP_ENTRIES) pmppriority(.a(Match), .y(FirstMatch)); // combine the match signal from all the adress decoders to find the first one that matches. - // Only enforce PMP checking for S and U modes or in Machine mode when L bit is set in selected region - assign EnforcePMP = (PrivilegeModeW != P.M_MODE) | (|(L & FirstMatch)); + // Distributed AND-OR mux to select the first matching results + // If the access does not match all bytes of the PMP region, it is too big and the matches are disabled + assign MatchingR = |(R & FirstMatch) & ~TooBig; + assign MatchingW = |(W & FirstMatch) & ~TooBig; + assign MatchingX = |(X & FirstMatch) & ~TooBig; + assign MatchingL = |(L & FirstMatch); + or_rows #(P.PMP_ENTRIES, P.PA_BITS) PTEOr(PMPTop, MatchingPMPTop); - assign PMPCBOMAccessFault = EnforcePMP & (|CMOpM[2:0]) & ~|((R|W) & FirstMatch) ; // exclusion-tag: immu-pmpcbom - assign PMPCBOZAccessFault = EnforcePMP & CMOpM[3] & ~|(W & FirstMatch) ; // exclusion-tag: immu-pmpcboz + // Matching PMP entry must match all bytes of an access, or the access fails (Priv Spec 3.7.1.3) + // First find the size of the access in terms of the offset to the most significant byte + always_comb + case (Size) + 2'b00: SizeBytesMinus1 = 3'd0; + 2'b01: SizeBytesMinus1 = 3'd1; + 2'b10: SizeBytesMinus1 = 3'd3; + 2'b11: SizeBytesMinus1 = 3'd7; + endcase + // Then find the top of the access and see if it is beyond the top of the region + assign PhysicalAddressTop = PhysicalAddress + {{P.PA_BITS-3{1'b0}}, SizeBytesMinus1}; // top of the access range + assign TooBig = PhysicalAddressTop > MatchingPMPTop; // check if the access goes beyond the top of the PMP region + + // Only enforce PMP checking for S and U modes or in Machine mode when L bit is set in selected region + assign EnforcePMP = (PrivilegeModeW != P.M_MODE) | MatchingL; + + assign PMPCBOMAccessFault = EnforcePMP & (|CMOpM[2:0]) & ~MatchingR ; // checking R is sufficient because W implies R in PMP // exclusion-tag: immu-pmpcbom + assign PMPCBOZAccessFault = EnforcePMP & CMOpM[3] & ~MatchingW ; // exclusion-tag: immu-pmpcboz assign PMPCMOAccessFault = PMPCBOZAccessFault | PMPCBOMAccessFault; // exclusion-tag: immu-pmpcboaccess - - assign PMPInstrAccessFaultF = EnforcePMP & ExecuteAccessF & ~|(X & FirstMatch) ; - assign PMPStoreAmoAccessFaultM = (EnforcePMP & WriteAccessM & ~|(W & FirstMatch)) | PMPCMOAccessFault; // exclusion-tag: immu-pmpstoreamoaccessfault - assign PMPLoadAccessFaultM = EnforcePMP & ReadAccessM & ~WriteAccessM & ~|(R & FirstMatch) ; + + assign PMPInstrAccessFaultF = EnforcePMP & ExecuteAccessF & ~MatchingX ; + assign PMPStoreAmoAccessFaultM = (EnforcePMP & WriteAccessM & ~MatchingW) | PMPCMOAccessFault; // exclusion-tag: immu-pmpstoreamoaccessfault + assign PMPLoadAccessFaultM = EnforcePMP & ReadAccessM & ~WriteAccessM & ~MatchingR; endmodule diff --git a/src/mmu/tlb/tlbcontrol.sv b/src/mmu/tlb/tlbcontrol.sv index 9bd3b8148..4bc7501f9 100644 --- a/src/mmu/tlb/tlbcontrol.sv +++ b/src/mmu/tlb/tlbcontrol.sv @@ -61,6 +61,7 @@ module tlbcontrol import cvw::*; #(parameter cvw_t P, ITLB = 0) ( logic TLBAccess; logic ImproperPrivilege; logic BadPBMT, BadNAPOT, BadReserved; + logic ReservedRW; logic InvalidAccess; logic PreUpdateDA, PrePageFault; @@ -88,6 +89,7 @@ module tlbcontrol import cvw::*; #(parameter cvw_t P, ITLB = 0) ( assign BadPBMT = ((PTE_PBMT != 0) & ~(P.SVPBMT_SUPPORTED & ENVCFG_PBMTE)) | PTE_PBMT == 3; // PBMT must be zero if not supported; value of 3 is reserved assign BadNAPOT = PTE_N & (~P.SVNAPOT_SUPPORTED | ~NAPOT4); // N must be be 0 if CVNAPOT is not supported or not 64 KiB contiguous region assign BadReserved = PTE_RESERVED; // Reserved bits must be zero + assign ReservedRW = PTE_W & ~PTE_R; // page fault on reserved encoding with R=0, W=1 per Privileged Spec 10.3.1 // Check whether the access is allowed, page faulting if not. if (ITLB == 1) begin:itlb // Instruction TLB fault checking @@ -95,9 +97,9 @@ module tlbcontrol import cvw::*; #(parameter cvw_t P, ITLB = 0) ( // only execute non-user mode pages. assign ImproperPrivilege = ((PrivilegeModeW == P.U_MODE) & ~PTE_U) | ((PrivilegeModeW == P.S_MODE) & PTE_U); assign PreUpdateDA = ~PTE_A; - assign InvalidAccess = ~PTE_X; + assign InvalidAccess = ~PTE_X | ReservedRW; end else begin:dtlb // Data TLB fault checking - logic InvalidRead, InvalidWrite, ReservedEncoding; + logic InvalidRead, InvalidWrite; logic InvalidCBOM, InvalidCBOZ; // User mode may only load/store from user mode pages, and supervisor mode @@ -112,8 +114,7 @@ module tlbcontrol import cvw::*; #(parameter cvw_t P, ITLB = 0) ( assign InvalidWrite = WriteAccess & ~PTE_W; assign InvalidCBOM = (|CMOpM[2:0]) & (~PTE_R & (~STATUS_MXR | ~PTE_X)); assign InvalidCBOZ = CMOpM[3] & ~PTE_W; - assign ReservedEncoding = PTE_W & ~PTE_R; // fault on reserved encoding with R=0, W=1 to match ImperasDV behavior - assign InvalidAccess = InvalidRead | InvalidWrite | InvalidCBOM | InvalidCBOZ | ReservedEncoding; + assign InvalidAccess = InvalidRead | InvalidWrite | InvalidCBOM | InvalidCBOZ | ReservedRW; assign PreUpdateDA = ~PTE_A | WriteAccess & ~PTE_D; end diff --git a/src/mmu/tlb/tlbram.sv b/src/mmu/tlb/tlbram.sv index 3b329705d..a252bbd23 100644 --- a/src/mmu/tlb/tlbram.sv +++ b/src/mmu/tlb/tlbram.sv @@ -51,6 +51,6 @@ module tlbram import cvw::*; #(parameter cvw_t P, or_rows #(TLB_ENTRIES, P.XLEN) PTEOr(RamRead, PageTableEntry); // Rename the bits read from the TLB RAM - assign PTEAccessBits = {PageTableEntry[P.XLEN-1:P.XLEN-4] & {4{P.XLEN == 64}}, PageTableEntry[7:0]}; // for RV64 include N and PBMT bits and OR of reserved bitss + assign PTEAccessBits = {PageTableEntry[P.XLEN-1:P.XLEN-4] & {4{P.XLEN == 64}}, PageTableEntry[7:0]}; // for RV64 include N and PBMT bits and OR of reserved bits assign PPN = PageTableEntry[P.PPN_BITS+9:10]; endmodule diff --git a/src/privileged/csrm.sv b/src/privileged/csrm.sv index 1cdfd7d85..8716ce63c 100644 --- a/src/privileged/csrm.sv +++ b/src/privileged/csrm.sv @@ -121,7 +121,7 @@ module csrm import cvw::*; #(parameter cvw_t P) ( assign ADDRLocked[i] = PMPCFG_ARRAY_REGW[i][7]; else assign ADDRLocked[i] = PMPCFG_ARRAY_REGW[i][7] | (PMPCFG_ARRAY_REGW[i+1][7] & PMPCFG_ARRAY_REGW[i+1][4:3] == 2'b01); - + assign WritePMPADDRM[i] = (CSRMWriteM & (CSRAdrM == (PMPADDR0+i))) & ~ADDRLocked[i]; flopenr #(P.PA_BITS-2) PMPADDRreg(clk, reset, WritePMPADDRM[i], CSRWriteValM[P.PA_BITS-3:0], PMPADDR_ARRAY_REGW[i]); if (P.XLEN==64) begin @@ -134,7 +134,7 @@ module csrm import cvw::*; #(parameter cvw_t P) ( assign CSRPMPWRLegalizedWriteValM[i] = {(CSRPMPWriteValM[i][1] & CSRPMPWriteValM[i][0]), CSRPMPWriteValM[i][0]}; // legalize WR fields (reserved 10 written as 00) assign CSRPMPLegalizedWriteValM[i] = {CSRPMPWriteValM[i][7], 2'b00, CSRPMPWriteValM[i][4:2], CSRPMPWRLegalizedWriteValM[i]}; - flopenr #(8) PMPCFGreg(clk, reset, WritePMPCFGM[i], CSRPMPWriteValM[i], PMPCFG_ARRAY_REGW[i]); + flopenr #(8) PMPCFGreg(clk, reset, WritePMPCFGM[i], CSRPMPLegalizedWriteValM[i], PMPCFG_ARRAY_REGW[i]); end end diff --git a/src/privileged/privdec.sv b/src/privileged/privdec.sv index 6321413d4..99380e63f 100644 --- a/src/privileged/privdec.sv +++ b/src/privileged/privdec.sv @@ -59,7 +59,7 @@ module privdec import cvw::*; #(parameter cvw_t P) ( // svinval instructions // any svinval instruction is treated as sfence.vma on Wally - assign sinvalvmaM = (InstrM[31:25] == 7'b0001001); + assign sinvalvmaM = (InstrM[31:25] == 7'b0001011); assign sfencewinvalM = (InstrM[31:20] == 12'b000110000000) & rs1zeroM; assign sfenceinvalirM = (InstrM[31:20] == 12'b000110000001) & rs1zeroM; assign invalM = P.SVINVAL_SUPPORTED & (sinvalvmaM | sfencewinvalM | sfenceinvalirM); diff --git a/src/uncore/spi_apb.sv b/src/uncore/spi_apb.sv index a14201f01..4f4fcbc40 100644 --- a/src/uncore/spi_apb.sv +++ b/src/uncore/spi_apb.sv @@ -174,16 +174,12 @@ module spi_apb import cvw::*; #(parameter cvw_t P) ( SPI_CSMODE: ChipSelectMode <= Din[1:0]; SPI_DELAY0: Delay0 <= {Din[23:16], Din[7:0]}; SPI_DELAY1: Delay1 <= {Din[23:16], Din[7:0]}; - SPI_FMT: Format <= {Din[19:16], Din[2]}; + SPI_FMT: Format <= {Din[19:16], Din[2]}; + SPI_TXDATA: if (~TransmitFIFOFull) TransmitData[7:0] <= Din[7:0]; SPI_TXMARK: TransmitWatermark <= Din[2:0]; SPI_RXMARK: ReceiveWatermark <= Din[2:0]; SPI_IE: InterruptEnable <= Din[1:0]; endcase - - if (Memwrite) - case(Entry) - SPI_TXDATA: if (~TransmitFIFOFull) TransmitData[7:0] <= Din[7:0]; - endcase /* verilator lint_on CASEINCOMPLETE */ // According to FU540 spec: Once interrupt is pending, it will remain set until number diff --git a/src/uncore/spi_controller.sv b/src/uncore/spi_controller.sv index dee3d3c99..0ed8e57be 100644 --- a/src/uncore/spi_controller.sv +++ b/src/uncore/spi_controller.sv @@ -75,6 +75,7 @@ module spi_controller ( logic ShiftEdgePulse; logic SampleEdgePulse; logic EndOfFramePulse; + logic InvertClock; // Frame stuff logic [3:0] BitNum; @@ -107,8 +108,8 @@ module spi_controller ( logic [7:0] DelayCounter; - logic DelayIsNext; - logic DelayState; + logic DelayState; + // Convenient Delay Reg Names assign cssck = Delay0[7:0]; assign sckcs = Delay0[15:8]; @@ -130,10 +131,6 @@ module spi_controller ( assign EndOfDelay = EndOfCSSCK | EndOfSCKCS | EndOfINTERCS | EndOfINTERXFR; // Clock Signal Stuff ----------------------------------------------- - // I'm going to handle all clock stuff here, including ShiftEdge and - // SampleEdge. This makes sure that SPICLK is an output of a register - // and it properly synchronizes signals. - // SPI enable generation, where SCLK = PCLK/(2*(SckDiv + 1)) // Asserts SCLKenable at the rising and falling edge of SCLK by counting from 0 to SckDiv // Active at 2x SCLK frequency to account for implicit half cycle delays and actions on both clock edges depending on phase @@ -166,12 +163,14 @@ module spi_controller ( end // SPICLK Logic - + // We only want to trigger the clock during Transmission. + // If Phase == 1, then we want to trigger as soon as NextState == TRANSMIT + // Otherwise, only trigger the clock when the CurrState is TRANSMIT. + // We never want to trigger the clock if the NextState is NOT TRANSMIT if (TransmitStart & ~DelayState) begin SPICLK <= SckMode[1]; - end else if (SCLKenable) begin - if (Phase & (NextState == TRANSMIT)) SPICLK <= (~EndTransmission & ~DelayIsNext) ? ~SPICLK : SckMode[1]; - else if (Transmitting) SPICLK <= (~EndTransmission & ~DelayIsNext) ? ~SPICLK : SckMode[1]; + end else if (SCLKenable) begin + SPICLK <= (NextState == TRANSMIT) & (~Phase & Transmitting | Phase) ? ~SPICLK : SckMode[1]; end // Reset divider @@ -201,32 +200,25 @@ module spi_controller ( // Possible pulses for all edge types. Combined with SPICLK to get // edges for different phase and polarity modes. assign ShiftEdgePulse = EdgePulse & ~LastBit; - assign SampleEdgePulse = EdgePulse & ~DelayIsNext; + assign SampleEdgePulse = EdgePulse & (NextState == TRANSMIT); assign EndOfFramePulse = EdgePulse & LastBit; // Delay ShiftEdge and SampleEdge by a half PCLK period // Aligned EXACTLY ON THE MIDDLE of the leading and trailing edges. // Sweeeeeeeeeet... + assign InvertClock = ^SckMode; always_ff @(posedge ~PCLK) begin if (~PRESETn | TransmitStart) begin ShiftEdge <= 0; SampleEdge <= 0; EndOfFrame <= 0; - end else if (^SckMode) begin - ShiftEdge <= ~SPICLK & ShiftEdgePulse; - SampleEdge <= SPICLK & SampleEdgePulse; - EndOfFrame <= ~SPICLK & EndOfFramePulse; - end else begin - ShiftEdge <= SPICLK & ShiftEdgePulse; - SampleEdge <= ~SPICLK & SampleEdgePulse; - EndOfFrame <= SPICLK & EndOfFramePulse; - end + end else begin + ShiftEdge <= (InvertClock ^ SPICLK) & ShiftEdgePulse; + SampleEdge <= (InvertClock ^ ~SPICLK) & SampleEdgePulse; + EndOfFrame <= (InvertClock ^ SPICLK) & EndOfFramePulse; end + end - // Logic for continuing to transmit through Delay states after end of frame - assign NextEndDelay = NextState == SCKCS | NextState == INTERCS | NextState == INTERXFR; - assign CurrentEndDelay = CurrState == SCKCS | CurrState == INTERCS | CurrState == INTERXFR; - always_ff @(posedge PCLK) begin if (~PRESETn) begin CurrState <= INACTIVE; @@ -305,7 +297,6 @@ module spi_controller ( end assign Transmitting = CurrState == TRANSMIT; - assign DelayIsNext = (NextState == CSSCK | NextState == SCKCS | NextState == INTERCS | NextState == INTERXFR); assign DelayState = (CurrState == CSSCK | CurrState == SCKCS | CurrState == INTERCS | CurrState == INTERXFR); assign InactiveState = CurrState == INACTIVE | CurrState == INTERCS; diff --git a/src/uncore/spi_fifo.sv b/src/uncore/spi_fifo.sv index 1e4910faf..514e9df7b 100644 --- a/src/uncore/spi_fifo.sv +++ b/src/uncore/spi_fifo.sv @@ -26,7 +26,7 @@ module spi_fifo #(parameter M=3, N=8)( // 2^M entries of N bits assign rdata = mem[raddr]; always_ff @(posedge PCLK) - if (winc & ~wfull) mem[waddr] <= wdata; + if (winc & wen & ~wfull) mem[waddr] <= wdata; // write and read are enabled always_ff @(posedge PCLK) diff --git a/testbench/Makefile b/testbench/Makefile index 87870b451..4af5e9c27 100644 --- a/testbench/Makefile +++ b/testbench/Makefile @@ -1,12 +1,20 @@ # Makefile for testbench to create .memfile, .objdump.addr, and .objdump.lab from an ELF # David_Harris@hmc.edu 3 July 2024 +# james.stine@okstate.edu 24 Jan 2025 # SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 -%.elf.memfile: %.elf - riscv64-unknown-elf-elf2hex --bit-width $(if $(findstring rv32,$*),32,64) --input $< --output $@ +# the width is set by the elf's type to allow for individual elf compilation +%.memfile: % + @if grep -q 'elf32' $*.objdump; then \ + BIT_WIDTH=32; \ + else \ + BIT_WIDTH=64; \ + fi; \ + echo "Processing $< with --bit-width $$BIT_WIDTH"; \ + riscv64-unknown-elf-elf2hex --bit-width $$BIT_WIDTH --input $< --output $@ -%.elf.objdump.addr: %.elf.objdump +%.objdump.addr: %.objdump extractFunctionRadix.sh $< -%.elf.objdump: %.elf - riscv64-unknown-elf-objdump -S -D $< > $@ \ No newline at end of file +%.objdump: % + riscv64-unknown-elf-objdump -S -D $< > $@ diff --git a/testbench/common/functionName.sv b/testbench/common/functionName.sv index 5a14c84a4..2d257ce32 100644 --- a/testbench/common/functionName.sv +++ b/testbench/common/functionName.sv @@ -70,7 +70,7 @@ module FunctionName import cvw::*; #(parameter cvw_t P) ( begin if ( pc == 0 ) begin - // *** want to keep the old value for mid and minval + // want to keep the old value for mid and minval mid = 0; return; end diff --git a/testbench/common/instrNameDecTB.sv b/testbench/common/instrNameDecTB.sv index 80f6ed607..cb180df6e 100644 --- a/testbench/common/instrNameDecTB.sv +++ b/testbench/common/instrNameDecTB.sv @@ -22,333 +22,418 @@ //////////////////////////////////////////////////////////////////////////////////////////////// // decode the instruction name, to help the test bench -module instrNameDecTB( +module instrNameDecTB #(parameter XLEN) ( input logic [31:0] instr, output string name); logic [6:0] op; + logic funct1; + logic [1:0] funct2; logic [2:0] funct3; + logic [4:0] funct5; logic [6:0] funct7; logic [11:0] imm; - logic [4:0] rs2, rd; + logic [4:0] rs2, rd, CRrs2; + logic [1:0] compressedOp; + logic [5:0] compressed15_10; + assign op = instr[6:0]; + assign funct1 = instr[6]; + assign funct2 = instr[6:5]; assign funct3 = instr[14:12]; + assign funct5 = instr[6:2]; assign funct7 = instr[31:25]; assign imm = instr[31:20]; assign rs2 = instr[24:20]; assign rd = instr[11:7]; + assign compressedOp = instr[1:0]; + assign compressed15_10 = instr[15:10]; + assign CRrs2 = instr[6:2]; // it would be nice to add the operands to the name // create another variable called decoded - always_comb - casez({op, funct3}) - 10'b0000000_000: name = "BAD"; - 10'b0000011_000: name = "LB"; - 10'b0000011_001: name = "LH"; - 10'b0000011_010: name = "LW"; - 10'b0000011_011: name = "LD"; - 10'b0000011_100: name = "LBU"; - 10'b0000011_101: name = "LHU"; - 10'b0000011_110: name = "LWU"; - 10'b0010011_000: if (instr[31:15] == 0 & instr[11:7] ==0) name = "NOP/FLUSH"; - else name = "ADDI"; - 10'b0010011_001: if (funct7[6:1] == 6'b000000) name = "SLLI"; - else if (funct7[6:1] == 6'b010010) name = "BCLRI"; - else if (funct7[6:1] == 6'b011010) name = "BINVI"; - else if (funct7[6:1] == 6'b001010) name = "BSETI"; - else if (funct7 == 7'b0000100 & rs2 == 5'b01111) name = "ZIP"; - else if (funct7 == 7'b0011000 & rs2 == 5'b00000) name = "AES64IM"; - else if (funct7 == 7'b0011000 & rs2[4] == 1'b1) name = "AES64KS1I"; - else if (funct7 == 7'b0001000 & rs2 == 5'b00010) name = "SHA256SIG0"; - else if (funct7 == 7'b0001000 & rs2 == 5'b00011) name = "SHA256SIG1"; - else if (funct7 == 7'b0001000 & rs2 == 5'b00000) name = "SHA256SUM0"; - else if (funct7 == 7'b0001000 & rs2 == 5'b00001) name = "SHA256SUM1"; - else if (funct7 == 7'b0001000 & rs2 == 5'b00110) name = "SHA512SIG0"; - else if (funct7 == 7'b0001000 & rs2 == 5'b00111) name = "SHA512SIG1"; - else if (funct7 == 7'b0001000 & rs2 == 5'b00100) name = "SHA512SUM0"; - else if (funct7 == 7'b0001000 & rs2 == 5'b00101) name = "SHA512SUM1"; - else if (funct7 == 7'b0110000) begin - case (rs2) - 5'b00000: name = "CLZ"; - 5'b00010: name = "CPOP"; - 5'b00001: name = "CTZ"; - 5'b00100: name = "SEXT.B"; - 5'b00101: name = "SEXT.H"; - default: name = "ILLEGAL"; - endcase - end else name = "ILLEGAL"; - 10'b0010011_010: name = "SLTI"; - 10'b0010011_011: name = "SLTIU"; - 10'b0010011_100: name = "XORI"; - 10'b0010011_101: if (funct7[6:1] == 6'b000000) name = "SRLI"; - else if (funct7[6:1] == 6'b010000) name = "SRAI"; - else if (funct7[6:1] == 6'b011010 & rs2 == 5'b11000) name = "REV8"; - else if (funct7[6:1] == 6'b011000) name = "RORI"; - else if (funct7[6:1] == 6'b010010) name = "BEXTI"; - else if (funct7 == 7'b0010100 & rs2 == 5'b00111) name = "ORC.B"; - else if (imm == 12'b011010000111) name = "BREV8"; - else if (funct7 == 7'b0000100 & rs2 == 5'b01111) name = "UNZIP"; - else name = "ILLEGAL"; - 10'b0010011_110: if (rd == 0 & rs2 == 0) name = "PREFETCH.I"; - else if (rd == 0 & rs2 == 1) name = "PREFETCH.R"; - else if (rd == 0 & rs2 == 3) name = "PREFETCH.W"; - else name = "ORI"; - 10'b0010011_111: name = "ANDI"; - 10'b0010111_???: name = "AUIPC"; - 10'b0100011_000: name = "SB"; - 10'b0100011_001: name = "SH"; - 10'b0100011_010: name = "SW"; - 10'b0100011_011: name = "SD"; - 10'b0011011_000: name = "ADDIW"; - 10'b0011011_001: if (funct7 == 7'b0000000 )name = "SLLIW"; - else if (funct7[6:1] == 6'b000010) name = "SLLI.UW"; - else if (funct7 == 7'b0110000) begin - case (rs2) - 5'b00000: name = "CLZW"; - 5'b00010: name = "CPOPW"; - 5'b00001: name = "CTZW"; - default: name = "ILLEGAL"; - endcase - end else name = "ILLEGAL"; - 10'b0011011_101: if (funct7 == 7'b0000000) name = "SRLIW"; - else if (funct7 == 7'b0100000) name = "SRAIW"; - else if (funct7 == 7'b0110000) name = "RORIW"; - else name = "ILLEGAL"; - 10'b0111011_000: if (funct7 == 7'b0000000) name = "ADDW"; - else if (funct7 == 7'b0100000) name = "SUBW"; - else if (funct7 == 7'b0000001) name = "MULW"; - else if (funct7 == 7'b0000100) name = "ADD.UW"; - else name = "ILLEGAL"; - 10'b0111011_001: if (funct7 == 7'b0000000) name = "SLLW"; - else if (funct7 == 7'b0000001) name = "DIVW"; - else if (funct7 == 7'b0110000) name = "ROLW"; - else name = "ILLEGAL"; - 10'b0111011_010: if (funct7 == 7'b0010000) name = "SH1ADD.UW"; - else name = "ILLEGAL"; - 10'b0111011_100: if (funct7 == 7'b0010000) name = "SH2ADD.UW"; - else if (funct7 == 7'b0000100) name = "ZEXT.H"; - else name = "ILLEGAL"; - 10'b0111011_101: if (funct7 == 7'b0000000) name = "SRLW"; - else if (funct7 == 7'b0100000) name = "SRAW"; - else if (funct7 == 7'b0000001) name = "DIVUW"; - else if (funct7 == 7'b0110000) name = "RORW"; - else name = "ILLEGAL"; - 10'b0111011_110: if (funct7 == 7'b0000001) name = "REMW"; - else if (funct7 == 7'b0010000) name = "SH3ADD.UW"; - else name = "ILLEGAL"; - 10'b0111011_111: if (funct7 == 7'b0000001) name = "REMUW"; - else name = "ILLEGAL"; - 10'b0110011_000: if (funct7 == 7'b0000000) name = "ADD"; - else if (funct7 == 7'b0000001) name = "MUL"; - else if (funct7 == 7'b0100000) name = "SUB"; - else if (funct7[4:0] == 5'b10101) name = "AES32DSI"; - else if (funct7[4:0] == 5'b10111) name = "AES32DSMI"; - else if (funct7 == 7'b0011101) name = "AES64DS"; - else if (funct7 == 7'b0011111) name = "AES64DSM"; - else if (funct7[4:0] == 5'b10001) name = "AES32ESI"; - else if (funct7[4:0] == 5'b10011) name = "AES32ESMI"; - else if (funct7 == 7'b0011001) name = "AES64ES"; - else if (funct7 == 7'b0011011) name = "AES64ESM"; - else if (funct7 == 7'b0111111) name = "AES64KS2"; - else if (funct7 == 7'b0101110) name = "SHA512SIG0H"; - else if (funct7 == 7'b0101010) name = "SHA512SIG0L"; - else if (funct7 == 7'b0101111) name = "SHA512SIG1H"; - else if (funct7 == 7'b0101011) name = "SHA512SIG1L"; - else if (funct7 == 7'b0101000) name = "SHA512SUM0R"; - else if (funct7 == 7'b0101001) name = "SHA512SUM1R"; - else name = "ILLEGAL"; - 10'b0110011_001: if (funct7 == 7'b0000000) name = "SLL"; - else if (funct7 == 7'b0000001) name = "MULH"; - else if (funct7 == 7'b0110000) name = "ROL"; - else if (funct7 == 7'b0000101) name = "CLMUL"; - else if (funct7 == 7'b0100100) name = "BCLR"; - else if (funct7 == 7'b0110100) name = "BINV"; - else if (funct7 == 7'b0010100) name = "BSET"; - else name = "ILLEGAL"; - 10'b0110011_010: if (funct7 == 7'b0000000) name = "SLT"; - else if (funct7 == 7'b0000001) name = "MULHSU"; - else if (funct7 == 7'b0010000) name = "SH1ADD"; - else if (funct7 == 7'b0000101) name = "CLMULR"; - else name = "ILLEGAL"; - 10'b0110011_011: if (funct7 == 7'b0000000) name = "SLTU"; - else if (funct7 == 7'b0000001) name = "MULHU"; - else if (funct7 == 7'b0000101) name = "CLMULH"; - else name = "ILLEGAL"; - 10'b0110011_100: if (funct7 == 7'b0000000) name = "XOR"; - else if (funct7 == 7'b0000001) name = "DIV"; - else if (funct7 == 7'b0010000) name = "SH2ADD"; - else if (funct7 == 7'b0000101) name = "MIN"; - else if (funct7 == 7'b0100000) name = "ORN"; - else if (funct7 == 7'b0000100 & rs2 == 5'b00000) name = "ZEXT.H"; - else if (funct7 == 7'b0000100 & op == 7'b0110011) name = "PACK"; - else if (funct7 == 7'b0000100 & op == 7'b0111011) name = "PACKW"; - else name = "ILLEGAL"; - 10'b0110011_101: if (funct7 == 7'b0000000) name = "SRL"; - else if (funct7 == 7'b0000001) name = "DIVU"; - else if (funct7 == 7'b0100000) name = "SRA"; - else if (funct7 == 7'b0000101) name = "MINU"; - else if (funct7 == 7'b0110000) name = "ROR"; - else if (funct7 == 7'b0100100) name = "BEXT"; - else if (funct7 == 7'b0000111) name = "CZERO.EQZ"; - else name = "ILLEGAL"; - 10'b0110011_110: if (funct7 == 7'b0000000) name = "OR"; - else if (funct7 == 7'b0000001) name = "REM"; - else if (funct7 == 7'b0010000) name = "SH3ADD"; - else if (funct7 == 7'b0000101) name = "MAX"; - else if (funct7 == 7'b0100000) name = "XNOR"; - else name = "ILLEGAL"; - 10'b0110011_111: if (funct7 == 7'b0000000) name = "AND"; - else if (funct7 == 7'b0000001) name = "REMU"; - else if (funct7 == 7'b0000101) name = "MAXU"; - else if (funct7 == 7'b0100000) name = "ANDN"; - else if (funct7 == 7'b0000111) name = "CZERO.NEZ"; - else name = "ILLEGAL"; - 10'b0110111_???: name = "LUI"; - 10'b1100011_000: name = "BEQ"; - 10'b1100011_001: name = "BNE"; - 10'b1100011_100: name = "BLT"; - 10'b1100011_101: name = "BGE"; - 10'b1100011_110: name = "BLTU"; - 10'b1100011_111: name = "BGEU"; - 10'b1100111_000: name = "JALR"; - 10'b1101111_???: name = "JAL"; - 10'b1110011_000: if (imm == 0) name = "ECALL"; - else if (imm == 1) name = "EBREAK"; - else if (imm == 258) name = "SRET"; - else if (imm == 770) name = "MRET"; - else if (funct7 == 9) name = "SFENCE.VMA"; - else if (imm == 261) name = "WFI"; - else name = "ILLEGAL"; - 10'b1110011_001: name = "CSRRW"; - 10'b1110011_010: name = "CSRRS"; - 10'b1110011_011: name = "CSRRC"; - 10'b1110011_101: name = "CSRRWI"; - 10'b1110011_110: name = "CSRRSI"; - 10'b1110011_111: name = "CSRRCI"; - 10'b0101111_010: if (funct7[6:2] == 5'b00010) name = "LR.W"; - else if (funct7[6:2] == 5'b00011) name = "SC.W"; - else if (funct7[6:2] == 5'b00001) name = "AMOSWAP.W"; - else if (funct7[6:2] == 5'b00000) name = "AMOADD.W"; - else if (funct7[6:2] == 5'b00100) name = "AMOAXOR.W"; - else if (funct7[6:2] == 5'b01100) name = "AMOAND.W"; - else if (funct7[6:2] == 5'b01000) name = "AMOOR.W"; - else if (funct7[6:2] == 5'b10000) name = "AMOMIN.W"; - else if (funct7[6:2] == 5'b10100) name = "AMOMAX.W"; - else if (funct7[6:2] == 5'b11000) name = "AMOMINU.W"; - else if (funct7[6:2] == 5'b11100) name = "AMOMAXU.W"; - else name = "ILLEGAL"; - 10'b0101111_011: if (funct7[6:2] == 5'b00010) name = "LR.D"; - else if (funct7[6:2] == 5'b00011) name = "SC.D"; - else if (funct7[6:2] == 5'b00001) name = "AMOSWAP.D"; - else if (funct7[6:2] == 5'b00000) name = "AMOADD.D"; - else if (funct7[6:2] == 5'b00100) name = "AMOAXOR.D"; - else if (funct7[6:2] == 5'b01100) name = "AMOAND.D"; - else if (funct7[6:2] == 5'b01000) name = "AMOOR.D"; - else if (funct7[6:2] == 5'b10000) name = "AMOMIN.D"; - else if (funct7[6:2] == 5'b10100) name = "AMOMAX.D"; - else if (funct7[6:2] == 5'b11000) name = "AMOMINU.D"; - else if (funct7[6:2] == 5'b11100) name = "AMOMAXU.D"; - else name = "ILLEGAL"; - 10'b0001111_000: name = "FENCE"; - 10'b0001111_001: name = "FENCE.I"; - 10'b0001111_010: if (instr[31:20] == 12'd0) name = "CBO.INVAL"; - else if (instr[31:20] == 12'd1) name = "CBO.CLEAN"; - else if (instr[31:20] == 12'd2) name = "CBO.FLUSH"; - else if (instr[31:20] == 12'd4) name = "CBO.ZERO"; - else name = "ILLEGAL"; - 10'b1000011_???: name = "FMADD"; - 10'b1000111_???: name = "FMSUB"; - 10'b1001011_???: name = "FNMSUB"; - 10'b1001111_???: name = "FNMADD"; - 10'b1010011_???: if (funct7[6:2] == 5'b00000) name = "FADD"; - else if (funct7[6:2] == 5'b00001) name = "FSUB"; - else if (funct7[6:2] == 5'b00010) name = "FMUL"; - else if (funct7[6:2] == 5'b00011) name = "FDIV"; - else if (funct7[6:2] == 5'b01011) name = "FSQRT"; - else if (funct7 == 7'b1100000 & rs2 == 5'b00000) name = "FCVT.W.S"; - else if (funct7 == 7'b1100000 & rs2 == 5'b00001) name = "FCVT.WU.S"; - else if (funct7 == 7'b1100000 & rs2 == 5'b00010) name = "FCVT.L.S"; - else if (funct7 == 7'b1100000 & rs2 == 5'b00011) name = "FCVT.LU.S"; - else if (funct7 == 7'b1101000 & rs2 == 5'b00000) name = "FCVT.S.W"; - else if (funct7 == 7'b1101000 & rs2 == 5'b00001) name = "FCVT.S.WU"; - else if (funct7 == 7'b1101000 & rs2 == 5'b00010) name = "FCVT.S.L"; - else if (funct7 == 7'b1101000 & rs2 == 5'b00011) name = "FCVT.S.LU"; - else if (funct7 == 7'b1100001 & rs2 == 5'b00000) name = "FCVT.W.D"; - else if (funct7 == 7'b1100001 & rs2 == 5'b00001) name = "FCVT.WU.D"; - else if (funct7 == 7'b1100001 & rs2 == 5'b00010) name = "FCVT.L.D"; - else if (funct7 == 7'b1100001 & rs2 == 5'b00011) name = "FCVT.LU.D"; - else if (funct7 == 7'b1101001 & rs2 == 5'b00000) name = "FCVT.D.W"; - else if (funct7 == 7'b1101001 & rs2 == 5'b00001) name = "FCVT.D.WU"; - else if (funct7 == 7'b1101001 & rs2 == 5'b00010) name = "FCVT.D.L"; - else if (funct7 == 7'b1101001 & rs2 == 5'b00011) name = "FCVT.D.LU"; - else if (funct7 == 7'b0100000 & rs2 == 5'b00001) name = "FCVT.S.D"; - else if (funct7 == 7'b0100001 & rs2 == 5'b00000) name = "FCVT.D.S"; - else if (funct7 == 7'b1100010 & rs2 == 5'b00000) name = "FCVT.W.H"; - else if (funct7 == 7'b1100010 & rs2 == 5'b00001) name = "FCVT.WU.H"; - else if (funct7 == 7'b1100010 & rs2 == 5'b00010) name = "FCVT.L.H"; - else if (funct7 == 7'b1100010 & rs2 == 5'b00011) name = "FCVT.LU.H"; - else if (funct7 == 7'b1101010 & rs2 == 5'b00000) name = "FCVT.H.W"; - else if (funct7 == 7'b1101010 & rs2 == 5'b00001) name = "FCVT.H.WU"; - else if (funct7 == 7'b1101010 & rs2 == 5'b00010) name = "FCVT.H.L"; - else if (funct7 == 7'b1101010 & rs2 == 5'b00011) name = "FCVT.H.LU"; - else if (funct7 == 7'b1100011 & rs2 == 5'b00000) name = "FCVT.W.Q"; - else if (funct7 == 7'b1100011 & rs2 == 5'b00001) name = "FCVT.WU.Q"; - else if (funct7 == 7'b1100011 & rs2 == 5'b00010) name = "FCVT.L.Q"; - else if (funct7 == 7'b1100011 & rs2 == 5'b00011) name = "FCVT.LU.Q"; - else if (funct7 == 7'b1101011 & rs2 == 5'b00000) name = "FCVT.Q.W"; - else if (funct7 == 7'b1101011 & rs2 == 5'b00001) name = "FCVT.Q.WU"; - else if (funct7 == 7'b1101011 & rs2 == 5'b00010) name = "FCVT.Q.L"; - else if (funct7 == 7'b1101011 & rs2 == 5'b00011) name = "FCVT.Q.LU"; - else if (funct7 == 7'b0100000 & rs2 == 5'b00001) name = "FCVT.S.D"; - else if (funct7 == 7'b0100000 & rs2 == 5'b00010) name = "FCVT.S.H"; - else if (funct7 == 7'b0100000 & rs2 == 5'b00011) name = "FCVT.S.Q"; - else if (funct7 == 7'b0100001 & rs2 == 5'b00000) name = "FCVT.D.S"; - else if (funct7 == 7'b0100001 & rs2 == 5'b00010) name = "FCVT.D.H"; - else if (funct7 == 7'b0100001 & rs2 == 5'b00011) name = "FCVT.D.Q"; - else if (funct7 == 7'b0100010 & rs2 == 5'b00000) name = "FCVT.H.S"; - else if (funct7 == 7'b0100010 & rs2 == 5'b00001) name = "FCVT.H.D"; - else if (funct7 == 7'b0100010 & rs2 == 5'b00011) name = "FCVT.H.Q"; - else if (funct7 == 7'b0100011 & rs2 == 5'b00000) name = "FCVT.Q.S"; - else if (funct7 == 7'b0100011 & rs2 == 5'b00001) name = "FCVT.Q.D"; - else if (funct7 == 7'b0100011 & rs2 == 5'b00010) name = "FCVT.Q.H"; - else if (funct7 == 7'b1110000 & rs2 == 5'b00000 & funct3 == 3'b000) name = "FMV.X.W"; - else if (funct7 == 7'b1111000 & rs2 == 5'b00000 & funct3 == 3'b000) name = "FMV.W.X"; - else if (funct7 == 7'b1110001 & rs2 == 5'b00000 & funct3 == 3'b000) name = "FMV.X.D"; - else if (funct7 == 7'b1111001 & rs2 == 5'b00000 & funct3 == 3'b000) name = "FMV.D.X"; - else if (funct7 == 7'b1110010 & rs2 == 5'b00000 & funct3 == 3'b000) name = "FMV.X.H"; - else if (funct7 == 7'b1111010 & rs2 == 5'b00000 & funct3 == 3'b000) name = "FMV.H.X"; - else if (funct7[6:2] == 5'b00100 & funct3 == 3'b000) name = "FSGNJ"; - else if (funct7[6:2] == 5'b00101 & funct3 == 3'b000) name = "FMIN"; - else if (funct7[6:2] == 5'b10100 & funct3 == 3'b000) name = "FLE"; - else if (funct7[6:2] == 5'b00100 & funct3 == 3'b001) name = "FSGNJN"; - else if (funct7[6:2] == 5'b00101 & funct3 == 3'b001) name = "FMAX"; - else if (funct7[6:2] == 5'b10100 & funct3 == 3'b001) name = "FLT"; - else if (funct7[6:2] == 5'b11100 & funct3 == 3'b001) name = "FCLASS"; - else if (funct7[6:2] == 5'b00100 & funct3 == 3'b010) name = "FSGNJX"; - else if (funct7[6:2] == 5'b10100 & funct3 == 3'b010) name = "FEQ"; - else if (funct7[6:2] == 5'b11110 & funct3 == 3'b000 & rs2 == 5'b00001) name = "FLI"; - else if (funct7[6:2] == 5'b00101 & funct3 == 3'b010) name = "FMINM"; - else if (funct7[6:2] == 5'b00101 & funct3 == 3'b011) name = "FMAXM"; - else if (funct7[6:2] == 5'b01000 & rs2 == 5'b00100) name = "FROUND"; - else if (funct7[6:2] == 5'b01000 & rs2 == 5'b00101) name = "FROUNDNX"; - else if (funct7[6:2] == 5'b10100 & funct3 == 3'b100) name = "FLEQ"; - else if (funct7[6:2] == 5'b10100 & funct3 == 3'b101) name = "FLTQ"; - else if (funct7 == 7'b1110001 & funct3 == 3'b000 & rs2 == 5'b00001) name = "FMVH.X.D"; - else if (funct7 == 7'b1110011 & funct3 == 3'b000 & rs2 == 5'b00001) name = "FMVH.X.Q"; - else if (funct7 == 7'b1011001 & funct3 == 3'b000) name = "FMVP.D.X"; - else if (funct7 == 7'b1011011 & funct3 == 3'b000) name = "FMVP.Q.X"; - else if (funct7 == 7'b1100001 & funct3 == 3'b001 & rs2 == 5'b01000) name = "FCVTMOD.W.D"; - else name = "ILLEGAL"; - 10'b0000111_001: name = "FLH"; - 10'b0000111_010: name = "FLW"; - 10'b0000111_011: name = "FLD"; - 10'b0000111_100: name = "FLQ"; - 10'b0100111_001: name = "FSH"; - 10'b0100111_010: name = "FSW"; - 10'b0100111_011: name = "FSD"; - 10'b0100111_100: name = "FSQ"; - default: name = "ILLEGAL"; + always_comb + case (compressedOp) + 2'b00: + casez (compressed15_10) + 6'b000???: if (instr[12:5] != 8'b0) name = "C.ADDI4SPN"; + else if(compressed15_10 == 6'b000000 & op == 7'b0000000 & funct3 == 3'b000) name = "BAD"; + 6'b010???: name = "C.LW"; + 6'b110???: name = "C.SW"; + 6'b011???: if (XLEN == 32'd32) name = "C.FLW"; + else name = "C.LD"; + 6'b111???: if (XLEN == 32'd32) name = "C.FSW"; + else name = "C.SD"; + 6'b100000: name = "C.LBU"; + 6'b100001: if (funct1 == 1'b1) name = "C.LH"; + else if (funct1 == 1'b0) name = "C.LHU"; + 6'b100010: name = "C.SB"; + 6'b100011: if (funct1 == 1'b0) name = "C.SH"; + 6'b001???: name = "C.FLD"; + 6'b101???: name = "C.FSD"; + default: name = "ILLEGAL"; + endcase + 2'b01: + casez (compressed15_10) + 6'b000???: if (instr[12:10] == 3'b0 & rd == 5'b00000 & instr[6:2] == 5'b00000) name = "C.NOP"; + else if (rd != 5'b00000 & instr[6:2] != 5'b00000) name = "C.ADDI"; + 6'b010???: if (rd != 5'b00000) name = "C.LI"; + 6'b011???: if (rd != 5'b00000 & rd != 5'b00010 & instr[6:2] != 5'b00000) name = "C.LUI"; + else if (rd == 5'b00010 & instr[6:2] != 5'b00000) name = "C.ADDI16SP"; + 6'b100?00: name = "C.SRLI"; + 6'b100?01: name = "C.SRAI"; + 6'b100?10: name = "C.ANDI"; + 6'b100011: if (funct2 == 2'b00) name = "C.SUB"; + else if (funct2 == 2'b01) name = "C.XOR"; + else if (funct2 == 2'b10) name = "C.OR"; + else if (funct2 == 2'b11) name = "C.AND"; + 6'b101???: name = "C.J"; + 6'b110???: name = "C.BEQZ"; + 6'b111???: name = "C.BNEZ"; + 6'b001???: if (XLEN == 32'd32) name = "C.JAL"; + else if (XLEN == 32'd64 & rd != 5'b00000) name = "C.ADDIW"; + 6'b100111: if (XLEN == 32'd64 & funct2 == 2'b00) name = "C.SUBW"; + else if (XLEN == 32'd64 & funct2 == 2'b01) name = "C.ADDW"; + else if (funct5 == 5'b11000) name = "C.ZEXT.B"; + else if (funct5 == 5'b11001) name = "C.SEXT.B"; + else if (funct5 == 5'b11010) name = "C.ZEXT.H"; + else if (funct5 == 5'b11011) name = "C.SEXT.H"; + else if (funct5 == 5'b11101) name = "C.NOT"; + else if (funct2 == 2'b10) name = "C.MUL"; + else if (funct5 == 5'b11100) name = "C.ZEXT.W"; + default: name = "ILLEGAL"; + endcase + 2'b10: + casez (compressed15_10) + 6'b000???: if (rd != 5'b00000) name = "C.SLLI"; + 6'b010???: if (rd != 5'b00000) name = "C.LWSP"; + 6'b1000??: if (rd != 5'b00000 & CRrs2 == 5'b00000 ) name = "C.JR"; + else if (rd != 5'b00000 & CRrs2 != 5'b00000 ) name = "C.MV"; + 6'b1001??: if (rd == 5'b00000 & CRrs2 == 5'b00000 ) name = "C.EBREAK"; + else if (rd != 5'b00000 & CRrs2 == 5'b00000 ) name = "C.JALR"; + else if (rd != 5'b00000 & CRrs2 != 5'b00000 ) name = "C.ADD"; + 6'b110???: name = "C.SWSP"; + 6'b011???: if (XLEN == 32'd32) name = "C.FLWSP"; + else if (rd != 5'b00000) name = "C.LDSP"; + 6'b111???: if (XLEN == 32'd32) name = "C.FSWSP"; + else name = "C.SDSP"; + 6'b001???: name = "C.FLDSP"; + 6'b101???: name = "C.FSDSP"; + default: name = "ILLEGAL"; + endcase + 2'b11: + casez({op, funct3}) + 10'b0000011_000: name = "LB"; + 10'b0000011_001: name = "LH"; + 10'b0000011_010: name = "LW"; + 10'b0000011_011: name = "LD"; + 10'b0000011_100: name = "LBU"; + 10'b0000011_101: name = "LHU"; + 10'b0000011_110: name = "LWU"; + 10'b0010011_000: if (instr[31:15] == 0 & instr[11:7] ==0) name = "NOP/FLUSH"; + else name = "ADDI"; + 10'b0010011_001: if (funct7[6:1] == 6'b000000) name = "SLLI"; + else if (funct7[6:1] == 6'b010010) name = "BCLRI"; + else if (funct7[6:1] == 6'b011010) name = "BINVI"; + else if (funct7[6:1] == 6'b001010) name = "BSETI"; + else if (funct7 == 7'b0000100 & rs2 == 5'b01111) name = "ZIP"; + else if (funct7 == 7'b0011000 & rs2 == 5'b00000) name = "AES64IM"; + else if (funct7 == 7'b0011000 & rs2[4] == 1'b1) name = "AES64KS1I"; + else if (funct7 == 7'b0001000 & rs2 == 5'b00010) name = "SHA256SIG0"; + else if (funct7 == 7'b0001000 & rs2 == 5'b00011) name = "SHA256SIG1"; + else if (funct7 == 7'b0001000 & rs2 == 5'b00000) name = "SHA256SUM0"; + else if (funct7 == 7'b0001000 & rs2 == 5'b00001) name = "SHA256SUM1"; + else if (funct7 == 7'b0001000 & rs2 == 5'b00110) name = "SHA512SIG0"; + else if (funct7 == 7'b0001000 & rs2 == 5'b00111) name = "SHA512SIG1"; + else if (funct7 == 7'b0001000 & rs2 == 5'b00100) name = "SHA512SUM0"; + else if (funct7 == 7'b0001000 & rs2 == 5'b00101) name = "SHA512SUM1"; + else if (funct7 == 7'b0110000) begin + case (rs2) + 5'b00000: name = "CLZ"; + 5'b00010: name = "CPOP"; + 5'b00001: name = "CTZ"; + 5'b00100: name = "SEXT.B"; + 5'b00101: name = "SEXT.H"; + default: name = "ILLEGAL"; + endcase + end else name = "ILLEGAL"; + 10'b0010011_010: name = "SLTI"; + 10'b0010011_011: name = "SLTIU"; + 10'b0010011_100: name = "XORI"; + 10'b0010011_101: if (funct7[6:1] == 6'b000000) name = "SRLI"; + else if (funct7[6:1] == 6'b010000) name = "SRAI"; + else if (funct7[6:1] == 6'b011010 & rs2 == 5'b11000) name = "REV8"; + else if (funct7[6:1] == 6'b011000) name = "RORI"; + else if (funct7[6:1] == 6'b010010) name = "BEXTI"; + else if (funct7 == 7'b0010100 & rs2 == 5'b00111) name = "ORC.B"; + else if (imm == 12'b011010000111) name = "BREV8"; + else if (funct7 == 7'b0000100 & rs2 == 5'b01111) name = "UNZIP"; + else name = "ILLEGAL"; + 10'b0010011_110: if (rd == 0 & rs2 == 0) name = "PREFETCH.I"; + else if (rd == 0 & rs2 == 1) name = "PREFETCH.R"; + else if (rd == 0 & rs2 == 3) name = "PREFETCH.W"; + else name = "ORI"; + 10'b0010011_111: name = "ANDI"; + 10'b0010111_???: name = "AUIPC"; + 10'b0100011_000: name = "SB"; + 10'b0100011_001: name = "SH"; + 10'b0100011_010: name = "SW"; + 10'b0100011_011: name = "SD"; + 10'b0011011_000: name = "ADDIW"; + 10'b0011011_001: if (funct7 == 7'b0000000 )name = "SLLIW"; + else if (funct7[6:1] == 6'b000010) name = "SLLI.UW"; + else if (funct7 == 7'b0110000) begin + case (rs2) + 5'b00000: name = "CLZW"; + 5'b00010: name = "CPOPW"; + 5'b00001: name = "CTZW"; + default: name = "ILLEGAL"; + endcase + end else name = "ILLEGAL"; + 10'b0011011_101: if (funct7 == 7'b0000000) name = "SRLIW"; + else if (funct7 == 7'b0100000) name = "SRAIW"; + else if (funct7 == 7'b0110000) name = "RORIW"; + else name = "ILLEGAL"; + 10'b0111011_000: if (funct7 == 7'b0000000) name = "ADDW"; + else if (funct7 == 7'b0100000) name = "SUBW"; + else if (funct7 == 7'b0000001) name = "MULW"; + else if (funct7 == 7'b0000100) name = "ADD.UW"; + else name = "ILLEGAL"; + 10'b0111011_001: if (funct7 == 7'b0000000) name = "SLLW"; + else if (funct7 == 7'b0000001) name = "DIVW"; + else if (funct7 == 7'b0110000) name = "ROLW"; + else name = "ILLEGAL"; + 10'b0111011_010: if (funct7 == 7'b0010000) name = "SH1ADD.UW"; + else name = "ILLEGAL"; + 10'b0111011_100: if (funct7 == 7'b0010000) name = "SH2ADD.UW"; + else if (funct7 == 7'b0000100) name = "ZEXT.H"; + else name = "ILLEGAL"; + 10'b0111011_101: if (funct7 == 7'b0000000) name = "SRLW"; + else if (funct7 == 7'b0100000) name = "SRAW"; + else if (funct7 == 7'b0000001) name = "DIVUW"; + else if (funct7 == 7'b0110000) name = "RORW"; + else name = "ILLEGAL"; + 10'b0111011_110: if (funct7 == 7'b0000001) name = "REMW"; + else if (funct7 == 7'b0010000) name = "SH3ADD.UW"; + else name = "ILLEGAL"; + 10'b0111011_111: if (funct7 == 7'b0000001) name = "REMUW"; + else name = "ILLEGAL"; + 10'b0110011_000: if (funct7 == 7'b0000000) name = "ADD"; + else if (funct7 == 7'b0000001) name = "MUL"; + else if (funct7 == 7'b0100000) name = "SUB"; + else if (funct7[4:0] == 5'b10101) name = "AES32DSI"; + else if (funct7[4:0] == 5'b10111) name = "AES32DSMI"; + else if (funct7 == 7'b0011101) name = "AES64DS"; + else if (funct7 == 7'b0011111) name = "AES64DSM"; + else if (funct7[4:0] == 5'b10001) name = "AES32ESI"; + else if (funct7[4:0] == 5'b10011) name = "AES32ESMI"; + else if (funct7 == 7'b0011001) name = "AES64ES"; + else if (funct7 == 7'b0011011) name = "AES64ESM"; + else if (funct7 == 7'b0111111) name = "AES64KS2"; + else if (funct7 == 7'b0101110) name = "SHA512SIG0H"; + else if (funct7 == 7'b0101010) name = "SHA512SIG0L"; + else if (funct7 == 7'b0101111) name = "SHA512SIG1H"; + else if (funct7 == 7'b0101011) name = "SHA512SIG1L"; + else if (funct7 == 7'b0101000) name = "SHA512SUM0R"; + else if (funct7 == 7'b0101001) name = "SHA512SUM1R"; + else name = "ILLEGAL"; + 10'b0110011_001: if (funct7 == 7'b0000000) name = "SLL"; + else if (funct7 == 7'b0000001) name = "MULH"; + else if (funct7 == 7'b0110000) name = "ROL"; + else if (funct7 == 7'b0000101) name = "CLMUL"; + else if (funct7 == 7'b0100100) name = "BCLR"; + else if (funct7 == 7'b0110100) name = "BINV"; + else if (funct7 == 7'b0010100) name = "BSET"; + else name = "ILLEGAL"; + 10'b0110011_010: if (funct7 == 7'b0000000) name = "SLT"; + else if (funct7 == 7'b0000001) name = "MULHSU"; + else if (funct7 == 7'b0010000) name = "SH1ADD"; + else if (funct7 == 7'b0000101) name = "CLMULR"; + else name = "ILLEGAL"; + 10'b0110011_011: if (funct7 == 7'b0000000) name = "SLTU"; + else if (funct7 == 7'b0000001) name = "MULHU"; + else if (funct7 == 7'b0000101) name = "CLMULH"; + else name = "ILLEGAL"; + 10'b0110011_100: if (funct7 == 7'b0000000) name = "XOR"; + else if (funct7 == 7'b0000001) name = "DIV"; + else if (funct7 == 7'b0010000) name = "SH2ADD"; + else if (funct7 == 7'b0000101) name = "MIN"; + else if (funct7 == 7'b0100000) name = "ORN"; + else if (funct7 == 7'b0000100 & rs2 == 5'b00000) name = "ZEXT.H"; + else if (funct7 == 7'b0000100 & op == 7'b0110011) name = "PACK"; + else if (funct7 == 7'b0000100 & op == 7'b0111011) name = "PACKW"; + else name = "ILLEGAL"; + 10'b0110011_101: if (funct7 == 7'b0000000) name = "SRL"; + else if (funct7 == 7'b0000001) name = "DIVU"; + else if (funct7 == 7'b0100000) name = "SRA"; + else if (funct7 == 7'b0000101) name = "MINU"; + else if (funct7 == 7'b0110000) name = "ROR"; + else if (funct7 == 7'b0100100) name = "BEXT"; + else if (funct7 == 7'b0000111) name = "CZERO.EQZ"; + else name = "ILLEGAL"; + 10'b0110011_110: if (funct7 == 7'b0000000) name = "OR"; + else if (funct7 == 7'b0000001) name = "REM"; + else if (funct7 == 7'b0010000) name = "SH3ADD"; + else if (funct7 == 7'b0000101) name = "MAX"; + else if (funct7 == 7'b0100000) name = "XNOR"; + else name = "ILLEGAL"; + 10'b0110011_111: if (funct7 == 7'b0000000) name = "AND"; + else if (funct7 == 7'b0000001) name = "REMU"; + else if (funct7 == 7'b0000101) name = "MAXU"; + else if (funct7 == 7'b0100000) name = "ANDN"; + else if (funct7 == 7'b0000111) name = "CZERO.NEZ"; + else name = "ILLEGAL"; + 10'b0110111_???: name = "LUI"; + 10'b1100011_000: name = "BEQ"; + 10'b1100011_001: name = "BNE"; + 10'b1100011_100: name = "BLT"; + 10'b1100011_101: name = "BGE"; + 10'b1100011_110: name = "BLTU"; + 10'b1100011_111: name = "BGEU"; + 10'b1100111_000: name = "JALR"; + 10'b1101111_???: name = "JAL"; + 10'b1110011_000: if (imm == 0) name = "ECALL"; + else if (imm == 1) name = "EBREAK"; + else if (imm == 258) name = "SRET"; + else if (imm == 770) name = "MRET"; + else if (funct7 == 9) name = "SFENCE.VMA"; + else if (funct7 == 11) name = "SINVAL.VMA"; + else if (funct7 == 12 & rs2 == 0) name = "SFENCE.W.INVAL"; + else if (funct7 == 12 & rs2 == 1) name = "SFENCE.INVAL.IR"; + else if (imm == 259) name = "WFI"; + else if (imm == 261) name = "WFI"; + else name = "ILLEGAL"; + 10'b1110011_001: name = "CSRRW"; + 10'b1110011_010: name = "CSRRS"; + 10'b1110011_011: name = "CSRRC"; + 10'b1110011_101: name = "CSRRWI"; + 10'b1110011_110: name = "CSRRSI"; + 10'b1110011_111: name = "CSRRCI"; + 10'b0101111_010: if (funct7[6:2] == 5'b00010) name = "LR.W"; + else if (funct7[6:2] == 5'b00011) name = "SC.W"; + else if (funct7[6:2] == 5'b00001) name = "AMOSWAP.W"; + else if (funct7[6:2] == 5'b00000) name = "AMOADD.W"; + else if (funct7[6:2] == 5'b00100) name = "AMOAXOR.W"; + else if (funct7[6:2] == 5'b01100) name = "AMOAND.W"; + else if (funct7[6:2] == 5'b01000) name = "AMOOR.W"; + else if (funct7[6:2] == 5'b10000) name = "AMOMIN.W"; + else if (funct7[6:2] == 5'b10100) name = "AMOMAX.W"; + else if (funct7[6:2] == 5'b11000) name = "AMOMINU.W"; + else if (funct7[6:2] == 5'b11100) name = "AMOMAXU.W"; + else name = "ILLEGAL"; + 10'b0101111_011: if (funct7[6:2] == 5'b00010) name = "LR.D"; + else if (funct7[6:2] == 5'b00011) name = "SC.D"; + else if (funct7[6:2] == 5'b00001) name = "AMOSWAP.D"; + else if (funct7[6:2] == 5'b00000) name = "AMOADD.D"; + else if (funct7[6:2] == 5'b00100) name = "AMOAXOR.D"; + else if (funct7[6:2] == 5'b01100) name = "AMOAND.D"; + else if (funct7[6:2] == 5'b01000) name = "AMOOR.D"; + else if (funct7[6:2] == 5'b10000) name = "AMOMIN.D"; + else if (funct7[6:2] == 5'b10100) name = "AMOMAX.D"; + else if (funct7[6:2] == 5'b11000) name = "AMOMINU.D"; + else if (funct7[6:2] == 5'b11100) name = "AMOMAXU.D"; + else name = "ILLEGAL"; + 10'b0001111_000: name = "FENCE"; + 10'b0001111_001: name = "FENCE.I"; + 10'b0001111_010: if (instr[31:20] == 12'd0) name = "CBO.INVAL"; + else if (instr[31:20] == 12'd1) name = "CBO.CLEAN"; + else if (instr[31:20] == 12'd2) name = "CBO.FLUSH"; + else if (instr[31:20] == 12'd4) name = "CBO.ZERO"; + else name = "ILLEGAL"; + 10'b1000011_???: name = "FMADD"; + 10'b1000111_???: name = "FMSUB"; + 10'b1001011_???: name = "FNMSUB"; + 10'b1001111_???: name = "FNMADD"; + 10'b1010011_???: if (funct7[6:2] == 5'b00000) name = "FADD"; + else if (funct7[6:2] == 5'b00001) name = "FSUB"; + else if (funct7[6:2] == 5'b00010) name = "FMUL"; + else if (funct7[6:2] == 5'b00011) name = "FDIV"; + else if (funct7[6:2] == 5'b01011) name = "FSQRT"; + else if (funct7 == 7'b1100000 & rs2 == 5'b00000) name = "FCVT.W.S"; + else if (funct7 == 7'b1100000 & rs2 == 5'b00001) name = "FCVT.WU.S"; + else if (funct7 == 7'b1100000 & rs2 == 5'b00010) name = "FCVT.L.S"; + else if (funct7 == 7'b1100000 & rs2 == 5'b00011) name = "FCVT.LU.S"; + else if (funct7 == 7'b1101000 & rs2 == 5'b00000) name = "FCVT.S.W"; + else if (funct7 == 7'b1101000 & rs2 == 5'b00001) name = "FCVT.S.WU"; + else if (funct7 == 7'b1101000 & rs2 == 5'b00010) name = "FCVT.S.L"; + else if (funct7 == 7'b1101000 & rs2 == 5'b00011) name = "FCVT.S.LU"; + else if (funct7 == 7'b1100001 & rs2 == 5'b00000) name = "FCVT.W.D"; + else if (funct7 == 7'b1100001 & rs2 == 5'b00001) name = "FCVT.WU.D"; + else if (funct7 == 7'b1100001 & rs2 == 5'b00010) name = "FCVT.L.D"; + else if (funct7 == 7'b1100001 & rs2 == 5'b00011) name = "FCVT.LU.D"; + else if (funct7 == 7'b1101001 & rs2 == 5'b00000) name = "FCVT.D.W"; + else if (funct7 == 7'b1101001 & rs2 == 5'b00001) name = "FCVT.D.WU"; + else if (funct7 == 7'b1101001 & rs2 == 5'b00010) name = "FCVT.D.L"; + else if (funct7 == 7'b1101001 & rs2 == 5'b00011) name = "FCVT.D.LU"; + else if (funct7 == 7'b0100000 & rs2 == 5'b00001) name = "FCVT.S.D"; + else if (funct7 == 7'b0100001 & rs2 == 5'b00000) name = "FCVT.D.S"; + else if (funct7 == 7'b1100010 & rs2 == 5'b00000) name = "FCVT.W.H"; + else if (funct7 == 7'b1100010 & rs2 == 5'b00001) name = "FCVT.WU.H"; + else if (funct7 == 7'b1100010 & rs2 == 5'b00010) name = "FCVT.L.H"; + else if (funct7 == 7'b1100010 & rs2 == 5'b00011) name = "FCVT.LU.H"; + else if (funct7 == 7'b1101010 & rs2 == 5'b00000) name = "FCVT.H.W"; + else if (funct7 == 7'b1101010 & rs2 == 5'b00001) name = "FCVT.H.WU"; + else if (funct7 == 7'b1101010 & rs2 == 5'b00010) name = "FCVT.H.L"; + else if (funct7 == 7'b1101010 & rs2 == 5'b00011) name = "FCVT.H.LU"; + else if (funct7 == 7'b1100011 & rs2 == 5'b00000) name = "FCVT.W.Q"; + else if (funct7 == 7'b1100011 & rs2 == 5'b00001) name = "FCVT.WU.Q"; + else if (funct7 == 7'b1100011 & rs2 == 5'b00010) name = "FCVT.L.Q"; + else if (funct7 == 7'b1100011 & rs2 == 5'b00011) name = "FCVT.LU.Q"; + else if (funct7 == 7'b1101011 & rs2 == 5'b00000) name = "FCVT.Q.W"; + else if (funct7 == 7'b1101011 & rs2 == 5'b00001) name = "FCVT.Q.WU"; + else if (funct7 == 7'b1101011 & rs2 == 5'b00010) name = "FCVT.Q.L"; + else if (funct7 == 7'b1101011 & rs2 == 5'b00011) name = "FCVT.Q.LU"; + else if (funct7 == 7'b0100000 & rs2 == 5'b00001) name = "FCVT.S.D"; + else if (funct7 == 7'b0100000 & rs2 == 5'b00010) name = "FCVT.S.H"; + else if (funct7 == 7'b0100000 & rs2 == 5'b00011) name = "FCVT.S.Q"; + else if (funct7 == 7'b0100001 & rs2 == 5'b00000) name = "FCVT.D.S"; + else if (funct7 == 7'b0100001 & rs2 == 5'b00010) name = "FCVT.D.H"; + else if (funct7 == 7'b0100001 & rs2 == 5'b00011) name = "FCVT.D.Q"; + else if (funct7 == 7'b0100010 & rs2 == 5'b00000) name = "FCVT.H.S"; + else if (funct7 == 7'b0100010 & rs2 == 5'b00001) name = "FCVT.H.D"; + else if (funct7 == 7'b0100010 & rs2 == 5'b00011) name = "FCVT.H.Q"; + else if (funct7 == 7'b0100011 & rs2 == 5'b00000) name = "FCVT.Q.S"; + else if (funct7 == 7'b0100011 & rs2 == 5'b00001) name = "FCVT.Q.D"; + else if (funct7 == 7'b0100011 & rs2 == 5'b00010) name = "FCVT.Q.H"; + else if (funct7 == 7'b1110000 & rs2 == 5'b00000 & funct3 == 3'b000) name = "FMV.X.W"; + else if (funct7 == 7'b1111000 & rs2 == 5'b00000 & funct3 == 3'b000) name = "FMV.W.X"; + else if (funct7 == 7'b1110001 & rs2 == 5'b00000 & funct3 == 3'b000) name = "FMV.X.D"; + else if (funct7 == 7'b1111001 & rs2 == 5'b00000 & funct3 == 3'b000) name = "FMV.D.X"; + else if (funct7 == 7'b1110010 & rs2 == 5'b00000 & funct3 == 3'b000) name = "FMV.X.H"; + else if (funct7 == 7'b1111010 & rs2 == 5'b00000 & funct3 == 3'b000) name = "FMV.H.X"; + else if (funct7[6:2] == 5'b00100 & funct3 == 3'b000) name = "FSGNJ"; + else if (funct7[6:2] == 5'b00101 & funct3 == 3'b000) name = "FMIN"; + else if (funct7[6:2] == 5'b10100 & funct3 == 3'b000) name = "FLE"; + else if (funct7[6:2] == 5'b00100 & funct3 == 3'b001) name = "FSGNJN"; + else if (funct7[6:2] == 5'b00101 & funct3 == 3'b001) name = "FMAX"; + else if (funct7[6:2] == 5'b10100 & funct3 == 3'b001) name = "FLT"; + else if (funct7[6:2] == 5'b11100 & funct3 == 3'b001) name = "FCLASS"; + else if (funct7[6:2] == 5'b00100 & funct3 == 3'b010) name = "FSGNJX"; + else if (funct7[6:2] == 5'b10100 & funct3 == 3'b010) name = "FEQ"; + else if (funct7[6:2] == 5'b11110 & funct3 == 3'b000 & rs2 == 5'b00001) name = "FLI"; + else if (funct7[6:2] == 5'b00101 & funct3 == 3'b010) name = "FMINM"; + else if (funct7[6:2] == 5'b00101 & funct3 == 3'b011) name = "FMAXM"; + else if (funct7[6:2] == 5'b01000 & rs2 == 5'b00100) name = "FROUND"; + else if (funct7[6:2] == 5'b01000 & rs2 == 5'b00101) name = "FROUNDNX"; + else if (funct7[6:2] == 5'b10100 & funct3 == 3'b100) name = "FLEQ"; + else if (funct7[6:2] == 5'b10100 & funct3 == 3'b101) name = "FLTQ"; + else if (funct7 == 7'b1110001 & funct3 == 3'b000 & rs2 == 5'b00001) name = "FMVH.X.D"; + else if (funct7 == 7'b1110011 & funct3 == 3'b000 & rs2 == 5'b00001) name = "FMVH.X.Q"; + else if (funct7 == 7'b1011001 & funct3 == 3'b000) name = "FMVP.D.X"; + else if (funct7 == 7'b1011011 & funct3 == 3'b000) name = "FMVP.Q.X"; + else if (funct7 == 7'b1100001 & funct3 == 3'b001 & rs2 == 5'b01000) name = "FCVTMOD.W.D"; + else name = "ILLEGAL"; + 10'b0000111_001: name = "FLH"; + 10'b0000111_010: name = "FLW"; + 10'b0000111_011: name = "FLD"; + 10'b0000111_100: name = "FLQ"; + 10'b0100111_001: name = "FSH"; + 10'b0100111_010: name = "FSW"; + 10'b0100111_011: name = "FSD"; + 10'b0100111_100: name = "FSQ"; + default: name = "ILLEGAL"; + endcase endcase endmodule diff --git a/testbench/common/instrTrackerTB.sv b/testbench/common/instrTrackerTB.sv index f4ec8523d..dfd2dc4a0 100644 --- a/testbench/common/instrTrackerTB.sv +++ b/testbench/common/instrTrackerTB.sv @@ -19,7 +19,7 @@ // and limitations under the License. //////////////////////////////////////////////////////////////////////////////////////////////// -module instrTrackerTB( +module instrTrackerTB #(parameter XLEN) ( input logic clk, reset, FlushE, input logic [31:0] InstrF, InstrD, input logic [31:0] InstrE, InstrM, @@ -30,9 +30,9 @@ module instrTrackerTB( // stage Instr to Writeback for visualization // flopr #(32) InstrWReg(clk, reset, InstrM, InstrW); - instrNameDecTB fdec(InstrF, InstrFName); - instrNameDecTB ddec(InstrD, InstrDName); - instrNameDecTB edec(InstrE, InstrEName); - instrNameDecTB mdec(InstrM, InstrMName); - instrNameDecTB wdec(InstrW, InstrWName); + instrNameDecTB #(XLEN) fdec(InstrF, InstrFName); + instrNameDecTB #(XLEN) ddec(InstrD, InstrDName); + instrNameDecTB #(XLEN) edec(InstrE, InstrEName); + instrNameDecTB #(XLEN) mdec(InstrM, InstrMName); + instrNameDecTB #(XLEN) wdec(InstrW, InstrWName); endmodule diff --git a/testbench/common/ramxdetector.sv b/testbench/common/ramxdetector.sv index c600cff8c..fac34fb43 100644 --- a/testbench/common/ramxdetector.sv +++ b/testbench/common/ramxdetector.sv @@ -39,7 +39,7 @@ module ramxdetector #(parameter XLEN, LLEN) ( /* verilator lint_off WIDTHXZEXPAND */ if (MemReadM & ~LSULoadAccessFaultM & (ReadDataM === 'bx)) begin /* verilator lint_on WIDTHXZEXPAND */ - $display("WARNING: Attempting to read from unitialized RAM. Processor may go haywire if it uses x value. But this is normal in WALLY-mmu tests."); + $display("WARNING: Attempting to read from unitialized RAM. Processor may go haywire if it uses x value. But this is normal in WALLY-mmu and ExceptionInstr tests."); $display(" PCM = %x InstrM = %x (%s), IEUAdrM = %x", PCM, InstrM, InstrMName, IEUAdrM); //$stop; end diff --git a/testbench/common/wallyTracer.sv b/testbench/common/wallyTracer.sv index a32417737..093b72de2 100644 --- a/testbench/common/wallyTracer.sv +++ b/testbench/common/wallyTracer.sv @@ -23,7 +23,7 @@ `define NUM_REGS 32 `define NUM_CSRS 4096 -`define STD_LOG 1 +`define STD_LOG 0 `define PRINT_PC_INSTR 0 `define PRINT_MOST 0 `define PRINT_ALL 0 @@ -44,6 +44,8 @@ module wallyTracer import cvw::*; #(parameter cvw_t P) (rvviTrace rvvi); logic [31:0] InstrRawD, InstrRawE, InstrRawM, InstrRawW; logic InstrValidM, InstrValidW; logic StallE, StallM, StallW; + logic GatedStallW; + logic SelHPTW; logic FlushD, FlushE, FlushM, FlushW; logic TrapM, TrapW; logic HaltM, HaltW; @@ -65,10 +67,11 @@ module wallyTracer import cvw::*; #(parameter cvw_t P) (rvviTrace rvvi); logic InterruptM, InterruptW; //For VM Verification - logic [(P.XLEN-1):0] VAdrIM,VAdrDM,VAdrIW,VAdrDW; - logic [(P.XLEN-1):0] PTE_iM,PTE_dM,PTE_iW,PTE_dW; - logic [(P.PA_BITS-1):0] PAIM,PADM,PAIW,PADW; - logic [(P.PPN_BITS-1):0] PPN_iM,PPN_dM,PPN_iW,PPN_dW; + logic [(P.XLEN-1):0] IVAdrF,IVAdrD,IVAdrE,IVAdrM,IVAdrW,DVAdrM,DVAdrW; + logic [(P.XLEN-1):0] IPTEF,IPTED,IPTEE,IPTEM,IPTEW,DPTEM,DPTEW; + logic [(P.PA_BITS-1):0] IPAF,IPAD,IPAE,IPAM,IPAW,DPAM,DPAW; + logic [(P.PPN_BITS-1):0] IPPNF,IPPND,IPPNE,IPPNM,IPPNW,DPPNM,DPPNW; + logic [1:0] IPageTypeF, IPageTypeD, IPageTypeE, IPageTypeM, IPageTypeW, DPageTypeM, DPageTypeW; logic ReadAccessM,WriteAccessM,ReadAccessW,WriteAccessW; logic ExecuteAccessF,ExecuteAccessD,ExecuteAccessE,ExecuteAccessM,ExecuteAccessW; @@ -89,208 +92,224 @@ module wallyTracer import cvw::*; #(parameter cvw_t P) (rvviTrace rvvi); assign StallE = testbench.dut.core.StallE; assign StallM = testbench.dut.core.StallM; assign StallW = testbench.dut.core.StallW; + assign GatedStallW = testbench.dut.core.lsu.GatedStallW; + assign SelHPTW = testbench.dut.core.lsu.hptw.hptw.SelHPTW; assign FlushD = testbench.dut.core.FlushD; assign FlushE = testbench.dut.core.FlushE; assign FlushM = testbench.dut.core.FlushM; assign FlushW = testbench.dut.core.FlushW; assign TrapM = testbench.dut.core.TrapM; assign HaltM = testbench.DCacheFlushStart; - assign PrivilegeModeW = testbench.dut.core.priv.priv.privmode.PrivilegeModeW; - assign STATUS_SXL = testbench.dut.core.priv.priv.csr.csrsr.STATUS_SXL; - assign STATUS_UXL = testbench.dut.core.priv.priv.csr.csrsr.STATUS_UXL; - assign wfiM = testbench.dut.core.priv.priv.wfiM; - assign InterruptM = testbench.dut.core.priv.priv.InterruptM; + if (P.ZICSR_SUPPORTED) begin + assign PrivilegeModeW = testbench.dut.core.priv.priv.privmode.PrivilegeModeW; + assign STATUS_SXL = testbench.dut.core.priv.priv.csr.csrsr.STATUS_SXL; + assign STATUS_UXL = testbench.dut.core.priv.priv.csr.csrsr.STATUS_UXL; + assign wfiM = testbench.dut.core.priv.priv.wfiM; + assign InterruptM = testbench.dut.core.priv.priv.InterruptM; + end else begin + assign PrivilegeModeW = 2'b11; + assign STATUS_SXL = 0; + assign STATUS_UXL = 0; + assign wfiM = 0; + assign InterruptM = 0; + end //For VM Verification - assign VAdrIM = testbench.dut.core.ifu.immu.immu.tlb.tlb.VAdr; - assign VAdrDM = testbench.dut.core.lsu.dmmu.dmmu.tlb.tlb.VAdr; - assign PAIM = testbench.dut.core.ifu.immu.immu.PhysicalAddress; - assign PADM = testbench.dut.core.lsu.dmmu.dmmu.PhysicalAddress; + assign IVAdrF = testbench.dut.core.ifu.immu.immu.tlb.tlb.VAdr; + assign DVAdrM = testbench.dut.core.lsu.dmmu.dmmu.tlb.tlb.VAdr; + assign IPAF = testbench.dut.core.ifu.immu.immu.PhysicalAddress; + assign DPAM = testbench.dut.core.lsu.dmmu.dmmu.PhysicalAddress; assign ReadAccessM = testbench.dut.core.lsu.dmmu.dmmu.ReadAccessM; assign WriteAccessM = testbench.dut.core.lsu.dmmu.dmmu.WriteAccessM; assign ExecuteAccessF = testbench.dut.core.ifu.immu.immu.ExecuteAccessF; - assign PTE_iM = testbench.dut.core.ifu.immu.immu.PTE; - assign PTE_dM = testbench.dut.core.lsu.dmmu.dmmu.PTE; - assign PPN_iM = testbench.dut.core.ifu.immu.immu.tlb.tlb.PPN; - assign PPN_dM = testbench.dut.core.lsu.dmmu.dmmu.tlb.tlb.PPN; + assign IPTEF = testbench.dut.core.ifu.immu.immu.PTE; + assign DPTEM = testbench.dut.core.lsu.dmmu.dmmu.PTE; + assign IPPNF = testbench.dut.core.ifu.immu.immu.tlb.tlb.PPN; + assign DPPNM = testbench.dut.core.lsu.dmmu.dmmu.tlb.tlb.PPN; + assign IPageTypeF = testbench.dut.core.ifu.immu.immu.PageTypeWriteVal; + assign DPageTypeM = testbench.dut.core.lsu.dmmu.dmmu.PageTypeWriteVal; logic valid; - always_comb begin - // Since we are detected the CSR change by comparing the old value we need to - // ensure the CSR is detected when the pipeline's Writeback stage is not - // stalled. If it is stalled we want CSRArray to hold the old value. - if(valid) begin - // PMPCFG CSRs (space is 0-15 3a0 - 3af) - localparam inc = P.XLEN == 32 ? 4 : 8; - int i, i4, i8, csrid; - logic [P.XLEN-1:0] pmp; + if (P.ZICSR_SUPPORTED) begin + always_comb begin + // Since we are detected the CSR change by comparing the old value we need to + // ensure the CSR is detected when the pipeline's Writeback stage is not + // stalled. If it is stalled we want CSRArray to hold the old value. + if(valid) begin + // PMPCFG CSRs (space is 0-15 3a0 - 3af) + localparam inc = P.XLEN == 32 ? 4 : 8; + int i, i4, i8, csrid; + logic [P.XLEN-1:0] pmp; - for (i=0; i trek_start; + $display("starting Trek...."); + `endif end end if (TEST == "embench") $display("Read memfile %s", memfilename); @@ -642,7 +669,7 @@ module testbench; string InstrFName, InstrDName, InstrEName, InstrMName, InstrWName; logic [31:0] InstrW; flopenr #(32) InstrWReg(clk, reset, ~dut.core.ieu.dp.StallW, InstrM, InstrW); - instrTrackerTB it(clk, reset, dut.core.ieu.dp.FlushE, + instrTrackerTB #(P.XLEN) it(clk, reset, dut.core.ieu.dp.FlushE, dut.core.ifu.InstrRawF[31:0], dut.core.ifu.InstrD, dut.core.ifu.InstrE, InstrM, InstrW, @@ -866,12 +893,14 @@ end end - always @(dut.core.priv.priv.csr.csri.MIP_REGW[7]) void'(rvvi.net_push("MTimerInterrupt", dut.core.priv.priv.csr.csri.MIP_REGW[7])); - always @(dut.core.priv.priv.csr.csri.MIP_REGW[11]) void'(rvvi.net_push("MExternalInterrupt", dut.core.priv.priv.csr.csri.MIP_REGW[11])); - always @(dut.core.priv.priv.csr.csri.MIP_REGW[9]) void'(rvvi.net_push("SExternalInterrupt", dut.core.priv.priv.csr.csri.MIP_REGW[9])); - always @(dut.core.priv.priv.csr.csri.MIP_REGW[3]) void'(rvvi.net_push("MSWInterrupt", dut.core.priv.priv.csr.csri.MIP_REGW[3])); - always @(dut.core.priv.priv.csr.csri.MIP_REGW[1]) void'(rvvi.net_push("SSWInterrupt", dut.core.priv.priv.csr.csri.MIP_REGW[1])); - always @(dut.core.priv.priv.csr.csri.MIP_REGW[5]) void'(rvvi.net_push("STimerInterrupt", dut.core.priv.priv.csr.csri.MIP_REGW[5])); + if (P.ZICSR_SUPPORTED) begin + always @(dut.core.priv.priv.csr.csri.MIP_REGW[7]) void'(rvvi.net_push("MTimerInterrupt", dut.core.priv.priv.csr.csri.MIP_REGW[7])); + always @(dut.core.priv.priv.csr.csri.MIP_REGW[11]) void'(rvvi.net_push("MExternalInterrupt", dut.core.priv.priv.csr.csri.MIP_REGW[11])); + always @(dut.core.priv.priv.csr.csri.MIP_REGW[9]) void'(rvvi.net_push("SExternalInterrupt", dut.core.priv.priv.csr.csri.MIP_REGW[9])); + always @(dut.core.priv.priv.csr.csri.MIP_REGW[3]) void'(rvvi.net_push("MSWInterrupt", dut.core.priv.priv.csr.csri.MIP_REGW[3])); + always @(dut.core.priv.priv.csr.csri.MIP_REGW[1]) void'(rvvi.net_push("SSWInterrupt", dut.core.priv.priv.csr.csri.MIP_REGW[1])); + always @(dut.core.priv.priv.csr.csri.MIP_REGW[5]) void'(rvvi.net_push("STimerInterrupt", dut.core.priv.priv.csr.csri.MIP_REGW[5])); + end final begin void'(rvviRefShutdown()); diff --git a/testbench/tests.vh b/testbench/tests.vh index 59cd84437..83a7f6828 100644 --- a/testbench/tests.vh +++ b/testbench/tests.vh @@ -194,69 +194,78 @@ string arch32pmp[] = '{ "rv32i_m/pmp32/src/pmp-TOR-X.S" }; +// Tests commented out pending riscv-arch-test issue #588 string arch64pmp[] = '{ `RISCVARCHTEST, - "rv64i_m/pmp64/pmp64-CFG-reg.S", - "rv64i_m/pmp64/pmp64-CSR-access.S", - "rv64i_m/pmp64/pmp64-NA4-R-priority-level-2.S", - "rv64i_m/pmp64/pmp64-NA4-R-priority.S", - "rv64i_m/pmp64/pmp64-NA4-R.S", - "rv64i_m/pmp64/pmp64-NA4-RW-priority-level-2.S", - "rv64i_m/pmp64/pmp64-NA4-RW-priority.S", - "rv64i_m/pmp64/pmp64-NA4-RW.S", - "rv64i_m/pmp64/pmp64-NA4-RWX.S", - "rv64i_m/pmp64/pmp64-NA4-RX-priority-level-2.S", - "rv64i_m/pmp64/pmp64-NA4-RX-priority.S", - "rv64i_m/pmp64/pmp64-NA4-RX.S", - "rv64i_m/pmp64/pmp64-NA4-X-priority-level-2.S", - "rv64i_m/pmp64/pmp64-NA4-X-priority.S", - "rv64i_m/pmp64/pmp64-NA4-X.S", - "rv64i_m/pmp64/pmp64-NAPOT-R-priority-level-2.S", - "rv64i_m/pmp64/pmp64-NAPOT-R-priority.S", - "rv64i_m/pmp64/pmp64-NAPOT-R.S", - "rv64i_m/pmp64/pmp64-NAPOT-RW-priority-level-2.S", - "rv64i_m/pmp64/pmp64-NAPOT-RW-priority.S", - "rv64i_m/pmp64/pmp64-NAPOT-RW.S", - "rv64i_m/pmp64/pmp64-NAPOT-RWX.S", - "rv64i_m/pmp64/pmp64-NAPOT-RX-priority-level-2.S", - "rv64i_m/pmp64/pmp64-NAPOT-RX-priority.S", - "rv64i_m/pmp64/pmp64-NAPOT-RX.S", - "rv64i_m/pmp64/pmp64-NAPOT-X-priority-level-2.S", - "rv64i_m/pmp64/pmp64-NAPOT-X-priority.S", - "rv64i_m/pmp64/pmp64-NAPOT-X.S", - "rv64i_m/pmp64/pmp64-TOR-R-priority-level-2.S", - "rv64i_m/pmp64/pmp64-TOR-R-priority.S", - "rv64i_m/pmp64/pmp64-TOR-R.S", - "rv64i_m/pmp64/pmp64-TOR-RW-priority-level-2..S", - "rv64i_m/pmp64/pmp64-TOR-RW-priority.S", - "rv64i_m/pmp64/pmp64-TOR-RW.S", - "rv64i_m/pmp64/pmp64-TOR-RWX.S", - "rv64i_m/pmp64/pmp64-TOR-RX-priority-level-2.S", - "rv64i_m/pmp64/pmp64-TOR-RX-priority.S", - "rv64i_m/pmp64/pmp64-TOR-RX.S", - "rv64i_m/pmp64/pmp64-TOR-X-priority-level-2.S", - "rv64i_m/pmp64/pmp64-TOR-X-priority.S", - "rv64i_m/pmp64/pmp64-TOR-X.S" + "rv64i_m/pmp64/src/pmp64-CFG-reg.S", + "rv64i_m/pmp64/src/pmp64-CSR-access.S", + "rv64i_m/pmp64/src/pmp64-NA4-R-priority-level-2.S", + "rv64i_m/pmp64/src/pmp64-NA4-R-priority.S", + "rv64i_m/pmp64/src/pmp64-NA4-R.S", + "rv64i_m/pmp64/src/pmp64-NA4-RW-priority-level-2.S", + "rv64i_m/pmp64/src/pmp64-NA4-RW-priority.S", + "rv64i_m/pmp64/src/pmp64-NA4-RW.S", + "rv64i_m/pmp64/src/pmp64-NA4-RWX.S", + "rv64i_m/pmp64/src/pmp64-NA4-RX-priority-level-2.S", + "rv64i_m/pmp64/src/pmp64-NA4-RX-priority.S", + "rv64i_m/pmp64/src/pmp64-NA4-RX.S", + "rv64i_m/pmp64/src/pmp64-NA4-X-priority-level-2.S", + "rv64i_m/pmp64/src/pmp64-NA4-X-priority.S", + "rv64i_m/pmp64/src/pmp64-NA4-X.S", + "rv64i_m/pmp64/src/pmp64-NAPOT-R-priority-level-2.S", + "rv64i_m/pmp64/src/pmp64-NAPOT-R-priority.S", + "rv64i_m/pmp64/src/pmp64-NAPOT-R.S", + "rv64i_m/pmp64/src/pmp64-NAPOT-RW-priority-level-2.S", + "rv64i_m/pmp64/src/pmp64-NAPOT-RW-priority.S", + "rv64i_m/pmp64/src/pmp64-NAPOT-RW.S", + // "rv64i_m/pmp64/src/pmp64-NAPOT-RWX.S", + "rv64i_m/pmp64/src/pmp64-NAPOT-RX-priority-level-2.S", + "rv64i_m/pmp64/src/pmp64-NAPOT-RX-priority.S", + "rv64i_m/pmp64/src/pmp64-NAPOT-RX.S", + "rv64i_m/pmp64/src/pmp64-NAPOT-X-priority-level-2.S", + "rv64i_m/pmp64/src/pmp64-NAPOT-X-priority.S", + "rv64i_m/pmp64/src/pmp64-NAPOT-X.S", + "rv64i_m/pmp64/src/pmp64-TOR-R-priority-level-2.S", + "rv64i_m/pmp64/src/pmp64-TOR-R-priority.S", + "rv64i_m/pmp64/src/pmp64-TOR-R.S", + "rv64i_m/pmp64/src/pmp64-TOR-RW-priority-level-2..S", + "rv64i_m/pmp64/src/pmp64-TOR-RW-priority.S", + "rv64i_m/pmp64/src/pmp64-TOR-RW.S", + // "rv64i_m/pmp64/src/pmp64-TOR-RWX.S", + "rv64i_m/pmp64/src/pmp64-TOR-RX-priority-level-2.S", + "rv64i_m/pmp64/src/pmp64-TOR-RX-priority.S", + "rv64i_m/pmp64/src/pmp64-TOR-RX.S", + "rv64i_m/pmp64/src/pmp64-TOR-X-priority-level-2.S", + "rv64i_m/pmp64/src/pmp64-TOR-X-priority.S", + "rv64i_m/pmp64/src/pmp64-TOR-X.S" }; string arch32vm_sv32[] = '{ `RISCVARCHTEST, + "rv32i_m/vm_sv32/src/mstatus_tvm_test.S", "rv32i_m/vm_sv32/src/pmp_check_on_pa_S_mode.S", "rv32i_m/vm_sv32/src/pmp_check_on_pa_U_mode.S", "rv32i_m/vm_sv32/src/pmp_check_on_pte_S_mode.S", "rv32i_m/vm_sv32/src/pmp_check_on_pte_U_mode.S", + "rv32i_m/vm_sv32/src/satp_access_tests.S", "rv32i_m/vm_sv32/src/vm_A_and_D_S_mode.S", "rv32i_m/vm_sv32/src/vm_A_and_D_U_mode.S", "rv32i_m/vm_sv32/src/vm_invalid_pte_S_mode.S", "rv32i_m/vm_sv32/src/vm_invalid_pte_U_mode.S", "rv32i_m/vm_sv32/src/vm_misaligned_S_mode.S", "rv32i_m/vm_sv32/src/vm_misaligned_U_mode.S", + "rv32i_m/vm_sv32/src/vm_mprv_S_mode.S", + "rv32i_m/vm_sv32/src/vm_mprv_U_mode.S", + "rv32i_m/vm_sv32/src/vm_mprv_U_set_sum_set_S_mode.S", + "rv32i_m/vm_sv32/src/vm_mprv_U_set_sum_unset_S_mode.S", "rv32i_m/vm_sv32/src/vm_mxr_S_mode.S", "rv32i_m/vm_sv32/src/vm_mxr_U_mode.S", "rv32i_m/vm_sv32/src/vm_nleaf_pte_level0_S_mode.S", "rv32i_m/vm_sv32/src/vm_nleaf_pte_level0_U_mode.S", - "rv32i_m/vm_sv32/src/vm_reserved_pte_S_mode.S", - "rv32i_m/vm_sv32/src/vm_reserved_pte_U_mode.S", + "rv32i_m/vm_sv32/src/vm_reserved_rsw_pte_S_mode.S", + "rv32i_m/vm_sv32/src/vm_reserved_rsw_pte_U_mode.S", + "rv32i_m/vm_sv32/src/vm_reserved_rwx_pte_S_mode.S", + "rv32i_m/vm_sv32/src/vm_reserved_rwx_pte_U_mode.S", "rv32i_m/vm_sv32/src/vm_sum_set_S_mode.S", "rv32i_m/vm_sv32/src/vm_sum_unset_S_mode.S", "rv32i_m/vm_sv32/src/vm_U_Bit_set_U_mode.S", @@ -528,6 +537,14 @@ string arch64cpriv[] = '{ "rv64i_m/C/src/cebreak-01.S" }; +string arch64zcd[] = '{ + // `RISCVARCHTEST, + "rv64i_m/D_Zcd/src/c.fld-01.S", + "rv64i_m/D_Zcd/src/c.fldsp-01.S", + "rv64i_m/D_Zcd/src/c.fsd-01.S", + "rv64i_m/D_Zcd/src/c.fsdsp-01.S" +}; + string arch64i[] = '{ `RISCVARCHTEST, "rv64i_m/I/src/add-01.S", @@ -1000,10 +1017,23 @@ string arch64zfh[] = '{ "rv64i_m/Zfh/src/fadd_b7-01.S", "rv64i_m/Zfh/src/fadd_b8-01.S", "rv64i_m/Zfh/src/fclass_b1-01.S", + "rv64i_m/Zfh/src/fcvt.h.s_b1-01.S", + "rv64i_m/Zfh/src/fcvt.h.s_b22-01.S", + "rv64i_m/Zfh/src/fcvt.h.s_b23-01.S", + "rv64i_m/Zfh/src/fcvt.h.s_b24-01.S", + "rv64i_m/Zfh/src/fcvt.h.s_b27-01.S", + "rv64i_m/Zfh/src/fcvt.h.s_b28-01.S", + "rv64i_m/Zfh/src/fcvt.h.s_b29-01.S", "rv64i_m/Zfh/src/fcvt.h.w_b25-01.S", "rv64i_m/Zfh/src/fcvt.h.w_b26-01.S", "rv64i_m/Zfh/src/fcvt.h.wu_b25-01.S", "rv64i_m/Zfh/src/fcvt.h.wu_b26-01.S", + "rv64i_m/Zfh/src/fcvt.s.h_b22-01.S", + "rv64i_m/Zfh/src/fcvt.s.h_b23-01.S", + "rv64i_m/Zfh/src/fcvt.s.h_b24-01.S", + "rv64i_m/Zfh/src/fcvt.s.h_b27-01.S", + "rv64i_m/Zfh/src/fcvt.s.h_b28-01.S", + "rv64i_m/Zfh/src/fcvt.s.h_b29-01.S", "rv64i_m/Zfh/src/fcvt.w.h_b1-01.S", "rv64i_m/Zfh/src/fcvt.w.h_b22-01.S", "rv64i_m/Zfh/src/fcvt.w.h_b23-01.S", @@ -1130,7 +1160,23 @@ string arch64zfh[] = '{ "rv64i_m/Zfh/src/fnmsub_b8-01.S" }; - +string arch64zfh_d[] = '{ + // `RISCVARCHTEST, + "rv64i_m/Zfh/src/fcvt.d.h_b1-01.S", + "rv64i_m/Zfh/src/fcvt.d.h_b22-01.S", + "rv64i_m/Zfh/src/fcvt.d.h_b23-01.S", + "rv64i_m/Zfh/src/fcvt.d.h_b24-01.S", + "rv64i_m/Zfh/src/fcvt.d.h_b27-01.S", + "rv64i_m/Zfh/src/fcvt.d.h_b28-01.S", + "rv64i_m/Zfh/src/fcvt.d.h_b29-01.S", + "rv64i_m/Zfh/src/fcvt.h.d_b1-01.S", + "rv64i_m/Zfh/src/fcvt.h.d_b22-01.S", + "rv64i_m/Zfh/src/fcvt.h.d_b23-01.S", + "rv64i_m/Zfh/src/fcvt.h.d_b24-01.S", + "rv64i_m/Zfh/src/fcvt.h.d_b27-01.S", + "rv64i_m/Zfh/src/fcvt.h.d_b28-01.S", + "rv64i_m/Zfh/src/fcvt.h.d_b29-01.S" +}; string arch64d_fma[] = '{ `RISCVARCHTEST, @@ -2413,10 +2459,23 @@ string arch32zfh[] = '{ "rv32i_m/Zfh/src/fadd_b7-01.S", "rv32i_m/Zfh/src/fadd_b8-01.S", "rv32i_m/Zfh/src/fclass_b1-01.S", + "rv32i_m/Zfh/src/fcvt.h.s_b1-01.S", + "rv32i_m/Zfh/src/fcvt.h.s_b22-01.S", + "rv32i_m/Zfh/src/fcvt.h.s_b23-01.S", + "rv32i_m/Zfh/src/fcvt.h.s_b24-01.S", + "rv32i_m/Zfh/src/fcvt.h.s_b27-01.S", + "rv32i_m/Zfh/src/fcvt.h.s_b28-01.S", + "rv32i_m/Zfh/src/fcvt.h.s_b29-01.S", "rv32i_m/Zfh/src/fcvt.h.w_b25-01.S", "rv32i_m/Zfh/src/fcvt.h.w_b26-01.S", "rv32i_m/Zfh/src/fcvt.h.wu_b25-01.S", "rv32i_m/Zfh/src/fcvt.h.wu_b26-01.S", + "rv32i_m/Zfh/src/fcvt.s.h_b22-01.S", + "rv32i_m/Zfh/src/fcvt.s.h_b23-01.S", + "rv32i_m/Zfh/src/fcvt.s.h_b24-01.S", + "rv32i_m/Zfh/src/fcvt.s.h_b27-01.S", + "rv32i_m/Zfh/src/fcvt.s.h_b28-01.S", + "rv32i_m/Zfh/src/fcvt.s.h_b29-01.S", "rv32i_m/Zfh/src/fcvt.w.h_b1-01.S", "rv32i_m/Zfh/src/fcvt.w.h_b22-01.S", "rv32i_m/Zfh/src/fcvt.w.h_b23-01.S", @@ -2525,6 +2584,24 @@ string arch32zfh[] = '{ "rv32i_m/Zfh/src/fnmsub_b8-01.S" }; +string arch32zfh_d[] = '{ + // `RISCVARCHTEST, + "rv32i_m/Zfh/src/fcvt.d.h_b1-01.S", + "rv32i_m/Zfh/src/fcvt.d.h_b22-01.S", + "rv32i_m/Zfh/src/fcvt.d.h_b23-01.S", + "rv32i_m/Zfh/src/fcvt.d.h_b24-01.S", + "rv32i_m/Zfh/src/fcvt.d.h_b27-01.S", + "rv32i_m/Zfh/src/fcvt.d.h_b28-01.S", + "rv32i_m/Zfh/src/fcvt.d.h_b29-01.S", + "rv32i_m/Zfh/src/fcvt.h.d_b1-01.S", + "rv32i_m/Zfh/src/fcvt.h.d_b22-01.S", + "rv32i_m/Zfh/src/fcvt.h.d_b23-01.S", + "rv32i_m/Zfh/src/fcvt.h.d_b24-01.S", + "rv32i_m/Zfh/src/fcvt.h.d_b27-01.S", + "rv32i_m/Zfh/src/fcvt.h.d_b28-01.S", + "rv32i_m/Zfh/src/fcvt.h.d_b29-01.S" +}; + string arch32zfaf[] = '{ `RISCVARCHTEST, "rv32i_m/F_Zfa/src/fround_b1-01.S", @@ -3353,6 +3430,21 @@ string arch32cpriv[] = '{ "rv32i_m/C/src/cebreak-01.S" }; +string arch32zcf[] = '{ + // `RISCVARCHTEST, + "rv32i_m/F_Zcf/src/c.flw-01.S", + "rv32i_m/F_Zcf/src/c.flwsp-01.S", + "rv32i_m/F_Zcf/src/c.fsw-01.S", + "rv32i_m/F_Zcf/src/c.fswsp-01.S" +}; + +string arch32zcd[] = '{ + // `RISCVARCHTEST, + "rv32i_m/D_Zcd/src/c.fld-01.S", + "rv32i_m/D_Zcd/src/c.fldsp-01.S", + "rv32i_m/D_Zcd/src/c.fsd-01.S", + "rv32i_m/D_Zcd/src/c.fsdsp-01.S" +}; string arch32i[] = '{ `RISCVARCHTEST, diff --git a/testbench/trek_files/Makefile b/testbench/trek_files/Makefile new file mode 100644 index 000000000..62a045af2 --- /dev/null +++ b/testbench/trek_files/Makefile @@ -0,0 +1,14 @@ +SHELL := /bin/bash +TREKFILES := $(WALLY)/testbench/trek_files +PLATFORM_YAML := $(TREKFILES)/platform.yaml +TREKSVIP_YAML := $(BREKER_HOME)/examples/tutorials/svip/treksvip/yaml/treksvip.yaml +TREKEXE_FLAGS += --seed 0x # free (0x) or lock (0x1) the seed used for test generation +TREKSVIP = source $(TREKFILES)/breker-setup.sh && treksvip -p $(PLATFORM_YAML) -p $(TREKSVIP_YAML) $(TREKEXE_FLAGS) + +uvm_output: uvm_output/trek_uvm.sv + +uvm_output/trek_uvm.sv: $(PLATFORM_YAML) $(TREKSVIP_YAML) + $(TREKSVIP) -p $(PLATFORM_YAML) -p $(TREKSVIP_YAML) --uvm_output=uvm_output + +clean: + rm -rf uvm_output diff --git a/testbench/trek_files/README.md b/testbench/trek_files/README.md new file mode 100644 index 000000000..1c7c14b38 --- /dev/null +++ b/testbench/trek_files/README.md @@ -0,0 +1,9 @@ +Jordan Carlin, jcarlin@hmc.edu, December 2024 + +# Breker Trek Tests Support Files for CVW + +[Breker's Trek Test Suite](https://brekersystems.com/products/trek-suite/) is a proprietary set of tests that require a license to use (this license is not generally available to noncommercial users). + +This directory contains the support files necessary to run Breker's Trek Tests on CVW. For additional details on the tests see [`$WALLY/tests/breker/README.md`](../../tests/breker/README.md) + +To generate the Breker support files (with a license), run `make` in the `testbench/trek_files` directory (this one). Before running, make sure to set `$BREKER_HOME` in your system's `site-setup.sh` file. This Makefile only needs to be run once. diff --git a/testbench/trek_files/breker-setup.sh b/testbench/trek_files/breker-setup.sh new file mode 100644 index 000000000..9b651eeef --- /dev/null +++ b/testbench/trek_files/breker-setup.sh @@ -0,0 +1,5 @@ +#!/bin/bash +export BREKER_ARCH=${BREKER_HOME}/linux64 +export PATH=${BREKER_HOME}/bin:${BREKER_HOME}/examples/tutorials/apps/coherency/bin:${PATH} +export LD_LIBRARY_PATH=".:${BREKER_ARCH}/lib:${BREKER_HOME}/opensrc/gcc/lib:${BREKER_HOME}/opensrc/gcc/lib64":${LD_LIBRARY_PATH} +export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LIBRARY_PATH diff --git a/testbench/trek_files/customer.yaml b/testbench/trek_files/customer.yaml new file mode 100644 index 000000000..e06733797 --- /dev/null +++ b/testbench/trek_files/customer.yaml @@ -0,0 +1,27 @@ +trek: + svip: + global: + scenarios: + scenario_count: + # primary control for length of test + value: 5 + riscv: + extensions: + # disable hypervisor extension by setting value to 0 + # if your system does not support this feature + h_hypervisor: + value: 0 + + # uncomment the `weights:` line below if any entries under `weights:` need to be enabled + # weights: + # disable testing of Sv57: Page-Based 57-bit Virtual-Memory System + # if your system does not support this feature + # pss_top.rvMmu.rvMmuOp.RvMmuOp::satpModeSv57: 0 + + # qemu-riscv64 does not ignore writes to WARL bits in hgatp + # Comment out the next line unless your design has this issue + # pss_top.rvMmu.rvMmuOp.RvMmuOp::writeHgatpWarl : 0 + + + + diff --git a/testbench/trek_files/platform.yaml b/testbench/trek_files/platform.yaml new file mode 100644 index 000000000..d7f7b8dad --- /dev/null +++ b/testbench/trek_files/platform.yaml @@ -0,0 +1,263 @@ +trek: + platform_config: + doc: >- + Testbench platform specific configuration. + processors: + doc: >- + Information about available processors. + processor_count: + value: 1 + doc: >- + How many processors can be used by the generated test case + sw_threads_per_processor: + value: 2 + doc: >- + How many software threads to put on each processor + tlm_generic_ports: + doc: >- + Information about available tlm_generic_payload ports + port_count: + value: 0 + doc: >- + How many tlm ports to use for memory operations + threads_per_port: + value: 4 + doc: >- + How many threads to put on each tlm port + debug: + value: 1 + doc: >- + Turn on for verbose tlm port messages + memories: + doc: >- + Information about memory regions that can be used by the generated test case. + defaults: + doc: >- + Default values for all memories + natural_alignment: + value: 1 + doc: >- + Should all memory addresses be naturally aligned (up to 8 byte alignment) + init_type: + value: frontdoor + doc: >- + Strategy to use for memory initialization. + Options are: + - static + - backdoor + - frontdoor + memory: + doc: >- + Define a memory region. + Multiple memory regions may be defined in this section. + name: + value: ddr0 + doc: >- + Name of the memory region + base: + value: 0x83000000 + doc: >- + Base address of memory region. + Ignored for `static` initialized memory + size: + value: 0x100000 + doc: >- + Size of memory region in bytes. + init_type: + value: backdoor #frontdoor + doc: >- + Strategy to use for memory initialization. + Options are: + - static + - backdoor + - frontdoor + caches: + doc: >- + parameters related to cache architecture + cache_line_size: + value: 64 + doc: >- + Size of a cache line in bytes + llc_cache_size: + value: 0x200000 + doc: >- + size of last level cache in bytes + llc_cache_ways: + value: 8 + doc: >- + number of ways in the last level cache + mailbox: + doc: >- + Configure memory mailbox usage + type: + value: single + doc: >- + Configure mailbox type. + Options are: + - single: for use by TrekBox with backdoor access + - queue: for use in post-silicon post-process flow + single: + doc: >- + Detail settings when mailbox type is `single` + init_type: + value: backdoor #static + doc: >- + Strategy to use for mailbox memory initialization. + Options are: + - static + - backdoor + - frontdoor + c2t_base: + value: 0x82000000 + doc: >- + Fixed base address of C to trekbox mailbox region. + Allow 64 bytes per processor. + Used for init_type of `backdoor` and `frontdoor` only. + t2c_base: + value: 0x82001000 + doc: >- + Fixed base address of trekbox to C mailbox region. + Allow 64 bytes per processor. + Used for init_type of `backdoor` and `frontdoor` only. + cacheable: + value: 1 + doc: >- + Set this parameter to 1 to do a cache flush after every mailbox + write. + queue: + doc: >- + Detail settings when mailbox type is `queue` + length: + value: 1000 + doc: >- + Max number of messages that can be stored in the queue mailbox. + Longer tests may need a larger queue. + debug: + value: 0 + doc: >- + If this flag is set to 1, messages will be printed directly to the + console instead of being queued in memory. + stdio: + doc: >- + Is the standard library available for use by the generated test. + available: + value: 0 + doc: >- + Set this value to 0 of the library is not available in + your system. + use_lock: + value: 1 + doc: >- + Calls to console print messages will be mutex locked unless + this flag is set to 0. + header: + doc: >- + Verbatim code that will be put into the header section of the test. + value: |- + + declaration: + doc: >- + Verbatim code that will be put into the declaration section of the test. + value: |- + extern void tohost_exit(int status); + + #undef trek_exit + #define trek_exit(status) tohost_exit(status); + + int main(void) + { + return trek_main(); + } + + mmu: # Trek can generate code to program page/translation tables + # that you MAY want to use with your SDV generated C files. + # Here, you have some control over that process. + + va_bits: 39 # How many bits are used for virtual addresses + # + # For aarch64, the value here is used to determine the + # "initial lookup level" (as detailed in Table D5-13). + # This must correlate to TCR_EL3.T0SZ! + # + # For riscv64, only 39, 48, and 57 are supported + # corresponding to "Sv39", "Sv48", and "Sv57". + # + # default: 39 [from T0SZ=64-39=25(0x19)] + + memory_map: # A *MAP* of all memory regions, excluding the + # memory_resources in your platformConfig.h file. + # + # Each map entry should be a unique name. + # + # Mandatory submap pairs: + # normal: *true*/false (false = "device"/"io" memory) + # begin: starting address + # end: ending address + # + # Optional submap pairs: + # readable: *true*/false + # writeable: *true*/false + # executable: true/*false* + # cacheable: *true*/false (*false* for device) + # share_type (aarch64 only): *inner-shareable*, + # outer-shareable, non-shareable + # + # Note that memory_resources will use all defaults. + # + # Note that "normal: false" (device-memory) change defaults + # to "cacheable = false", and on arch64 it implies + # share_type = non-shareable, and alloc_type = no-allocate + + UART0: + type: device + begin: 0x10000000 + end: 0x10000fff + + code: + type: normal + begin: 0x80000000 + end: 0x807fffff + executable: true + + stack: + type: normal + begin: 0x87000000 + end: 0x87ffffff + + + aarch64: # Customizations that are only valid for aarch64. + + TCR_EL3: 0x80923519 # Should Trek to program the TCR_TL3 register? If + # so, put the value here. If not, comment out + # this option. + # NOTE: T0SZ should correlate to va_bits above! + # default: -no default- + + allocate_type: read-write-allocate # Default allocate_type. + # read-allocate, write-allocate, + # *read-write-allocate*, no-allocate + + cache_type: write-back-nontransient # non-cacheable, + # write-through-transient, + # write-back-transient, + # write-through-non-transient, + # *write-back-non-transient* + + device_type: nGnRnE # *nGnRnE*, nGnRE, nGRE, GRE + + share_type: inner-shareable # non-shareable + # inner-shareable + # outer-shareable + + riscv64: # Customizations that are only valid for riscv64. + + Svnapot: false # If standard extension "Svnapot" is implemented, and + # when you are using Sv39, you might set this to "true" + # to allow PTE bit[63] "N" to be set when appropriate. + # default: false + + Svpbmt: true # If standard extension "Svpbmt" is implemented, and + # when you are using Sv39, you might set this to "true" + # to allow cacheable/device information to flow into + # bits[62:61] "PBMT" as appropriate. + # default: false diff --git a/testbench/trek_files/trek_user_backdoor.sv b/testbench/trek_files/trek_user_backdoor.sv new file mode 100644 index 000000000..342ade7b9 --- /dev/null +++ b/testbench/trek_files/trek_user_backdoor.sv @@ -0,0 +1,91 @@ +/// custom routines defined for the platform + +// Design parameters, used in the code below and custom to this design! +//`define RAM_PATH soc_top.soc_instance.i_sram_subsystem.i_shared_ram +//sim:/testbench/dut/uncore/uncore/ram/ram/memory/RAM +//`define RAM_PATH testbench.dut.uncore.uncore.ram.ram.memory.RAM +//`define RAM_PATH testbench.dut.uncore.uncore.ram.ram.memory +`define RAM_PATH testbench.dut.uncoregen.uncore.ram.ram.memory.ram +//`define RAM_BASE_ADDR 32'h80000000 +`define RAM_BASE_ADDR testbench.P.UNCORE_RAM_BASE + +// These two routines are specific to a particular design. They are used +// to read and write to the "mailbox" locations, to synchronize behaviors +// between C code on the processors with activity performed in UVM (and +// among activities in UVM). +// +// Every design will be different. Here we just have a simple Verilog +// array that we can read and write. +// +function automatic void trek_backdoor_read64( + input longint unsigned address, + output longint unsigned data, + input int unsigned debug = 1); + + //bit [15:0] offset = (address-`RAM_BASE_ADDR) >> 2; + bit [31:0] offset = ((address-`RAM_BASE_ADDR)/(testbench.P.XLEN/8)); + if (address[1:0] != 2'b00) begin: misaligned + $display("%t trek_backdoor_read64: Misaligned address", $time); + $finish(); + end + + //data[63:32] = `RAM_PATH[offset + 0]; + //data[31: 0] = `RAM_PATH[offset + 1]; + data[63:0] = `RAM_PATH.RAM[offset + 0]; +if (data != 0) + $display("%t trek_backdoor_read64: Read 64'h%016h from address 64'h%016h", + $time, data, address); +endfunction: trek_backdoor_read64 + + +function automatic void trek_backdoor_write64( + input longint unsigned address, + input longint unsigned data, + input int unsigned debug = 1); + + //bit [15:0] offset = (address-`RAM_BASE_ADDR) >> 2; + bit [31:0] offset = ((address-`RAM_BASE_ADDR)/(testbench.P.XLEN/8)); + + if (address[1:0] != 2'b00) begin: misaligned + $display("%t trek_backdoor_write64: Misaligned address", $time); + $finish(); + end + //`RAM_PATH[offset + 0] = data[63:32]; + //`RAM_PATH[offset + 1] = data[31: 0]; + `RAM_PATH.RAM[offset + 0] = data[63:0]; + //$display("%t trek_backdoor_write64: Wrote 64'h%016h to address 64'h%016h", + //$time, data, address); +endfunction: trek_backdoor_write64 + + +// For performance, we want to read mailboxes ONLY when they're written to! +// (This is very important on emulators!) +// +// Here we trigger a signal when a memory write happens to the range of +// addresses where the mailboxes are. +// +// A clock later, we go poll all the mailboxes (using the "backdoor_read" +// method above. +// +// Each design will be different, depending on where you are able to snoop +// for writes and how long it takes a write to propagate from that point +// to the place where the backdoor read will find it. + +bit trek_c2t_mbox_event; +bit trek_is_event_addr; + +//assign trek_is_event_addr = +// ((((`RAM_PATH.ad << 2) + `RAM_BASE_ADDR) >= `TREK_C2T_MBOX_BASE) && +// (((`RAM_PATH.ad << 2) + `RAM_BASE_ADDR) < `TREK_C2T_MBOX_LIMIT)); +// +//always_ff @(posedge `RAM_PATH.clk) begin: trigger_reading_of_mailboxes +// trek_c2t_mbox_event <= (trek_is_event_addr && +// (`RAM_PATH.n_cs == 1'b0) && +// (`RAM_PATH.n_we == 1'b0)); +//end + +// Design specifc: one stage delayed so write has a time to settle +//always @(posedge trek_c2t_mbox_event) begin: read_all_mailboxes +always @(posedge testbench.clk) begin: read_all_mailboxes + trek_poll_mbox(); +end diff --git a/tests/breker/Makefile b/tests/breker/Makefile new file mode 100644 index 000000000..fc56d8805 --- /dev/null +++ b/tests/breker/Makefile @@ -0,0 +1,53 @@ +SHELL := /bin/bash + +# Breker/Trek paths and variables +TESTDIR := $(WALLY)/tests/breker/work +TREKFILES := $(WALLY)/testbench/trek_files +CONSTRAINTS_DIR := $(WALLY)/tests/breker/constraints +PLATFORM_YAML := $(TREKFILES)/platform.yaml +CUSTOMER_YAML := $(TREKFILES)/customer.yaml +TREKSVIP_YAML := $(BREKER_HOME)/examples/tutorials/svip/treksvip/yaml/treksvip.yaml +CONSTRAINT_FILES := $(shell find $(CONSTRAINTS_DIR) -type f) +TREKEXE_FLAGS += --seed 0x # free (0x) or lock (0x1) the seed used for test generation +TREKSVIP := source $(TREKFILES)/breker-setup.sh && treksvip -p $(PLATFORM_YAML) -p $(TREKSVIP_YAML) $(TREKEXE_FLAGS) + +# Compilation paths and variables +START_LIB_DIR := $(WALLY)/examples/C/common +START_LIB := $(START_LIB_DIR)/crt.S $(START_LIB_DIR)/syscalls.c +MARCH :=-march=rv64gc_zcb_zfa_zba_zbb_zbc_zbs_zfh_zicboz_zicbop_zicbom_zbkb_zbkx_zknd_zkne_zknh_svinval +MABI :=-mabi=lp64d +LINKER := $(START_LIB_DIR)/test.ld +LINK_FLAGS := -nostartfiles +CFLAGS := -Wa,-alhs -Wa,-L -mcmodel=medany -Og -DSINGLE_CPU +WIDTH := 64 + +# Find all constraint files and generate tests for each one +TESTS = $(patsubst $(CONSTRAINTS_DIR)/%.yaml,$(TESTDIR)/%,$(CONSTRAINT_FILES)) +.PHONY: all clean +all: $(TESTS) + +# Generate c tests +$(TESTDIR)/%: $(CONSTRAINTS_DIR)/%.yaml | $(TESTDIR) + $(TREKSVIP) -p $< -p $(CUSTOMER_YAML) -o $@/$* -e pss_top.entry + $(MAKE) $@/$*.elf.memfile + +# Compile c code +.PRECIOUS: %.elf +%.elf: %.c + riscv64-unknown-elf-gcc $(MARCH) $(MABI) $(CFLAGS) $(LINK_FLAGS) -T$(LINKER) -I$(START_LIB_DIR) $(START_LIB) -g -o $@ $< > /dev/null + +# Convert elf to hex +%.elf.memfile: %.elf + riscv64-unknown-elf-objdump -D $< > $<.objdump + riscv64-unknown-elf-elf2hex --bit-width $(WIDTH) --input $< --output $@ + extractFunctionRadix.sh $<.objdump + +# View the model graph TODO: What does this do? Move to another makefile? +%.view_graph: $(CONSTRAINTS_DIR)/%.yaml + $(TREKSVIP) -p $(CONSTRAINTS_DIR)/$^.yaml -p $(CUSTOMER_YAML) -t pss_top.entry + +$(TESTDIR): + mkdir -p $(TESTDIR) + +clean: + rm -rf $(TESTS) diff --git a/tests/breker/README.md b/tests/breker/README.md new file mode 100644 index 000000000..300ebc16e --- /dev/null +++ b/tests/breker/README.md @@ -0,0 +1,18 @@ +Jordan Carlin, jcarlin@hmc.edu, December 2024 + +# Breker Tests for CVW + +[Breker's Trek Test Suite](https://brekersystems.com/products/trek-suite/) is a proprietary set of tests that require a license to use (this license is not generally available to noncommercial users). + +To generate the Breker tests (with a license), run `make` in both the `tests/breker` and `testbench/trek_files` directories. Alternatively, running `make breker` from the top-level `$WALLY` directory will run both of these. Before running, make sure to set `$BREKER_HOME` in your system's `site-setup.sh` file. The `testbench/trek_files` Makefile only needs to be run once, but the tests that are generated can be different each time so rerunning the `tests/breker` Makefile is worthwhile. + +This will generate a testsuite for each of the constraint yaml files in the `constraints` directory. These generated tests are produced in the `tests/breker/work` directory. To run a single test use `wsim` to run the elf. The `breker` configuration must be used. For example, + +```bash +$ wsim breker $WALLY/tests/breker/riscv/riscv.elf +``` + +To run all of the generated Breker tests use +```bash +$ regression-wally --breker +``` diff --git a/tests/breker/constraints/atomics.yaml b/tests/breker/constraints/atomics.yaml new file mode 100644 index 000000000..c505b957d --- /dev/null +++ b/tests/breker/constraints/atomics.yaml @@ -0,0 +1,73 @@ +trek: + svip: + global: + scenarios: + scenario_count: + # primary control for length of test + value: 10 + riscv: + extensions: + # disable hypervisor extension by setting value to 0 + # if your system does not support this feature + h_hypervisor: + value: 0 + + weights: + # disable testing of Sv57: Page-Based 57-bit Virtual-Memory System + # if your system does not support this feature + # pss_top.rvMmu.rvMmuOp.RvMmuOp::satpModeSv57: 0 + + # qemu-riscv64 does not ignore writes to WARL bits in hgatp + # Comment out the next line unless your design has this issue + # pss_top.rvMmu.rvMmuOp.RvMmuOp::writeHgatpWarl : 0 + + + # turn off MMU Tests + pss_top.rvMmu.rvMmuOp: 0 + + # turn off rvMmu Self-modifying-code (SMC) scenarios + # pss_top.rvMmu.rvMmuOp.RvMmuOp::doExec: 0 + + # turn off rvMmuOp page fault cases + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteAClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteD1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteR1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU0SetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteVClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteW1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteX1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteASetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteDSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteUSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteVClrErr: 0 + + # turn of SoC level Dekker and Atomics tests + # pss_top.soc: 0 + pss_top.dekker.dekkerTest: 0 + # pss_top.atomics.atomicsTest: 0 + + # turn off RV64 opcode tests + pss_top.rv64.rv64Ops: 0 + + # turn off software interrupts + pss_top.rvMswi.rvMswiOp: 0 + + + # turn off all coherency tests + pss_top.coherency: 0 + + # turn off coherency memory workload tests + # pss_top.workload.entry: 0 + + # turn of various coherency cache state tests + # pss_top.readOnly.entry: 0 + # pss_top.writeOnly.entry: 0 + # pss_top.writeRead.entry: 0 + # pss_top.readWrite.entry: 0 + # pss_top.moesiStates.entry: 0 + # pss_top.tilelinkStates.entry: 0 + + # turn of coherency micro loop feature + # these scenarios take a while to run + # pss_top.microLoops.microLoopScn: 0 diff --git a/tests/breker/constraints/coherency.yaml b/tests/breker/constraints/coherency.yaml new file mode 100644 index 000000000..62908c90c --- /dev/null +++ b/tests/breker/constraints/coherency.yaml @@ -0,0 +1,72 @@ +trek: + svip: + global: + scenarios: + scenario_count: + # primary control for length of test + value: 10 + riscv: + extensions: + # disable hypervisor extension by setting value to 0 + # if your system does not support this feature + h_hypervisor: + value: 0 + + weights: + # disable testing of Sv57: Page-Based 57-bit Virtual-Memory System + # if your system does not support this feature + # pss_top.rvMmu.rvMmuOp.RvMmuOp::satpModeSv57: 0 + + # qemu-riscv64 does not ignore writes to WARL bits in hgatp + # Comment out the next line unless your design has this issue + # pss_top.rvMmu.rvMmuOp.RvMmuOp::writeHgatpWarl : 0 + + + # turn off MMU Tests + pss_top.rvMmu.rvMmuOp: 0 + + # turn off rvMmu Self-modifying-code (SMC) scenarios + # pss_top.rvMmu.rvMmuOp.RvMmuOp::doExec: 0 + + # turn off rvMmuOp page fault cases + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteAClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteD1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteR1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU0SetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteVClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteW1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteX1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteASetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteDSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteUSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteVClrErr: 0 + + # turn of SoC level Dekker and Atomics tests + # pss_top.soc: 0 + + + # turn off RV64 opcode tests + pss_top.rv64.rv64Ops: 0 + + # turn off software interrupts + pss_top.rvMswi.rvMswiOp: 0 + + + # turn off all coherency tests + # pss_top.coherency: 0 + + # turn off coherency memory workload tests + pss_top.workload.entry: 0 + + # turn of various coherency cache state tests + # pss_top.readOnly.entry: 0 + # pss_top.writeOnly.entry: 0 + # pss_top.writeRead.entry: 0 + # pss_top.readWrite.entry: 0 + # pss_top.moesiStates.entry: 0 + # pss_top.tilelinkStates.entry: 0 + + # turn of coherency micro loop feature + # these scenarios take a while to run + pss_top.microLoops.microLoopScn: 0 diff --git a/tests/breker/constraints/dekker.yaml b/tests/breker/constraints/dekker.yaml new file mode 100644 index 000000000..052c7e02d --- /dev/null +++ b/tests/breker/constraints/dekker.yaml @@ -0,0 +1,73 @@ +trek: + svip: + global: + scenarios: + scenario_count: + # primary control for length of test + value: 10 + riscv: + extensions: + # disable hypervisor extension by setting value to 0 + # if your system does not support this feature + h_hypervisor: + value: 0 + + weights: + # disable testing of Sv57: Page-Based 57-bit Virtual-Memory System + # if your system does not support this feature + # pss_top.rvMmu.rvMmuOp.RvMmuOp::satpModeSv57: 0 + + # qemu-riscv64 does not ignore writes to WARL bits in hgatp + # Comment out the next line unless your design has this issue + # pss_top.rvMmu.rvMmuOp.RvMmuOp::writeHgatpWarl : 0 + + + # turn off MMU Tests + pss_top.rvMmu.rvMmuOp: 0 + + # turn off rvMmu Self-modifying-code (SMC) scenarios + # pss_top.rvMmu.rvMmuOp.RvMmuOp::doExec: 0 + + # turn off rvMmuOp page fault cases + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteAClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteD1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteR1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU0SetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteVClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteW1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteX1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteASetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteDSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteUSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteVClrErr: 0 + + # turn of SoC level Dekker and Atomics tests + # pss_top.soc: 0 + # pss_top.dekker.dekkerTest: 0 + pss_top.atomics.atomicsTest: 0 + + # turn off RV64 opcode tests + pss_top.rv64.rv64Ops: 0 + + # turn off software interrupts + pss_top.rvMswi.rvMswiOp: 0 + + + # turn off all coherency tests + pss_top.coherency: 0 + + # turn off coherency memory workload tests + # pss_top.workload.entry: 0 + + # turn of various coherency cache state tests + # pss_top.readOnly.entry: 0 + # pss_top.writeOnly.entry: 0 + # pss_top.writeRead.entry: 0 + # pss_top.readWrite.entry: 0 + # pss_top.moesiStates.entry: 0 + # pss_top.tilelinkStates.entry: 0 + + # turn of coherency micro loop feature + # these scenarios take a while to run + # pss_top.microLoops.microLoopScn: 0 diff --git a/tests/breker/constraints/hello.yaml b/tests/breker/constraints/hello.yaml new file mode 100644 index 000000000..94b30664d --- /dev/null +++ b/tests/breker/constraints/hello.yaml @@ -0,0 +1,58 @@ +# Constraint file to generate simple hello world test that checks the +# initialized values for a few memory locations. + +# This constraint file disable all features other than the +trek: + svip: + global: + scenarios: + scenario_count: + # reduce number of scenarios + value: 2 + memory_allocation: + memory_sets: + block_size: + # force 4 byte operation + min: 4 + max: 4 + block_count: + # force a single memory block + min: 1 + max: 1 + riscv: + extensions: + # disable hypervisor extension + # if your system does not support this feature + h_hypervisor: + value: 0 + coherency: + cacheline_states: + scenario_length: + # minimize scenario length + min: 1 + max: 1 + weights: + + # turn of SoC level Dekker and Atomics tests + pss_top.soc: 0 + + # turn off RV64 opcode tests + pss_top.rv64.rv64Ops: 0 + + # turn off memory workload tests + # pss_top.workload.entry: 0 + + # turn of various cache state tests + pss_top.readOnly.entry: 0 + pss_top.writeOnly.entry: 0 + pss_top.writeRead.entry: 0 + pss_top.readWrite.entry: 0 + pss_top.moesiStates.entry: 0 + pss_top.tilelinkStates.entry: 0 + + # turn of micro loop feature + pss_top.microLoops.microLoopScn: 0 + + # turn off MMU Tests + pss_top.rvMmu.rvMmuOp: 0 + diff --git a/tests/breker/constraints/microloops.yaml b/tests/breker/constraints/microloops.yaml new file mode 100644 index 000000000..b8502b0f6 --- /dev/null +++ b/tests/breker/constraints/microloops.yaml @@ -0,0 +1,72 @@ +trek: + svip: + global: + scenarios: + scenario_count: + # primary control for length of test + value: 10 + riscv: + extensions: + # disable hypervisor extension by setting value to 0 + # if your system does not support this feature + h_hypervisor: + value: 0 + + weights: + # disable testing of Sv57: Page-Based 57-bit Virtual-Memory System + # if your system does not support this feature + # pss_top.rvMmu.rvMmuOp.RvMmuOp::satpModeSv57: 0 + + # qemu-riscv64 does not ignore writes to WARL bits in hgatp + # Comment out the next line unless your design has this issue + # pss_top.rvMmu.rvMmuOp.RvMmuOp::writeHgatpWarl : 0 + + + # turn off MMU Tests + pss_top.rvMmu.rvMmuOp: 0 + + # turn off rvMmu Self-modifying-code (SMC) scenarios + # pss_top.rvMmu.rvMmuOp.RvMmuOp::doExec: 0 + + # turn off rvMmuOp page fault cases + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteAClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteD1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteR1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU0SetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteVClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteW1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteX1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteASetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteDSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteUSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteVClrErr: 0 + + # turn of SoC level Dekker and Atomics tests + pss_top.soc: 0 + + + # turn off RV64 opcode tests + pss_top.rv64.rv64Ops: 0 + + # turn off software interrupts + pss_top.rvMswi.rvMswiOp: 0 + + + # turn off all coherency tests + # pss_top.coherency: 0 + + # turn off coherency memory workload tests + pss_top.workload.entry: 0 + + # turn of various coherency cache state tests + pss_top.readOnly.entry: 0 + pss_top.writeOnly.entry: 0 + pss_top.writeRead.entry: 0 + pss_top.readWrite.entry: 0 + pss_top.moesiStates.entry: 0 + pss_top.tilelinkStates.entry: 0 + + # turn of coherency micro loop feature + # these scenarios take a while to run + # pss_top.microLoops.microLoopScn: 0 diff --git a/tests/breker/constraints/mmu.yaml b/tests/breker/constraints/mmu.yaml new file mode 100644 index 000000000..2b2dbac44 --- /dev/null +++ b/tests/breker/constraints/mmu.yaml @@ -0,0 +1,72 @@ +trek: + svip: + global: + scenarios: + scenario_count: + # primary control for length of test + value: 10 + riscv: + extensions: + # disable hypervisor extension by setting value to 0 + # if your system does not support this feature + h_hypervisor: + value: 0 + + weights: + # disable testing of Sv57: Page-Based 57-bit Virtual-Memory System + # if your system does not support this feature + pss_top.rvMmu.rvMmuOp.RvMmuOp::satpModeSv57: 0 + + # qemu-riscv64 does not ignore writes to WARL bits in hgatp + # Comment out the next line unless your design has this issue + # pss_top.rvMmu.rvMmuOp.RvMmuOp::writeHgatpWarl : 0 + + + # turn off MMU Tests + # pss_top.rvMmu.rvMmuOp: 0 + + # turn off rvMmu Self-modifying-code (SMC) scenarios + # pss_top.rvMmu.rvMmuOp.RvMmuOp::doExec: 0 + + # turn off rvMmuOp page fault cases + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteAClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteD1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteR1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU0SetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteVClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteW1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteX1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteASetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteDSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteUSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteVClrErr: 0 + + # turn of SoC level Dekker and Atomics tests + pss_top.soc: 0 + + + # turn off RV64 opcode tests + pss_top.rv64.rv64Ops: 0 + + # turn off software interrupts + pss_top.rvMswi.rvMswiOp: 0 + + + # turn off all coherency tests + pss_top.coherency: 0 + + # turn off coherency memory workload tests + # pss_top.workload.entry: 0 + + # turn of various coherency cache state tests + # pss_top.readOnly.entry: 0 + # pss_top.writeOnly.entry: 0 + # pss_top.writeRead.entry: 0 + # pss_top.readWrite.entry: 0 + # pss_top.moesiStates.entry: 0 + # pss_top.tilelinkStates.entry: 0 + + # turn of coherency micro loop feature + # these scenarios take a while to run + # pss_top.microLoops.microLoopScn: 0 diff --git a/tests/breker/constraints/riscv.yaml b/tests/breker/constraints/riscv.yaml new file mode 100644 index 000000000..7e8a6c0d1 --- /dev/null +++ b/tests/breker/constraints/riscv.yaml @@ -0,0 +1,72 @@ +trek: + svip: + global: + scenarios: + scenario_count: + # primary control for length of test + value: 10 + riscv: + extensions: + # disable hypervisor extension by setting value to 0 + # if your system does not support this feature + h_hypervisor: + value: 0 + + weights: + # disable testing of Sv57: Page-Based 57-bit Virtual-Memory System + # if your system does not support this feature + # pss_top.rvMmu.rvMmuOp.RvMmuOp::satpModeSv57: 0 + + # qemu-riscv64 does not ignore writes to WARL bits in hgatp + # Comment out the next line unless your design has this issue + # pss_top.rvMmu.rvMmuOp.RvMmuOp::writeHgatpWarl : 0 + + + # turn off MMU Tests + pss_top.rvMmu.rvMmuOp: 0 + + # turn off rvMmu Self-modifying-code (SMC) scenarios + # pss_top.rvMmu.rvMmuOp.RvMmuOp::doExec: 0 + + # turn off rvMmuOp page fault cases + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteAClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteD1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteR1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU0SetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteVClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteW1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteX1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteASetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteDSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteUSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteVClrErr: 0 + + # turn of SoC level Dekker and Atomics tests + pss_top.soc: 0 + + + # turn off RV64 opcode tests + # pss_top.rv64.rv64Ops: 0 + + # turn off software interrupts + # pss_top.rvMswi.rvMswiOp: 0 + + + # turn off all coherency tests + pss_top.coherency: 0 + + # turn off coherency memory workload tests + # pss_top.workload.entry: 0 + + # turn of various coherency cache state tests + # pss_top.readOnly.entry: 0 + # pss_top.writeOnly.entry: 0 + # pss_top.writeRead.entry: 0 + # pss_top.readWrite.entry: 0 + # pss_top.moesiStates.entry: 0 + # pss_top.tilelinkStates.entry: 0 + + # turn of coherency micro loop feature + # these scenarios take a while to run + # pss_top.microLoops.microLoopScn: 0 diff --git a/tests/breker/constraints/test.yaml b/tests/breker/constraints/test.yaml new file mode 100644 index 000000000..fdf3e294b --- /dev/null +++ b/tests/breker/constraints/test.yaml @@ -0,0 +1,72 @@ +trek: + svip: + global: + scenarios: + scenario_count: + # primary control for length of test + value: 10 + riscv: + extensions: + # disable hypervisor extension by setting value to 0 + # if your system does not support this feature + h_hypervisor: + value: 0 + + # weights: + # disable testing of Sv57: Page-Based 57-bit Virtual-Memory System + # if your system does not support this feature + # pss_top.rvMmu.rvMmuOp.RvMmuOp::satpModeSv57: 0 + + # qemu-riscv64 does not ignore writes to WARL bits in hgatp + # Comment out the next line unless your design has this issue + # pss_top.rvMmu.rvMmuOp.RvMmuOp::writeHgatpWarl : 0 + + + # turn off MMU Tests + # pss_top.rvMmu.rvMmuOp: 0 + + # turn off rvMmu Self-modifying-code (SMC) scenarios + # pss_top.rvMmu.rvMmuOp.RvMmuOp::doExec: 0 + + # turn off rvMmuOp page fault cases + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteAClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteD1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteR1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU0SetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteVClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteW1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteX1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteASetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteDSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteUSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteVClrErr: 0 + + # turn of SoC level Dekker and Atomics tests + # pss_top.soc: 0 + + + # turn off RV64 opcode tests + # pss_top.rv64.rv64Ops: 0 + + # turn off software interrupts + # pss_top.rvMswi.rvMswiOp: 0 + + + # turn off all coherency tests + # pss_top.coherency: 0 + + # turn off coherency memory workload tests + # pss_top.workload.entry: 0 + + # turn of various coherency cache state tests + # pss_top.readOnly.entry: 0 + # pss_top.writeOnly.entry: 0 + # pss_top.writeRead.entry: 0 + # pss_top.readWrite.entry: 0 + # pss_top.moesiStates.entry: 0 + # pss_top.tilelinkStates.entry: 0 + + # turn of coherency micro loop feature + # these scenarios take a while to run + # pss_top.microLoops.microLoopScn: 0 diff --git a/tests/breker/constraints/workload.yaml b/tests/breker/constraints/workload.yaml new file mode 100644 index 000000000..61f641ea5 --- /dev/null +++ b/tests/breker/constraints/workload.yaml @@ -0,0 +1,72 @@ +trek: + svip: + global: + scenarios: + scenario_count: + # primary control for length of test + value: 10 + riscv: + extensions: + # disable hypervisor extension by setting value to 0 + # if your system does not support this feature + h_hypervisor: + value: 0 + + weights: + # disable testing of Sv57: Page-Based 57-bit Virtual-Memory System + # if your system does not support this feature + # pss_top.rvMmu.rvMmuOp.RvMmuOp::satpModeSv57: 0 + + # qemu-riscv64 does not ignore writes to WARL bits in hgatp + # Comment out the next line unless your design has this issue + # pss_top.rvMmu.rvMmuOp.RvMmuOp::writeHgatpWarl : 0 + + + # turn off MMU Tests + pss_top.rvMmu.rvMmuOp: 0 + + # turn off rvMmu Self-modifying-code (SMC) scenarios + # pss_top.rvMmu.rvMmuOp.RvMmuOp::doExec: 0 + + # turn off rvMmuOp page fault cases + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteAClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteD1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteR1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU0SetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteU1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteVClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteW1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::leafPteX1ClrErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteASetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteDSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteUSetErr: 0 + # pss_top.rvMmu.rvMmuOp.RvMmuOp::nonLeafPteVClrErr: 0 + + # turn of SoC level Dekker and Atomics tests + pss_top.soc: 0 + + + # turn off RV64 opcode tests + pss_top.rv64.rv64Ops: 0 + + # turn off software interrupts + pss_top.rvMswi.rvMswiOp: 0 + + + # turn off all coherency tests + # pss_top.coherency: 0 + + # turn off coherency memory workload tests + # pss_top.workload.entry: 0 + + # turn of various coherency cache state tests + pss_top.readOnly.entry: 0 + pss_top.writeOnly.entry: 0 + pss_top.writeRead.entry: 0 + pss_top.readWrite.entry: 0 + pss_top.moesiStates.entry: 0 + pss_top.tilelinkStates.entry: 0 + + # turn of coherency micro loop feature + # these scenarios take a while to run + pss_top.microLoops.microLoopScn: 0 diff --git a/tests/riscof/spike/spike_rv32gc_isa.yaml b/tests/riscof/spike/spike_rv32gc_isa.yaml index 0b07212cc..435d6cf46 100644 --- a/tests/riscof/spike/spike_rv32gc_isa.yaml +++ b/tests/riscof/spike/spike_rv32gc_isa.yaml @@ -1,12 +1,12 @@ hart_ids: [0] hart0: # ISA: RV32IMAFDCZicboz_Zicsr_Zicond_Zifencei_Zfa_Zfh_Zca_Zcb_Zba_Zbb_Zbc_Zbkb_Zbkc_Zbkx_Zbs_Zknd_Zkne_Zknh - ISA: RV32IMAFDCZicsr_Zicond_Zifencei_Zfa_Zfh_Zca_Zcb_Zba_Zbb_Zbc_Zbkb_Zbkc_Zbkx_Zbs_Zknd_Zkne_Zknh + ISA: RV32IMAFDCSUZicsr_Zicond_Zifencei_Zfa_Zfh_Zca_Zcb_Zcd_Zcf_Zba_Zbb_Zbc_Zbkb_Zbkc_Zbkx_Zbs_Zknd_Zkne_Zknh physical_addr_sz: 32 User_Spec_Version: '2.3' supported_xlen: [32] misa: - reset-val: 0x4000112D + reset-val: 0x4014112D rv32: accessible: true mxl: @@ -24,6 +24,6 @@ hart0: warl: dependency_fields: [] legal: - - extensions[25:0] bitmask [0x000112D, 0x0000000] + - extensions[25:0] bitmask [0x014112D, 0x0000000] wr_illegal: - - Unchanged \ No newline at end of file + - Unchanged diff --git a/tests/riscof/spike/spike_rv64gc_isa.yaml b/tests/riscof/spike/spike_rv64gc_isa.yaml index 0a939e001..1ab1afb8a 100644 --- a/tests/riscof/spike/spike_rv64gc_isa.yaml +++ b/tests/riscof/spike/spike_rv64gc_isa.yaml @@ -1,7 +1,7 @@ hart_ids: [0] hart0: # ISA: RV64IMAFDQCSUZicboz_Zicsr_Zicond_Zifencei_Zfa_Zfh_Zca_Zcb_Zba_Zbb_Zbc_Zbkb_Zbkc_Zbkx_Zbs_Zknd_Zkne_Zknh - ISA: RV64IMAFDCSUZicsr_Zicond_Zifencei_Zfa_Zfh_Zca_Zcb_Zba_Zbb_Zbc_Zbkb_Zbkc_Zbkx_Zbs_Zknd_Zkne_Zknh + ISA: RV64IMAFDCSUZicsr_Zicond_Zifencei_Zfa_Zfh_Zca_Zcb_Zcd_Zba_Zbb_Zbc_Zbkb_Zbkc_Zbkx_Zbs_Zknd_Zkne_Zknh # ISA: RV64IMAFDQCSUZicsr_Zicond_Zifencei_Zfa_Zfh_Zca_Zcb_Zba_Zbb_Zbc_Zbkb_Zbkc_Zbkx_Zbs_Zknd_Zkne_Zknh physical_addr_sz: 56 User_Spec_Version: '2.3' diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/references/WALLY-csr-permission-s-01.reference_output b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/references/WALLY-csr-permission-s-01.reference_output index 0a35f7ca0..71ecd9fd2 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/references/WALLY-csr-permission-s-01.reference_output +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/references/WALLY-csr-permission-s-01.reference_output @@ -1,4 +1,13 @@ 0000000b # Test 5.2.3.6: ecall from going to S mode from M mode +00000002 # S mode write to mstatush with illegal instruction +00000002 # S mode read from mstatush with illegal instruction +00000bad +00000002 # S mode write to menvcfgh with illegal instruction +00000002 # S mode read from menvcfgh with illegal instruction +00000bad +00000002 # S mode write to mseccfgh with illegal instruction +00000002 # S mode read from mseccfgh with illegal instruction +00000bad 00000002 # S mode write to pmpcfg1 with illegal instruction 00000002 # S mode read from pmpcfg1 with illegal instruction 00000bad diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-TEST-LIB-32.h b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-TEST-LIB-32.h index f34ca6363..6f7fc8a47 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-TEST-LIB-32.h +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-TEST-LIB-32.h @@ -117,7 +117,7 @@ cause_store_acc: ret cause_ecall: - // *** ASSUMES you have already gone to the mode you need to call this from. + // ASSUMES you have already gone to the mode you need to call this from. ecall ret @@ -319,7 +319,7 @@ end_trap_triggers: .align 6 trap_handler_\MODE\(): j trap_unvectored_\MODE\() // for the unvectored implimentation: jump past this table of addresses into the actual handler - // *** ASSUMES that a cause value of 0 for an interrupt is unimplemented + // ASSUMES that a cause value of 0 for an interrupt is unimplemented // otherwise, a vectored interrupt handler should jump to trap_handler_\MODE\() + 4 * Interrupt cause code // No matter the value of VECTORED, exceptions (not interrupts) are handled in an unvecotred way j s_soft_vector_\MODE\() // 1: instruction access fault // the zero spot is taken up by the instruction to skip this table. @@ -337,7 +337,7 @@ trap_handler_\MODE\(): trap_unvectored_\MODE\(): csrrw sp, \MODE\()scratch, sp // swap sp and scratch so we can use the scratch stack in the trap hanler without messing up sp's value or the stack itself. - // *** NOTE: this means that nested traps will be screwed up but they shouldn't happen in any of these tests + // NOTE: this means that nested traps will be screwed up but they shouldn't happen in any of these tests trap_stack_saved_\MODE\(): // jump here after handling vectored interupt since we already switch sp and scratch there // save registers on stack before using @@ -707,7 +707,7 @@ trap_handler_end_\MODE\(): // place to jump to so we can skip the trap handler a .endm .macro READ32 ADDR - // Attempt read at ADDR. Write the value read out to the output *** Consider adding specific test for reading a non known value + // Attempt read at ADDR. Write the value read out to the output. Consider adding specific test for reading a non known value // Success outputs: // value read out from ADDR // Fault outputs: @@ -751,7 +751,6 @@ trap_handler_end_\MODE\(): // place to jump to so we can skip the trap handler a // 0x9: test called from S mode // 0xB: test called from M mode // they generally do not fault or cause issues as long as these modes are enabled -// *** add functionality to check if modes are enabled before jumping? maybe cause a fault if not? .macro GOTO_M_MODE RETURN_VPN=0x0 RETURN_PAGETYPE=0x0 li a0, 2 // determine trap handler behavior (go to machine mode) @@ -807,7 +806,7 @@ trap_handler_end_\MODE\(): // place to jump to so we can skip the trap handler a // value read back out from CSR after writing // Fault outputs: // The previous CSR value before write attempt - // *** Most likely 0x2, the mcause for illegal instruction if we don't have write or read access + // Most likely 0x2, the mcause for illegal instruction if we don't have write or read access li t5, 0xbad // load bad value to be overwritten by csrr li t4, \VAL csrw \CSR\(), t4 diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-csr-permission-s-01.S b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-csr-permission-s-01.S index 7194b59a4..a222a37a5 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-csr-permission-s-01.S +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-csr-permission-s-01.S @@ -32,18 +32,15 @@ TRAP_HANDLER m # Test 5.2.3.6: Test that all the machine mode CSR's are innaccessible for reads and writes in S mode. -# *** several of these appear not to be implemented in the assembler? -# I get "assembler messages: error: unkown CSR" with many of them. - GOTO_S_MODE 0x0, 0x0 # Attempt to write 0x111 to each of these CSRs and read the value back # should result in an illegal instruction for the write and read, respectively # High-bit versions storing the upper 32 bits of some CSRs for RV32 -# WRITE_READ_CSR mstatush 0x111 # *** these appear not to be implemented in GCC -# WRITE_READ_CSR menvcfgh 0x111 -# WRITE_READ_CSR mseccfgh 0x111 +WRITE_READ_CSR mstatush 0x111 +WRITE_READ_CSR menvcfgh 0x111 +WRITE_READ_CSR mseccfgh 0x111 WRITE_READ_CSR pmpcfg1 0x111 WRITE_READ_CSR pmpcfg3 0x111 WRITE_READ_CSR mcycleh 0x111 diff --git a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-pma-01.S b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-pma-01.S index 0c1c7bbb2..2c58b0db8 100644 --- a/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-pma-01.S +++ b/tests/wally-riscv-arch-test/riscv-test-suite/rv32i_m/privilege/src/WALLY-pma-01.S @@ -66,7 +66,7 @@ test_cases: # --------------------------------------------------------------------------------------------- # =========== test 12.3.2.1 PMAs: Memory Access Size, Type protection test =========== -# Tests memory load, store, and execute permissions based on table 12.3 in the *** riscv book, copied below +# Tests memory load, store, and execute permissions # | Region | Base Address | Read widths | R | W | X | Cacheable | Idempotent | Atomic | # | ROM | 0x1000 | Any | YES | NO | YES | YES | NO | NO |