diff --git a/base-foc/config/panda.kernel b/base-foc/config/panda.kernel new file mode 100644 index 000000000..0cb9291b9 --- /dev/null +++ b/base-foc/config/panda.kernel @@ -0,0 +1,76 @@ +# +# Automatically generated make config: don't edit +# Fiasco configuration +# + +# +# Target configuration +# +# CONFIG_IA32 is not set +# CONFIG_AMD64 is not set +CONFIG_ARM=y +# CONFIG_PF_REALVIEW is not set +# CONFIG_PF_IMX is not set +# CONFIG_PF_S3C2410 is not set +# CONFIG_PF_TEGRA2 is not set +CONFIG_PF_OMAP=y +# CONFIG_PF_SA1100 is not set +# CONFIG_PF_XSCALE is not set +# CONFIG_PF_KIRKWOOD is not set +# CONFIG_PF_INTEGRATOR is not set +CONFIG_BSP_NAME="omap3" +# CONFIG_PF_OMAP3_EVM is not set +# CONFIG_PF_OMAP3_BEAGLEBOARD is not set +CONFIG_PF_OMAP4_PANDABOARD=y +CONFIG_ABI_VF=y +CONFIG_PF_ARM_MP_CAPABLE=y +CONFIG_CAN_ARM_CPU_CORTEX_A9=y +CONFIG_ARM_CORTEX_A9=y +# CONFIG_ARM_ALIGNMENT_CHECK is not set +# CONFIG_ARM_CA9_ENABLE_SWP is not set +CONFIG_FPU=y + +# +# Kernel options +# +CONFIG_CONTEXT_4K=y +# CONFIG_FINE_GRAINED_CPUTIME is not set +CONFIG_SCHED_FIXED_PRIO=y + +# +# Debugging +# +# CONFIG_INLINE is not set +# CONFIG_NDEBUG is not set +CONFIG_NO_FRAME_PTR=y +# CONFIG_STACK_DEPTH is not set +# CONFIG_LIST_ALLOC_SANITY is not set +CONFIG_SERIAL=y +CONFIG_JDB=y +CONFIG_JDB_LOGGING=y +CONFIG_JDB_DISASM=y +# CONFIG_JDB_GZIP is not set +# CONFIG_VMEM_ALLOC_TEST is not set +# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set +# CONFIG_WARN_NONE is not set +CONFIG_WARN_WARNING=y +# CONFIG_WARN_ANY is not set + +# +# Compiling +# +CONFIG_CC="gcc" +CONFIG_CXX="g++" +CONFIG_HOST_CC="gcc" +CONFIG_HOST_CXX="g++" +# CONFIG_VERBOSE is not set +# CONFIG_MAINTAINER_MODE is not set +CONFIG_LABEL="" +# CONFIG_EXPERIMENTAL is not set +CONFIG_PERF_CNT=y +CONFIG_BIT32=y +CONFIG_ARM_V7=y +CONFIG_ARM_V6PLUS=y +CONFIG_WARN_LEVEL=1 +CONFIG_XARCH="arm" +CONFIG_ABI="vf" diff --git a/base-foc/config/panda.user b/base-foc/config/panda.user new file mode 100644 index 000000000..28fe89486 --- /dev/null +++ b/base-foc/config/panda.user @@ -0,0 +1,63 @@ +# +# Automatically generated make config: don't edit +# L4Re Configuration +# +# CONFIG_BUILD_ARCH_x86 is not set +# CONFIG_BUILD_ARCH_amd64 is not set +CONFIG_BUILD_ARCH_arm=y +# CONFIG_BUILD_ARCH_ppc32 is not set +# CONFIG_BUILD_ARCH_sparc is not set +CONFIG_BUILD_ARCH="arm" +CONFIG_BUILD_ABI_l4f=y +CONFIG_BUILD_ABI="l4f" +CONFIG_CPU="armv7a" +# CONFIG_CPU_ARM_ARMV4 is not set +# CONFIG_CPU_ARM_ARMV4T is not set +# CONFIG_CPU_ARM_ARMV5 is not set +# CONFIG_CPU_ARM_ARMV5T is not set +# CONFIG_CPU_ARM_ARMV5TE is not set +# CONFIG_CPU_ARM_ARMV6 is not set +# CONFIG_CPU_ARM_ARMV6T2 is not set +# CONFIG_CPU_ARM_ARMV6ZK is not set +CONFIG_CPU_ARM_ARMV7A=y +# CONFIG_CPU_ARM_ARMV7R is not set +CONFIG_CPU_ARMV6KPLUS=y +CONFIG_CPU_ARMV6PLUS=y + +# +# Platform +# +# CONFIG_PLATFORM_ARM_integrator is not set +# CONFIG_PLATFORM_ARM_rv is not set +# CONFIG_PLATFORM_ARM_imx21 is not set +# CONFIG_PLATFORM_ARM_imx51 is not set +# CONFIG_PLATFORM_ARM_omap3evm is not set +# CONFIG_PLATFORM_ARM_beagleboard is not set +CONFIG_PLATFORM_ARM_pandaboard=y +# CONFIG_PLATFORM_ARM_tegra2 is not set +# CONFIG_PLATFORM_ARM_custom is not set +CONFIG_ARM_PLATFORM_TYPE="pandaboard" +CONFIG_RAM_BASE=0x80000000 +CONFIG_RAM_SIZE_MB=512 +# CONFIG_USE_DROPS_STDDIR is not set +# CONFIG_USE_DICE is not set +CONFIG_DROPS_STDDIR="/path/to/l4re" +CONFIG_DROPS_INSTDIR="/path/to/l4re" +CONFIG_BID_COLORED_PHASES=y + +# +# Building +# +CONFIG_YACC="yacc" +CONFIG_LEX="flex" +CONFIG_CTAGS="ctags" +CONFIG_ETAGS="etags" +CONFIG_HAVE_LDSO=y +CONFIG_INT_CPP_NAME_SWITCH=y +CONFIG_INT_LD_NAME_SWITCH=y +# CONFIG_BID_STRIP_PROGS is not set +# CONFIG_BID_GCC_OMIT_FP is not set +# CONFIG_BID_GENERATE_MAPFILE is not set +# CONFIG_BID_BUILD_DOC is not set +# CONFIG_RELEASE_MODE is not set +CONFIG_LABEL="" diff --git a/base-foc/lib/mk/platform_panda/platform.mk b/base-foc/lib/mk/platform_panda/platform.mk new file mode 100644 index 000000000..21f7e2288 --- /dev/null +++ b/base-foc/lib/mk/platform_panda/platform.mk @@ -0,0 +1,6 @@ +# +# Configuration for L4 build system (for kernel-bindings, sigma0, bootstrap). +# +L4_CONFIG = $(call select_from_repositories,config/panda.user) + +include $(REP_DIR)/lib/mk/arm/platform.inc diff --git a/base-foc/mk/spec-foc_panda.mk b/base-foc/mk/spec-foc_panda.mk new file mode 100644 index 000000000..4a0f70bf4 --- /dev/null +++ b/base-foc/mk/spec-foc_panda.mk @@ -0,0 +1,4 @@ +SPECS += foc_arm platform_panda + +include $(call select_from_repositories,mk/spec-platform_panda.mk) +include $(call select_from_repositories,mk/spec-foc_arm.mk) diff --git a/base-foc/src/core/panda/target.mk b/base-foc/src/core/panda/target.mk new file mode 100644 index 000000000..a5748bd52 --- /dev/null +++ b/base-foc/src/core/panda/target.mk @@ -0,0 +1,9 @@ +include $(PRG_DIR)/../target.inc + +LD_TEXT_ADDR = 0x80140000 + +REQUIRES += arm foc_panda +SRC_CC += arm/platform_arm.cc + +vpath io_port_session_component.cc $(GEN_CORE_DIR)/arm + diff --git a/base-foc/src/core/arm/target.mk b/base-foc/src/core/pbxa9/target.mk similarity index 82% rename from base-foc/src/core/arm/target.mk rename to base-foc/src/core/pbxa9/target.mk index 02f3eef9e..9fa8ad6d5 100644 --- a/base-foc/src/core/arm/target.mk +++ b/base-foc/src/core/pbxa9/target.mk @@ -1,6 +1,6 @@ include $(PRG_DIR)/../target.inc -REQUIRES += arm +REQUIRES += arm foc_pbxa9 SRC_CC += arm/platform_arm.cc vpath io_port_session_component.cc $(GEN_CORE_DIR)/arm diff --git a/base-foc/src/core/vea9x4/target.mk b/base-foc/src/core/vea9x4/target.mk new file mode 100644 index 000000000..d065229e8 --- /dev/null +++ b/base-foc/src/core/vea9x4/target.mk @@ -0,0 +1,7 @@ +include $(PRG_DIR)/../target.inc + +REQUIRES += arm foc_vea9x4 +SRC_CC += arm/platform_arm.cc + +vpath io_port_session_component.cc $(GEN_CORE_DIR)/arm + diff --git a/base-foc/src/kernel/panda/target.mk b/base-foc/src/kernel/panda/target.mk new file mode 100644 index 000000000..146e1f062 --- /dev/null +++ b/base-foc/src/kernel/panda/target.mk @@ -0,0 +1,4 @@ +REQUIRES = platform_panda +KERNEL_CONFIG = $(REP_DIR)/config/panda.kernel + +-include $(PRG_DIR)/../target.inc diff --git a/base/mk/spec-platform_panda.mk b/base/mk/spec-platform_panda.mk new file mode 100644 index 000000000..9d8aa2b72 --- /dev/null +++ b/base/mk/spec-platform_panda.mk @@ -0,0 +1,16 @@ +# +# Enable peripherals of the platform +# +SPECS += + +# +# Pull in CPU specifics +# +SPECS += arm_v7a + +# +# Add device parameters to include search path +# +REP_INC_DIR += include/platform/panda + +include $(call select_from_repositories,mk/spec-arm_v7a.mk) diff --git a/tool/builddir/etc/build.conf.foc_panda b/tool/builddir/etc/build.conf.foc_panda new file mode 100644 index 000000000..02565186d --- /dev/null +++ b/tool/builddir/etc/build.conf.foc_panda @@ -0,0 +1 @@ +REPOSITORIES = $(GENODE_DIR)/base-foc diff --git a/tool/create_builddir b/tool/create_builddir index 4f8ea0ea6..bb48624d2 100755 --- a/tool/create_builddir +++ b/tool/create_builddir @@ -18,10 +18,20 @@ usage: @echo @echo " create_builddir BUILD_DIR=" @echo - @echo " can be 'linux_x86', 'fiasco_x86', 'pistachio_x86'," - @echo " 'okl4_x86', 'nova_x86', 'codezero_vpb926'," - @echo " 'mb_s3a_starter_kit', foc_x86_32', 'foc_x86_64'," - @echo " 'foc_pbxa9', 'foc_vea9x4', or 'lx_hybrid_x86'" + @echo " can be:" + @echo " 'linux_x86'" + @echo " 'fiasco_x86'" + @echo " 'pistachio_x86'" + @echo " 'okl4_x86'" + @echo " 'nova_x86'" + @echo " 'codezero_vpb926'" + @echo " 'mb_s3a_starter_kit'" + @echo " 'foc_x86_32'" + @echo " 'foc_x86_64'" + @echo " 'foc_pbxa9'" + @echo " 'foc_vea9x4'" + @echo " 'foc_panda'" + @echo " 'lx_hybrid_x86'" @echo @echo " is the location of the build directory to create" @echo @@ -102,7 +112,7 @@ $(BUILD_DIR)/Makefile: # # Add 'ports-foc' repository to Fiasco.OC build directory # -ifeq ($(filter-out foc_x86_32 foc_pbxa9,$(PLATFORM)),) +ifeq ($(filter-out foc_x86_32 foc_pbxa9 foc_vea9x4 foc_panda,$(PLATFORM)),) $(BUILD_DIR)/etc/build.conf:: @cat $(BUILD_CONF).ports-foc >> $@ endif @@ -140,6 +150,9 @@ foc_pbxa9:: foc_vea9x4:: @echo "SPECS = genode foc_vea9x4" > $(BUILD_DIR)/etc/specs.conf +foc_panda:: + @echo "SPECS = genode foc_panda" > $(BUILD_DIR)/etc/specs.conf + codezero_vpb926:: @echo "CODEZERO_DIR = $(GENODE_DIR)/base-codezero/contrib" > $(BUILD_DIR)/etc/codezero.conf