hw: get rid of global makefiles specific to hw

This commit mostly removes the globally visible NR_OF_CPUS define
from the global makefile specifiers defined in the base-hw repository.
Whereever necessary it adds platform specific makefiles to the base
repository when they were missing.

Ref #2190
This commit is contained in:
Stefan Kalkowski 2017-01-02 15:29:21 +01:00 committed by Norman Feske
parent e2a23a0ab3
commit 3886686b83
36 changed files with 108 additions and 384 deletions

View File

@ -1,82 +0,0 @@
======================================
How to use Genode directly on hardware
======================================
Martin Stein
Abstract
########
This document provides brief instructions about building and booting Genode
with the 'base-hw' repository. The 'base-hw' repository provides an
implementation of the Genode core that runs directly on hardware, without an
intermediate third-party kernel. It supports a limited range of target boards.
For further target specific informations, have a look at
'<GENODE_DIR>/repos/base-hw/doc/<TARGET>.txt' where '<TARGET>'
is one of the following:
'panda' - PandaBoard A2
Prerequisites
#############
To build Genode you need to download and install the tool-chain used by Genode.
Have a look at this page:
:[http://genode.org/download/tool-chain]:
Genode tool-chain
If you want to use the so called run-scripts in Genode, a mechanism that
automates building, integration and testing of components, you have to install
the following, additional package:
! apt-get install expect
If you want to examine the examples that are given in this document, you will
need Qemu for ARM emulations to run them on your machine:
! apt-get install qemu-kvm-extras
Building Genode to run directly on hardware
###########################################
The current version of the Genode source code is available at this page:
:http://genode.org/download/repository:
Donwloading the Genode source code
Now, go to a directory where you want the Genode build directory to
remain. Use the helper script in the 'tool' directory of the Genode
source tree to create the initial build environment. You need to state the
build directory you want to create, and the hardware target to run Genode on.
! <genode-dir>/tool/create_builddir hw_<TARGET> BUILD_DIR=<build-dir>
Where '<TARGET>' is one of the following, depending on the hardware system
you aim at:
'arndale' - Arndale (Exynos5) board
'imx53' - i.MX53 based board
'imx53_tz' - i.MX53 based board using TrustZone
'odroid_xu' - Odroid XU (Exynos5) board
'panda' - PandaBoard A2
'pbxa9' - Realview PBXA9
'rpi' - Raspberry PI
Please notice that not all of these targets might be emulateable with Qemu.
To be on the safe side use 'pbxa9'. For informations about how to boot
'base-hw' images on real hardware have a look at
'<GENODE_DIR>/repos/base-hw/doc/<TARGET>.txt'.
Now, go to the newly created build directory make a test:
! cd <build-dir>
! make run/nested_init
This will build the Genode components that are needed to run a simple test
with 3 nested init programs, and than execute it via Qemu.

View File

@ -34,7 +34,7 @@ the following commands:
The next step is to create a build directory prepared for compiling Genode for
Muen. Use the create_builddir tool for this task:
! ./tool/create_builddir hw_x86_64_muen
! ./tool/create_builddir muen
You can customize Muen system by changing the --image-muen RUN_OPT parameters
in the 'build.conf' file in the build directory under build/etc.
@ -66,7 +66,7 @@ generate a new configuration.
You can now change to the created build directory and compile a Genode system:
! cd build/hw_x86_64_muen/
! cd build/muen/
! make run/printf
Once the build is done, the Muen system which contains the Genode scenario is

View File

@ -0,0 +1,10 @@
SPECS += genode hw
ifeq ($(filter-out $(SPECS),x86_64),)
SPECS += pci ps2 vesa framebuffer
ifneq ($(filter-out $(SPECS),muen),)
SPECS += acpi
endif
endif

View File

@ -60,6 +60,9 @@ SRC_CC += capability.cc
# provide Genode version information
include $(BASE_DIR)/src/core/version.inc
# configure multiprocessor mode
CC_OPT += -Wa,--defsym -Wa,NR_OF_CPUS=$(NR_OF_CPUS) -DNR_OF_CPUS=$(NR_OF_CPUS)
# declare source locations
vpath % $(BASE_DIR)/../base-hw/src/core
vpath % $(BASE_DIR)/src/core

View File

@ -20,5 +20,7 @@ SRC_CC += spec/arm_v7/virtualization/vm_session_component.cc
# add assembly sources
SRC_S += spec/arm_v7/virtualization/mode_transition.s
NR_OF_CPUS = 2
# include less specific configuration
include $(REP_DIR)/lib/mk/spec/exynos5/core-hw.inc

View File

@ -14,5 +14,7 @@ SRC_CC += spec/arm/kernel/cpu.cc
SRC_CC += spec/arm/kernel/thread_update_pd.cc
SRC_CC += kernel/kernel.cc
NR_OF_CPUS = 1
# include less specific configuration
include $(BASE_DIR)/../base-hw/lib/mk/spec/arm_v7/core-hw.inc

View File

@ -14,5 +14,7 @@ INC_DIR += $(REP_DIR)/src/core/include/spec/imx
SRC_CC += platform_services.cc
SRC_CC += spec/imx6/platform_support.cc
NR_OF_CPUS = 1
# include less specific configuration
include $(REP_DIR)/lib/mk/spec/cortex_a9/core-hw.inc

View File

@ -11,5 +11,7 @@ SRC_CC += spec/arm_gic/pic.cc
SRC_CC += kernel/vm_thread_off.cc
SRC_CC += platform_services.cc
NR_OF_CPUS = 1
# include less specific configuration
include $(REP_DIR)/lib/mk/spec/exynos5/core-hw.inc

View File

@ -13,5 +13,7 @@ INC_DIR += $(REP_DIR)/src/core/include/spec/tl16c750
SRC_CC += platform_services.cc
SRC_CC += spec/panda/platform_support.cc
NR_OF_CPUS += 2
# include less specific configuration
include $(REP_DIR)/lib/mk/spec/cortex_a9/core-hw.inc

View File

@ -14,5 +14,7 @@ SRC_CC += platform_services.cc
SRC_CC += spec/pbxa9/platform_support.cc
SRC_CC += spec/pbxa9/board.cc
NR_OF_CPUS = 1
# include less specific configuration
include $(REP_DIR)/lib/mk/spec/cortex_a9/core-hw.inc

View File

@ -18,6 +18,7 @@ SRC_S += spec/riscv/mode_transition.s
SRC_S += spec/riscv/kernel/crt0.s
SRC_S += spec/riscv/crt0.s
NR_OF_CPUS = 1
# include less specific configuration
include $(REP_DIR)/lib/mk/core-hw.inc

View File

@ -12,5 +12,7 @@ INC_DIR += $(REP_DIR)/src/core/include/spec/pl011
SRC_CC += platform_services.cc
SRC_CC += spec/rpi/platform_support.cc
NR_OF_CPUS = 1
# include less specific configuration
include $(REP_DIR)/lib/mk/spec/arm_v6/core-hw.inc

View File

@ -29,5 +29,7 @@ SRC_CC += spec/x86_64/kernel/thread.cc
SRC_CC += spec/x86_64/platform_support_common.cc
SRC_CC += spec/x86_64/tss.cc
NR_OF_CPUS = 1
# include less specific configuration
include $(BASE_DIR)/../base-hw/lib/mk/core-hw.inc

View File

@ -8,5 +8,7 @@
INC_DIR += $(REP_DIR)/src/core/include/spec/xilinx_uartps_0
INC_DIR += $(REP_DIR)/src/core/include/spec/zynq_qemu
NR_OF_CPUS = 1
# include less specific configuration
include $(REP_DIR)/lib/mk/spec/zynq/core-hw.inc

View File

@ -1,8 +0,0 @@
#
# \brief Offer build configurations that are specific to base-hw
# \author Martin Stein
# \date 2014-02-26
#
# configure multiprocessor mode
CC_OPT += -Wa,--defsym -Wa,NR_OF_CPUS=$(NR_OF_CPUS) -DNR_OF_CPUS=$(NR_OF_CPUS)

View File

@ -1,18 +0,0 @@
#
# \brief Offer build configurations that are specific to base-hw and Arndale
# \author Martin Stein
# \date 2013-01-09
#
# denote wich specs are also fullfilled by this spec
SPECS += hw arndale
# configure multiprocessor mode
NR_OF_CPUS = 2
# add repository relative paths
REP_INC_DIR += include/exynos5_uart
# include implied specs
include $(call select_from_repositories,mk/spec/hw.mk)
include $(call select_from_repositories,mk/spec/arndale.mk)

View File

@ -1,11 +0,0 @@
#
# \brief Build configurations for 'base-hw' on Freescale i.MX53
# \author Stefan Kalkowski
# \date 2012-10-24
#
# denote wich specs are also fullfilled by this spec
SPECS += hw_imx53_qsb trustzone
# include implied specs
include $(call select_from_repositories,mk/spec/hw_imx53_qsb.mk)

View File

@ -1,18 +0,0 @@
#
# \brief Offer build configurations that are specific to base-hw and Odroid XU
# \author Stefan Kalkowski
# \date 2013-11-25
#
# denote wich specs are also fullfilled by this spec
SPECS += hw odroid_xu
# configure multiprocessor mode
NR_OF_CPUS = 1
# add repository relative paths
REP_INC_DIR += include/exynos5_uart
# include implied specs
include $(call select_from_repositories,mk/spec/hw.mk)
include $(call select_from_repositories,mk/spec/odroid_xu.mk)

View File

@ -1,15 +0,0 @@
#
# \brief Offer build configurations that are specific to base-hw and Pandaboard A2
# \author Martin Stein
# \date 2011-12-20
#
# denote wich specs are also fullfilled by this spec
SPECS += hw panda
# configure multiprocessor mode
NR_OF_CPUS = 2
# include implied specs
include $(call select_from_repositories,mk/spec/hw.mk)
include $(call select_from_repositories,mk/spec/panda.mk)

View File

@ -1,15 +0,0 @@
#
# \brief Offer build configurations that are specific to base-hw and PBXA9
# \author Martin Stein
# \date 2011-12-20
#
# denote wich specs are also fullfilled by this spec
SPECS += hw pbxa9
# configure multiprocessor mode
NR_OF_CPUS = 1
# include implied specs
include $(call select_from_repositories,mk/spec/hw.mk)
include $(call select_from_repositories,mk/spec/pbxa9.mk)

View File

@ -1,6 +0,0 @@
SPECS += hw riscv platform_riscv 64bit
NR_OF_CPUS = 1
REP_INC_DIR += include/spec/riscv
include $(call select_from_repositories,mk/spec/64bit.mk)
include $(call select_from_repositories,mk/spec/hw.mk)

View File

@ -1,15 +0,0 @@
#
# \brief Build configurations specific to base-hw and Raspberry Pi
# \author Norman Feske
# \date 2013-04-05
#
# denote wich specs are also fullfilled by this spec
SPECS += hw rpi
# configure multiprocessor mode
NR_OF_CPUS = 1
# include implied specs
include $(call select_from_repositories,mk/spec/hw.mk)
include $(call select_from_repositories,mk/spec/rpi.mk)

View File

@ -1,18 +0,0 @@
#
# \brief Build configurations for 'base-hw' on USB Armory
# \author Martin Stein
# \date 2015-02-24
#
# denote wich specs are also fullfilled by this spec
SPECS += hw usb_armory imx53 trustzone
# configure multiprocessor mode
NR_OF_CPUS = 1
# add repository relative include paths
REP_INC_DIR += include/spec/usb_armory
# include implied specs
include $(call select_from_repositories,mk/spec/hw.mk)
include $(call select_from_repositories,mk/spec/imx53.mk)

View File

@ -1,17 +0,0 @@
#
# \brief Build configurations for 'base-hw' on WandBoard Quad
# \author Nikolay Golikov <nik@ksyslabs.org>
# \author Josef Soentgen
# \author Martin Stein
# \date 2014-02-25
#
# denote wich specs are also fullfilled by this spec
SPECS += hw imx6
# configure multiprocessor mode
NR_OF_CPUS = 1
# include implied specs
include $(call select_from_repositories,mk/spec/hw.mk)
include $(call select_from_repositories,mk/spec/imx6.mk)

View File

@ -1,16 +0,0 @@
#
# \brief Offer build configurations that are specific to base-hw and x86_64
# \author Martin Stein
# \date 2011-12-20
#
# denote wich specs are also fullfilled by this spec
SPECS += hw x86_64
SPECS += pci ps2 vesa framebuffer
# configure multiprocessor mode
NR_OF_CPUS = 1
# include implied specs
include $(call select_from_repositories,mk/spec/hw.mk)
include $(call select_from_repositories,mk/spec/x86_64.mk)

View File

@ -1,11 +0,0 @@
#
# \brief Build configs that are specific to base-hw/x86_64 on the Muen SK
# \author Reto Buerki
# \date 2015-04-14
#
# denote wich specs are also fullfilled by this spec
SPECS += hw_x86_64 muen
# include implied specs
include $(call select_from_repositories,mk/spec/hw_x86_64.mk)

View File

@ -1,14 +0,0 @@
#
# \brief Offer build configurations that are specific to base-hw and Zynq
# \author Johannes Schlatow
# \date 2014-12-15
#
# denote which specs are also fulfilled by this spec
SPECS += hw
# configure multiprocessor mode
NR_OF_CPUS = 1
# include implied specs
include $(call select_from_repositories,mk/spec/hw.mk)

View File

@ -1,73 +0,0 @@
#
# \brief Test genode basics by starting init instances in a nested manner
# \author Martin Stein
# \date 2012-05-30
#
# build program images
build "core init"
# create directory where the boot files are written to
create_boot_directory
# create XML configuration for init
install_config {
<config verbose="yes">
<parent-provides>
<service name="ROM"/>
<service name="RAM"/>
<service name="PD"/>
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
</parent-provides>
<default-route><any-service><parent/></any-service></default-route>
<start name="init">
<resource name="RAM" quantum="10M"/>
<config verbose="yes">
<parent-provides>
<service name="ROM"/>
<service name="RAM"/>
<service name="PD"/>
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
</parent-provides>
<default-route><any-service><parent/></any-service></default-route>
<start name="init">
<resource name="RAM" quantum="5M"/>
<config verbose="yes">
<parent-provides>
<service name="ROM"/>
<service name="RAM"/>
<service name="PD"/>
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
</parent-provides>
<default-route>
<any-service><parent/></any-service>
</default-route>
</config>
</start>
</config>
</start>
</config>
}
# create single boot image from the compiled program images
build_boot_image "core ld.lib.so init"
# configure qemu to use 64 MB RAM and avoid GUI mode
append qemu_args " -m 64 -nographic"
# execute the test in qemu if the targeted platform is supported
if {[have_spec hw_pbxa9]} {
run_genode_until "No children to start.*\n" 10
puts "Test succeeded"
}

View File

@ -1,18 +1,14 @@
#
# \brief Build configurations for 'base-hw' on Freescale i.MX53
# \brief Build-system configurations specific to i.MX53 Quickstart Board
# \author Stefan Kalkowski
# \date 2012-10-24
# \date 2017-01-02
#
# denote wich specs are also fullfilled by this spec
SPECS += hw imx53_qsb imx53
# configure multiprocessor mode
NR_OF_CPUS = 1
SPECS += imx53
# add repository relative include paths
REP_INC_DIR += include/spec/imx53_qsb
# include implied specs
include $(call select_from_repositories,mk/spec/hw.mk)
include $(call select_from_repositories,mk/spec/imx53.mk)

View File

@ -7,7 +7,7 @@
#
# denote wich specs are also fullfilled by this spec
SPECS += cortex_a9 imx6 imx
SPECS += cortex_a9 imx
# add repository relative include paths
REP_INC_DIR += include/spec/imx6

View File

@ -0,0 +1,5 @@
SPECS += 64bit
REP_INC_DIR += include/spec/riscv
include $(call select_from_repositories,mk/spec/64bit.mk)

View File

@ -0,0 +1,14 @@
#
# \brief Build-system configurations specific to the USB armory
# \author Stefan Kalkowski
# \date 2017-01-02
#
# denote wich specs are also fullfilled by this spec
SPECS += imx53
# add repository relative include paths
REP_INC_DIR += include/spec/usb_armory
# include implied specs
include $(call select_from_repositories,mk/spec/imx53.mk)

View File

@ -0,0 +1,14 @@
#
# \brief Build-system configurations for Wandboard Quad
# \author Stefan Kalkowski
# \date 2017-01-02
#
# denote wich specs are also fullfilled by this spec
SPECS += imx6
# add repository relative include paths
REP_INC_DIR += include/spec/wand_quad
# include implied specs
include $(call select_from_repositories,mk/spec/imx6.mk)

View File

@ -31,7 +31,7 @@ usage:
@echo " 'wand_quad'"
@echo " 'odroid_xu'"
@echo " 'odroid_x2'"
@echo " 'zynq'"
@echo " 'zynq_qemu'"
@echo " 'muen'"
@echo " 'riscv_spike'"
@echo " 'linux'"
@ -62,7 +62,7 @@ usage:
@echo " 'hw_usb_armory' (use 'usb_armory')"
@echo " 'hw_wand_quad' (use 'wand_quad')"
@echo " 'hw_odroid_xu' (use 'odroid_xu')"
@echo " 'hw_zynq' (use 'zynq')"
@echo " 'hw_zynq' (use 'zynq_qemu')"
@echo " 'hw_x86_64_muen' (use 'muen')"
@echo " 'hw_riscv' (use 'riscv_spike')"
@echo " 'foc_odroid_x2' (use 'odroid_x2')"
@ -131,7 +131,7 @@ BUILD_CONF(usb_armory) := run_kernel_hw run_boot_dir repos
BUILD_CONF(wand_quad) := run_kernel_hw run_boot_dir repos
BUILD_CONF(odroid_xu) := run_kernel_hw run_boot_dir repos
BUILD_CONF(odroid_x2) := run_kernel_foc run_boot_dir repos
BUILD_CONF(zynq) := run_kernel_hw run_qemu run_opt_hw run_boot_dir qemu_opt_arm repos
BUILD_CONF(zynq_qemu) := run_kernel_hw run_qemu run_opt_hw run_boot_dir qemu_opt_arm repos
BUILD_CONF(muen) := run_kernel_hw run_opt_muen run_boot_dir repos
BUILD_CONF(riscv_spike) := run_kernel_hw run_opt_spike run_boot_dir repos
BUILD_CONF(linux) := run_kernel_linux repos
@ -162,7 +162,7 @@ BUILD_CONF(hw_imx53_qsb_tz) := ${BUILD_CONF(imx53_qsb_tz)}
BUILD_CONF(hw_usb_armory) := ${BUILD_CONF(usb_armory)}
BUILD_CONF(hw_wand_quad) := ${BUILD_CONF(wand_quad)}
BUILD_CONF(hw_odroid_xu) := ${BUILD_CONF(odroid_xu)}
BUILD_CONF(hw_zynq) := ${BUILD_CONF(zynq)}
BUILD_CONF(hw_zynq) := ${BUILD_CONF(zynq_qemu)}
BUILD_CONF(hw_x86_64_muen) := ${BUILD_CONF(muen)}
BUILD_CONF(hw_riscv) := ${BUILD_CONF(riscv_spike)}
BUILD_CONF(foc_odroid_x2) := ${BUILD_CONF(odroid_x2)}
@ -209,14 +209,14 @@ SPECS(panda) := panda
SPECS(rpi) := rpi
SPECS(arndale) := arndale
SPECS(imx53_qsb) := imx53_qsb
SPECS(imx53_qsb_tz) := imx53_qsb_tz
SPECS(usb_armory) := hw_usb_armory usb_armory
SPECS(wand_quad) := hw_wand_quad wand_quad
SPECS(odroid_xu) := hw_odroid_xu odroid_xu
SPECS(imx53_qsb_tz) := imx53_qsb trustzone
SPECS(usb_armory) := usb_armory
SPECS(wand_quad) := wand_quad
SPECS(odroid_xu) := odroid_xu
SPECS(odroid_x2) := foc_odroid_x2 odroid_x2
SPECS(zynq_qemu) := hw_zynq zynq_qemu
SPECS(muen) := hw_x86_64_muen muen x86_64
SPECS(riscv_spike) := hw_riscv riscv
SPECS(zynq_qemu) := zynq_qemu
SPECS(muen) := muen x86_64
SPECS(riscv_spike) := riscv
SPECS(linux) := $(HOST_SPEC_ARCH)
# deprecated platforms
@ -227,27 +227,27 @@ SPECS(okl4_x86) :=
SPECS(pistachio_x86) :=
SPECS(nova_x86_32) := nova_x86_32 x86_32 acpi
SPECS(nova_x86_64) := nova_x86_64 x86_64 acpi
SPECS(hw_x86_64) := hw_x86_64 x86_64 acpi
SPECS(hw_x86_64) := ${SPECS(x86_64)}
SPECS(foc_x86_32) := foc_x86_32 x86_32 acpi
SPECS(foc_x86_64) := foc_x86_64 x86_64 acpi
SPECS(sel4_x86_32) := sel4_x86_32 x86_32 acpi
SPECS(hw_panda) := hw_panda panda perf_counter
SPECS(hw_panda) := ${SPECS(panda)}
SPECS(foc_panda) := foc_panda panda
SPECS(hw_pbxa9) := hw_pbxa9 pbxa9 perf_counter
SPECS(hw_pbxa9) := ${SPECS(pbxa9)}
SPECS(foc_pbxa9) := foc_pbxa9 pbxa9
SPECS(hw_rpi) := hw_rpi rpi perf_counter
SPECS(hw_rpi) := ${SPECS(rpi)}
SPECS(foc_rpi) := foc_rpi rpi
SPECS(hw_arndale) := hw_arndale arndale perf_counter
SPECS(hw_arndale) := ${SPECS(arndale)}
SPECS(foc_arndale) := foc_arndale arndale
SPECS(hw_imx53_qsb) := hw_imx53_qsb imx53_qsb perf_counter
SPECS(hw_imx53_qsb) := ${SPECS(imx53_qsb)}
SPECS(foc_imx53) := foc_imx53 imx53_qsb
SPECS(hw_imx53_qsb_tz) := hw_imx53_qsb_tz imx53_qsb_tz perf_counter
SPECS(hw_usb_armory) := hw_usb_armory usb_armory perf_counter
SPECS(hw_wand_quad) := hw_wand_quad wand_quad perf_counter
SPECS(hw_odroid_xu) := hw_odroid_xu odroid_xu perf_counter
SPECS(hw_zynq) := hw_zynq zynq perf_counter zynq_qemu
SPECS(hw_x86_64_muen) := hw_x86_64_muen x86_64 muen
SPECS(hw_riscv) := hw_riscv riscv
SPECS(hw_imx53_qsb_tz) := ${SPECS(imx53_qsb_tz)}
SPECS(hw_usb_armory) := ${SPECS(usb_armory)}
SPECS(hw_wand_quad) := ${SPECS(wand_quad)}
SPECS(hw_odroid_xu) := ${SPECS(odroid_xu)}
SPECS(hw_zynq) := ${SPECS(zynq_qemu)}
SPECS(hw_x86_64_muen) := ${SPECS(muen)}
SPECS(hw_riscv) := ${SPECS(riscv_spike)}
SPECS(foc_odroid_x2) := foc_odroid_x2 odroid_x2
ifneq (${SPECS(${PLATFORM})},)

View File

@ -7,17 +7,17 @@ proc run_boot_string { } { return "\nkernel initialized" }
proc core_link_address { } {
if {[have_spec "hw_odroid_xu"]} { return "0x80000000" }
if {[have_spec "hw_pbxa9"]} { return "0x70000000" }
if {[have_spec "hw_usb_armory"]} { return "0x72000000" }
if {[have_spec "hw_x86_64"]} { return "0x00200000" }
if {[have_spec "hw_wand_quad"]} { return "0x10001000" }
if {[have_spec "hw_imx53_qsb"]} { return "0x70010000" }
if {[have_spec "hw_arndale"]} { return "0x80000000" }
if {[have_spec "hw_panda"]} { return "0x81000000" }
if {[have_spec "hw_zynq"]} { return "0x00100000" }
if {[have_spec "hw_riscv"]} { return "0x00000200" }
if {[have_spec "hw_rpi"]} { return "0x00800000" }
if {[have_spec "odroid_xu"]} { return "0x80000000" }
if {[have_spec "pbxa9"]} { return "0x70000000" }
if {[have_spec "usb_armory"]} { return "0x72000000" }
if {[have_spec "x86_64"]} { return "0x00200000" }
if {[have_spec "wand_quad"]} { return "0x10001000" }
if {[have_spec "imx53_qsb"]} { return "0x70010000" }
if {[have_spec "arndale"]} { return "0x80000000" }
if {[have_spec "panda"]} { return "0x81000000" }
if {[have_spec "zynq"]} { return "0x00100000" }
if {[have_spec "riscv"]} { return "0x00000200" }
if {[have_spec "rpi"]} { return "0x00800000" }
puts "unknown platform no linker address known"
exit -1
@ -30,7 +30,7 @@ proc core_link_address { } {
proc run_boot_dir {binaries} {
# generate static ACPI report for platform driver on Muen
if {[have_spec "hw_x86_64_muen"]} {
if {[have_spec "x86_64_muen"]} {
set fh [open "bin/acpi" "WRONLY CREAT TRUNC"]
puts $fh "<acpi><bdf start=\"0\" count=\"16384\" base=\"0xf8000000\"/></acpi>"
close $fh

View File

@ -5,7 +5,7 @@ source [genode_dir]/tool/run/spike.inc
proc is_spike_available { } {
if {[have_spec platform_riscv]} { return true }
if {[have_spec riscv]} { return true }
puts stderr "skipping execution because platform is not supported by spike"
return false