Module: xenomai-forge Branch: master Commit: 2f84b5f6157d31de0ec60a69404aeb2924ab6fa8 URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=2f84b5f6157d31de0ec60a69404aeb2924ab6fa8
Author: Philippe Gerum <r...@xenomai.org> Date: Thu Nov 10 18:49:55 2011 +0100 cobalt/kernel: remove support for modular build Rationale: Xenomai's Cobalt in-kernel footprints drastically shrunk to only include the nucleus, the POSIX/cobalt and RTDM skins. On armv6 for instance, this typically amounts to less than 150Kb, most of it from the data/bss sections. In the past, most people tended to build Xenomai 2.x statically into the kernel already, simply because: - dealing with modules during system updates is error-prone unless versioning is enabled, which is not particularly space-efficient. - matching virtual addresses from kernel message logs to code from disassembled vmlinux images is a no-brainer (e.g. during the debug phase, after a BUG() assertion triggered). - enabling the module machinery in the kernel consumes a significant amount of RAM. So space-conscious setups will likely avoid them in any case. On the other hand, modules do not bring any real upside. Typically, the perceived ability to reinit an application system by virtue of unloading modules then pushing them again is a fairly red herring: if something went bad in the module space, then the whole kernel is likely to have been affected, so this operation is pointless anyway. This patch removes the ability to build the Xenomai core in a modular fashion, only retaining the static build for the nucleus-cobalt-RTDM triplet which constitutes the Cobalt core. However, RTDM drivers can still be built as modules though. --- scripts/Kconfig.frag | 5 +---- scripts/prepare-kernel.sh | 4 ++-- scripts/prepare-patch.sh | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/scripts/Kconfig.frag b/scripts/Kconfig.frag index 76497d2..bbc9cbe 100644 --- a/scripts/Kconfig.frag +++ b/scripts/Kconfig.frag @@ -1,11 +1,8 @@ -config XENOMAI_COBALT - bool config XENOMAI depends on (X86_TSC || !X86) && (!HPET_TIMER || !X86 || X86_LOCAL_APIC) - tristate "Xenomai" + bool "Xenomai" select IPIPE - select XENOMAI_COBALT default y help Xenomai is a real-time extension to the Linux kernel. Note diff --git a/scripts/prepare-kernel.sh b/scripts/prepare-kernel.sh index 0e5b66e..b39808e 100755 --- a/scripts/prepare-kernel.sh +++ b/scripts/prepare-kernel.sh @@ -400,8 +400,8 @@ case $linux_VERSION.$linux_PATCHLEVEL in patch_append init/Kconfig fi - if ! grep -q CONFIG_XENOMAI_COBALT $linux_tree/arch/$linux_arch/Makefile; then - p="core-\$(CONFIG_XENOMAI_COBALT) += kernel/xenomai/hal/ arch/$linux_arch/xenomai/" + if ! grep -q CONFIG_XENOMAI $linux_tree/arch/$linux_arch/Makefile; then + p="core-\$(CONFIG_XENOMAI) += kernel/xenomai/hal/ arch/$linux_arch/xenomai/" echo $p | patch_append arch/$linux_arch/Makefile fi diff --git a/scripts/prepare-patch.sh b/scripts/prepare-patch.sh index fd299ae..fc7c0b1 100755 --- a/scripts/prepare-patch.sh +++ b/scripts/prepare-patch.sh @@ -113,7 +113,7 @@ for linux_arch in $supported_arch ; do patch_link r m kernel/cobalt/arch/$base_arch arch/$linux_arch/xenomai patch_link r n include/asm-$base_arch arch/$linux_arch/include/asm/xenomai - p="+core-\$(CONFIG_XENOMAI_COBALT) += arch/$linux_arch/xenomai/" + p="+core-\$(CONFIG_XENOMAI) += arch/$linux_arch/xenomai/" echo $p | patch_append arch/$linux_arch/Makefile diff_addons done _______________________________________________ Xenomai-git mailing list Xenomai-git@gna.org https://mail.gna.org/listinfo/xenomai-git