diff --git a/repos/base-foc/config/arndale.kernel b/repos/base-foc/config/arndale.kernel index d6078d24a..acd99f05a 100644 --- a/repos/base-foc/config/arndale.kernel +++ b/repos/base-foc/config/arndale.kernel @@ -2,6 +2,11 @@ # 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_MP_OPTION=y +CONFIG_HAS_CPU_VIRT=y # # Target configuration @@ -9,37 +14,50 @@ # CONFIG_IA32 is not set # CONFIG_AMD64 is not set CONFIG_ARM=y +# CONFIG_MIPS is not set +# CONFIG_PF_ARMADA38X is not set +# CONFIG_PF_BCM2835 is not set +CONFIG_PF_EXYNOS=y # CONFIG_PF_IMX is not set +# CONFIG_PF_INTEGRATOR is not set +# CONFIG_PF_KIRKWOOD is not set +# CONFIG_PF_LS1021A is not set +# CONFIG_PF_OMAP is not set # CONFIG_PF_REALVIEW is not set # CONFIG_PF_S3C2410 is not set -# CONFIG_PF_TEGRA is not set -# CONFIG_PF_OMAP is not set # CONFIG_PF_SA1100 is not set +# CONFIG_PF_SUNXI is not set +# CONFIG_PF_TEGRA is not set # CONFIG_PF_XSCALE is not set -CONFIG_PF_EXYNOS=y -# CONFIG_PF_KIRKWOOD is not set -# CONFIG_PF_INTEGRATOR is not set -# CONFIG_PF_BCM2835 is not set +# CONFIG_PF_ZYNQ is not set CONFIG_BSP_NAME="exynos" +CONFIG_CAN_ARM_CPU_CORTEX_A15=y +CONFIG_ARM_V7=y +CONFIG_ARM_V6PLUS=y CONFIG_PF_EXYNOS5=y +CONFIG_CPU_SUSPEND=y CONFIG_PF_EXYNOS_PKG_IDS="" # CONFIG_PF_EXYNOS4_4210 is not set # CONFIG_PF_EXYNOS4_4412 is not set CONFIG_PF_EXYNOS5_5250=y +# CONFIG_PF_EXYNOS5_5410 is not set +CONFIG_PF_EXYNOS_UART_NATIVE=y CONFIG_PF_EXYNOS_UART_NR=2 CONFIG_PF_EXYNOS_TIMER_MCT=y # CONFIG_PF_EXYNOS_TIMER_PWM is not set +# CONFIG_PF_EXYNOS_TIMER_GEN is not set CONFIG_ABI_VF=y -CONFIG_PF_ARM_MP_CAPABLE=y -CONFIG_CAN_ARM_CPU_CORTEX_A15=y CONFIG_ARM_CORTEX_A15=y +# CONFIG_CPU_VIRT is not set +CONFIG_FPU=y +CONFIG_HAVE_ARM_SECMONIF_NONE=y +CONFIG_HAVE_ARM_SECMONIF_MC=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_ENABLE_SWP is not set # CONFIG_ARM_LPAE is not set -CONFIG_FPU=y CONFIG_ARM_CPU_ERRATA=y # @@ -47,6 +65,7 @@ CONFIG_ARM_CPU_ERRATA=y # CONFIG_MP=y CONFIG_MP_MAX_CPUS=4 +# CONFIG_CONTEXT_8K is not set CONFIG_CONTEXT_4K=y # CONFIG_FINE_GRAINED_CPUTIME is not set CONFIG_SCHED_FIXED_PRIO=y @@ -63,14 +82,17 @@ CONFIG_INLINE=y CONFIG_SERIAL=y CONFIG_JDB=y # CONFIG_JDB_LOGGING is not set -CONFIG_JDB_DISASM=y -CONFIG_JDB_GZIP=y -# CONFIG_VMEM_ALLOC_TEST is not set -# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set +# 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 # @@ -83,8 +105,6 @@ 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/repos/base-foc/config/arndale.user b/repos/base-foc/config/arndale.user index 06f2ccd28..731480c5e 100644 --- a/repos/base-foc/config/arndale.user +++ b/repos/base-foc/config/arndale.user @@ -2,15 +2,16 @@ # Automatically generated file; DO NOT EDIT. # L4Re Configuration # -# CONFIG_BUILD_ARCH_x86 is not set +CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y # CONFIG_BUILD_ARCH_amd64 is not set CONFIG_BUILD_ARCH_arm=y +# 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="armv7a" # CONFIG_CPU_ARM_ARMV4 is not set # CONFIG_CPU_ARM_ARMV4T is not set # CONFIG_CPU_ARM_ARMV5 is not set @@ -20,30 +21,37 @@ CONFIG_CPU="armv7a" # 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="armv7a" CONFIG_CPU_ARMV6KPLUS=y CONFIG_CPU_ARMV6PLUS=y -# CONFIG_PLATFORM_TYPE_imx53 is not set -# CONFIG_PLATFORM_TYPE_imx35 is not set -# CONFIG_PLATFORM_TYPE_rv_pbx is not set -CONFIG_PLATFORM_TYPE_exynos5=y -# CONFIG_PLATFORM_TYPE_rv is not set -# CONFIG_PLATFORM_TYPE_kirkwood is not set -# CONFIG_PLATFORM_TYPE_pandaboard is not set -# CONFIG_PLATFORM_TYPE_tegra3 is not set -# CONFIG_PLATFORM_TYPE_tegra2 is not set -# CONFIG_PLATFORM_TYPE_imx6 is not set -# CONFIG_PLATFORM_TYPE_exynos4 is not set -# CONFIG_PLATFORM_TYPE_omap3_am33xx 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_omap3evm is not set +# CONFIG_PLATFORM_TYPE_armada38x is not set # CONFIG_PLATFORM_TYPE_beagleboard is not set +# CONFIG_PLATFORM_TYPE_cubieboard2 is not set +# CONFIG_PLATFORM_TYPE_exynos4 is not set +CONFIG_PLATFORM_TYPE_exynos5=y # CONFIG_PLATFORM_TYPE_imx21 is not set -# CONFIG_PLATFORM_TYPE_rv_vexpress is not set -# CONFIG_PLATFORM_TYPE_rpi_a is not set +# CONFIG_PLATFORM_TYPE_imx28 is not set +# CONFIG_PLATFORM_TYPE_imx35 is not set +# CONFIG_PLATFORM_TYPE_imx51 is not set +# CONFIG_PLATFORM_TYPE_imx6 is not set +# CONFIG_PLATFORM_TYPE_imx6ul is not set # CONFIG_PLATFORM_TYPE_integrator is not set +# CONFIG_PLATFORM_TYPE_kirkwood is not set +# CONFIG_PLATFORM_TYPE_ls1021atwr is not set +# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set +# CONFIG_PLATFORM_TYPE_omap3evm is not set +# CONFIG_PLATFORM_TYPE_omap5 is not set +# CONFIG_PLATFORM_TYPE_pandaboard is not set +# CONFIG_PLATFORM_TYPE_parallella is not set +# CONFIG_PLATFORM_TYPE_rpi_a is not set +# CONFIG_PLATFORM_TYPE_rpi_b is not set +# CONFIG_PLATFORM_TYPE_rv is not set +# CONFIG_PLATFORM_TYPE_rv_pbx is not set +# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set +# CONFIG_PLATFORM_TYPE_rv_vexpress is not set +# CONFIG_PLATFORM_TYPE_tegra2 is not set +# CONFIG_PLATFORM_TYPE_tegra3 is not set +# CONFIG_PLATFORM_TYPE_zedboard is not set # CONFIG_PLATFORM_TYPE_custom is not set CONFIG_PLATFORM_TYPE="exynos5" # CONFIG_USE_DROPS_STDDIR is not set @@ -64,7 +72,9 @@ 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_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/config/odroid_x2.kernel b/repos/base-foc/config/odroid_x2.kernel index e1694391e..08532500d 100644 --- a/repos/base-foc/config/odroid_x2.kernel +++ b/repos/base-foc/config/odroid_x2.kernel @@ -2,6 +2,10 @@ # 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_MP_OPTION=y # # Target configuration @@ -9,41 +13,53 @@ # CONFIG_IA32 is not set # CONFIG_AMD64 is not set CONFIG_ARM=y -# CONFIG_PF_TEGRA is not set -# CONFIG_PF_REALVIEW is not set +# CONFIG_MIPS is not set +# CONFIG_PF_ARMADA38X is not set # CONFIG_PF_BCM2835 is not set -# CONFIG_PF_IMX is not set -# CONFIG_PF_S3C2410 is not set -# CONFIG_PF_SA1100 is not set CONFIG_PF_EXYNOS=y +# CONFIG_PF_IMX is not set # CONFIG_PF_INTEGRATOR is not set # CONFIG_PF_KIRKWOOD is not set +# CONFIG_PF_LS1021A is not set # CONFIG_PF_OMAP is not set +# CONFIG_PF_REALVIEW is not set +# CONFIG_PF_S3C2410 is not set +# CONFIG_PF_SA1100 is not set +# CONFIG_PF_SUNXI is not set +# CONFIG_PF_TEGRA is not set # CONFIG_PF_XSCALE is not set +# CONFIG_PF_ZYNQ is not set CONFIG_BSP_NAME="exynos" +CONFIG_CAN_ARM_CPU_CORTEX_A9=y +CONFIG_CAN_ARM_CACHE_L2CXX0=y +CONFIG_ARM_V7=y +CONFIG_ARM_V6PLUS=y CONFIG_PF_EXYNOS4=y +CONFIG_CPU_SUSPEND=y CONFIG_PF_EXYNOS_PKG_IDS="" # CONFIG_PF_EXYNOS4_4210 is not set CONFIG_PF_EXYNOS4_4412=y # CONFIG_PF_EXYNOS5_5250 is not set +# CONFIG_PF_EXYNOS5_5410 is not set +CONFIG_PF_EXYNOS_UART_NATIVE=y CONFIG_PF_EXYNOS_UART_NR=1 CONFIG_PF_EXYNOS_TIMER_MCT=y # CONFIG_PF_EXYNOS_TIMER_MP is not set # CONFIG_PF_EXYNOS_TIMER_PWM is not set CONFIG_PF_EXYNOS_EXTGIC=y CONFIG_ABI_VF=y -CONFIG_PF_ARM_MP_CAPABLE=y -CONFIG_CAN_ARM_CPU_CORTEX_A9=y -CONFIG_CAN_ARM_CACHE_L2CXX0=y CONFIG_ARM_CORTEX_A9=y +CONFIG_FPU=y +CONFIG_HAVE_ARM_SECMONIF_NONE=y +CONFIG_HAVE_ARM_SECMONIF_MC=y # CONFIG_ARM_ALIGNMENT_CHECK is not set # CONFIG_ARM_EM_STD is not set CONFIG_ARM_EM_NS=y # CONFIG_ARM_EM_TZ is not set +# CONFIG_ARM_SECMONIF_NONE is not set CONFIG_ARM_SECMONIF_MC=y -# CONFIG_ARM_ENABLE_SWP is not set CONFIG_ARM_CACHE_L2CXX0=y -CONFIG_FPU=y +# CONFIG_ARM_ENABLE_SWP is not set # CONFIG_ARM_CPU_ERRATA is not set # @@ -51,6 +67,7 @@ CONFIG_FPU=y # CONFIG_MP=y CONFIG_MP_MAX_CPUS=4 +# CONFIG_CONTEXT_8K is not set CONFIG_CONTEXT_4K=y # CONFIG_FINE_GRAINED_CPUTIME is not set CONFIG_SCHED_FIXED_PRIO=y @@ -67,14 +84,17 @@ CONFIG_NO_FRAME_PTR=y CONFIG_SERIAL=y CONFIG_JDB=y # CONFIG_JDB_LOGGING is not set -# CONFIG_JDB_DISASM is not set -# CONFIG_JDB_GZIP is not set -# CONFIG_VMEM_ALLOC_TEST is not set -# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set +# 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 # @@ -87,8 +107,6 @@ 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/repos/base-foc/config/odroid_x2.user b/repos/base-foc/config/odroid_x2.user index 794be0941..0c9efd801 100644 --- a/repos/base-foc/config/odroid_x2.user +++ b/repos/base-foc/config/odroid_x2.user @@ -2,15 +2,16 @@ # Automatically generated file; DO NOT EDIT. # L4Re Configuration # -# CONFIG_BUILD_ARCH_x86 is not set +CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y # CONFIG_BUILD_ARCH_amd64 is not set CONFIG_BUILD_ARCH_arm=y +# 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="armv7a" # CONFIG_CPU_ARM_ARMV4 is not set # CONFIG_CPU_ARM_ARMV4T is not set # CONFIG_CPU_ARM_ARMV5 is not set @@ -20,30 +21,37 @@ CONFIG_CPU="armv7a" # 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="armv7a" CONFIG_CPU_ARMV6KPLUS=y CONFIG_CPU_ARMV6PLUS=y -CONFIG_PLATFORM_TYPE_exynos4=y -# CONFIG_PLATFORM_TYPE_imx6 is not set -# CONFIG_PLATFORM_TYPE_imx35 is not set -# CONFIG_PLATFORM_TYPE_rv_pbx is not set -# CONFIG_PLATFORM_TYPE_exynos5 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_tegra3 is not set -# CONFIG_PLATFORM_TYPE_tegra2 is not set -# CONFIG_PLATFORM_TYPE_omap3_am33xx 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_omap3evm is not set +# CONFIG_PLATFORM_TYPE_armada38x is not set # CONFIG_PLATFORM_TYPE_beagleboard is not set +# CONFIG_PLATFORM_TYPE_cubieboard2 is not set +CONFIG_PLATFORM_TYPE_exynos4=y +# CONFIG_PLATFORM_TYPE_exynos5 is not set # CONFIG_PLATFORM_TYPE_imx21 is not set -# CONFIG_PLATFORM_TYPE_rv_vexpress is not set -# CONFIG_PLATFORM_TYPE_imx53 is not set -# CONFIG_PLATFORM_TYPE_rpi_a is not set +# CONFIG_PLATFORM_TYPE_imx28 is not set +# CONFIG_PLATFORM_TYPE_imx35 is not set +# CONFIG_PLATFORM_TYPE_imx51 is not set +# CONFIG_PLATFORM_TYPE_imx6 is not set +# CONFIG_PLATFORM_TYPE_imx6ul is not set # CONFIG_PLATFORM_TYPE_integrator is not set +# CONFIG_PLATFORM_TYPE_kirkwood is not set +# CONFIG_PLATFORM_TYPE_ls1021atwr is not set +# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set +# CONFIG_PLATFORM_TYPE_omap3evm is not set +# CONFIG_PLATFORM_TYPE_omap5 is not set +# CONFIG_PLATFORM_TYPE_pandaboard is not set +# CONFIG_PLATFORM_TYPE_parallella is not set +# CONFIG_PLATFORM_TYPE_rpi_a is not set +# CONFIG_PLATFORM_TYPE_rpi_b is not set +# CONFIG_PLATFORM_TYPE_rv is not set +# CONFIG_PLATFORM_TYPE_rv_pbx is not set +# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set +# CONFIG_PLATFORM_TYPE_rv_vexpress is not set +# CONFIG_PLATFORM_TYPE_tegra2 is not set +# CONFIG_PLATFORM_TYPE_tegra3 is not set +# CONFIG_PLATFORM_TYPE_zedboard is not set # CONFIG_PLATFORM_TYPE_custom is not set CONFIG_PLATFORM_TYPE="exynos4" # CONFIG_USE_DROPS_STDDIR is not set @@ -64,7 +72,9 @@ 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_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/config/panda.kernel b/repos/base-foc/config/panda.kernel index e430efbfe..d60f567af 100644 --- a/repos/base-foc/config/panda.kernel +++ b/repos/base-foc/config/panda.kernel @@ -2,6 +2,10 @@ # 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_MP_OPTION=y # # Target configuration @@ -9,34 +13,41 @@ # CONFIG_IA32 is not set # CONFIG_AMD64 is not set CONFIG_ARM=y +# CONFIG_MIPS is not set +# CONFIG_PF_ARMADA38X is not set +# CONFIG_PF_BCM2835 is not set +# CONFIG_PF_EXYNOS is not set # CONFIG_PF_IMX is not set +# CONFIG_PF_INTEGRATOR is not set +# CONFIG_PF_KIRKWOOD is not set +# CONFIG_PF_LS1021A is not set +CONFIG_PF_OMAP=y # CONFIG_PF_REALVIEW is not set # CONFIG_PF_S3C2410 is not set -# CONFIG_PF_TEGRA is not set -CONFIG_PF_OMAP=y # CONFIG_PF_SA1100 is not set +# CONFIG_PF_SUNXI is not set +# CONFIG_PF_TEGRA is not set # CONFIG_PF_XSCALE is not set -# CONFIG_PF_EXYNOS is not set -# CONFIG_PF_KIRKWOOD is not set -# CONFIG_PF_INTEGRATOR is not set -# CONFIG_PF_BCM2835 is not set +# CONFIG_PF_ZYNQ is not set CONFIG_BSP_NAME="omap" +CONFIG_CAN_ARM_CPU_CORTEX_A9=y +CONFIG_CAN_ARM_CACHE_L2CXX0=y +CONFIG_ARM_V7=y +CONFIG_ARM_V6PLUS=y # CONFIG_PF_OMAP3_OMAP35XEVM is not set # CONFIG_PF_OMAP3_BEAGLEBOARD is not set # CONFIG_PF_OMAP3_AM33XX is not set CONFIG_PF_OMAP4_PANDABOARD=y +# CONFIG_PF_OMAP5_5432EVM is not set CONFIG_ABI_VF=y -CONFIG_PF_ARM_MP_CAPABLE=y -CONFIG_CAN_ARM_CPU_CORTEX_A9=y -CONFIG_CAN_ARM_CACHE_L2CXX0=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_ENABLE_SWP is not set CONFIG_ARM_CACHE_L2CXX0=y -CONFIG_FPU=y +# CONFIG_ARM_ENABLE_SWP is not set # CONFIG_ARM_CPU_ERRATA is not set # @@ -44,6 +55,7 @@ CONFIG_FPU=y # CONFIG_MP=y CONFIG_MP_MAX_CPUS=4 +# CONFIG_CONTEXT_8K is not set CONFIG_CONTEXT_4K=y # CONFIG_FINE_GRAINED_CPUTIME is not set CONFIG_SCHED_FIXED_PRIO=y @@ -63,14 +75,17 @@ CONFIG_INLINE=y CONFIG_SERIAL=y CONFIG_JDB=y CONFIG_JDB_LOGGING=y -# CONFIG_JDB_DISASM is not set -# CONFIG_JDB_GZIP is not set -# CONFIG_VMEM_ALLOC_TEST is not set -# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set +# 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 # @@ -83,8 +98,6 @@ CONFIG_LABEL="" CONFIG_EXPERIMENTAL=y 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/repos/base-foc/config/panda.user b/repos/base-foc/config/panda.user index 331fa8020..be26fdf1d 100644 --- a/repos/base-foc/config/panda.user +++ b/repos/base-foc/config/panda.user @@ -2,15 +2,16 @@ # Automatically generated file; DO NOT EDIT. # L4Re Configuration # -# CONFIG_BUILD_ARCH_x86 is not set +CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y # CONFIG_BUILD_ARCH_amd64 is not set CONFIG_BUILD_ARCH_arm=y +# 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="armv7a" # CONFIG_CPU_ARM_ARMV4 is not set # CONFIG_CPU_ARM_ARMV4T is not set # CONFIG_CPU_ARM_ARMV5 is not set @@ -20,30 +21,37 @@ CONFIG_CPU="armv7a" # 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="armv7a" CONFIG_CPU_ARMV6KPLUS=y CONFIG_CPU_ARMV6PLUS=y -# CONFIG_PLATFORM_TYPE_imx53 is not set -# CONFIG_PLATFORM_TYPE_imx35 is not set -# CONFIG_PLATFORM_TYPE_rv_pbx is not set -# CONFIG_PLATFORM_TYPE_exynos5 is not set -# CONFIG_PLATFORM_TYPE_rv is not set -# CONFIG_PLATFORM_TYPE_kirkwood is not set -CONFIG_PLATFORM_TYPE_pandaboard=y -# CONFIG_PLATFORM_TYPE_tegra3 is not set -# CONFIG_PLATFORM_TYPE_tegra2 is not set -# CONFIG_PLATFORM_TYPE_imx6 is not set -# CONFIG_PLATFORM_TYPE_exynos4 is not set -# CONFIG_PLATFORM_TYPE_omap3_am33xx 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_omap3evm is not set +# CONFIG_PLATFORM_TYPE_armada38x is not set # CONFIG_PLATFORM_TYPE_beagleboard is not set +# CONFIG_PLATFORM_TYPE_cubieboard2 is not set +# CONFIG_PLATFORM_TYPE_exynos4 is not set +# CONFIG_PLATFORM_TYPE_exynos5 is not set # CONFIG_PLATFORM_TYPE_imx21 is not set -# CONFIG_PLATFORM_TYPE_rv_vexpress is not set -# CONFIG_PLATFORM_TYPE_rpi_a is not set +# CONFIG_PLATFORM_TYPE_imx28 is not set +# CONFIG_PLATFORM_TYPE_imx35 is not set +# CONFIG_PLATFORM_TYPE_imx51 is not set +# CONFIG_PLATFORM_TYPE_imx6 is not set +# CONFIG_PLATFORM_TYPE_imx6ul is not set # CONFIG_PLATFORM_TYPE_integrator is not set +# CONFIG_PLATFORM_TYPE_kirkwood is not set +# CONFIG_PLATFORM_TYPE_ls1021atwr is not set +# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set +# CONFIG_PLATFORM_TYPE_omap3evm is not set +# CONFIG_PLATFORM_TYPE_omap5 is not set +CONFIG_PLATFORM_TYPE_pandaboard=y +# CONFIG_PLATFORM_TYPE_parallella is not set +# CONFIG_PLATFORM_TYPE_rpi_a is not set +# CONFIG_PLATFORM_TYPE_rpi_b is not set +# CONFIG_PLATFORM_TYPE_rv is not set +# CONFIG_PLATFORM_TYPE_rv_pbx is not set +# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set +# CONFIG_PLATFORM_TYPE_rv_vexpress is not set +# CONFIG_PLATFORM_TYPE_tegra2 is not set +# CONFIG_PLATFORM_TYPE_tegra3 is not set +# CONFIG_PLATFORM_TYPE_zedboard is not set # CONFIG_PLATFORM_TYPE_custom is not set CONFIG_PLATFORM_TYPE="pandaboard" # CONFIG_USE_DROPS_STDDIR is not set @@ -64,7 +72,7 @@ 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_GCC_ENABLE_STACK_PROTECTOR is not set # CONFIG_BID_BUILD_DOC is not set # CONFIG_RELEASE_MODE is not set CONFIG_MAKECONFS_ADD="" diff --git a/repos/base-foc/config/pbxa9.kernel b/repos/base-foc/config/pbxa9.kernel index 398931d0b..63a9f3fdd 100644 --- a/repos/base-foc/config/pbxa9.kernel +++ b/repos/base-foc/config/pbxa9.kernel @@ -2,6 +2,10 @@ # 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_MP_OPTION=y # # Target configuration @@ -9,18 +13,27 @@ # CONFIG_IA32 is not set # CONFIG_AMD64 is not set CONFIG_ARM=y +# CONFIG_MIPS is not set +# CONFIG_PF_ARMADA38X is not set +# CONFIG_PF_BCM2835 is not set +# CONFIG_PF_EXYNOS is not set # CONFIG_PF_IMX is not set +# CONFIG_PF_INTEGRATOR is not set +# CONFIG_PF_KIRKWOOD is not set +# CONFIG_PF_LS1021A is not set +# CONFIG_PF_OMAP is not set CONFIG_PF_REALVIEW=y # CONFIG_PF_S3C2410 is not set -# CONFIG_PF_TEGRA is not set -# CONFIG_PF_OMAP is not set # CONFIG_PF_SA1100 is not set +# CONFIG_PF_SUNXI is not set +# CONFIG_PF_TEGRA is not set # CONFIG_PF_XSCALE is not set -# CONFIG_PF_EXYNOS is not set -# CONFIG_PF_KIRKWOOD is not set -# CONFIG_PF_INTEGRATOR is not set -# CONFIG_PF_BCM2835 is not set +# CONFIG_PF_ZYNQ is not set CONFIG_BSP_NAME="realview" +CONFIG_CAN_ARM_CPU_CORTEX_A9=y +CONFIG_CAN_ARM_CACHE_L2CXX0=y +CONFIG_ARM_V7=y +CONFIG_ARM_V6PLUS=y # CONFIG_PF_REALVIEW_EB is not set # CONFIG_PF_REALVIEW_PB11MP is not set CONFIG_PF_REALVIEW_PBX=y @@ -30,23 +43,21 @@ CONFIG_PF_REALVIEW_PBX=y CONFIG_PF_REALVIEW_RAM_PHYS_BASE_0x7=y CONFIG_PF_REALVIEW_RAM_PHYS_BASE=0x70000000 CONFIG_ABI_VF=y -CONFIG_PF_ARM_MP_CAPABLE=y -CONFIG_CAN_ARM_CPU_CORTEX_A9=y -CONFIG_CAN_ARM_CACHE_L2CXX0=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_CACHE_L2CXX0=y # CONFIG_ARM_ENABLE_SWP is not set -# CONFIG_ARM_CACHE_L2CXX0 is not set -CONFIG_FPU=y CONFIG_ARM_CPU_ERRATA=y # # Kernel options # # CONFIG_MP is not set +# CONFIG_CONTEXT_8K is not set CONFIG_CONTEXT_4K=y # CONFIG_FINE_GRAINED_CPUTIME is not set CONFIG_SCHED_FIXED_PRIO=y @@ -63,14 +74,17 @@ CONFIG_NO_FRAME_PTR=y 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_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 # @@ -83,8 +97,6 @@ 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/repos/base-foc/config/pbxa9.user b/repos/base-foc/config/pbxa9.user index f0d52d935..0b0f686c2 100644 --- a/repos/base-foc/config/pbxa9.user +++ b/repos/base-foc/config/pbxa9.user @@ -2,15 +2,16 @@ # Automatically generated file; DO NOT EDIT. # L4Re Configuration # -# CONFIG_BUILD_ARCH_x86 is not set +CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y # CONFIG_BUILD_ARCH_amd64 is not set CONFIG_BUILD_ARCH_arm=y +# 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="armv7a" # CONFIG_CPU_ARM_ARMV4 is not set # CONFIG_CPU_ARM_ARMV4T is not set # CONFIG_CPU_ARM_ARMV5 is not set @@ -20,30 +21,37 @@ CONFIG_CPU="armv7a" # 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="armv7a" CONFIG_CPU_ARMV6KPLUS=y CONFIG_CPU_ARMV6PLUS=y -# CONFIG_PLATFORM_TYPE_imx53 is not set -# CONFIG_PLATFORM_TYPE_imx35 is not set -CONFIG_PLATFORM_TYPE_rv_pbx=y -# CONFIG_PLATFORM_TYPE_exynos5 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_tegra3 is not set -# CONFIG_PLATFORM_TYPE_tegra2 is not set -# CONFIG_PLATFORM_TYPE_imx6 is not set -# CONFIG_PLATFORM_TYPE_exynos4 is not set -# CONFIG_PLATFORM_TYPE_omap3_am33xx 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_omap3evm is not set +# CONFIG_PLATFORM_TYPE_armada38x is not set # CONFIG_PLATFORM_TYPE_beagleboard is not set +# CONFIG_PLATFORM_TYPE_cubieboard2 is not set +# CONFIG_PLATFORM_TYPE_exynos4 is not set +# CONFIG_PLATFORM_TYPE_exynos5 is not set # CONFIG_PLATFORM_TYPE_imx21 is not set -# CONFIG_PLATFORM_TYPE_rv_vexpress is not set -# CONFIG_PLATFORM_TYPE_rpi_a is not set +# CONFIG_PLATFORM_TYPE_imx28 is not set +# CONFIG_PLATFORM_TYPE_imx35 is not set +# CONFIG_PLATFORM_TYPE_imx51 is not set +# CONFIG_PLATFORM_TYPE_imx6 is not set +# CONFIG_PLATFORM_TYPE_imx6ul is not set # CONFIG_PLATFORM_TYPE_integrator is not set +# CONFIG_PLATFORM_TYPE_kirkwood is not set +# CONFIG_PLATFORM_TYPE_ls1021atwr is not set +# CONFIG_PLATFORM_TYPE_omap3_am33xx is not set +# CONFIG_PLATFORM_TYPE_omap3evm is not set +# CONFIG_PLATFORM_TYPE_omap5 is not set +# CONFIG_PLATFORM_TYPE_pandaboard is not set +# CONFIG_PLATFORM_TYPE_parallella is not set +# CONFIG_PLATFORM_TYPE_rpi_a is not set +# CONFIG_PLATFORM_TYPE_rpi_b is not set +# CONFIG_PLATFORM_TYPE_rv is not set +CONFIG_PLATFORM_TYPE_rv_pbx=y +# CONFIG_PLATFORM_TYPE_rv_vexpress_a15 is not set +# CONFIG_PLATFORM_TYPE_rv_vexpress is not set +# CONFIG_PLATFORM_TYPE_tegra2 is not set +# CONFIG_PLATFORM_TYPE_tegra3 is not set +# CONFIG_PLATFORM_TYPE_zedboard is not set # CONFIG_PLATFORM_TYPE_custom is not set CONFIG_PLATFORM_TYPE="rv_pbx" # CONFIG_USE_DROPS_STDDIR is not set @@ -64,7 +72,7 @@ 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_GCC_ENABLE_STACK_PROTECTOR is not set # CONFIG_BID_BUILD_DOC is not set # CONFIG_RELEASE_MODE is not set CONFIG_MAKECONFS_ADD="" diff --git a/repos/base-foc/config/rpi.kernel b/repos/base-foc/config/rpi.kernel index 3e8b639b6..57c9e8935 100644 --- a/repos/base-foc/config/rpi.kernel +++ b/repos/base-foc/config/rpi.kernel @@ -2,6 +2,9 @@ # 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 # # Target configuration @@ -9,35 +12,44 @@ # 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_TEGRA is not set -# CONFIG_PF_OMAP is not set -# CONFIG_PF_XSCALE is not set -# CONFIG_PF_SA1100 is not set -# CONFIG_PF_EXYNOS is not set -# CONFIG_PF_KIRKWOOD is not set -# CONFIG_PF_INTEGRATOR is not set +# CONFIG_MIPS is not set +# CONFIG_PF_ARMADA38X is not set CONFIG_PF_BCM2835=y +# CONFIG_PF_EXYNOS is not set +# CONFIG_PF_IMX is not set +# CONFIG_PF_INTEGRATOR is not set +# CONFIG_PF_KIRKWOOD is not set +# CONFIG_PF_LS1021A is not set +# CONFIG_PF_OMAP is not set +# CONFIG_PF_REALVIEW is not set +# CONFIG_PF_S3C2410 is not set +# CONFIG_PF_SA1100 is not set +# CONFIG_PF_SUNXI is not set +# CONFIG_PF_TEGRA is not set +# CONFIG_PF_XSCALE is not set +# CONFIG_PF_ZYNQ is not set CONFIG_BSP_NAME="bcm2835" -CONFIG_ABI_VF=y CONFIG_CAN_ARM_CPU_1176=y +CONFIG_ARM_V6=y +CONFIG_ARM_V6PLUS=y +CONFIG_ABI_VF=y CONFIG_ARM_1176=y +# CONFIG_FPU is not set # 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_FPU is not set # CONFIG_ARM_1176_CACHE_ALIAS_FIX is not set # CONFIG_ARM_CPU_ERRATA is not set # # Kernel options # +# CONFIG_CONTEXT_8K is not set CONFIG_CONTEXT_4K=y # CONFIG_FINE_GRAINED_CPUTIME is not set CONFIG_SCHED_FIXED_PRIO=y +CONFIG_VIRT_OBJ_SPACE=y # # Debugging @@ -50,14 +62,17 @@ CONFIG_NO_FRAME_PTR=y CONFIG_SERIAL=y CONFIG_JDB=y # CONFIG_JDB_LOGGING is not set -# CONFIG_JDB_DISASM is not set -# CONFIG_JDB_GZIP is not set -# CONFIG_VMEM_ALLOC_TEST is not set -# CONFIG_DEBUG_KERNEL_PAGE_FAULTS is not set +# 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 # @@ -70,8 +85,6 @@ CONFIG_LABEL="" # CONFIG_EXPERIMENTAL is not set CONFIG_PERF_CNT=y CONFIG_BIT32=y -CONFIG_ARM_V6=y -CONFIG_ARM_V6PLUS=y CONFIG_WARN_LEVEL=1 CONFIG_XARCH="arm" -CONFIG_ABI="vf" \ No newline at end of file +CONFIG_ABI="vf" diff --git a/repos/base-foc/config/rpi.user b/repos/base-foc/config/rpi.user index 1e34ef21a..b7d321172 100644 --- a/repos/base-foc/config/rpi.user +++ b/repos/base-foc/config/rpi.user @@ -2,15 +2,16 @@ # Automatically generated file; DO NOT EDIT. # L4Re Configuration # -# CONFIG_BUILD_ARCH_x86 is not set +CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y # CONFIG_BUILD_ARCH_amd64 is not set CONFIG_BUILD_ARCH_arm=y +# 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="armv6" # CONFIG_CPU_ARM_ARMV4 is not set # CONFIG_CPU_ARM_ARMV4T is not set # CONFIG_CPU_ARM_ARMV5 is not set @@ -20,21 +21,27 @@ CONFIG_CPU_ARM_ARMV6=y # CONFIG_CPU_ARM_ARMV6T2 is not set # CONFIG_CPU_ARM_ARMV6ZK is not set # CONFIG_CPU_ARM_ARMV7A is not set -# CONFIG_CPU_ARM_ARMV7R is not set +CONFIG_CPU="armv6" CONFIG_CPU_ARMV6PLUS=y +# CONFIG_PLATFORM_TYPE_armada38x is not set # CONFIG_PLATFORM_TYPE_beagleboard is not set +# CONFIG_PLATFORM_TYPE_cubieboard2 is not set # CONFIG_PLATFORM_TYPE_exynos4 is not set # CONFIG_PLATFORM_TYPE_exynos5 is not set # CONFIG_PLATFORM_TYPE_imx21 is not set +# CONFIG_PLATFORM_TYPE_imx28 is not set # CONFIG_PLATFORM_TYPE_imx35 is not set # CONFIG_PLATFORM_TYPE_imx51 is not set -# CONFIG_PLATFORM_TYPE_imx53 is not set # CONFIG_PLATFORM_TYPE_imx6 is not set +# CONFIG_PLATFORM_TYPE_imx6ul is not set # CONFIG_PLATFORM_TYPE_integrator is not set # CONFIG_PLATFORM_TYPE_kirkwood is not set +# CONFIG_PLATFORM_TYPE_ls1021atwr is not set # CONFIG_PLATFORM_TYPE_omap3_am33xx is not set # CONFIG_PLATFORM_TYPE_omap3evm is not set +# CONFIG_PLATFORM_TYPE_omap5 is not set # CONFIG_PLATFORM_TYPE_pandaboard is not set +# CONFIG_PLATFORM_TYPE_parallella is not set # CONFIG_PLATFORM_TYPE_rpi_a is not set CONFIG_PLATFORM_TYPE_rpi_b=y # CONFIG_PLATFORM_TYPE_rv is not set @@ -43,6 +50,7 @@ CONFIG_PLATFORM_TYPE_rpi_b=y # CONFIG_PLATFORM_TYPE_rv_vexpress is not set # CONFIG_PLATFORM_TYPE_tegra2 is not set # CONFIG_PLATFORM_TYPE_tegra3 is not set +# CONFIG_PLATFORM_TYPE_zedboard is not set # CONFIG_PLATFORM_TYPE_custom is not set CONFIG_PLATFORM_TYPE="rpi_b" # CONFIG_USE_DROPS_STDDIR is not set @@ -63,7 +71,9 @@ 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_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/config/x86_32.kernel b/repos/base-foc/config/x86_32.kernel index 06e742800..3a40e76e9 100644 --- a/repos/base-foc/config/x86_32.kernel +++ b/repos/base-foc/config/x86_32.kernel @@ -2,6 +2,14 @@ # Automatically generated file; DO NOT EDIT. # Fiasco configuration # +CONFIG_HAS_VIRT_OBJ_SPACE_OPTION=y +CONFIG_HAS_SERIAL_OPTION=y +CONFIG_HAS_WATCHDOG_OPTION=y +CONFIG_HAS_JDB_DISASM_OPTION=y +CONFIG_HAS_JDB_GZIP_OPTION=y +CONFIG_HAS_IOMMU_OPTION=y +CONFIG_HAS_MP_OPTION=y +CONFIG_HAS_CPU_VIRT=y # # Target configuration @@ -9,6 +17,7 @@ CONFIG_IA32=y # CONFIG_AMD64 is not set # CONFIG_ARM is not set +# CONFIG_MIPS is not set CONFIG_PF_PC=y # CONFIG_PF_UX is not set CONFIG_ABI_VF=y @@ -20,6 +29,7 @@ CONFIG_IA32_586=y # CONFIG_IA32_P4 is not set # CONFIG_IA32_PM is not set # CONFIG_IA32_CORE2 is not set +# CONFIG_IA32_CORE_I is not set # CONFIG_IA32_ATOM is not set # CONFIG_IA32_K6 is not set # CONFIG_IA32_K7 is not set @@ -35,10 +45,12 @@ CONFIG_REGPARM3=y # CONFIG_MP=y CONFIG_MP_MAX_CPUS=4 +# CONFIG_CONTEXT_8K is not set CONFIG_CONTEXT_4K=y # CONFIG_SYNC_TSC is not set # CONFIG_FINE_GRAINED_CPUTIME is not set CONFIG_SCHED_FIXED_PRIO=y +# CONFIG_IOMMU is not set CONFIG_VIRT_OBJ_SPACE=y # @@ -46,7 +58,7 @@ CONFIG_VIRT_OBJ_SPACE=y # CONFIG_INLINE=y # CONFIG_NDEBUG is not set -CONFIG_NO_FRAME_PTR=y +# CONFIG_NO_FRAME_PTR is not set # CONFIG_STACK_DEPTH is not set # CONFIG_LIST_ALLOC_SANITY is not set # CONFIG_BEFORE_IRET_SANITY is not set @@ -60,7 +72,6 @@ CONFIG_JDB_GZIP=y # CONFIG_JDB_ACCOUNTING is not set # CONFIG_JDB_MISC is not set CONFIG_POWERSAVE_GETCHAR=y -CONFIG_USER_SINGLE_STEP=y # CONFIG_WARN_NONE is not set CONFIG_WARN_WARNING=y # CONFIG_WARN_ANY is not set diff --git a/repos/base-foc/config/x86_32.user b/repos/base-foc/config/x86_32.user index 472d9f696..39d762565 100644 --- a/repos/base-foc/config/x86_32.user +++ b/repos/base-foc/config/x86_32.user @@ -2,14 +2,17 @@ # Automatically generated file; DO NOT EDIT. # L4Re Configuration # -CONFIG_BUILD_ARCH_x86=y +CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y # CONFIG_BUILD_ARCH_amd64 is not set # CONFIG_BUILD_ARCH_arm 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=y CONFIG_BUILD_ARCH="x86" CONFIG_BUILD_ABI_l4f=y CONFIG_BUILD_ABI="l4f" +CONFIG_CPU="586" CONFIG_CPU_X86_586=y # CONFIG_CPU_X86_PENTIUM is not set # CONFIG_CPU_X86_PENTIUMMMX is not set @@ -28,8 +31,6 @@ CONFIG_CPU_X86_586=y # CONFIG_CPU_X86_K8 is not set # CONFIG_CPU_X86_K10 is not set # CONFIG_CPU_X86_OPTERON is not set -CONFIG_CPU="586" -# CONFIG_PLATFORM_TYPE_imx53 is not set CONFIG_PLATFORM_TYPE_pc=y # CONFIG_PLATFORM_TYPE_custom is not set CONFIG_PLATFORM_TYPE="pc" @@ -51,7 +52,7 @@ 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_GCC_ENABLE_STACK_PROTECTOR is not set # CONFIG_BID_BUILD_DOC is not set # CONFIG_RELEASE_MODE is not set CONFIG_MAKECONFS_ADD="" diff --git a/repos/base-foc/config/x86_64.kernel b/repos/base-foc/config/x86_64.kernel index d85a5204c..07159da20 100644 --- a/repos/base-foc/config/x86_64.kernel +++ b/repos/base-foc/config/x86_64.kernel @@ -2,6 +2,14 @@ # Automatically generated file; DO NOT EDIT. # Fiasco configuration # +CONFIG_HAS_VIRT_OBJ_SPACE_OPTION=y +CONFIG_HAS_SERIAL_OPTION=y +CONFIG_HAS_WATCHDOG_OPTION=y +CONFIG_HAS_JDB_DISASM_OPTION=y +CONFIG_HAS_JDB_GZIP_OPTION=y +CONFIG_HAS_IOMMU_OPTION=y +CONFIG_HAS_MP_OPTION=y +CONFIG_HAS_CPU_VIRT=y # # Target configuration @@ -9,10 +17,12 @@ # CONFIG_IA32 is not set CONFIG_AMD64=y # CONFIG_ARM is not set +# CONFIG_MIPS is not set CONFIG_PF_PC=y CONFIG_ABI_VF=y -CONFIG_AMD64_K8=y +# CONFIG_AMD64_K8 is not set # CONFIG_AMD64_CORE2 is not set +CONFIG_AMD64_CORE_I=y # CONFIG_AMD64_ATOM is not set # CONFIG_AMD64_K10 is not set # CONFIG_CPU_VIRT is not set @@ -24,11 +34,13 @@ CONFIG_SCHED_APIC=y # CONFIG_MP=y CONFIG_MP_MAX_CPUS=4 -CONFIG_CONTEXT_4K=y +CONFIG_CONTEXT_8K=y +# CONFIG_SYNC_TSC is not set # CONFIG_FINE_GRAINED_CPUTIME is not set CONFIG_SCHED_FIXED_PRIO=y # CONFIG_SCHED_WFQ is not set # CONFIG_SCHED_FP_WFQ is not set +# CONFIG_IOMMU is not set # CONFIG_DISABLE_VIRT_OBJ_SPACE is not set CONFIG_VIRT_OBJ_SPACE=y @@ -48,6 +60,7 @@ CONFIG_JDB=y CONFIG_JDB_LOGGING=y CONFIG_JDB_DISASM=y CONFIG_JDB_GZIP=y +# CONFIG_JDB_ACCOUNTING is not set CONFIG_JDB_MISC=y CONFIG_POWERSAVE_GETCHAR=y # CONFIG_WARN_NONE is not set @@ -68,5 +81,5 @@ CONFIG_PERF_CNT=y CONFIG_BIT64=y CONFIG_WARN_LEVEL=1 CONFIG_XARCH="amd64" -CONFIG_IA32_TARGET="AMD Opteron" +CONFIG_IA32_TARGET="Intel Core-i" CONFIG_ABI="vf" diff --git a/repos/base-foc/config/x86_64.user b/repos/base-foc/config/x86_64.user index 2d52587e6..62d149d80 100644 --- a/repos/base-foc/config/x86_64.user +++ b/repos/base-foc/config/x86_64.user @@ -2,19 +2,20 @@ # Automatically generated file; DO NOT EDIT. # L4Re Configuration # -# CONFIG_BUILD_ARCH_x86 is not set +CONFIG_ARCH_ENABLE_STACK_PROTECTOR=y CONFIG_BUILD_ARCH_amd64=y # CONFIG_BUILD_ARCH_arm 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="amd64" CONFIG_BUILD_ABI_l4f=y CONFIG_BUILD_ABI="l4f" +CONFIG_CPU="K8" CONFIG_CPU_X86_K8=y # CONFIG_CPU_X86_K10 is not set # CONFIG_CPU_X86_OPTERON is not set -CONFIG_CPU="K8" -# CONFIG_PLATFORM_TYPE_imx53 is not set CONFIG_PLATFORM_TYPE_pc=y # CONFIG_PLATFORM_TYPE_custom is not set CONFIG_PLATFORM_TYPE="pc" @@ -36,7 +37,9 @@ 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_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/include/foc/native_capability.h b/repos/base-foc/include/foc/native_capability.h index 49f7b3454..d07994f84 100644 --- a/repos/base-foc/include/foc/native_capability.h +++ b/repos/base-foc/include/foc/native_capability.h @@ -29,13 +29,14 @@ namespace Fiasco { TASK_CAP = L4_BASE_TASK_CAP, /* use the same task cap selector like L4Re for compatibility in L4Linux */ + DEBUG_CAP = L4_BASE_DEBUGGER_CAP, /* * To not clash with other L4Re cap selector constants (e.g.: L4Linux) - * leave the following selectors (2-7) empty + * leave the following selectors (2-8) empty */ - PARENT_CAP = 0x8UL << L4_CAP_SHIFT, /* cap to parent session */ + PARENT_CAP = 0xbUL << L4_CAP_SHIFT, /* cap to parent session */ /* * Each thread has a designated slot in the core controlled cap @@ -43,7 +44,7 @@ namespace Fiasco { * its irq capability (for locks), and the capability to its pager * gate are stored */ - THREAD_AREA_BASE = 0x9UL << L4_CAP_SHIFT, /* offset to thread area */ + THREAD_AREA_BASE = 0xcUL << L4_CAP_SHIFT, /* offset to thread area */ THREAD_AREA_SLOT = 0x3UL << L4_CAP_SHIFT, /* size of one thread slot */ THREAD_GATE_CAP = 0, /* offset to the ipc gate cap selector in the slot */ diff --git a/repos/base-foc/lib/mk/kernel-foc.inc b/repos/base-foc/lib/mk/kernel-foc.inc index 097686636..976c8b211 100644 --- a/repos/base-foc/lib/mk/kernel-foc.inc +++ b/repos/base-foc/lib/mk/kernel-foc.inc @@ -9,14 +9,14 @@ unexport KERNEL $(FOC_BUILD_DIR): $(VERBOSE_MK) set -o pipefail; \ - $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \ + $(MAKE) CROSS_COMPILE="$(CROSS_DEV_PREFIX)" \ $(VERBOSE_DIR) -C $(FOC_SRC) BUILDDIR=$@ \ $(KERNEL_BUILD_OUTPUT_FILTER) $(VERBOSE)cp $(KERNEL_CONFIG) $@/globalconfig.out $(FOC): $(FOC_BUILD_DIR) $(VERBOSE_MK) set -o pipefail; \ - $(MAKE) SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \ + $(MAKE) CROSS_COMPILE="$(CROSS_DEV_PREFIX)" \ CC="$(CC)" CXX="$(CXX)" \ $(VERBOSE_DIR) -C $(FOC_BUILD_DIR) \ $(KERNEL_BUILD_OUTPUT_FILTER) @@ -31,11 +31,13 @@ $(FOC): $(FOC_BUILD_DIR) LIBS += syscall-foc -PKGS := uclibc-headers \ - uclibc-minimal \ - l4util \ - cxx \ - sigma0 \ +PKGS := l4re-core/crtn \ + l4re-core/uclibc-headers \ + l4re-core/l4util \ + l4re-core/cxx \ + l4re-core/uclibc-minimal \ + l4re-core/libstdc++-headers \ + l4re-core/sigma0 \ drivers-frst/include drivers-frst/of drivers-frst/uart \ bootstrap diff --git a/repos/base-foc/lib/mk/l4_pkg.inc b/repos/base-foc/lib/mk/l4_pkg.inc index 3d07c0bc5..9987572ce 100644 --- a/repos/base-foc/lib/mk/l4_pkg.inc +++ b/repos/base-foc/lib/mk/l4_pkg.inc @@ -28,7 +28,7 @@ ifeq ($(L4_BUILD_ARCH),) $(error L4_BUILD_ARCH undefined, architecture not supported) endif -L4_BUILD_OPT = SYSTEM_TARGET=$(CROSS_DEV_PREFIX) +L4_BUILD_OPT = CROSS_COMPILE=$(CROSS_DEV_PREFIX) L4_PKG_DIR := $(call select_from_ports,foc)/src/kernel/foc/l4/pkg PKG_TAGS = $(addsuffix .tag,$(PKGS)) diff --git a/repos/base-foc/lib/mk/spec/arm/syscall-foc.inc b/repos/base-foc/lib/mk/spec/arm/syscall-foc.inc index a61491387..ee0595511 100644 --- a/repos/base-foc/lib/mk/spec/arm/syscall-foc.inc +++ b/repos/base-foc/lib/mk/spec/arm/syscall-foc.inc @@ -10,9 +10,9 @@ SRC_C += utcb.c SRC_S += atomic_ops_s.S utcb.c: - $(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/utcb.c + $(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4re-core/l4sys/lib/src/utcb.c atomic_ops_s.S: - $(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/ARCH-arm/atomic_ops_s.S + $(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4re-core/l4sys/lib/src/ARCH-arm/atomic_ops_s.S utcb.c atomic_ops_s.S: $(PKG_TAGS) diff --git a/repos/base-foc/lib/mk/spec/x86/syscall-foc.inc b/repos/base-foc/lib/mk/spec/x86/syscall-foc.inc index 935d5cf2f..947fa616f 100644 --- a/repos/base-foc/lib/mk/spec/x86/syscall-foc.inc +++ b/repos/base-foc/lib/mk/spec/x86/syscall-foc.inc @@ -4,9 +4,9 @@ SRC_S += syscalls_direct.S include $(REP_DIR)/lib/mk/syscall-foc.inc utcb.c: - $(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/utcb.c + $(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4re-core/l4sys/lib/src/utcb.c syscalls_direct.S: - $(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4sys/lib/src/ARCH-x86/syscalls_direct.S + $(VERBOSE)ln -sf $(L4_BUILD_DIR)/source/pkg/l4re-core/l4sys/lib/src/ARCH-x86/syscalls_direct.S utcb.c syscalls_direct.S: $(PKG_TAGS) diff --git a/repos/base-foc/lib/mk/syscall-foc.inc b/repos/base-foc/lib/mk/syscall-foc.inc index 669dfb154..ead497fdd 100644 --- a/repos/base-foc/lib/mk/syscall-foc.inc +++ b/repos/base-foc/lib/mk/syscall-foc.inc @@ -39,15 +39,14 @@ $(L4_BUILD_DIR)/.kconfig: $(VERBOSE_MK) set -o pipefail; \ MAKEFLAGS= $(MAKE) $(VERBOSE_DIR) -C $(L4_SRC_DIR)/l4 \ B=$(L4_BUILD_DIR) DROPSCONF_DEFCONFIG="$(L4_CONFIG)" \ - VERBOSE="$(VERBOSE)" SYSTEM_TARGET="$(CROSS_DEV_PREFIX)" \ + VERBOSE="$(VERBOSE)" CROSS_COMPILE="$(CROSS_DEV_PREFIX)" \ 2>&1 | sed "s/^/ [l4build] /" -PKGS := ldscripts \ - libgcc-pure \ - l4sys \ - libgcc \ - libsigma0 \ - libvcpu/include +PKGS := l4re-core/ldscripts \ + l4re-core/libgcc-pure \ + l4re-core/l4sys \ + l4re-core/libgcc \ + l4re-core/libsigma0 include $(REP_DIR)/lib/mk/l4_pkg.inc diff --git a/repos/base-foc/ports/foc.hash b/repos/base-foc/ports/foc.hash index d5bcb4790..18f82b9c5 100644 --- a/repos/base-foc/ports/foc.hash +++ b/repos/base-foc/ports/foc.hash @@ -1 +1 @@ -e5e855ddfbdb87d4c2b64acacccd5f7a451395ea +db44371239ad6769073fae0a3f2bd0ff107c399d diff --git a/repos/base-foc/ports/foc.port b/repos/base-foc/ports/foc.port index a2fd7b40a..27d04c94a 100644 --- a/repos/base-foc/ports/foc.port +++ b/repos/base-foc/ports/foc.port @@ -1,6 +1,6 @@ LICENSE := GPLv2 VERSION := git DOWNLOADS := foc.git -URL(foc) := http://github.com/cproc/foc.git -REV(foc) := f201220aa686083d10805a91343b67629b62fe30 +URL(foc) := https://github.com/skalk/foc.git +REV(foc) := c60f50987cdb2eb645caa63ab497f4f955256548 DIR(foc) := src/kernel/foc diff --git a/repos/base-foc/src/core/include/platform_pd.h b/repos/base-foc/src/core/include/platform_pd.h index 3328ae5f1..05eb69f9a 100644 --- a/repos/base-foc/src/core/include/platform_pd.h +++ b/repos/base-foc/src/core/include/platform_pd.h @@ -57,6 +57,7 @@ namespace Genode { Cap_mapping _task; Cap_mapping _parent; + Cap_mapping _debug; Platform_thread *_threads[THREAD_MAX]; public: diff --git a/repos/base-foc/src/core/include/util.h b/repos/base-foc/src/core/include/util.h index b8c5f4f03..95dc98e43 100644 --- a/repos/base-foc/src/core/include/util.h +++ b/repos/base-foc/src/core/include/util.h @@ -19,6 +19,7 @@ /* Genode includes */ #include +#include #include #include @@ -28,27 +29,16 @@ /* Fiasco includes */ namespace Fiasco { #include -#include #include } namespace Genode { - inline void log_event(const char *s) - { - Fiasco::fiasco_tbuf_log(s); - } - - inline void log_event(const char *s, unsigned v1, unsigned v2, unsigned v3) - { - Fiasco::fiasco_tbuf_log_3val(s, v1, v2, v3); - } - inline void panic(const char *s) { - using namespace Fiasco; - outstring(s); - enter_kdebug("> panic <"); + raw(s); + raw("> panic <"); + while (1) ; } inline void touch_ro(const void *addr, unsigned size) @@ -75,25 +65,10 @@ namespace Genode { touch_read_write(bptr); } - inline addr_t trunc_page(addr_t addr) - { - using namespace Fiasco; - return l4_trunc_page(addr); - } + inline addr_t trunc_page(addr_t addr) { return Fiasco::l4_trunc_page(addr); } + inline addr_t round_page(addr_t addr) { return Fiasco::l4_round_page(addr); } - inline addr_t round_page(addr_t addr) - { - using namespace Fiasco; - return l4_round_page(addr); - } - - inline addr_t round_superpage(addr_t addr) - { - using namespace Fiasco; - return (addr + L4_SUPERPAGESIZE-1) & L4_SUPERPAGEMASK; - } - - constexpr size_t get_super_page_size() { return L4_SUPERPAGESIZE; } + constexpr size_t get_super_page_size() { return L4_SUPERPAGESIZE; } constexpr size_t get_super_page_size_log2() { return L4_LOG2_SUPERPAGESIZE; } inline addr_t map_src_addr(addr_t core_local_addr, addr_t phys_addr) { diff --git a/repos/base-foc/src/core/irq_session_component.cc b/repos/base-foc/src/core/irq_session_component.cc index a55f22a45..2694e944a 100644 --- a/repos/base-foc/src/core/irq_session_component.cc +++ b/repos/base-foc/src/core/irq_session_component.cc @@ -86,48 +86,48 @@ bool Genode::Irq_object::associate(unsigned irq, bool msi, Irq_session::Trigger trigger, Irq_session::Polarity polarity) { - if (msi) - /* - * Local APIC address, See Intel x86 Spec - Section MSI 10.11. - * - * XXX local Apic ID encoding missing - address is constructed - * assuming that local APIC id of boot CPU is 0 XXX - */ - _msi_addr = 0xfee00000UL; + using namespace Fiasco; _irq = irq; _trigger = trigger; _polarity = polarity; - using namespace Fiasco; + if (msi) irq |= L4_ICU_FLAG_MSI; + else + /* set interrupt mode */ + Platform::setup_irq_mode(irq, _trigger, _polarity); + if (l4_error(l4_factory_create_irq(L4_BASE_FACTORY_CAP, _capability()))) { error("l4_factory_create_irq failed!"); return false; } - - unsigned long gsi = _irq; - if (_msi_addr) - gsi |= L4_ICU_FLAG_MSI; - - if (l4_error(l4_icu_bind(L4_BASE_ICU_CAP, gsi, _capability()))) { + if (l4_error(l4_icu_bind(L4_BASE_ICU_CAP, irq, _capability()))) { error("Binding IRQ ", _irq, " to the ICU failed"); return false; } - if (!_msi_addr) - /* set interrupt mode */ - Platform::setup_irq_mode(gsi, _trigger, _polarity); - if (l4_error(l4_irq_attach(_capability(), reinterpret_cast(this), Interrupt_handler::handler_cap()))) { error("cannot attach to IRQ ", _irq); return false; } - if (_msi_addr && l4_error(l4_icu_msi_info(L4_BASE_ICU_CAP, gsi, - &_msi_data))) { - error("cannot get MSI info"); - return false; + if (msi) { + /** + * src_id represents bit 64-84 of the Interrupt Remap Table Entry Format + * for Remapped Interrupts, reference section 9.10 of the + * Intel ® Virtualization Technology for Directed I/O + * Architecture Specification + */ + unsigned src_id = 0x0; + Fiasco::l4_icu_msi_info_t info = l4_icu_msi_info_t(); + if (l4_error(l4_icu_msi_info(L4_BASE_ICU_CAP, irq, + src_id, &info))) { + error("cannot get MSI info"); + return false; + } + _msi_addr = info.msi_addr; + _msi_data = info.msi_data; } return true; @@ -161,14 +161,13 @@ Genode::Irq_object::~Irq_object() using namespace Fiasco; - unsigned long gsi = _irq; - if (_msi_addr) - gsi |= L4_ICU_FLAG_MSI; + unsigned long irq = _irq; + if (_msi_addr) irq |= L4_ICU_FLAG_MSI; if (l4_error(l4_irq_detach(_capability()))) error("cannot detach IRQ"); - if (l4_error(l4_icu_unbind(L4_BASE_ICU_CAP, gsi, _capability()))) + if (l4_error(l4_icu_unbind(L4_BASE_ICU_CAP, irq, _capability()))) error("cannot unbind IRQ"); cap_map()->remove(_cap); @@ -182,27 +181,24 @@ Genode::Irq_object::~Irq_object() Irq_session_component::Irq_session_component(Range_allocator *irq_alloc, const char *args) -: - _irq_number(~0U), _irq_alloc(irq_alloc) +: _irq_number(Arg_string::find_arg(args, "irq_number").long_value(-1)), + _irq_alloc(irq_alloc) { - Irq_args const irq_args(args); - long msi = Arg_string::find_arg(args, "device_config_phys").long_value(0); if (msi) { - if (msi_alloc.get(irq_args.irq_number(), 1)) { - error("unavailable MSI ", irq_args.irq_number(), " requested"); + if (msi_alloc.get(_irq_number, 1)) { + error("unavailable MSI ", _irq_number, " requested"); throw Service_denied(); } - msi_alloc.set(irq_args.irq_number(), 1); + msi_alloc.set(_irq_number, 1); } else { - if (!irq_alloc || irq_alloc->alloc_addr(1, irq_args.irq_number()).error()) { - error("unavailable IRQ ", irq_args.irq_number(), " requested"); + if (!irq_alloc || irq_alloc->alloc_addr(1, _irq_number).error()) { + error("unavailable IRQ ", _irq_number, " requested"); throw Service_denied(); } } - _irq_number = irq_args.irq_number(); - + Irq_args const irq_args(args); _irq_object.associate(_irq_number, msi, irq_args.trigger(), irq_args.polarity()); } @@ -233,7 +229,7 @@ void Irq_session_component::sigh(Genode::Signal_context_capability cap) Genode::Irq_session::Info Irq_session_component::info() { - if (!_irq_object.msi_address() || !_irq_object.msi_value()) + if (!_irq_object.msi_address()) return { .type = Genode::Irq_session::Info::Type::INVALID }; return { diff --git a/repos/base-foc/src/core/platform_pd.cc b/repos/base-foc/src/core/platform_pd.cc index e8f44fac2..9f4268c9a 100644 --- a/repos/base-foc/src/core/platform_pd.cc +++ b/repos/base-foc/src/core/platform_pd.cc @@ -69,8 +69,10 @@ bool Platform_pd::bind_thread(Platform_thread *thread) thread->_irq.remote = cap_offset + THREAD_IRQ_CAP; /* if it's no core-thread we have to map parent and pager gate cap */ - if (!thread->core_thread()) + if (!thread->core_thread()) { _task.map(_task.local.data()->kcap()); + _debug.map(_task.local.data()->kcap()); + } /* inform thread about binding */ thread->bind(this); @@ -105,6 +107,13 @@ void Platform_pd::assign_parent(Native_capability parent) } +static Core_cap_index & debug_cap() +{ + unsigned long id = platform_specific()->cap_id_alloc()->alloc(); + static Cap_index * idx = cap_map()->insert(id, DEBUG_CAP); + return *reinterpret_cast(idx); +} + Platform_pd::Platform_pd(Core_cap_index* i) : _task(Native_capability(*i), TASK_CAP) { @@ -114,7 +123,7 @@ Platform_pd::Platform_pd(Core_cap_index* i) Platform_pd::Platform_pd(Allocator *, char const *) -: _task(true, TASK_CAP) +: _task(true, TASK_CAP), _debug(debug_cap(), DEBUG_CAP) { for (unsigned i = 0; i < THREAD_MAX; i++) _threads[i] = (Platform_thread*) 0; diff --git a/repos/base-foc/src/include/base/internal/foc_assert.h b/repos/base-foc/src/include/base/internal/foc_assert.h index 1f4c422a8..66232ecaa 100644 --- a/repos/base-foc/src/include/base/internal/foc_assert.h +++ b/repos/base-foc/src/include/base/internal/foc_assert.h @@ -17,7 +17,6 @@ /* Genode includes */ #include -/* Fiasco includes */ namespace Fiasco { #include } @@ -25,7 +24,7 @@ namespace Fiasco { #define ASSERT(e, s) \ do { if (!(e)) { \ Genode::raw("assertion failed: ", s, " at ", __FILE__, ":", __LINE__); \ - enter_kdebug("ASSERT"); \ + Fiasco::enter_kdebug("ASSERT"); \ } \ } while(0) diff --git a/repos/base-foc/src/include/base/internal/lock_helper.h b/repos/base-foc/src/include/base/internal/lock_helper.h index 44f223a03..95698358f 100644 --- a/repos/base-foc/src/include/base/internal/lock_helper.h +++ b/repos/base-foc/src/include/base/internal/lock_helper.h @@ -27,7 +27,6 @@ /* Fiasco.OC includes */ namespace Fiasco { -#include #include #include } diff --git a/repos/base-foc/src/include/base/internal/raw_write_string.h b/repos/base-foc/src/include/base/internal/raw_write_string.h index 4283bb7dd..10ed8b21c 100644 --- a/repos/base-foc/src/include/base/internal/raw_write_string.h +++ b/repos/base-foc/src/include/base/internal/raw_write_string.h @@ -14,18 +14,13 @@ #ifndef _INCLUDE__BASE__INTERNAL__RAW_WRITE_STRING_H_ #define _INCLUDE__BASE__INTERNAL__RAW_WRITE_STRING_H_ -/* Fiasco includes */ -namespace Fiasco { -#include -} +#include +#include "foc_assert.h" namespace Genode { - void raw_write_string(char const *str) - { - using namespace Fiasco; - outstring(const_cast(str)); - } + void raw_write_string(char const *str) { + Fiasco::outstring(const_cast(str)); } } #endif /* _INCLUDE__BASE__INTERNAL__RAW_WRITE_STRING_H_ */ diff --git a/repos/base-foc/src/lib/base/cap_map.cc b/repos/base-foc/src/lib/base/cap_map.cc index 57423b0d3..00fc54179 100644 --- a/repos/base-foc/src/lib/base/cap_map.cc +++ b/repos/base-foc/src/lib/base/cap_map.cc @@ -21,6 +21,33 @@ /* kernel includes */ #include +/** + * We had to change the sematic of l4_task_cap_equal to return whether two + * capabilities point to the same kernel object instead of whether both + * capabilities are equal with respect to thier rights. To easily check after + * a Fiasco.OC upgrade whether the sematic of the kernel patch still matches + * our expectations below macro can be used. + */ +#ifdef TEST_KERN_CAP_EQUAL +namespace Fiasco { +#include +} +inline bool CHECK_CAP_EQUAL(bool equal, Genode::addr_t cap1, + Genode::addr_t cap2) +{ + unsigned long id1 = Fiasco::l4_debugger_global_id(cap1), + id2 = Fiasco::l4_debugger_global_id(cap2); + ASSERT(((id1 == id2) == equal), "CAPS NOT EQUAL!!!"); + return equal; +} +#else +inline bool CHECK_CAP_EQUAL(bool equal, Genode::addr_t, + Genode::addr_t) +{ + return equal; +} +#endif /* TEST_KERN_CAP_EQUAL */ + /*********************** ** Cap_index class ** @@ -136,7 +163,7 @@ Genode::Cap_index* Genode::Capability_map::insert_map(int id, addr_t kcap) /* if we own the capability already check whether it's the same */ if (i) { l4_msgtag_t tag = l4_task_cap_equal(L4_BASE_TASK_CAP, i->kcap(), kcap); - if (!l4_msgtag_label(tag)) { + if (!CHECK_CAP_EQUAL(l4_msgtag_label(tag), i->kcap(), kcap)) { /* * they aren't equal, possibly an already revoked cap, * otherwise it's a fake capability and we return an invalid one diff --git a/repos/base-foc/src/lib/base/ipc.cc b/repos/base-foc/src/lib/base/ipc.cc index 4666120b0..5f240e1d8 100644 --- a/repos/base-foc/src/lib/base/ipc.cc +++ b/repos/base-foc/src/lib/base/ipc.cc @@ -40,7 +40,6 @@ namespace Fiasco { #include #include #include -#include } using namespace Genode; @@ -51,23 +50,14 @@ using namespace Fiasco; ** Utilities ** ***************/ -enum Debug { DEBUG_MSG = 1, HALT_ON_ERROR = 0 }; +enum Debug { DEBUG_MSG = 1 }; static inline bool ipc_error(l4_msgtag_t tag, bool print) { int ipc_error = l4_ipc_error(tag, l4_utcb()); - if (ipc_error) { - if (print) { - outstring("Ipc error: "); - outhex32(ipc_error); - outstring(" occurred!\n"); - } - if (HALT_ON_ERROR) - enter_kdebug("Ipc error"); - return true; - } - return false; + if (ipc_error && print) raw("Ipc error: ", ipc_error, " occurred!"); + return ipc_error; } @@ -111,7 +101,7 @@ static unsigned long extract_msg_from_utcb(l4_msgtag_t tag, num_msg_words -= 2; if (num_caps > 0 && num_msg_words < num_caps) { - outstring("unexpected end of message, capability info missing\n"); + raw("unexpected end of message, capability info missing"); return 0; } @@ -137,7 +127,7 @@ static unsigned long extract_msg_from_utcb(l4_msgtag_t tag, /* received a delegated capability */ if (sel_idx == num_cap_sel) { - outstring("missing capability selector in message\n"); + raw("missing capability selector in message"); break; } @@ -150,7 +140,7 @@ static unsigned long extract_msg_from_utcb(l4_msgtag_t tag, /* the remainder of the message contains the regular data payload */ if ((num_msg_words)*sizeof(l4_mword_t) > rcv_msg.capacity()) { if (DEBUG_MSG) - outstring("receive message buffer too small\n"); + raw("receive message buffer too small"); num_msg_words = rcv_msg.capacity()/sizeof(l4_mword_t); } @@ -229,7 +219,7 @@ static l4_msgtag_t copy_msgbuf_to_utcb(Msgbuf_base &snd_msg, unsigned const num_msg_words = 2 + num_caps + num_data_words; if (num_msg_words > L4_UTCB_GENERIC_DATA_SIZE) { - outstring("receive message buffer too small\n"); + raw("receive message buffer too small"); throw Ipc_error(); } @@ -361,7 +351,7 @@ Genode::Rpc_request Genode::ipc_reply_wait(Reply_capability const &last_caller, /* ignore request if we detect a forged badge */ if (!badge_matches_label(badge, label)) { - outstring("badge does not match label, ignoring request\n"); + raw("badge does not match label, ignoring request"); continue; } diff --git a/repos/base-foc/src/lib/base/signal_source_client.cc b/repos/base-foc/src/lib/base/signal_source_client.cc index ce0d5eea3..e91e700b6 100644 --- a/repos/base-foc/src/lib/base/signal_source_client.cc +++ b/repos/base-foc/src/lib/base/signal_source_client.cc @@ -15,6 +15,7 @@ /* Genode includes */ #include #include +#include #include /* base-internal includes */ @@ -22,6 +23,8 @@ #include /* Fiasco includes */ +#include + namespace Fiasco { #include } @@ -38,8 +41,9 @@ Signal_source_client::Signal_source_client(Capability cap) /* request mapping of semaphore capability selector */ _sem = call(); - l4_msgtag_t tag = l4_irq_attach(_sem.data()->kcap(), 0, - Thread::myself()->native_thread().kcap); + Foc_native_cpu_client cpu_client(env_deprecated()->cpu_session()->native_cpu()); + Native_capability thread_cap = cpu_client.native_cap(Thread::myself()->cap()); + l4_msgtag_t tag = l4_irq_attach(_sem.data()->kcap(), 0, thread_cap.data()->kcap()); if (l4_error(tag)) Genode::raw("l4_irq_attach failed with ", l4_error(tag)); } diff --git a/tool/run/boot_dir/foc b/tool/run/boot_dir/foc index 38be9ca4c..d40a0cefb 100644 --- a/tool/run/boot_dir/foc +++ b/tool/run/boot_dir/foc @@ -166,7 +166,7 @@ proc run_boot_dir_arm { binaries } { set gen_img_cmd "make -C [l4_build_dir]/source O=[l4_build_dir] E=genode " append gen_img_cmd "MODULES_LIST=[pwd]/[run_dir]/modules.list " append gen_img_cmd "MODULE_SEARCH_PATH=[pwd]/[run_dir]:[pwd]:[l4_build_dir] " - append gen_img_cmd "SYSTEM_TARGET=[cross_dev_prefix] elfimage" + append gen_img_cmd "CROSS_COMPILE=[cross_dev_prefix] elfimage" set pid [eval "spawn sh -c \"$gen_img_cmd\""] expect { eof { } }