📄 kernel.cdl
字号:
script thread.cdl } # --------------------------------------------------------------------- cdl_component CYGPKG_KERNEL_SYNCH { display "Synchronization primitives" flavor none doc redirect/thread-synchronization.html description " The eCos kernel supports a number of different synchronization primitives such as mutexes, semaphores, condition variables, and message boxes. There are configuration options to control the exact behaviour of some of these synchronization primitives." script synch.cdl } # --------------------------------------------------------------------- cdl_component CYGPKG_KERNEL_INSTRUMENT { display "Kernel instrumentation" flavor bool default_value 0 description " The current release of the kernel contains an initial version of instrumentation support. The various parts of the kernel will invoke instrumentation routines whenever appropriate events occur, and these will be stored in a circular buffer for later reference." script instrument.cdl } # --------------------------------------------------------------------- # There appears to be somewhat of a lack of configuration options here. cdl_component CYGPKG_KERNEL_MEMORY { display "Memory allocators" flavor none description " Configuration options related to the kernel memory allocation support." cdl_option CYGSEM_KERNEL_MEMORY_COALESCE { display "Coalesce memory in the variable-block allocator" default_value 1 description " The variable-block memory allocator can perform coalescing of memory whenever the application code releases memory back to the pool. This coalescing reduces the possibility of memory fragmentation problems, but involves extra code and processor cycles." } } #=================================================================== # Options related to source-level debugging and diagnostics. cdl_component CYGPKG_KERNEL_DEBUG { display "Source-level debugging support" flavor none description " If the source level debugger gdb is to be used for debugging application code then it may be necessary to configure in support for this in the kernel." # NOTE: does this require any other support ? cdl_option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT { display "Include GDB multi-threading debug support" requires CYGVAR_KERNEL_THREADS_LIST requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT default_value 1 description " This option enables some extra kernel code which is needed to support multi-threaded source level debugging." } } # --------------------------------------------------------------------- # Kernel API's. The C++ one is the default. A C API is optional. # Support for other languages is possible. cdl_component CYGPKG_KERNEL_API { display "Kernel APIs" flavor none doc redirect/kernel-apis.html description " The eCos kernel is implemented in C++, so a C++ interface to the kernel is always available. There is also an optional C API. Additional API's may be provided in future versions." cdl_option CYGFUN_KERNEL_API_C { display "Provide C API" default_value 1 description " The eCos kernel is implemented in C++, but there is an optional C API for use by application code. This C API can be disabled if the application code does not invoke the kernel directly, but instead uses higher level code such as the uITRON compatibility layer." } } define_proc { puts $::cdl_header "/***** proc output start *****/" # Clients of pkgconf/kernel.h expects system.h to be included. puts $::cdl_header "#include <pkgconf/system.h>" # FIXME: Some clients may rely on hal.h and infra.h being included. # This should go away when any such client has been fixed. puts $::cdl_header "#include <pkgconf/hal.h>" puts $::cdl_header "#include <pkgconf/infra.h>" # Include HAL/Platform specifics puts $::cdl_header "#include CYGBLD_HAL_PLATFORM_H" # Fallback defaults (in case HAL didn't define these) puts $::cdl_header "#ifndef CYGNUM_HAL_RTC_NUMERATOR" puts $::cdl_header "# define CYGNUM_HAL_RTC_NUMERATOR 1000000000" puts $::cdl_header "# define CYGNUM_HAL_RTC_DENOMINATOR 100" puts $::cdl_header "# define CYGNUM_HAL_RTC_PERIOD 9999" puts $::cdl_header "#endif" puts $::cdl_header "/***** proc output end *****/" } cdl_component CYGPKG_KERNEL_OPTIONS { display "Kernel build options" flavor none description " Package specific build options including control over compiler flags used only in building this package, and details of which tests are built." cdl_option CYGPKG_KERNEL_CFLAGS_ADD { display "Additional compiler flags" flavor data no_define default_value { "" } description " This option modifies the set of compiler flags for building the eCos kernel. These flags are used in addition to the set of global flags." } cdl_option CYGPKG_KERNEL_CFLAGS_REMOVE { display "Suppressed compiler flags" flavor data no_define default_value { "" } description " This option modifies the set of compiler flags for building the eCos kernel. These flags are removed from the set of global flags if present." } cdl_option CYGPKG_KERNEL_TESTS { display "Kernel tests" flavor data no_define calculated { CYGPKG_HAL_ARM_AEB ? "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/clock0 tests/clock1 tests/clockcnv tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kclock0 tests/kclock1 tests/kexcept1 tests/kintr0 tests/kmbox1 tests/kmemfix1 tests/kmemvar1 tests/kmutex0 tests/kmutex1 tests/ksched1 tests/ksem0 tests/ksem1 tests/kflag0 tests/kflag1 tests/kthread0 tests/kthread1 tests/mbox1 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2 tests/release tests/kill tests/thread_gdb tests/tm_basic tests/dhrystone" : \ CYGPKG_HAL_ARM_EBSA285 ? "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/clock0 tests/clock1 tests/clockcnv tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kclock0 tests/kclock1 tests/kexcept1 tests/kintr0 tests/kmbox1 tests/kmemfix1 tests/kmemvar1 tests/kmutex0 tests/kmutex1 tests/ksched1 tests/ksem0 tests/ksem1 tests/kflag0 tests/kflag1 tests/kthread0 tests/kthread1 tests/mbox1 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2 tests/release tests/kill tests/thread_gdb tests/tm_basic tests/dhrystone tests/stress_threads tests/kcache1 tests/kcache2" : \ CYGPKG_HAL_ARM_EDB7XXX ? "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/clock0 tests/clock1 tests/clockcnv tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kclock0 tests/kclock1 tests/kexcept1 tests/kintr0 tests/kmbox1 tests/kmemfix1 tests/kmemvar1 tests/kmutex0 tests/kmutex1 tests/ksched1 tests/ksem0 tests/ksem1 tests/kflag0 tests/kflag1 tests/kthread0 tests/kthread1 tests/mbox1 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2 tests/release tests/kill tests/thread_gdb tests/tm_basic tests/dhrystone tests/stress_threads tests/kcache1 tests/kcache2" : \ CYGPKG_HAL_ARM ? "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/clock0 tests/clock1 tests/clockcnv tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kclock0 tests/kclock1 tests/kexcept1 tests/kintr0 tests/kmbox1 tests/kmemfix1 tests/kmemvar1 tests/kmutex0 tests/kmutex1 tests/ksched1 tests/ksem0 tests/ksem1 tests/kflag0 tests/kflag1 tests/kthread0 tests/kthread1 tests/mbox1 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2 tests/release tests/kill tests/thread_gdb tests/tm_basic tests/dhrystone" : \ "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/clock0 tests/clock1 tests/clockcnv tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kclock0 tests/kclock1 tests/kexcept1 tests/kintr0 tests/kmbox1 tests/kmemfix1 tests/kmemvar1 tests/kmutex0 tests/kmutex1 tests/ksched1 tests/ksem0 tests/ksem1 tests/kflag0 tests/kflag1 tests/kthread0 tests/kthread1 tests/mbox1 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2 tests/release tests/kill tests/thread_gdb tests/tm_basic tests/dhrystone tests/stress_threads tests/kcache1 tests/kcache2" } description " This option specifies the set of tests for the eCos kernel." } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -