Mercurial > ecos-v3_0-branch
diff packages/io/watchdog/current/cdl/watchdog.cdl @ 94:4642a6d35749 ecos-sw-2000-06-02
Merge from eCos master repository on 2000-06-02-07:47:04-BST
| author | jlarmour |
|---|---|
| date | Fri, 02 Jun 2000 17:35:00 +0000 |
| parents | |
| children | e0c0827131d1 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/packages/io/watchdog/current/cdl/watchdog.cdl @@ -0,0 +1,168 @@ +# ==================================================================== +# +# watchdog.cdl +# +# eCos watchdog 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): jskov +# Original data: nickg +# Contributors: +# Date: 1999-07-13 +# +#####DESCRIPTIONEND#### +# +# ==================================================================== + +cdl_package CYGPKG_IO_WATCHDOG { + display "Watchdog IO device" + define_header watchdog.h + include_dir cyg/io + description " + The watchdog IO device allows applications to make use of a + timer facility. Depending on the underlying hardware device + driver, a watchdog timeout will either cause a board reset + or an action routine to be called. The application must call + the watchdog reset function at regular intervals, or else the + device will timeout. The assumption is that the watchdog timer + should never trigger unless there has been a serious fault in + either the hardware or the software." + + compile watchdog.cxx + + cdl_interface CYGINT_WATCHDOG_HW_IMPLEMENTATIONS { + display "Number of watchdog hardware implementations" + no_define + } + + cdl_interface CYGINT_WATCHDOG_IMPLEMENTATIONS { + display "Number of watchdog implementations" + no_define + requires 1 == CYGINT_WATCHDOG_IMPLEMENTATIONS + } + + cdl_component CYGPKG_IO_WATCHDOG_IMPLEMENTATION { + display "Watchdog implementation" + flavor none + no_define + description "Implementations of the watchdog device." + + cdl_option CYGPKG_WATCHDOG_EMULATE { + default_value { 0 == CYGINT_WATCHDOG_HW_IMPLEMENTATIONS } + display "Watchdog emulator" + implements CYGINT_WATCHDOG_IMPLEMENTATIONS + requires CYGVAR_KERNEL_COUNTERS_CLOCK + compile emulate.cxx + description " + When this option is enabled, a watchdog device will be + emulated using the kernel real-time clock." + } + + cdl_option CYGIMP_WATCHDOG_NONE { + display "No wallclock" + default_value 0 + implements CYGINT_WATCHDOG_IMPLEMENTATIONS + description "Disables the watchdog." + } + } + + cdl_interface CYGINT_WATCHDOG_RESETS_ON_TIMEOUT { + display "Set if device causes a reset on timeout" + no_define + } + + cdl_option CYGSEM_WATCHDOG_RESETS_ON_TIMEOUT { + display "Set if device causes a reset on timeout" + calculated { CYGINT_WATCHDOG_RESETS_ON_TIMEOUT == 1 } + description " + Some watchdog devices reset the board on timeout - for these + implementations it does not make sense to register timeout + actions so the code gets disabled when this option is set. + When this option is not set, it is the application's + responsibility to register an action handler which can force + a board reset when it gets called." + } + + cdl_option CYGPKG_IO_WATCHDOG_BUILD_INTERACTIVE_TEST { + display "Build interactive watchdog test" + flavor bool + no_define + default_value 0 + description " + This option enables the building of a watchdog test + which can be used to test that the board resets on + watchdog timeout. This test is built separately since + it only makes sense to use interactively." + } + + cdl_component CYGPKG_IO_WATCHDOG_OPTIONS { + display "Watchdog 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_IO_WATCHDOG_CFLAGS_ADD { + display "Additional compiler flags" + flavor data + no_define + default_value { "" } + description " + This option modifies the set of compiler flags for + building the watchdog IO device. These flags are used + in addition to the set of global flags." + } + + cdl_option CYGPKG_IO_WATCHDOG_CFLAGS_REMOVE { + display "Suppressed compiler flags" + flavor data + no_define + default_value { "" } + description " + This option modifies the set of compiler flags for + building the watchdog IO device. These flags are removed from + the set of global flags if present." + } + + cdl_option CYGPKG_IO_WATCHDOG_TESTS { + display "Watchdog tests" + flavor data + no_define + calculated { CYGPKG_IO_WATCHDOG_BUILD_INTERACTIVE_TEST ? + CYGSEM_WATCHDOG_RESETS_ON_TIMEOUT ? "tests/watchdog2 tests/watchdog_reset" : "tests/watchdog tests/watchdog2 tests/watchdog_reset" : + CYGSEM_WATCHDOG_RESETS_ON_TIMEOUT ? "tests/watchdog2" : "tests/watchdog tests/watchdog2" } + + description " + This option specifies the set of tests for the + watchdog IO device." + } + } +}
