diff --git a/repos/base-foc/config/sabre_lite.kernel b/repos/base-foc/config/sabre_lite.kernel new file mode 100644 index 000000000..85756bf6a --- /dev/null +++ b/repos/base-foc/config/sabre_lite.kernel @@ -0,0 +1,113 @@ +# +# Automatically generated file; DO NOT EDIT. +# Fiasco configuration +# +CONFIG_HAS_FPU_OPTION=y +CONFIG_HAS_VIRT_OBJ_SPACE_OPTION=y +CONFIG_HAS_SERIAL_OPTION=y +CONFIG_HAS_JDB_GZIP_OPTION=y +CONFIG_HAS_MP_OPTION=y + +# +# Target configuration +# +# CONFIG_IA32 is not set +# CONFIG_AMD64 is not set +CONFIG_ARM=y +# CONFIG_MIPS is not set +# CONFIG_PF_INTEGRATOR is not set +# CONFIG_PF_REALVIEW is not set +# CONFIG_PF_SUNXI is not set +# CONFIG_PF_BCM283X is not set +# CONFIG_PF_SA1100 is not set +# CONFIG_PF_XSCALE is not set +# CONFIG_PF_ARMADA38X is not set +# CONFIG_PF_KIRKWOOD is not set +# CONFIG_PF_TEGRA is not set +# CONFIG_PF_LAYERSCAPE is not set +CONFIG_PF_IMX=y +# CONFIG_PF_ARM_VIRT is not set +# CONFIG_PF_RCAR3 is not set +# CONFIG_PF_EXYNOS is not set +# CONFIG_PF_S3C2410 is not set +# CONFIG_PF_OMAP is not set +# CONFIG_PF_ZYNQ is not set +# CONFIG_PF_ZYNQMP is not set +CONFIG_BSP_NAME="imx" +CONFIG_CAN_ARM_CPU_CORTEX_A9=y +CONFIG_CAN_ARM_CACHE_L2CXX0=y +CONFIG_ARM_V7=y +CONFIG_ARM_V6PLUS=y +CONFIG_ARM_V7PLUS=y +# CONFIG_PF_IMX_21 is not set +# CONFIG_PF_IMX_28 is not set +# CONFIG_PF_IMX_35 is not set +# CONFIG_PF_IMX_51 is not set +CONFIG_PF_IMX_6=y +# CONFIG_PF_IMX_6UL is not set +# CONFIG_PF_IMX_7 is not set +CONFIG_PF_IMX_RAM_PHYS_BASE=0x10000000 +CONFIG_PF_IMX_6_TIMER_MPTIMER=y +# CONFIG_PF_IMX_6_TIMER_EPIT is not set +CONFIG_ABI_VF=y +CONFIG_ARM_CORTEX_A9=y +CONFIG_FPU=y +# CONFIG_ARM_ALIGNMENT_CHECK is not set +CONFIG_ARM_EM_STD=y +# CONFIG_ARM_EM_NS is not set +# CONFIG_ARM_EM_TZ is not set +# CONFIG_ARM_SMC_USER is not set +CONFIG_ARM_CACHE_L2CXX0=y +# CONFIG_ARM_ENABLE_SWP is not set +CONFIG_HAS_ARM_PSCI=y +# CONFIG_ARM_PSCI is not set +CONFIG_ARM_CPU_ERRATA=y + +# +# Kernel options +# +CONFIG_MP=y +CONFIG_MP_MAX_CPUS=4 +CONFIG_CONTEXT_4K=y +CONFIG_FINE_GRAINED_CPUTIME=y +CONFIG_SCHED_FIXED_PRIO=y +CONFIG_VIRT_OBJ_SPACE=y + +# +# Debugging +# +CONFIG_INLINE=y +# 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_GZIP=y +# CONFIG_JDB_ACCOUNTING is not set +# CONFIG_WARN_NONE is not set +CONFIG_WARN_WARNING=y +# CONFIG_WARN_ANY is not set + +# +# ARM debugging options +# +# CONFIG_VMEM_ALLOC_TEST is not set +# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set + +# +# Compiling +# +CONFIG_CC="gcc" +CONFIG_CXX="g++" +CONFIG_HOST_CC="gcc" +CONFIG_HOST_CXX="g++" +# CONFIG_MAINTAINER_MODE is not set +CONFIG_LABEL="" +# CONFIG_EXPERIMENTAL is not set +CONFIG_PERF_CNT=y +CONFIG_BIT32=y +CONFIG_WARN_LEVEL=1 +CONFIG_XARCH="arm" +CONFIG_ABI="vf" diff --git a/repos/base-foc/config/sabre_lite.user b/repos/base-foc/config/sabre_lite.user new file mode 100644 index 000000000..88db9e0d5 --- /dev/null +++ b/repos/base-foc/config/sabre_lite.user @@ -0,0 +1,88 @@ +# +# Automatically generated file; DO NOT EDIT. +# L4Re Configuration +# +CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y +# CONFIG_BUILD_ARCH_amd64 is not set +CONFIG_BUILD_ARCH_arm=y +# CONFIG_BUILD_ARCH_arm64 is not set +# CONFIG_BUILD_ARCH_mips is not set +# CONFIG_BUILD_ARCH_ppc32 is not set +# CONFIG_BUILD_ARCH_sparc is not set +# CONFIG_BUILD_ARCH_x86 is not set +CONFIG_BUILD_ARCH="arm" +CONFIG_BUILD_ABI_l4f=y +CONFIG_BUILD_ABI="l4f" +# 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="armv7a" +CONFIG_CPU_ARMV6KPLUS=y +CONFIG_CPU_ARMV6PLUS=y +# CONFIG_PLATFORM_TYPE_wand_quad is not set +CONFIG_PLATFORM_TYPE_sabre_lite=y +# CONFIG_PLATFORM_TYPE_imx6 is not set +# CONFIG_PLATFORM_TYPE_zedboard is not set +# CONFIG_PLATFORM_TYPE_imx35 is not set +# CONFIG_PLATFORM_TYPE_rv_pbx is not set +# CONFIG_PLATFORM_TYPE_rv is not set +# CONFIG_PLATFORM_TYPE_kirkwood is not set +# CONFIG_PLATFORM_TYPE_pandaboard is not set +# CONFIG_PLATFORM_TYPE_arm_virt is not set +# CONFIG_PLATFORM_TYPE_tegra2 is not set +# CONFIG_PLATFORM_TYPE_imx7 is not set +# CONFIG_PLATFORM_TYPE_exynos4 is not set +# CONFIG_PLATFORM_TYPE_cubieboard2 is not set +# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set +# CONFIG_PLATFORM_TYPE_ls1012afrdm is not set +# CONFIG_PLATFORM_TYPE_rpi_b is not set +# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set +# CONFIG_PLATFORM_TYPE_imx51 is not set +# CONFIG_PLATFORM_TYPE_ls1021atwr is not set +# CONFIG_PLATFORM_TYPE_tegra3 is not set +# CONFIG_PLATFORM_TYPE_imx28 is not set +# CONFIG_PLATFORM_TYPE_omap3evm is not set +# CONFIG_PLATFORM_TYPE_exynos5 is not set +# CONFIG_PLATFORM_TYPE_rcar3_m3 is not set +# CONFIG_PLATFORM_TYPE_parallella is not set +# CONFIG_PLATFORM_TYPE_zynqmp is not set +# CONFIG_PLATFORM_TYPE_beagleboard is not set +# CONFIG_PLATFORM_TYPE_imx21 is not set +# CONFIG_PLATFORM_TYPE_imx6ul is not set +# CONFIG_PLATFORM_TYPE_armada38x is not set +# CONFIG_PLATFORM_TYPE_omap5 is not set +# CONFIG_PLATFORM_TYPE_rv_vexpress is not set +# CONFIG_PLATFORM_TYPE_rpi_a is not set +# CONFIG_PLATFORM_TYPE_integrator is not set +# CONFIG_PLATFORM_TYPE_custom is not set +CONFIG_PLATFORM_TYPE="sabre_lite" +# 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_GCC_ENABLE_STACK_PROTECTOR=y +# CONFIG_BID_GCC_STACK_PROTECTOR_ALL is not set +CONFIG_BID_GCC_STACK_PROTECTOR=y +# CONFIG_BID_BUILD_DOC is not set +# CONFIG_RELEASE_MODE is not set +CONFIG_MAKECONFS_ADD="" diff --git a/repos/base-foc/lib/mk/spec/sabre_lite/kernel-foc.mk b/repos/base-foc/lib/mk/spec/sabre_lite/kernel-foc.mk new file mode 100644 index 000000000..6ba90cdfa --- /dev/null +++ b/repos/base-foc/lib/mk/spec/sabre_lite/kernel-foc.mk @@ -0,0 +1,3 @@ +KERNEL_CONFIG := $(REP_DIR)/config/sabre_lite.kernel + +include $(REP_DIR)/lib/mk/kernel-foc.inc diff --git a/repos/base-foc/lib/mk/spec/sabre_lite/syscall-foc.mk b/repos/base-foc/lib/mk/spec/sabre_lite/syscall-foc.mk new file mode 100644 index 000000000..5b8c818b2 --- /dev/null +++ b/repos/base-foc/lib/mk/spec/sabre_lite/syscall-foc.mk @@ -0,0 +1,5 @@ +L4_CONFIG := $(call select_from_repositories,config/sabre_lite.user) + +L4_BIN_DIR := $(LIB_CACHE_DIR)/syscall-foc/build/bin/arm_armv7a + +include $(REP_DIR)/lib/mk/spec/arm/syscall-foc.inc diff --git a/repos/base-foc/ports/foc.hash b/repos/base-foc/ports/foc.hash index fab2d537d..2da6521b4 100644 --- a/repos/base-foc/ports/foc.hash +++ b/repos/base-foc/ports/foc.hash @@ -1 +1 @@ -f19f59cc0e96514820c1871160576a4e55d75492 +8e5c089107387d3a1bf8314ae369b08b0a7d35fb diff --git a/repos/base-foc/ports/foc.port b/repos/base-foc/ports/foc.port index b38f75bd7..09b3cef8a 100644 --- a/repos/base-foc/ports/foc.port +++ b/repos/base-foc/ports/foc.port @@ -2,5 +2,5 @@ LICENSE := GPLv2 VERSION := git DOWNLOADS := foc.git URL(foc) := https://git.mousetrap.xyz/alex/foc.git -REV(foc) := 9bdd7cdc46e9e83015545637bf03276caeab0596 +REV(foc) := 98ebf56c9dd97deb9c88cfd783ea187145a67c31 DIR(foc) := src/kernel/foc diff --git a/repos/base/mk/spec/sabre_lite.mk b/repos/base/mk/spec/sabre_lite.mk new file mode 100644 index 000000000..17d76ca2a --- /dev/null +++ b/repos/base/mk/spec/sabre_lite.mk @@ -0,0 +1,5 @@ +SPECS += imx6 + +REP_INC_DIR += include/spec/sabre_lite + +include $(BASE_DIR)/mk/spec/imx6.mk diff --git a/tool/create_builddir b/tool/create_builddir index 23426d6bd..28c17e986 100755 --- a/tool/create_builddir +++ b/tool/create_builddir @@ -11,7 +11,7 @@ MAKEOVERRIDES = PLATFORM = $(MAKECMDGOALS) PLATFORMS = x86_32 x86_64 panda pbxa9 rpi arndale imx53_qsb imx53_qsb_tz \ - usb_armory wand_quad odroid_xu odroid_x2 zynq_qemu muen \ + usb_armory wand_quad sabre_lite odroid_xu odroid_x2 zynq_qemu muen \ riscv_spike linux PLATFORMS_DEPR = linux_x86 linux_arm fiasco_x86 okl4_x86 pistachio_x86 \ @@ -129,9 +129,10 @@ endif $(BUILD_DIR)/etc: @mkdir -p $@ -BUILD_CONF_X86_32 := run_qemu_iso run_opt_x86_32 run_boot_dir qemu_opt_x86 repos repos_x86 -BUILD_CONF_X86_64 := run_qemu_iso run_opt_x86_64 run_boot_dir qemu_opt_x86 repos repos_x86 -BUILD_CONF_PBXA9 := run_qemu run_opt_arm_hw_foc run_boot_dir qemu_opt_arm repos +BUILD_CONF_X86_32 := run_qemu_iso run_opt_x86_32 run_boot_dir qemu_opt_x86 repos repos_x86 +BUILD_CONF_X86_64 := run_qemu_iso run_opt_x86_64 run_boot_dir qemu_opt_x86 repos repos_x86 +BUILD_CONF_PBXA9 := run_qemu run_opt_arm_hw_foc run_boot_dir qemu_opt_arm repos +BUILD_CONF_SABRE_LITE := run_qemu run_opt_arm_hw_foc run_boot_dir qemu_opt_arm repos BUILD_CONF(x86_32) := run_kernel_x86_32 $(BUILD_CONF_X86_32) BUILD_CONF(x86_64) := run_kernel_x86_64 $(BUILD_CONF_X86_64) @@ -143,6 +144,7 @@ BUILD_CONF(imx53_qsb) := run_kernel_hw run_boot_dir repos BUILD_CONF(imx53_qsb_tz) := run_kernel_hw run_boot_dir repos BUILD_CONF(usb_armory) := run_kernel_hw run_boot_dir repos BUILD_CONF(wand_quad) := run_kernel_hw_foc_sel4 run_boot_dir repos +BUILD_CONF(sabre_lite) := run_kernel_hw_foc_sel4 $(BUILD_CONF_SABRE_LITE) 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_qemu) := run_kernel_hw run_qemu run_opt_hw run_boot_dir qemu_opt_arm repos @@ -226,6 +228,7 @@ SPECS(imx53_qsb) := imx53_qsb SPECS(imx53_qsb_tz) := imx53_qsb trustzone SPECS(usb_armory) := usb_armory trustzone SPECS(wand_quad) := wand_quad +SPECS(sabre_lite) := sabre_lite SPECS(odroid_xu) := odroid_xu SPECS(odroid_x2) := odroid_x2 SPECS(zynq_qemu) := zynq_qemu diff --git a/tool/run/power_on/qemu b/tool/run/power_on/qemu index e1748f6f5..1b89e533d 100644 --- a/tool/run/power_on/qemu +++ b/tool/run/power_on/qemu @@ -100,6 +100,7 @@ proc run_power_on { } { } if {[have_spec vpb926]} { append qemu_args " -M versatilepb -m 128 " } if {[have_spec zynq_qemu]} { append qemu_args " -M xilinx-zynq-a9 -cpu cortex-a9 -m 256 " } + if {[have_spec sabre_lite]} { append qemu_args " -M sabrelite -m 1024 -serial null -serial mon:stdio " } # add devices for specific platforms if {[have_spec zynq] && [have_spec cadence_gem]} { append qemu_args " -net nic,model=cadence_gem" }