📄 kernel.cdl
字号:
# ====================================================================## kernel.cdl## eCos kernel configuration data## ====================================================================#####COPYRIGHTBEGIN##### # ------------------------------------------- # The contents of this file are subject to the Red Hat eCos Public License # Version 1.1 (the "License"); you may not use this file except in # compliance with the License. You may obtain a copy of the License at # http://www.redhat.com/ # # Software distributed under the License is distributed on an "AS IS" # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the # License for the specific language governing rights and limitations under # the License. # # The Original Code is eCos - Embedded Configurable Operating System, # released September 30, 1998. # # The Initial Developer of the Original Code is Red Hat. # Portions created by Red Hat are # Copyright (C) 1998, 1999, 2000 Red Hat, Inc. # All Rights Reserved. # ------------------------------------------- # #####COPYRIGHTEND##### ====================================================================######DESCRIPTIONBEGIN###### Author(s): bartv# Original data: nickg# Contributors:# Date: 1999-06-13######DESCRIPTIONEND###### ====================================================================cdl_package CYGPKG_KERNEL { display "eCos kernel" doc redirect/ecos-kernel-overview.html include_dir cyg/kernel description " This package contains the core functionality of the eCos kernel. It relies on functionality provided by various HAL packages and by the eCos infrastructure. In turn the eCos kernel provides support for other packages such as the device drivers and the uITRON compatibility layer." # FIXME: The compile statement should be split up and integrated as # part of the components - so files only get comiled when they # will actually be used. compile common/clock.cxx common/timer.cxx common/kapi.cxx \ common/thread.cxx common/except.cxx \ instrmnt/meminst.cxx instrmnt/nullinst.cxx \ intr/intr.cxx \ mem/memfixed.cxx mem/memvar.cxx \ sched/bitmap.cxx sched/lottery.cxx sched/mlqueue.cxx \ sched/sched.cxx \ sync/bin_sem.cxx sync/cnt_sem.cxx sync/flag.cxx \ sync/cnt_sem2.cxx sync/mbox.cxx sync/mutex.cxx \ debug/dbg-thread-demux.c debug/dbg_gdb.cxx # --------------------------------------------------------------------- # The first component within the kernel is related to interrupt # handling. cdl_component CYGPKG_KERNEL_INTERRUPTS { display "Kernel interrupt handling" flavor none doc redirect/interrupts.html description " The majority of configuration options related to interrupt handling are in the HAL packages, since usually the code has to be platform-specific. There are a number of options provided within the kernel related to slightly higher-level concepts, for example Delayed Service Routines." script interrupts.cdl } # --------------------------------------------------------------------- # Exceptions. Currently there are only two options. The first # determines whether or not exceptions are enabled at all. The # second controls whether they apply globally or on a per-thread # basis. There should probably be more options, but the boundary # between the HAL and kernel becomes blurred. cdl_component CYGPKG_KERNEL_EXCEPTIONS { display "Exception handling" requires CYGPKG_HAL_EXCEPTIONS default_value 1 doc redirect/exceptions.html description " In the context of the eCos kernel exceptions are unexpected events detected by the hardware, for example an attempt to execute an illegal instruction. There is no relation with other forms of exception, for example the catch and throw facilities of languages like C++. It is possible to disable all support for exceptions and thus save some memory." cdl_option CYGSEM_KERNEL_EXCEPTIONS_DECODE { display "Decode exception types in kernel" default_value 0 description " On targets where several different types of exception are possible, for example executing an illegal instruction and division by zero, it is possible for the kernel to do some decoding of the exception type and deliver the different types of exception to different handlers in the application code. Alternatively the kernel can simply pass all exceptions directly to application code, leaving the decoding to be done by the application" } cdl_option CYGSEM_KERNEL_EXCEPTIONS_GLOBAL { display "Use global exception handlers" default_value 1 description " In the context of the eCos kernel exceptions are unexpected events detected by the hardware, for example an attempt to execute an illegal instruction. If the kernel is configured to support exceptions then two implementations are possible. The default implementation involves a single set of exception handlers that are in use for the entire system. The alternative implementation allows different exception handlers to be specified for each thread." } } # --------------------------------------------------------------------- cdl_component CYGPKG_KERNEL_SCHED { display "Kernel schedulers" flavor none doc redirect/the-scheduler.html description " The eCos kernel provides a choice of schedulers. In addition there are a number of configuration options to control the detailed behaviour of these schedulers." script scheduler.cdl } # --------------------------------------------------------------------- cdl_component CYGPKG_KERNEL_COUNTERS { display "Counters and clocks" flavor none doc redirect/counters-clocks-and-alarms.html description " The counter objects provided by the kernel provide an abstraction of the clock facility that is generally provided. Application code can associate alarms with counters, where an alarm is identified by the number of ticks until it triggers, the action to be taken on triggering, and whether or not the alarm should be repeated." script counters.cdl } # --------------------------------------------------------------------- cdl_component CYGPKG_KERNEL_THREADS { display "Thread-related options" flavor none doc redirect/thread-operations.html description " There are a number of configuration options related to the implementation of threads, for example whether or not the eCos kernel supports per-thread data."
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -