Hi,

this patch aims at avoiding to select unneeded nucleus features if no
user is requiring it in the skins. Particularly, it addresses the
nucleus registry and the pipes.

I have spent no effort on 2.4 yet as I first want to wait for comments.
Furthermore, 2.4. is lacking "select", so the feature selection has to
remain manually there anyway.

Jan
Index: ksrc/nucleus/Kconfig
===================================================================
--- ksrc/nucleus/Kconfig        (revision 924)
+++ ksrc/nucleus/Kconfig        (working copy)
@@ -32,15 +32,7 @@ config XENO_OPT_SECURITY_ACCESS
        think twice before switching this off.
 
 config XENO_OPT_PIPE
-       bool "Message pipes"
-       default y
-       help
-
-       Message pipes are bi-directional FIFO communication
-       channels allowing data exchange between real-time kernel
-       threads and regular user-space processes. Pipes natively
-       preserve message boundaries, but can also be used in byte
-       streaming mode from kernel to user-space.
+       bool
 
 config XENO_OPT_PIPE_NRDEV
        int "Number of pipe devices"
@@ -48,14 +40,23 @@ config XENO_OPT_PIPE_NRDEV
        default 32
        help
        
+       Message pipes are bi-directional FIFO communication
+       channels allowing data exchange between real-time kernel
+       threads and regular user-space processes. Pipes natively
+       preserve message boundaries, but can also be used in byte
+       streaming mode from kernel to user-space.
+       
        This option sets the maximum number of pipe devices supported
        in the system. Pipe devices are named /dev/rtpN where N is a
        device minor number ranging from 0 to XENO_OPT_PIPE_NRDEV - 1.
 
 config XENO_OPT_REGISTRY
        bool
-       prompt "Registry support" if !XENO_OPT_PERVASIVE
-       default y
+
+config XENO_OPT_REGISTRY_NRSLOTS
+       int "Number of registry slots"
+       depends on XENO_OPT_REGISTRY
+       default 512
        help
        
        The registry is used by Xenomai skins to bind real-time
@@ -63,12 +64,6 @@ config XENO_OPT_REGISTRY
        can be further retrieved and shared by real-time applications
        regardless of their runtime space (i.e. kernel or user). Each
        named object occupies a registry slot.
-
-config XENO_OPT_REGISTRY_NRSLOTS
-       int "Number of registry slots"
-       depends on XENO_OPT_REGISTRY
-       default 512
-       help
        
        This option sets the maximum number of real-time objects the
        registry can handle. All skins using the registry share this
Index: ksrc/skins/vrtx/Kconfig
===================================================================
--- ksrc/skins/vrtx/Kconfig     (revision 924)
+++ ksrc/skins/vrtx/Kconfig     (working copy)
@@ -1,7 +1,7 @@
 config XENO_SKIN_VRTX
        depends on XENO_OPT_NUCLEUS
        tristate "VRTX emulator"
-       default n
+       select XENO_OPT_REGISTRY
        help
 
        This API skin emulates Mentor Graphics's VRTX operating
Index: ksrc/skins/vxworks/Kconfig
===================================================================
--- ksrc/skins/vxworks/Kconfig  (revision 924)
+++ ksrc/skins/vxworks/Kconfig  (working copy)
@@ -1,7 +1,7 @@
 config XENO_SKIN_VXWORKS
        depends on XENO_OPT_NUCLEUS
        tristate "VxWorks emulator"
-       default n
+       select XENO_OPT_REGISTRY
        help
 
        This API skin emulates WindRiver's VxWorks operating system.
Index: ksrc/skins/native/Kconfig
===================================================================
--- ksrc/skins/native/Kconfig   (revision 924)
+++ ksrc/skins/native/Kconfig   (working copy)
@@ -10,7 +10,7 @@ if XENO_SKIN_NATIVE != n
 
 config XENO_OPT_NATIVE_PIPE
        bool "Message pipes"
-       depends on XENO_OPT_PIPE
+       select XENO_OPT_PIPE
        default y
        help
        
@@ -33,6 +33,18 @@ config XENO_OPT_NATIVE_PIPE_BUFSZ
        This option sets the memory size available for per-pipe
        buffering when message pipes are used in byte stream mode.
 
+config XENO_OPT_NATIVE_REGISTRY
+       bool
+       prompt "Registry support" if !XENO_OPT_PERVASIVE
+       select XENO_OPT_REGISTRY
+       default y
+       help
+       
+       The registry is used to bind real-time objects to symbolic names,
+       so that these objects can be further retrieved and shared by
+       real-time applications regardless of their runtime space (i.e.
+       kernel or user). Each named object occupies a registry slot.
+
 config XENO_OPT_NATIVE_SEM
        bool "Counting semaphores"
        default y

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to