# eCos saved configuration # ---- commands -------------------------------------------------------- # This section contains information about the savefile format. # It should not be edited. Any modifications made to this section # may make it impossible for the configuration tools to read # the savefile. cdl_savefile_version 1; cdl_savefile_command cdl_savefile_version {}; cdl_savefile_command cdl_savefile_command {}; cdl_savefile_command cdl_configuration { description hardware template package }; cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value }; cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value }; cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value }; cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value }; # ---- toplevel -------------------------------------------------------- # This section defines the toplevel configuration object. The only # values that can be changed are the name of the configuration and # the description field. It is not possible to modify the target, # the template or the set of packages simply by editing the lines # below because these changes have wide-ranging effects. Instead # the appropriate tools should be used to make such modifications. cdl_configuration eCos { description "" ; # These fields should not be modified. hardware ml300 ; template net ; package -hardware CYGPKG_HAL_POWERPC current ; package -hardware CYGPKG_HAL_POWERPC_PPC40x current ; package -hardware CYGPKG_HAL_POWERPC_ML300 current ; package -hardware CYGPKG_DEVS_ETH_POWERPC_ML300 current ; package -hardware CYGPKG_DEVS_ETH_PHY current ; package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X current ; package -hardware CYGPKG_IO_SERIAL_POWERPC_ML300 current ; package -hardware CYGPKG_DEVS_KBD_ML300 current ; package -hardware CYGPKG_DEVS_MOUSE_ML300 current ; package -hardware CYGPKG_DEVS_TOUCHSCREEN_ML300 current ; package -template CYGPKG_HAL current ; package -template CYGPKG_IO current ; package -template CYGPKG_IO_SERIAL current ; package -template CYGPKG_INFRA current ; package -template CYGPKG_ISOINFRA current ; package -template CYGPKG_KERNEL current ; package -template CYGPKG_MEMALLOC current ; package -template CYGPKG_LIBC current ; package -template CYGPKG_LIBC_TIME current ; package -template CYGPKG_LIBC_STDLIB current ; package -template CYGPKG_LIBC_STRING current ; package -template CYGPKG_LIBC_I18N current ; package -template CYGPKG_LIBC_SETJMP current ; package -template CYGPKG_LIBC_STARTUP current ; package -template CYGPKG_LIBC_STDIO current ; package -template CYGPKG_LIBM current ; package -template CYGPKG_POSIX current ; package -template CYGPKG_IO_WATCHDOG current ; package -template CYGPKG_IO_WALLCLOCK current ; package -template CYGPKG_ERROR current ; package -template CYGPKG_IO_FILEIO current ; package -template CYGPKG_NET current ; package -template CYGPKG_NET_FREEBSD_STACK current ; package -template CYGPKG_NS_DNS current ; package -template CYGPKG_IO_ETH_DRIVERS current ; package -template CYGPKG_NET_SNTP current ; package CYGPKG_MICROWINDOWS current ; }; # ---- conflicts ------------------------------------------------------- # There are no conflicts. # ---- contents -------------------------------------------------------- # > # > # Global build options # Global build options including control over # compiler flags, linker flags and choice of toolchain. # cdl_component CYGBLD_GLOBAL_OPTIONS { # There is no associated value. # The following properties are affected by this value }; # > # Global command prefix # This option specifies the command prefix used when # invoking the build tools. # cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value powerpc-eabi # value_source default # Default value: powerpc-eabi }; # Global compiler flags # This option controls the global compiler flags which # are used to compile all packages by # default. Individual packages may define # options which override these global flags. # cdl_option CYGBLD_GLOBAL_CFLAGS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "-I\$(REPOSITORY)/hal/powerpc/ml300/current/include/xilinx -DML300 -msoft-float -mcpu=405 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" # value_source default # Default value: "-I\$(REPOSITORY)/hal/powerpc/ml300/current/include/xilinx -DML300 -msoft-float -mcpu=405 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" # The following properties are affected by this value # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") # option CYGBLD_INFRA_CFLAGS_PIPE # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") }; # Global linker flags # This option controls the global linker flags. Individual # packages may define options which override these global flags. # cdl_option CYGBLD_GLOBAL_LDFLAGS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "-msoft-float -mcpu=405 -g -nostdlib -Wl,--gc-sections -Wl,-static" # value_source default # Default value: "-msoft-float -mcpu=405 -g -nostdlib -Wl,--gc-sections -Wl,-static" }; # Build GDB stub ROM image # This option enables the building of the GDB stubs for the # board. The common HAL controls takes care of most of the # build process, but the platform CDL takes care of creating # an S-Record data file suitable for programming using # the board's EPPC-Bug firmware monitor. # cdl_option CYGBLD_BUILD_GDB_STUBS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYG_HAL_STARTUP == "ROM" # CYG_HAL_STARTUP == RAM # --> 0 # Requires: CYGSEM_HAL_ROM_MONITOR # CYGSEM_HAL_ROM_MONITOR == 0 # --> 0 # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS # CYGBLD_BUILD_COMMON_GDB_STUBS == 0 # --> 0 # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # --> 0 # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0 # --> 0 # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 # --> 1 # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 1 # --> 0 # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 1 # --> 0 }; # Build common GDB stub ROM image # Unless a target board has specific requirements to the # stub implementation, it can use a simple common stub. # This option, which gets enabled by platform HALs as # appropriate, controls the building of the common stub. # cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # --> 0 # The following properties are affected by this value # option CYGBLD_BUILD_GDB_STUBS # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS }; # < # Redboot HAL options # This option lists the target's requirements for a valid Redboot # configuration. # cdl_component CYGPKG_REDBOOT_HAL_OPTIONS { # This option is not active # ActiveIf constraint: CYGPKG_REDBOOT # CYGPKG_REDBOOT (unknown) == 0 # --> 0 # There is no associated value. }; # > # Support booting Linux via RedBoot # This option enables RedBoot to support booting of a Linux kernel. # cdl_option CYGSEM_REDBOOT_PLF_LINUX_BOOT { # This option is not active # The parent CYGPKG_REDBOOT_HAL_OPTIONS is not active # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC # CYGBLD_BUILD_REDBOOT_WITH_EXEC (unknown) == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGSEM_REDBOOT_HAL_LINUX_BOOT # ActiveIf: CYGSEM_REDBOOT_PLF_LINUX_BOOT == 1 }; # Build Redboot image(s) # This option enables the conversion of the Redboot ELF # image various formats which simplify further manipulatations. # The most basic of these forms is Motorola S-records, which # are simpler and more reliable than binary formats when used # for serial download. # cdl_component CYGBLD_BUILD_REDBOOT_OBJS { # This option is not active # The parent CYGPKG_REDBOOT_HAL_OPTIONS is not active # ActiveIf constraint: CYGBLD_BUILD_REDBOOT # CYGBLD_BUILD_REDBOOT (unknown) == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Build RedBoot ROM/FLASH binary image # This option enables the conversion of the Redboot ELF # image to a binary image suitable for ROM/FLASH programming. # cdl_option CYGBLD_BUILD_REDBOOT_BIN { # This option is not active # The parent CYGBLD_BUILD_REDBOOT_OBJS is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: CYG_HAL_STARTUP != "RAM" # CYG_HAL_STARTUP == RAM # --> 0 }; # < # < # < # PS/2 Keyboard driver for ML300 # PS/2 keyboard driver for the ML300 # cdl_package CYGPKG_DEVS_KBD_ML300 { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # ActiveIf constraint: CYGPKG_IO_FILEIO # CYGPKG_IO_FILEIO == current # --> 1 # ActiveIf constraint: !CYGSEM_ML300_LCD_COMM # CYGSEM_ML300_LCD_COMM == 0 # --> 1 # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_IO # CYGPKG_IO == current # --> 1 # Requires: CYGFUN_KERNEL_API_C # CYGFUN_KERNEL_API_C == 1 # --> 1 # Requires: CYGPKG_HAL_POWERPC_ML300 # CYGPKG_HAL_POWERPC_ML300 == current # --> 1 }; # > # options # cdl_component CYGPKG_DEVS_KBD_ML300_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the keypad driver package. These flags # are used in addition to the set of global flags. # cdl_option CYGPKG_DEVS_KBD_ML300_CFLAGS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Device name for the keyboard driver # This option specifies the name of the keypad device # cdl_option CYGDAT_DEVS_KBD_ML300_NAME { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/kbd\"" # value_source default # Default value: "\"/dev/kbd\"" }; # Number of events the driver can buffer # This option defines the size of the keypad device internal # buffer. The cyg_io_read() function will return as many of these # as there is space for in the buffer passed. # cdl_option CYGNUM_DEVS_KBD_ML300_EVENT_BUFFER_SIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 32 # value_source default # Default value: 32 }; # < # < # Mouse driver for ml300 # Mouse driver for the Xilinx ML300 # cdl_package CYGPKG_DEVS_MOUSE_ML300 { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # ActiveIf constraint: CYGPKG_IO_FILEIO # CYGPKG_IO_FILEIO == current # --> 1 # ActiveIf constraint: !CYGSEM_ML300_LCD_COMM # CYGSEM_ML300_LCD_COMM == 0 # --> 1 # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_IO # CYGPKG_IO == current # --> 1 # Requires: CYGFUN_KERNEL_API_C # CYGFUN_KERNEL_API_C == 1 # --> 1 # Requires: CYGPKG_HAL_POWERPC_ML300 # CYGPKG_HAL_POWERPC_ML300 == current # --> 1 # The following properties are affected by this value # option CYGBLD_MICROWINDOWS_ML300_MOUSE_DRIVER_MOUSE # Requires: CYGPKG_DEVS_MOUSE_ML300 }; # > # options # cdl_component CYGPKG_DEVS_MOUSE_ML300_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the mousescreen driver package. These flags # are used in addition to the set of global flags. # cdl_option CYGPKG_DEVS_MOUSE_ML300_CFLAGS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Device name for the mouse driver # This option specifies the name of the mouse device # cdl_option CYGDAT_DEVS_MOUSE_ML300_NAME { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/mouse\"" # value_source default # Default value: "\"/dev/mouse\"" }; # Number of bytes the driver can buffer # This option defines the size of the mouse device internal # buffer. The cyg_io_read() function will return as many of these # as there is space for in the buffer passed. # cdl_option CYGNUM_DEVS_MOUSE_ML300_BUFFER_SIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 128 # value_source default # Default value: 128 }; # < # < # Touchscreen driver for ml300 # Touchscreen driver for the Xilinx ML300 # cdl_package CYGPKG_DEVS_TOUCHSCREEN_ML300 { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # ActiveIf constraint: CYGPKG_IO_FILEIO # CYGPKG_IO_FILEIO == current # --> 1 # ActiveIf constraint: !CYGSEM_ML300_LCD_COMM # CYGSEM_ML300_LCD_COMM == 0 # --> 1 # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_IO # CYGPKG_IO == current # --> 1 # Requires: CYGFUN_KERNEL_API_C # CYGFUN_KERNEL_API_C == 1 # --> 1 # Requires: CYGPKG_HAL_POWERPC_ML300 # CYGPKG_HAL_POWERPC_ML300 == current # --> 1 # The following properties are affected by this value # option CYGBLD_MICROWINDOWS_ML300_MOUSE_DRIVER_TOUCH # Requires: CYGPKG_DEVS_TOUCHSCREEN_ML300 }; # > # options # cdl_component CYGPKG_DEVS_TOUCHSCREEN_ML300_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the touchscreenscreen driver package. These flags # are used in addition to the set of global flags. # cdl_option CYGPKG_DEVS_TOUCHSCREEN_ML300_CFLAGS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Device name for the touchscreen driver # This option specifies the name of the touchscreen device # cdl_option CYGDAT_DEVS_TOUCHSCREEN_ML300_NAME { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/ts\"" # value_source default # Default value: "\"/dev/ts\"" }; # Number of bytes the driver can buffer # This option defines the size of the touchscreen device internal # buffer. The cyg_io_read() function will return as many of these # as there is space for in the buffer passed. # cdl_option CYGNUM_DEVS_TOUCHSCREEN_ML300_BUFFER_SIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 128 # value_source default # Default value: 128 }; # < # < # eCos HAL # doc: ref/the-ecos-hardware-abstraction-layer.html # The eCos HAL package provide a porting layer for # higher-level parts of the system such as the kernel and the # C library. Each installation should have HAL packages for # one or more architectures, and for each architecture there # may be one or more supported platforms. It is necessary to # select one target architecture and one platform for that # architecture. There are also a number of configuration # options that are common to all HAL packages. # cdl_package CYGPKG_HAL { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_INFRA # CYGPKG_INFRA == current # --> 1 # The following properties are affected by this value }; # > # Platform-independent HAL options # A number of configuration options are common to most or all # HAL packages, for example options controlling how much state # should be saved during a context switch. The implementations # of these options will vary from architecture to architecture. # cdl_component CYGPKG_HAL_COMMON { # There is no associated value. }; # > # Provide eCos kernel support # The HAL can be configured to either support the full eCos # kernel, or to support only very simple applications which do # not require a full kernel. If kernel support is not required # then some of the startup, exception, and interrupt handling # code can be eliminated. # cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Requires: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 }; # HAL exception support # When a processor exception occurs, for example an attempt to # execute an illegal instruction or to perform a divide by # zero, this exception may be handled in a number of different # ways. If the target system has gdb support then typically # the exception will be handled by gdb code. Otherwise if the # HAL exception support is enabled then the HAL will invoke a # routine deliver_exception(). Typically this routine will be # provided by the eCos kernel, but it is possible for # application code to provide its own implementation. If the # HAL exception support is not enabled and a processor # exception occurs then the behaviour of the system is # undefined. # cdl_option CYGPKG_HAL_EXCEPTIONS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: CYGPKG_KERNEL_EXCEPTIONS # CYGPKG_KERNEL_EXCEPTIONS == 1 # --> 1 # Requires: CYGPKG_KERNEL_EXCEPTIONS # CYGPKG_KERNEL_EXCEPTIONS == 1 # --> 1 # The following properties are affected by this value # component CYGPKG_KERNEL_EXCEPTIONS # Requires: CYGPKG_HAL_EXCEPTIONS }; # Stop calling constructors early # This option supports environments where some constructors # must be run in the context of a thread rather than at # simple system startup time. A boolean flag named # cyg_hal_stop_constructors is set to 1 when constructors # should no longer be invoked. It is up to some other # package to deal with the rest of the constructors. # In the current version this is only possible with the # C library. # cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS # CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS == 0 # --> 0 # The following properties are affected by this value # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS # Requires: CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG }; # HAL uses the MMU and allows for CDL manipulation of it's use # cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # option CYGSEM_HAL_INSTALL_MMU_TABLES # ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES }; # Install MMU tables. # This option controls whether this application installs # its own Memory Management Unit (MMU) tables, or relies on the # existing environment to run. # cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES { # This option is not active # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES # CYGINT_HAL_SUPPORTS_MMU_TABLES == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: CYG_HAL_STARTUP != "RAM" # CYG_HAL_STARTUP == RAM # --> 0 # The following properties are affected by this value # option CYGSEM_HAL_STATIC_MMU_TABLES # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES }; # Use static MMU tables. # This option defines an environment where any Memory # Management Unit (MMU) tables are constant. Normally used by ROM # based environments, this provides a way to save RAM usage which # would otherwise be required for these tables. # cdl_option CYGSEM_HAL_STATIC_MMU_TABLES { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES # CYGSEM_HAL_INSTALL_MMU_TABLES == 0 # --> 0 }; # Route diagnostic output to debug channel # If not inheriting the console setup from the ROM monitor, # it is possible to redirect diagnostic output to the debug # channel by enabling this option. Depending on the debugger # used it may also be necessary to select a mangler for the # output to be displayed by the debugger. # cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN { # This option is not active # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE # CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 1 # --> 0 # ActiveIf constraint: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG # CYGPKG_HAL_ARM (unknown) == 0 # CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0 # CYGPKG_HAL_V85X_V850 (unknown) == 0 # CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS || CYG_HAL_STARTUP == "RAM") ? 1 : 0 # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # CYG_HAL_STARTUP == RAM # --> 1 # The following properties are affected by this value # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE # Calculated: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN }; # > # Mangler used on diag output # It is sometimes necessary to mangle (encode) the # diag ASCII text output in order for it to show up at the # other end. In particular, GDB may silently ignore raw # ASCII text. # cdl_option CYGSEM_HAL_DIAG_MANGLER { # This option is not active # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value GDB # value_source default # Default value: GDB # Legal values: "GDB" "None" }; # < # < # HAL interrupt handling # A number of configuration options related to interrupt # handling are common to most or all HAL packages, even though # the implementations will vary from architecture to # architecture. # cdl_component CYGPKG_HAL_COMMON_INTERRUPTS { # There is no associated value. }; # > # Use separate stack for interrupts # When an interrupt occurs this interrupt can be handled either # on the current stack or on a separate stack maintained by the # HAL. Using a separate stack requires a small number of extra # instructions in the interrupt handling code, but it has the # advantage that it is no longer necessary to allow extra space # in every thread stack for the interrupt handlers. The amount # of extra space required depends on the interrupt handlers # that are being used. # cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Interrupt stack size # This configuration option specifies the stack size in bytes # for the interrupt stack. Typically this should be a multiple # of 16, but the exact requirements will vary from architecture # to architecture. The interrupt stack serves two separate # purposes. It is used as the stack during system # initialization. In addition, if the interrupt system is # configured to use a separate stack then all interrupts will # be processed on this stack. The exact memory requirements # will vary from application to application, and will depend # heavily on whether or not other interrupt-related options, # for example nested interrupts, are enabled. On most targets, # in a configuration with no kernel this stack will also be # the stack used to invoke the application, and must obviously # be appropriately large in that case. # cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 4096 # value_source default # Default value: CYGPKG_KERNEL ? 4096 : 32768 # CYGPKG_KERNEL == current # --> 4096 # Legal values: 128 to 1048576 }; # Allow nested interrupts # When an interrupt occurs the HAL interrupt handling code can # either leave interrupts disabled for the duration of the # interrupt handling code, or by doing some extra work it can # reenable interrupts before invoking the interrupt handler and # thus allow nested interrupts to happen. If all the interrupt # handlers being used are small and do not involve any loops # then it is usually better to disallow nested interrupts. # However if any of the interrupt handlers are more complicated # than nested interrupts will usually be required. # cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Save minimum context on interrupt # The HAL interrupt handling code can exploit the calling conventions # defined for a given architecture to reduce the amount of state # that has to be saved. Generally this improves performance and # reduces code size. However it can make source-level debugging # more difficult. # cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT # option CYGBLD_BUILD_GDB_STUBS # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT }; # Chain all interrupts together # Interrupts can be attached to vectors either singly, or be # chained together. The latter is necessary if there is no way # of discovering which device has interrupted without # inspecting the device itself. It can also reduce the amount # of RAM needed for interrupt decoding tables and code. # cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # The following properties are affected by this value # option CYGIMP_KERNEL_INTERRUPTS_CHAIN # Requires: CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN }; # Ignore spurious [fleeting] interrupts # On some hardware, interrupt sources may not be de-bounced or # de-glitched. Rather than try to handle these interrupts (no # handling may be possible), this option allows the HAL to simply # ignore them. In most cases, if the interrupt is real it will # reoccur in a detectable form. # cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # HAL context switch support # A number of configuration options related to thread contexts # are common to most or all HAL packages, even though the # implementations will vary from architecture to architecture. # cdl_component CYGPKG_HAL_COMMON_CONTEXT { # There is no associated value. # The following properties are affected by this value }; # > # Use minimum thread context # The thread context switch code can exploit the calling # conventions defined for a given architecture to reduce the # amount of state that has to be saved during a context # switch. Generally this improves performance and reduces # code size. However it can make source-level debugging more # difficult. # cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM # option CYGBLD_BUILD_GDB_STUBS # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM }; # < # Explicit control over cache behaviour # These options let the default behaviour of the caches # be easily configurable. # cdl_component CYGPKG_HAL_CACHE_CONTROL { # There is no associated value. }; # > # Enable DATA cache on startup # Enabling this option will cause the data cache to be enabled # as soon as practicable when eCos starts up. One would choose # to disable this if the data cache cannot safely be turned on, # such as a case where the cache(s) require additional platform # specific setup. # cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # DATA cache mode on startup # This option controls the mode the cache will be set to # when enabled on startup. # cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value COPYBACK # The inferred value should not be edited directly. inferred_value WRITETHRU # value_source inferred # Default value: COPYBACK # Legal values: "COPYBACK" "WRITETHRU" # The following properties are affected by this value # package CYGPKG_HAL_POWERPC_ML300 # Requires: CYGSEM_HAL_DCACHE_STARTUP_MODE == "WRITETHRU" }; # < # Enable INSTRUCTION cache on startup # Enabling this option will cause the instruction cache to be enabled # as soon as practicable when eCos starts up. One would choose # to disable this if the instruction cache cannot safely be turned on, # such as a case where the cache(s) require additional platform # specific setup. # cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # Source-level debugging support # 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 HAL. # cdl_component CYGPKG_HAL_DEBUG { # There is no associated value. }; # > # Support for GDB stubs # The HAL implements GDB stubs for the target. # cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS { # Implemented by CYGPKG_HAL_POWERPC_ML300, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # The following properties are affected by this value # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS }; # Include GDB stubs in HAL # This option causes a set of GDB stubs to be included into the # system. On some target systems the GDB support will be # provided by other means, for example by a ROM monitor. On # other targets, especially when building a ROM-booting system, # the necessary support has to go into the target library # itself. When GDB stubs are include in a configuration, HAL # serial drivers must also be included. # cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS { # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS # CYGINT_HAL_DEBUG_GDB_STUBS == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR # CYGSEM_HAL_USE_ROM_MONITOR == 1 # --> 0 # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 1 # --> 0 # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 1 # --> 0 # Requires: !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS # CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1 # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 0 # --> 0 # The following properties are affected by this value # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN # DefaultValue: (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS || CYG_HAL_STARTUP == "RAM") ? 1 : 0 # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT # DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT # ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT # DefaultValue: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS # DefaultValue: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # option CYGBLD_BUILD_COMMON_GDB_STUBS # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # option CYGPKG_HAL_GDB_FILEIO # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # option CYGSEM_HAL_POWERPC_COPY_VECTORS # DefaultValue: (CYG_HAL_STARTUP != "RAM" || # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS) ? 1 : 0 # option CYGSEM_HAL_USE_ROM_MONITOR # DefaultValue: (CYG_HAL_STARTUP == "RAM" && # !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS && # !CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED && # !CYGSEM_HAL_POWERPC_COPY_VECTORS) ? 1 : 0 # option CYGSEM_HAL_USE_ROM_MONITOR # Requires: ! CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # option CYGBLD_BUILD_GDB_STUBS # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS }; # Support for external break support in GDB stubs # The HAL implements external break (or asynchronous interrupt) # in the GDB stubs for the target. # cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK { # Implemented by CYGPKG_HAL_POWERPC_ML300, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # The following properties are affected by this value # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT # ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK }; # Include GDB external break support for stubs # This option causes the GDB stub to add a serial interrupt handler # which will listen for GDB break packets. This lets you stop the # target asynchronously when using GDB, usually by hitting Control+C # or pressing the STOP button. This option differs from # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when # GDB stubs are present. # cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT { # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK # CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # --> 0 # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # --> 0 # The following properties are affected by this value # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT # option CYGBLD_BUILD_GDB_STUBS # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT }; # Platform does not support CTRLC # cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT # ActiveIf: CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 }; # Include GDB external break support when no stubs # This option adds an interrupt handler for the GDB serial line # which will listen for GDB break packets. This lets you stop the # target asynchronously when using GDB, usually by hitting Control+C # or pressing the STOP button. This option differs from # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB # stubs are NOT present. # cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT { # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # CYGSEM_HAL_USE_ROM_MONITOR == 1 # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # --> 1 # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 # CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # --> 1 # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0 # --> 1 }; # Include GDB multi-threading debug support # This option enables some extra HAL code which is needed # to support multi-threaded source level debugging. # cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT { # ActiveIf constraint: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT # CYGSEM_HAL_ROM_MONITOR == 0 # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGBLD_BUILD_GDB_STUBS # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT # option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT }; # Number of times to retry sending a $O packet # This option controls the number of attempts that eCos programs # will make to send a $O packet to a host GDB process. If it is # set non-zero, then the target process will attempt to resend the # $O packet data up to this number of retries. Caution: use of # this option is not recommended as it can thoroughly confuse the # host GDB process. # cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Timeout period for GDB packets # This option controls the time (in milliseconds) that eCos programs # will wait for a response when sending packets to a host GDB process. # If this time elapses, then the packet will be resent, up to some # maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES). # cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 500 # value_source default # Default value: 500 }; # Location of CRC32 table # The stubs use a 1 kilobyte CRC table that can either be pregenerated # and placed in ROM, or generated at runtime in RAM. Depending on # your memory constraints, one of these options may be better. # cdl_option CYGDBG_HAL_CRCTABLE_LOCATION { # Flavor: data # No user value, uncomment the following line to provide one. # user_value RAM # value_source default # Default value: RAM # Legal values: "ROM" "RAM" }; # < # ROM monitor support # Support for ROM monitors can be built in to your application. # It may also be relevant to build your application as a ROM monitor # itself. Such options are contained here if relevant for your chosen # platform. The options and ROM monitors available to choose are # platform-dependent. # cdl_component CYGPKG_HAL_ROM_MONITOR { # There is no associated value. # The following properties are affected by this value }; # > # Target has virtual vector support # cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT { # Implemented by CYGPKG_HAL_POWERPC_ML300, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # The following properties are affected by this value # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT # ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT }; # Target supports baud rate control via vectors # Whether this target supports the __COMMCTL_GETBAUD # and __COMMCTL_SETBAUD virtual vector comm control operations. # cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 }; # Enable use of virtual vector calling interface # Virtual vector support allows the HAL to let the ROM # monitor handle certain operations. The virtual vector table # defines a calling interface between applications running in # RAM and the ROM monitor. # cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT { # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT # CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1 # --> 1 # Calculated value: 1 # Flavor: bool # Current value: 1 # The following properties are affected by this value # package CYGPKG_DEVS_ETH_PHY # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT }; # > # Inherit console settings from ROM monitor # When this option is set, the application will inherit # the console as set up by the ROM monitor. This means # that the application will use whatever channel and # mangling style was used by the ROM monitor when # the application was launched. # cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE { # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR # CYGSEM_HAL_USE_ROM_MONITOR == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 0 # --> 1 # The following properties are affected by this value # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN # ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE # Calculated: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN }; # Debug channel is configurable # This option is a configuration hint - it is enabled # when the HAL initialization code will make use # of the debug channel configuration option. # cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE { # Calculated value: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 0 # Flavor: bool # Current value: 0 # The following properties are affected by this value # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL # ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE }; # Console channel is configurable # This option is a configuration hint - it is enabled # when the HAL initialization code will make use # of the console channel configuration option. # cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE { # Calculated value: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN # CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 1 # CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0 # Flavor: bool # Current value: 0 # The following properties are affected by this value # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL # ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE }; # Initialize whole of virtual vector table # This option will cause the whole of the virtual # vector table to be initialized with dummy values on # startup. When this option is enabled, all the # options below must also be enabled - or the # table would be empty when the application # launches. # On targets where older ROM monitors without # virtual vector support may still be in use, it is # necessary for RAM applictions to initialize the # table (since all HAL diagnostics and debug IO # happens via the table). # cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR # CYG_HAL_STARTUP == RAM # CYGSEM_HAL_USE_ROM_MONITOR == 1 # --> 0 # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1 # --> 1 # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1 # --> 1 # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1 # --> 1 # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1 # --> 1 # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 0 # --> 0 # The following properties are affected by this value # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT # ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET # DefaultValue: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION # DefaultValue: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US # DefaultValue: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE # DefaultValue: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA # DefaultValue: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS # DefaultValue: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS }; # Claim virtual vector table entries by default # By default most virtual vectors will be claimed by # RAM startup configurations, meaning that the RAM # application will provide the services. The # exception is COMMS support (HAL # diagnostics/debugging IO) which is left in the # control of the ROM monitor. # The reasoning behind this is to get as much of the # code exercised during regular development so it # is known to be working the few times a new ROM # monitor or a ROM production configuration is used # - COMMS are excluded only by necessity in order to # avoid breaking an existing debugger connections # (there may be ways around this). # For production RAM configurations this option can # be switched off, causing the appliction to rely on # the ROM monitor for these services, thus # saving some space. # Individual vectors may also be left unclaimed, # controlled by the below options (meaning that the # associated service provided by the ROM monitor # will be used). # cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT { # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 0 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET # DefaultValue: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US # DefaultValue: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE # DefaultValue: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA # DefaultValue: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT }; # Claim reset virtual vectors # This option will cause the reset and kill_by_reset # virtual vectors to be claimed. # cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 0 # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 1 # --> 1 # The following properties are affected by this value # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET }; # Claim version virtual vectors # This option will cause the version # virtual vectors to be claimed. # cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 0 # --> 0 }; # Claim delay_us virtual vector # This option will cause the delay_us # virtual vector to be claimed. # cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 0 # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 1 # --> 1 # The following properties are affected by this value # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US }; # Claim cache virtual vectors # This option will cause the cache virtual vectors # to be claimed. # cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 0 # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 1 # --> 1 # The following properties are affected by this value # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE }; # Claim data virtual vectors # This option will cause the data virtual vectors # to be claimed. At present there is only one, used # by the RedBoot ethernet driver to share diag output. # cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 0 # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 1 # --> 1 # The following properties are affected by this value # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA }; # Claim comms virtual vectors # This option will cause the communication tables # that are part of the virtual vectors mechanism to # be claimed. Note that doing this may cause an # existing ROM monitor communication connection to # be closed. For this reason, the option is disabled # per default for normal application # configurations. # cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 0 # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # --> 0 # The following properties are affected by this value # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # Requires: !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE # DefaultValue: !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE # Calculated: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS }; # Do diagnostic IO via virtual vector table # All HAL IO happens via the virtual vector table / comm # tables when those tables are supported by the HAL. # If so desired, the low-level IO functions can # still be provided by the RAM application by # enabling the CLAIM_COMMS option. # cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG { # Calculated value: 1 # Flavor: bool # Current value: 1 # The following properties are affected by this value # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN # ActiveIf: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # Requires: !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS }; # < # Work with a ROM monitor # Allow coexistence with ROM monitor (RedBoot or GDB stubs) by # only initializing interrupt vectors on startup, thus leaving # exception handling to the ROM monitor. # cdl_option CYGSEM_HAL_USE_ROM_MONITOR { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: (CYG_HAL_STARTUP == "RAM" && # !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS && # !CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED && # !CYGSEM_HAL_POWERPC_COPY_VECTORS) ? 1 : 0 # CYG_HAL_STARTUP == RAM # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED == 0 # CYGSEM_HAL_POWERPC_COPY_VECTORS == 0 # --> 1 # Requires: CYG_HAL_STARTUP == "RAM" # CYG_HAL_STARTUP == RAM # --> 1 # Requires: ! CYGSEM_HAL_POWERPC_COPY_VECTORS # CYGSEM_HAL_POWERPC_COPY_VECTORS == 0 # --> 1 # Requires: ! CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # --> 1 # Requires: ! CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED # CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED == 0 # --> 1 # The following properties are affected by this value # option CYGSEM_HAL_POWERPC_COPY_VECTORS # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR # option CYGHWR_HAL_POWERPC_NEED_VECTORS # Calculated: ((CYGHWR_HAL_POWERPC_FORCE_VECTORS || # CYG_HAL_STARTUP != "RAM" || # CYGSEM_HAL_POWERPC_COPY_VECTORS) && # ! CYGSEM_HAL_USE_ROM_MONITOR) # ? 1 : 0 # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT # ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE # ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE # DefaultValue: CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR }; # Behave as a ROM monitor # Enable this option if this program is to be used as a ROM monitor, # i.e. applications will be loaded into RAM on the board, and this # ROM monitor may process exceptions or interrupts generated from the # application. This enables features such as utilizing a separate # interrupt stack when exceptions are generated. # cdl_option CYGSEM_HAL_ROM_MONITOR { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYG_HAL_STARTUP == "ROMRAM" # CYG_HAL_STARTUP == RAM # --> 0 # The following properties are affected by this value # option CYGBLD_BUILD_GDB_STUBS # Requires: CYGSEM_HAL_ROM_MONITOR # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT }; # < # Platform defined I/O channels. # Platforms which provide additional I/O channels can implement # this interface, indicating that the function plf_if_init() # needs to be called. # cdl_interface CYGINT_HAL_PLF_IF_INIT { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 }; # Platform IDE I/O support. # Platforms which provide IDE controllers can implement # this interface, indicating that IDE I/O macros are # available. # cdl_interface CYGINT_HAL_PLF_IF_IDE { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 }; # File I/O operations via GDB # This option enables support for various file I/O # operations using the GDB remote protocol to communicate # with GDB. The operations are then performed on the # debugging host by proxy. These operations are only # currently available by using a system call interface # to RedBoot. This may change in the future. # cdl_option CYGPKG_HAL_GDB_FILEIO { # This option is not active # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS # CYGSEM_REDBOOT_BSP_SYSCALLS (unknown) == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # --> 0 }; # Build Compiler sanity checking tests # Enabling this option causes compiler tests to be built. # cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # The following properties are affected by this value # component CYGPKG_HAL_TESTS # Calculated: "tests/context tests/basic" # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") }; # Common HAL tests # This option specifies the set of tests for the common HAL. # cdl_component CYGPKG_HAL_TESTS { # Calculated value: "tests/context tests/basic" # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") # CYGINT_HAL_TESTS_NO_CACHES == 0 # CYGPKG_HAL_BUILD_COMPILER_TESTS == 0 # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 # Flavor: data # Current_value: tests/context tests/basic tests/cache }; # > # Interface for cache presence # Some architectures and/or platforms do not have caches. By # implementing this interface, these can disable the various # cache-related tests. # cdl_interface CYGINT_HAL_TESTS_NO_CACHES { # No options implement this inferface # This value cannot be modified here. # Flavor: booldata # Current value: 0 0 # The following properties are affected by this value # component CYGPKG_HAL_TESTS # Calculated: "tests/context tests/basic" # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") # option CYGPKG_KERNEL_TESTS # Calculated: # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/tm_basic tests/fptest tests/kalarm0" : "") # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") # }; # < # PowerPC architecture # The PowerPC architecture HAL package provides generic # support for this processor architecture. It is also # necessary to select a specific target platform HAL # package. # cdl_package CYGPKG_HAL_POWERPC { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # The following properties are affected by this value # package CYGPKG_DEVS_ETH_POWERPC_ML300 # ActiveIf: CYGPKG_HAL_POWERPC }; # > # Number of variant implementations in this configuration # cdl_interface CYGINT_HAL_POWERPC_VARIANT { # Implemented by CYGHWR_HAL_POWERPC_PPC4XX, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 == CYGINT_HAL_POWERPC_VARIANT # CYGINT_HAL_POWERPC_VARIANT == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_HAL_POWERPC_VARIANT # Requires: 1 == CYGINT_HAL_POWERPC_VARIANT }; # RESET vector jumps to startup # Some platforms may need this for ROMRAM startup. # cdl_option CYGSEM_HAL_POWERPC_RESET_USES_JUMP { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 # The following properties are affected by this value # package CYGPKG_HAL_POWERPC_ML300 # Requires: CYGSEM_HAL_POWERPC_RESET_USES_JUMP }; # Copy exception vectors to RAM # Enable this option to force exception vectors to be copied # to the vector base on startup. For RAM startup this is normally # disabled since the vectors would already have been provided # by the GDB stubs - but it's possible to override, thus taking # full control of the target. For ROM startup it is desirable to # enable this option if the vector base is set to RAM since # accessing vectors in ROM is normally slower. But if memory is # tight the vectors can be left in ROM. # cdl_option CYGSEM_HAL_POWERPC_COPY_VECTORS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: (CYG_HAL_STARTUP != "RAM" || # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS) ? 1 : 0 # CYG_HAL_STARTUP == RAM # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 # --> 0 # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR # CYGSEM_HAL_USE_ROM_MONITOR == 1 # --> 0 # The following properties are affected by this value # option CYGHWR_HAL_POWERPC_NEED_VECTORS # Calculated: ((CYGHWR_HAL_POWERPC_FORCE_VECTORS || # CYG_HAL_STARTUP != "RAM" || # CYGSEM_HAL_POWERPC_COPY_VECTORS) && # ! CYGSEM_HAL_USE_ROM_MONITOR) # ? 1 : 0 # option CYGHWR_HAL_POWERPC_VECTOR_BASE # Calculated: (! CYGHWR_HAL_POWERPC_FORCE_VECTOR_BASE_LOW && # (CYGHWR_HAL_POWERPC_FORCE_VECTOR_BASE_HIGH || # (CYG_HAL_STARTUP != "RAM" && # ! CYGSEM_HAL_POWERPC_COPY_VECTORS))) # ? 0xfff00000 : 0x00000000 # option CYGSEM_HAL_USE_ROM_MONITOR # DefaultValue: (CYG_HAL_STARTUP == "RAM" && # !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS && # !CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED && # !CYGSEM_HAL_POWERPC_COPY_VECTORS) ? 1 : 0 # option CYGSEM_HAL_USE_ROM_MONITOR # Requires: ! CYGSEM_HAL_POWERPC_COPY_VECTORS }; # Exception vectors inclusion # If eCos can rely on the target environment to provide # eCos compatible vector code, there is no reason to include # the additional data in application images. This option controls # the inclusion of the vector code. # cdl_option CYGHWR_HAL_POWERPC_NEED_VECTORS { # Calculated value: ((CYGHWR_HAL_POWERPC_FORCE_VECTORS || # CYG_HAL_STARTUP != "RAM" || # CYGSEM_HAL_POWERPC_COPY_VECTORS) && # ! CYGSEM_HAL_USE_ROM_MONITOR) # ? 1 : 0 # CYGHWR_HAL_POWERPC_FORCE_VECTORS (unknown) == 0 # CYG_HAL_STARTUP == RAM # CYGSEM_HAL_POWERPC_COPY_VECTORS == 0 # CYGSEM_HAL_USE_ROM_MONITOR == 1 # Flavor: bool # Current value: 0 }; # Exception vectors location # PowerPC exception vectors can reside either at 0x00000000 or # 0xfff00000. The startup type and platform HAL controls which # is used. # cdl_option CYGHWR_HAL_POWERPC_VECTOR_BASE { # Calculated value: (! CYGHWR_HAL_POWERPC_FORCE_VECTOR_BASE_LOW && # (CYGHWR_HAL_POWERPC_FORCE_VECTOR_BASE_HIGH || # (CYG_HAL_STARTUP != "RAM" && # ! CYGSEM_HAL_POWERPC_COPY_VECTORS))) # ? 0xfff00000 : 0x00000000 # CYGHWR_HAL_POWERPC_FORCE_VECTOR_BASE_LOW (unknown) == 0 # CYGHWR_HAL_POWERPC_FORCE_VECTOR_BASE_HIGH (unknown) == 0 # CYG_HAL_STARTUP == RAM # CYGSEM_HAL_POWERPC_COPY_VECTORS == 0 # Flavor: data # Current_value: 0x0 }; # Enable MMU # Some platforms do not want the MMU enabled. # cdl_option CYGHWR_HAL_POWERPC_ENABLE_MMU { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # The inferred value should not be edited directly. inferred_value 0 # value_source inferred # Default value: !CYGHWR_HAL_POWERPC_DISABLE_MMU # CYGHWR_HAL_POWERPC_DISABLE_MMU (unknown) == 0 # --> 1 # The following properties are affected by this value # package CYGPKG_HAL_POWERPC_ML300 # Requires: !CYGHWR_HAL_POWERPC_ENABLE_MMU }; # Exception stack-frame walls # Enable this option to put "walls" around the exception # frames. This can ease analyzing the stack contents when # debugging. # cdl_option CYGDBG_HAL_POWERPC_FRAME_WALLS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Support booting Linux via RedBoot # This option enables RedBoot to support booting of a Linux kernel. # cdl_option CYGSEM_REDBOOT_HAL_LINUX_BOOT { # This option is not active # ActiveIf constraint: CYGSEM_REDBOOT_PLF_LINUX_BOOT == 1 # CYGSEM_REDBOOT_PLF_LINUX_BOOT == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # PowerPC build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_HAL_POWERPC_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the PowerPC HAL. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_HAL_POWERPC_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the PowerPC HAL. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_HAL_POWERPC_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # PowerPC tests # This option specifies the set of tests for the PowerPC HAL. # cdl_option CYGPKG_HAL_POWERPC_TESTS { # Calculated value: "" # Flavor: data # Current_value: }; # < # Linker script # cdl_option CYGBLD_LINKER_SCRIPT { # Calculated value: "src/powerpc.ld" # Flavor: data # Current_value: src/powerpc.ld }; # PowerPC 40x variant HAL # The PowerPC 40x variant HAL package provides generic support # for this processor variant. It is also necessary to # select a specific target platform HAL package. # cdl_package CYGPKG_HAL_POWERPC_PPC40x { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # The following properties are affected by this value # package CYGPKG_HAL_POWERPC_ML300 # Requires: CYGPKG_HAL_POWERPC_PPC40x }; # > # PowerPC 4xx microprocessor family # The PowerPC 4xx microprocessor family. These are embedded parts # that in addition to the PowerPC processor core have built in peripherals # such as memory controllers, DMA controllers, serial ports and # timers/counters. # cdl_component CYGHWR_HAL_POWERPC_PPC4XX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 405GP # The inferred value should not be edited directly. inferred_value 405 # value_source inferred # Default value: 405GP # Legal values: "403" "405" "405GP" # The following properties are affected by this value # component CYGHWR_HAL_POWERPC_PPC405_PCI # Requires: (CYGHWR_HAL_POWERPC_PPC4XX == "405GP") # component CYGHWR_HAL_POWERPC_PPC405_I2C # Requires: (CYGHWR_HAL_POWERPC_PPC4XX == "405GP") # option CYGHWR_HAL_POWERPC_PPC405GP_IO # ActiveIf: (CYGHWR_HAL_POWERPC_PPC4XX == "405GP") # package CYGPKG_HAL_POWERPC_ML300 # Requires: CYGHWR_HAL_POWERPC_PPC4XX == "405" }; # > # Variant FPU support # cdl_option CYGHWR_HAL_POWERPC_FPU { # Calculated value: 0 # Flavor: bool # Current value: 0 }; # CPU Variant big-endian # cdl_option CYGPKG_HAL_POWERPC_MSBFIRST { # Calculated value: 1 # Flavor: bool # Current value: 1 }; # < # PCI support # Variant PCI support - only for 405GP # cdl_component CYGHWR_HAL_POWERPC_PPC405_PCI { # This option is not active # ActiveIf constraint: CYGPKG_IO_PCI # CYGPKG_IO_PCI (unknown) == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: (CYGHWR_HAL_POWERPC_PPC4XX == "405GP") # CYGHWR_HAL_POWERPC_PPC4XX == 405 # --> 0 }; # > # Display PCI Bus devices # cdl_option CYGSEM_HAL_POWERPC_PPC405_PCI_SHOW_BUS { # This option is not active # The parent CYGHWR_HAL_POWERPC_PPC405_PCI is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # PPC405GPI2C support # Variant I2C support - only for 405GP # cdl_component CYGHWR_HAL_POWERPC_PPC405_I2C { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # The inferred value should not be edited directly. inferred_value 0 # value_source inferred # Default value: 1 # Requires: (CYGHWR_HAL_POWERPC_PPC4XX == "405GP") # CYGHWR_HAL_POWERPC_PPC4XX == 405 # --> 0 }; # Misc I/O support, including diagnostic serial ports # Variant I/O support - implementation provided only for 405GP # cdl_component CYGHWR_HAL_POWERPC_PPC405_IO { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Misc I/O support, including diagnostic serial ports # Variant I/O support - only for 405GP # cdl_option CYGHWR_HAL_POWERPC_PPC405GP_IO { # This option is not active # ActiveIf constraint: (CYGHWR_HAL_POWERPC_PPC4XX == "405GP") # CYGHWR_HAL_POWERPC_PPC4XX == 405 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Number of communication channels on the board # cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 2 # value_source default # Default value: 2+CYGNUM_HAL_PLF_VIRTUAL_VECTOR_COMM_CHANNELS # CYGNUM_HAL_PLF_VIRTUAL_VECTOR_COMM_CHANNELS == 0 # --> 2 # The following properties are affected by this value # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL # LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL # LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 # option CYGNUM_HAL_VIRTUAL_VECTOR_ROM_DEBUG_CHANNEL # LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 }; # Debug serial port # The PPC405GP supports multiple serial ports. Additionally, # a platform may define other 'console' devices. This option # chooses which port will be used to connect to a host # running GDB. # cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL { # This option is not active # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE # CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 0 # --> 0 # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 2 }; # Diagnostic serial port # This option chooses which console port will be used for diagnostic output. # cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL { # This option is not active # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE # CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 0 # --> 0 # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 2 }; # Baud rate for the HAL diagnostic port # This option specifies the default baud rate (speed) for the # HAL diagnostic port. # cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 38400 # value_source default # Default value: 38400 # Legal values: 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600 # 4800 7200 9600 14400 19200 38400 57600 115200 230400 # }; # Debug serial port used by ROM monitor # This option tells the code which console port is in use by # the ROM monitor. It should only be necessary to change this # option if a non-standard configurated eCos GDB stub is # used. # cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_ROM_DEBUG_CHANNEL { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 2 }; # < # Real-time clock constants. # Period is busclock/100. # cdl_component CYGNUM_HAL_RTC_CONSTANTS { # There is no associated value. }; # > # Real-time clock numerator # cdl_option CYGNUM_HAL_RTC_NUMERATOR { # Calculated value: 1000000000 # Flavor: data # Current_value: 1000000000 }; # Real-time clock denominator # cdl_option CYGNUM_HAL_RTC_DENOMINATOR { # Calculated value: 100 # Flavor: data # Current_value: 100 # The following properties are affected by this value # option CYGNUM_HAL_RTC_PERIOD # Calculated: (((CYGHWR_HAL_POWERPC_CPU_SPEED*1000000))/CYGNUM_HAL_RTC_DENOMINATOR) }; # Real-time clock period # cdl_option CYGNUM_HAL_RTC_PERIOD { # Calculated value: (((CYGHWR_HAL_POWERPC_CPU_SPEED*1000000))/CYGNUM_HAL_RTC_DENOMINATOR) # CYGHWR_HAL_POWERPC_CPU_SPEED == 400 # CYGNUM_HAL_RTC_DENOMINATOR == 100 # Flavor: data # Current_value: 4000000 }; # < # ROM monitor configuration is unsupported # cdl_interface CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # option CYGSEM_HAL_USE_ROM_MONITOR # DefaultValue: (CYG_HAL_STARTUP == "RAM" && # !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS && # !CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED && # !CYGSEM_HAL_POWERPC_COPY_VECTORS) ? 1 : 0 # option CYGSEM_HAL_USE_ROM_MONITOR # Requires: ! CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED }; # < # XILINX ML300 (PowerPC 405) board # The ML300 HAL package provides the support needed to run # eCos on a XILINX PowerPC 405 board. # cdl_package CYGPKG_HAL_POWERPC_ML300 { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_HAL_POWERPC_PPC40x # CYGPKG_HAL_POWERPC_PPC40x == current # --> 1 # Requires: CYGSEM_HAL_POWERPC_RESET_USES_JUMP # CYGSEM_HAL_POWERPC_RESET_USES_JUMP == 1 # --> 1 # Requires: CYGHWR_HAL_POWERPC_PPC4XX == "405" # CYGHWR_HAL_POWERPC_PPC4XX == 405 # --> 1 # Requires: CYGSEM_HAL_DCACHE_STARTUP_MODE == "WRITETHRU" # CYGSEM_HAL_DCACHE_STARTUP_MODE == WRITETHRU # --> 1 # Requires: !CYGHWR_HAL_POWERPC_ENABLE_MMU # CYGHWR_HAL_POWERPC_ENABLE_MMU == 0 # --> 1 # The following properties are affected by this value # package CYGPKG_DEVS_ETH_POWERPC_ML300 # Requires: CYGPKG_HAL_POWERPC_ML300 # package CYGPKG_IO_SERIAL_POWERPC_ML300 # ActiveIf: CYGPKG_HAL_POWERPC_ML300 # package CYGPKG_DEVS_KBD_ML300 # Requires: CYGPKG_HAL_POWERPC_ML300 # package CYGPKG_DEVS_MOUSE_ML300 # Requires: CYGPKG_HAL_POWERPC_ML300 # package CYGPKG_DEVS_TOUCHSCREEN_ML300 # Requires: CYGPKG_HAL_POWERPC_ML300 # component CYGBLD_MICROWINDOWS_ML300_DRIVERS # ActiveIf: CYGPKG_HAL_POWERPC_ML300 # component CYGBLD_MICROWINDOWS_ML300_DRIVERS # Requires: !CYGPKG_HAL_POWERPC_ML300 || is_substr(CYGPKG_MICROWINDOWS_CFLAGS_ADD, " # -DMWPIXEL_FORMAT=MWPF_TRUECOLOR0888") }; # > # Startup type # This option is used to control where the application program will # run, either from RAM or ROM (flash) memory. ROM based applications # must be self contained, while RAM applications will typically assume # the existence of a debug environment, such as GDB stubs. # cdl_component CYG_HAL_STARTUP { # Flavor: data # No user value, uncomment the following line to provide one. # user_value RAM # value_source default # Default value: RAM # Legal values: "RAM" "ROMRAM" # The following properties are affected by this value # option CYGBLD_BUILD_GDB_STUBS # Requires: CYG_HAL_STARTUP == "ROM" # component CYGHWR_MEMORY_LAYOUT # Calculated: CYG_HAL_STARTUP == "RAM" ? "powerpc_ml300_ram" : CYG_HAL_STARTUP == "ROMRAM" ? "powerpc_ml300_romram" : "bogus_MLT" # component CYGHWR_MEMORY_LAYOUT # Calculated: CYG_HAL_STARTUP == "RAM" ? "powerpc_ml300_ram" : CYG_HAL_STARTUP == "ROMRAM" ? "powerpc_ml300_romram" : "bogus_MLT" # option CYGHWR_MEMORY_LAYOUT_LDI # Calculated: CYG_HAL_STARTUP == "RAM" ? "" : CYG_HAL_STARTUP == "ROMRAM" ? "" : "" # option CYGHWR_MEMORY_LAYOUT_LDI # Calculated: CYG_HAL_STARTUP == "RAM" ? "" : CYG_HAL_STARTUP == "ROMRAM" ? "" : "" # option CYGHWR_MEMORY_LAYOUT_H # Calculated: CYG_HAL_STARTUP == "RAM" ? "" : CYG_HAL_STARTUP == "ROMRAM" ? "" : "" # option CYGHWR_MEMORY_LAYOUT_H # Calculated: CYG_HAL_STARTUP == "RAM" ? "" : CYG_HAL_STARTUP == "ROMRAM" ? "" : "" # option CYGSEM_HAL_ROM_MONITOR # Requires: CYG_HAL_STARTUP == "ROMRAM" # option CYGBLD_BUILD_REDBOOT_BIN # DefaultValue: CYG_HAL_STARTUP != "RAM" # option CYGSEM_HAL_POWERPC_COPY_VECTORS # DefaultValue: (CYG_HAL_STARTUP != "RAM" || # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS) ? 1 : 0 # option CYGHWR_HAL_POWERPC_NEED_VECTORS # Calculated: ((CYGHWR_HAL_POWERPC_FORCE_VECTORS || # CYG_HAL_STARTUP != "RAM" || # CYGSEM_HAL_POWERPC_COPY_VECTORS) && # ! CYGSEM_HAL_USE_ROM_MONITOR) # ? 1 : 0 # option CYGHWR_HAL_POWERPC_VECTOR_BASE # Calculated: (! CYGHWR_HAL_POWERPC_FORCE_VECTOR_BASE_LOW && # (CYGHWR_HAL_POWERPC_FORCE_VECTOR_BASE_HIGH || # (CYG_HAL_STARTUP != "RAM" && # ! CYGSEM_HAL_POWERPC_COPY_VECTORS))) # ? 0xfff00000 : 0x00000000 # option CYGSEM_HAL_USE_ROM_MONITOR # DefaultValue: (CYG_HAL_STARTUP == "RAM" && # !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS && # !CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED && # !CYGSEM_HAL_POWERPC_COPY_VECTORS) ? 1 : 0 # option CYGSEM_HAL_USE_ROM_MONITOR # Requires: CYG_HAL_STARTUP == "RAM" # component CYGSEM_DEVS_ETH_POWERPC_ML300_RESET_PHY # DefaultValue: CYG_HAL_STARTUP != "RAM" # option CYGSEM_HAL_INSTALL_MMU_TABLES # DefaultValue: CYG_HAL_STARTUP != "RAM" # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN # DefaultValue: (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS || CYG_HAL_STARTUP == "RAM") ? 1 : 0 # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE # DefaultValue: CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR }; # Development board clock speed (MHz) # ML300 Development Boards have various system clock speeds # depending on the processor and oscillator fitted. Select # the clock speed appropriate for your board so that the system # can set the serial baud rate correctly, amongst other things. # cdl_option CYGHWR_HAL_POWERPC_CPU_SPEED { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 400 # value_source default # Default value: 400 # Legal values: 400 # The following properties are affected by this value # option CYGNUM_HAL_RTC_PERIOD # Calculated: (((CYGHWR_HAL_POWERPC_CPU_SPEED*1000000))/CYGNUM_HAL_RTC_DENOMINATOR) }; # Development board memory bus speed (MHz) # ML300 Development Boards have various system clock speeds # depending on the processor and oscillator fitted. # cdl_option CYGHWR_HAL_POWERPC_MEM_SPEED { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 66 # value_source default # Default value: 66 # Legal values: 66 }; # Size of EEPROM device # This option indicates the size of the EEPROM fitted on the board. # Currently only one size is supported. # cdl_component CYGNUM_HAL_EEPROM_SIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 4096 # value_source default # Default value: 4096 # Legal values: 4096 }; # Support SysACE drive via RedBoot # cdl_option CYGSEM_ML300_SYSACE_DISK_SUPPORT { # This option is not active # ActiveIf constraint: CYGPKG_REDBOOT_DISK # CYGPKG_REDBOOT_DISK (unknown) == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Support LCD # Enabling this option will enable the use the LCD as a # simple framebuffer, suitable for use with a windowing # package. # cdl_component CYGSEM_ML300_LCD_SUPPORT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # LCD portrait mode # Setting this option will orient the data on the LCD screen # in portrait (480x640) mode. # cdl_option CYGSEM_ML300_LCD_PORTRAIT_MODE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Support LCD/keyboard for comminication channel # Enabling this option will use the LCD and keyboard for a # communications channel, suitable for RedBoot, etc. # cdl_component CYGSEM_ML300_LCD_COMM { # This option is not active # ActiveIf constraint: CYGPKG_REDBOOT # CYGPKG_REDBOOT (unknown) == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGNUM_HAL_PLF_VIRTUAL_VECTOR_COMM_CHANNELS # Calculated: CYGSEM_ML300_LCD_COMM # package CYGPKG_DEVS_KBD_ML300 # ActiveIf: !CYGSEM_ML300_LCD_COMM # package CYGPKG_DEVS_MOUSE_ML300 # ActiveIf: !CYGSEM_ML300_LCD_COMM # package CYGPKG_DEVS_TOUCHSCREEN_ML300 # ActiveIf: !CYGSEM_ML300_LCD_COMM }; # > # Choice of font for characters on screen # This option chooses the size of the font (characters) # rendered on the screen. The smaller font will yield # more characters, but scrolling is slower. # cdl_option CYGNUM_ML300_LCD_COMM_FONT_SIZE { # This option is not active # The parent CYGSEM_ML300_LCD_COMM is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 16 # value_source default # Default value: 16 # Legal values: 8 16 }; # RedHat logo location # Use this option to control where the RedHat logo is placed # on the LCD screen. # cdl_option CYGOPT_ML300_LCD_COMM_LOGO { # This option is not active # The parent CYGSEM_ML300_LCD_COMM is not active # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 1 TOP # value_source default # Default value: 1 TOP # Legal values: "TOP" "BOTTOM" }; # < # < # Xilinx ML300 additional platform console channels # cdl_option CYGNUM_HAL_PLF_VIRTUAL_VECTOR_COMM_CHANNELS { # Calculated value: CYGSEM_ML300_LCD_COMM # CYGSEM_ML300_LCD_COMM == 0 # Flavor: bool # Current value: 0 # The following properties are affected by this value # option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS # DefaultValue: 2+CYGNUM_HAL_PLF_VIRTUAL_VECTOR_COMM_CHANNELS }; # ML300 build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_HAL_POWERPC_ML300_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the ML300 HAL. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_HAL_POWERPC_ML300_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the ML300 HAL. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_HAL_POWERPC_ML300_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # ML300 tests # This option specifies the set of tests for the ML300 HAL. # cdl_option CYGPKG_HAL_POWERPC_ML300_TESTS { # Calculated value: "tests/ml300time" # Flavor: data # Current_value: tests/ml300time }; # < # Memory layout # cdl_component CYGHWR_MEMORY_LAYOUT { # Calculated value: CYG_HAL_STARTUP == "RAM" ? "powerpc_ml300_ram" : CYG_HAL_STARTUP == "ROMRAM" ? "powerpc_ml300_romram" : "bogus_MLT" # CYG_HAL_STARTUP == RAM # CYG_HAL_STARTUP == RAM # Flavor: data # Current_value: powerpc_ml300_ram }; # > # Memory layout linker script fragment # cdl_option CYGHWR_MEMORY_LAYOUT_LDI { # Calculated value: CYG_HAL_STARTUP == "RAM" ? "" : CYG_HAL_STARTUP == "ROMRAM" ? "" : "" # CYG_HAL_STARTUP == RAM # CYG_HAL_STARTUP == RAM # Flavor: data # Current_value: }; # Memory layout header file # cdl_option CYGHWR_MEMORY_LAYOUT_H { # Calculated value: CYG_HAL_STARTUP == "RAM" ? "" : CYG_HAL_STARTUP == "ROMRAM" ? "" : "" # CYG_HAL_STARTUP == RAM # CYG_HAL_STARTUP == RAM # Flavor: data # Current_value: }; # < # < # < # < # I/O sub-system # doc: ref/io.html # The eCos system is supplied with a number of different # device drivers. This option enables the basic I/O system # support which is the basis for all drivers. # cdl_package CYGPKG_IO { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_ERROR # CYGPKG_ERROR == current # --> 1 # The following properties are affected by this value # package CYGPKG_DEVS_KBD_ML300 # Requires: CYGPKG_IO # package CYGPKG_DEVS_MOUSE_ML300 # Requires: CYGPKG_IO # package CYGPKG_DEVS_TOUCHSCREEN_ML300 # Requires: CYGPKG_IO # package CYGPKG_IO_SERIAL # ActiveIf: CYGPKG_IO # package CYGPKG_LIBC_STDIO # Requires: CYGPKG_IO # option CYGPKG_IO_FILEIO_DEVFS_SUPPORT # ActiveIf: CYGPKG_IO # package CYGPKG_NET # Requires: CYGPKG_IO # package CYGPKG_NET_FREEBSD_STACK # Requires: CYGPKG_IO }; # > # Debug I/O sub-system # This option enables verbose messages to be displayed on the # system 'diag' device during I/O system initialization. # cdl_option CYGDBG_IO_INIT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Basic support for file based I/O # This option control support for simple file I/O primitives. It is only # present if the FILEIO package is not included. # cdl_component CYGPKG_IO_FILE_SUPPORT { # This option is not active # ActiveIf constraint: !CYGPKG_IO_FILEIO # CYGPKG_IO_FILEIO == current # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Number of open files # This option controls the number of open files. # cdl_option CYGPKG_IO_NFILE { # This option is not active # The parent CYGPKG_IO_FILE_SUPPORT is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 16 # value_source default # Default value: 16 }; # < # Common ethernet support # doc: ref/io-eth-drv-generic.html # Platform independent ethernet drivers # cdl_package CYGPKG_IO_ETH_DRIVERS { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # The following properties are affected by this value # package CYGPKG_DEVS_ETH_POWERPC_ML300 # ActiveIf: CYGPKG_IO_ETH_DRIVERS # package CYGPKG_DEVS_ETH_PHY # ActiveIf: CYGPKG_IO_ETH_DRIVERS }; # > # Network drivers # cdl_interface CYGHWR_NET_DRIVERS { # Implemented by CYGPKG_DEVS_ETH_POWERPC_ML300, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # The following properties are affected by this value # component CYGPKG_NET_DHCP # ActiveIf: (CYGHWR_NET_DRIVERS > 0) }; # Driver supports multicast addressing # This interface defines whether or not a driver can handle # requests for multicast addressing. # cdl_interface CYGINT_IO_ETH_MULTICAST { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # option CYGPKG_NET_INET6 # Requires: CYGINT_IO_ETH_MULTICAST }; # Support printing driver debug information # Selecting this option will include code to allow the driver to # print lots of information on diagnostic output such as full # packet dumps. # cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Driver debug output verbosity # The value of this option indicates the default verbosity # level of debugging output. 0 means no debugging output # is made by default. Higher values indicate higher verbosity. # The verbosity level may also be changed at run time by # changing the variable cyg_io_eth_net_debug. # cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # Size of scatter-gather I/O lists # A scatter-gather list is used to pass requests to/from # the physical device driver. This list can typically be # small, as the data is normally already packed into reasonable # chunks. # cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 32 # value_source default # Default value: 32 }; # Support for standard eCos TCP/IP stack. # cdl_component CYGPKG_IO_ETH_DRIVERS_NET { # ActiveIf constraint: CYGPKG_NET # CYGPKG_NET == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGINT_ISO_STRING_STRFUNCS # CYGINT_ISO_STRING_STRFUNCS == 1 # --> 1 }; # > # Warn when there are no more mbufs # Warnings about running out of mbufs are printed to the # diagnostic output channel via diag_printf() if this option # is enabled. Mbufs are the network stack's basic dynamic # memory objects that hold all packets in transit; running # out is bad for performance but not fatal, not a crash. # You might want to turn off the warnings to preserve realtime # properties of the system even in extremis. # cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Simulate network failures for testing # This package contains a suite of simulated failure modes # for the ethernet device layer, including dropping and/or # corrupting received packets, dropping packets queued for # transmission, and simulating a complete network break. # It requires the kernel as a source of time information. # cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # > # Drop incoming packets (percentage) # cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX { # This option is not active # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 1 10 # value_source default # Default value: 1 10 # Legal values: 10 50 80 }; # Corrupt incoming packets (percentage) # cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX { # This option is not active # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 1 10 # value_source default # Default value: 1 10 # Legal values: 10 50 80 }; # Drop outgoing packets (percentage) # cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX { # This option is not active # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 1 10 # value_source default # Default value: 1 10 # Legal values: 10 50 80 }; # Simulate a line cut from time to time # This option causes the system to drop all packets for a # short random period (10s of seconds), and then act # normally for up to 4 times that long. This simulates your # sysadmin fiddling with plugs in the network switch # cupboard. # cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT { # This option is not active # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # < # Support for stand-alone network stack. # cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE { # This option is not active # ActiveIf constraint: !CYGPKG_NET # CYGPKG_NET == current # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGINT_ISO_STRING_MEMFUNCS # CYGINT_ISO_STRING_MEMFUNCS == 1 # --> 1 }; # > # Pass packets to an alternate stack # Define this to allow packets seen by this layer to be # passed on to the previous logical layer, i.e. when # stand-alone processing replaces system (eCos) processing. # cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS { # This option is not active # The parent CYGPKG_IO_ETH_DRIVERS_STAND_ALONE is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 != CYGPKG_REDBOOT_NETWORKING # CYGPKG_REDBOOT_NETWORKING (unknown) == 0 # --> 0 }; # Number of [network] buffers # This option is used to allocate space to buffer incoming network # packets. These buffers are used to hold data until they can be # logically processed by higher layers. # cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT { # This option is not active # The parent CYGPKG_IO_ETH_DRIVERS_STAND_ALONE is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 4 # value_source default # Default value: 4 # Legal values: 2 to 32 }; # Show driver warnings # Selecting this option will allows the stand-alone ethernet driver # to display warnings on the system console when incoming network # packets are being discarded due to lack of buffer space. # cdl_option CYGSEM_IO_ETH_DRIVERS_WARN { # This option is not active # The parent CYGPKG_IO_ETH_DRIVERS_STAND_ALONE is not active # ActiveIf constraint: CYGPKG_REDBOOT # CYGPKG_REDBOOT (unknown) == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # Support for lwIP network stack. # cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP { # This option is not active # ActiveIf constraint: CYGPKG_NET_LWIP # CYGPKG_NET_LWIP (unknown) == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: !CYGPKG_NET # CYGPKG_NET == current # --> 0 }; # Interrupt support required # This interface is used to indicate to the low # level device drivers that interrupt driven operation # is required by higher layers. # cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED { # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, active, enabled # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # The following properties are affected by this value }; # Common ethernet support build options # cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the common ethernet support package. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "-D_KERNEL -D__ECOS" # value_source default # Default value: "-D_KERNEL -D__ECOS" }; # < # Xilinx ML300 (PPC405) ethernet support # Ethernet driver for Xilinx ML300 develoment board. # cdl_package CYGPKG_DEVS_ETH_POWERPC_ML300 { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS # CYGPKG_IO_ETH_DRIVERS == current # --> 1 # ActiveIf constraint: CYGPKG_HAL_POWERPC # CYGPKG_HAL_POWERPC == current # --> 1 # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_HAL_POWERPC_ML300 # CYGPKG_HAL_POWERPC_ML300 == current # --> 1 # Requires: CYGHWR_DEVS_ETH_PHY_ML300 # CYGHWR_DEVS_ETH_PHY_ML300 == 1 # --> 1 # Requires: !CYGPKG_NET || CYGPKG_NET_FORCE_SERIAL_CONSOLE == 1 # CYGPKG_NET == current # CYGPKG_NET_FORCE_SERIAL_CONSOLE == 1 # --> 1 }; # > # Buffer size # This option specifies the size of the internal buffers used # for the PowerPC ML300/ethernet device. # cdl_option CYGNUM_DEVS_ETH_POWERPC_ML300_BUFSIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 1536 # value_source default # Default value: 1536 }; # Number of output buffers # This option specifies the number of output buffer packets # to be used for the PowerPC ML300/ethernet device. # cdl_option CYGNUM_DEVS_ETH_POWERPC_ML300_TxNUM { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 8 # value_source default # Default value: 8 # Legal values: 2 to 64 }; # Number of input buffers # This option specifies the number of input buffer packets # to be used for the PowerPC ML300/ethernet device. # cdl_option CYGNUM_DEVS_ETH_POWERPC_ML300_RxNUM { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 8 # value_source default # Default value: 8 # Legal values: 2 to 64 }; # Reset and reconfigure PHY # This option allows control over the physical transceiver # cdl_component CYGSEM_DEVS_ETH_POWERPC_ML300_RESET_PHY { # ActiveIf constraint: CYGPKG_DEVS_ETH_PHY # CYGPKG_DEVS_ETH_PHY == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: CYG_HAL_STARTUP != "RAM" # CYG_HAL_STARTUP == RAM # --> 0 }; # > # Initial link mode # This option specifies initial mode for the physical # link. The PHY will be reset and then set to this mode. # cdl_option CYGNUM_DEVS_ETH_POWERPC_ML300_LINK_MODE { # This option is not active # The parent CYGSEM_DEVS_ETH_POWERPC_ML300_RESET_PHY is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value Auto # value_source default # Default value: Auto # Legal values: "10Mb" "100Mb" "Auto" }; # < # MPC8xxx ML300 ethernet driver build options # cdl_component CYGPKG_DEVS_ETH_POWERPC_ML300_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the MPC8xxx ML300 ethernet driver package. # These flags are used in addition to the set of global # flags. # cdl_option CYGPKG_DEVS_ETH_POWERPC_ML300_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "-D_KERNEL -D__ECOS" # value_source default # Default value: "-D_KERNEL -D__ECOS" }; # < # < # Ethernet transciever (PHY) support # API for ethernet PHY devices # cdl_package CYGPKG_DEVS_ETH_PHY { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS # CYGPKG_IO_ETH_DRIVERS == current # --> 1 # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT # CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1 # --> 1 # The following properties are affected by this value # component CYGSEM_DEVS_ETH_POWERPC_ML300_RESET_PHY # ActiveIf: CYGPKG_DEVS_ETH_PHY }; # > # Time period (seconds) to wait for auto-negotiation # The length of time to wait for auto-negotiation to complete # before giving up and declaring the link dead/missing. # cdl_option CYGINT_DEVS_ETH_PHY_AUTO_NEGOTIATION_TIME { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 5 # value_source default # Default value: 5 }; # NSDP83847 # Include support for National Semiconductor DP83847 DsPHYTER II # cdl_option CYGHWR_DEVS_ETH_PHY_DP83847 { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Xilinx ML300 # Include support for PHY on Xilinx ML300 # cdl_option CYGHWR_DEVS_ETH_PHY_ML300 { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 # The following properties are affected by this value # package CYGPKG_DEVS_ETH_POWERPC_ML300 # Requires: CYGHWR_DEVS_ETH_PHY_ML300 }; # AMD 79C874 # Include support for AMD 79C874 NetPHY # cdl_option CYGHWR_DEVS_ETH_PHY_AM79C874 { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # < # < # Serial device drivers # doc: ref/io.html # This option enables drivers for basic I/O services on # serial devices. # cdl_package CYGPKG_IO_SERIAL { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # ActiveIf constraint: CYGPKG_IO # CYGPKG_IO == current # --> 1 # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_ERROR # CYGPKG_ERROR == current # --> 1 # The following properties are affected by this value # package CYGPKG_IO_SERIAL_GENERIC_16X5X # ActiveIf: CYGPKG_IO_SERIAL # package CYGPKG_IO_SERIAL_POWERPC_ML300 # ActiveIf: CYGPKG_IO_SERIAL }; # > # Support non-blocking read and write calls # This option enables extra code in the generic serial driver # which allows clients to switch read() and write() call # semantics from blocking to non-blocking. # cdl_option CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Driver requires block transfer callback functions # Some low-level drivers can be optimized to transfer blocks # of data instead of a single character at a time. These usually # rely on a hardware FIFO of some sort. # cdl_interface CYGINT_IO_SERIAL_BLOCK_TRANSFER { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 }; # Serial driver supports line status # cdl_interface CYGINT_IO_SERIAL_LINE_STATUS_HW { # Implemented by CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL0, inactive, enabled # Implemented by CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL1, inactive, enabled # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # option CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS # Requires: CYGINT_IO_SERIAL_LINE_STATUS_HW > 0 # option CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS # DefaultValue: 0 != CYGINT_IO_SERIAL_LINE_STATUS_HW }; # Support line status callbacks # This option indicates that if the serial driver supports it, # serial line status and modem status information should be # propagated to higher layers via callbacks. # cdl_option CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 != CYGINT_IO_SERIAL_LINE_STATUS_HW # CYGINT_IO_SERIAL_LINE_STATUS_HW == 0 # --> 0 # Requires: CYGINT_IO_SERIAL_LINE_STATUS_HW > 0 # CYGINT_IO_SERIAL_LINE_STATUS_HW == 0 # --> 0 # The following properties are affected by this value # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW # Requires: CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW # DefaultValue: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 ? CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS : 0 }; # Flow control # This component contains options related to flow control. # cdl_component CYGPKG_IO_SERIAL_FLOW_CONTROL { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: (CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE || CYGOPT_IO_SERIAL_FLOW_CONTROL_HW) # CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE == 0 # CYGOPT_IO_SERIAL_FLOW_CONTROL_HW == 0 # --> 0 }; # > # Software flow control # This component enables support of software flow control. # cdl_component CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE { # This option is not active # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # component CYGPKG_IO_SERIAL_FLOW_CONTROL # Requires: (CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE || CYGOPT_IO_SERIAL_FLOW_CONTROL_HW) }; # > # Start character # This option specifies the ascii character used to # indicate that transmission should start. # cdl_option CYGDAT_IO_SERIAL_FLOW_CONTROL_XON_CHAR { # This option is not active # The parent CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 17 # value_source default # Default value: 17 # Legal values: 0 to 255 }; # Stop character # This option specifies the ascii character used to # indicate that transmission should stop. # cdl_option CYGDAT_IO_SERIAL_FLOW_CONTROL_XOFF_CHAR { # This option is not active # The parent CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 19 # value_source default # Default value: 19 # Legal values: 0 to 255 }; # < # Hardware flow control # If the hardware supports it, this option allows hardware # flow control to be enabled. This may be in the form of # either or both of RTS/CTS, or DSR/DTR flow control. # cdl_option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW { # This option is not active # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled # ActiveIf constraint: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 # CYGINT_IO_SERIAL_FLOW_CONTROL_HW == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 ? CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS : 0 # CYGINT_IO_SERIAL_FLOW_CONTROL_HW == 0 # CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS == 0 # --> 0 # Requires: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 # CYGINT_IO_SERIAL_FLOW_CONTROL_HW == 0 # --> 0 # Requires: CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS # CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS == 0 # --> 0 # The following properties are affected by this value # component CYGPKG_IO_SERIAL_FLOW_CONTROL # Requires: (CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE || CYGOPT_IO_SERIAL_FLOW_CONTROL_HW) }; # Serial h/w supports hardware flow control # cdl_interface CYGINT_IO_SERIAL_FLOW_CONTROL_HW { # Implemented by CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL0, inactive, enabled # Implemented by CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL1, inactive, enabled # This option is not active # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW # ActiveIf: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW # Requires: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW # DefaultValue: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 ? CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS : 0 }; # Default flow control method # This option allows a default flow control method # to be defined. Combinations of flow control methods # may also be set, but this is only possible by # using the cyg_io_set_config() API in source code. # cdl_option CYGDAT_IO_SERIAL_FLOW_CONTROL_DEFAULT { # This option is not active # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value NONE # value_source default # Default value: NONE # Legal values: "NONE" "XONXOFF" "RTSCTS" "DSRDTR" }; # Rx flow control low water mark # This sets the water mark used for determining # when to disable flow control, expressed # as a percentage of the buffer size. When the # receive buffer size is lower than this percentage, # if the transmitter had previously been throttled, it # will now be informed it can restart. # cdl_option CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT { # This option is not active # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 33 # value_source default # Default value: 33 # Legal values: 1 to 100 # The following properties are affected by this value # option CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT # Requires: CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT >= CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT }; # Rx flow control high water mark # This sets the water mark used for determining # when to enable flow control, expressed # as a percentage of the buffer size. When the # receive buffer size exceeds this percentage, # signals are sent to the transmitter to tell it # to throttle tranmission. # cdl_option CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT { # This option is not active # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 66 # value_source default # Default value: 66 # Legal values: 1 to 100 # Requires: CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT >= CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT # CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT == 0 # CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT == 0 # --> 1 # The following properties are affected by this value # option CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT # Requires: CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT >= CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT }; # < # TTY-mode serial device drivers # This option enables a simple terminal-like device driver # that can be used for serial devices that interact with humans, # such as a system console. # cdl_component CYGPKG_IO_SERIAL_TTY { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # HAL/diag serial device driver # This option enables the use of the HAL diagnostic channel # via the standard I/O drivers. # cdl_component CYGPKG_IO_SERIAL_HALDIAG { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # package CYGPKG_LIBC_STDIO # Requires: (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? CYGPKG_IO_SERIAL_HALDIAG : 1) }; # Console device name # This option selects the TTY device to use for the console. # cdl_option CYGDAT_IO_SERIAL_TTY_CONSOLE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/ttydiag\"" # value_source default # Default value: "\"/dev/ttydiag\"" # The following properties are affected by this value # option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE # DefaultValue: CYGDAT_IO_SERIAL_TTY_CONSOLE ? CYGDAT_IO_SERIAL_TTY_CONSOLE : "\"/dev/null\"" # option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE # DefaultValue: CYGDAT_IO_SERIAL_TTY_CONSOLE ? CYGDAT_IO_SERIAL_TTY_CONSOLE : "\"/dev/null\"" }; # TTY mode HAL/diag channel # This option causes '/dev/ttydiag' to be included in the standard # drivers. # cdl_component CYGPKG_IO_SERIAL_TTY_TTYDIAG { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # TTY mode channel #0 # This option causes '/dev/tty0' to be included in the standard # drivers. # cdl_component CYGPKG_IO_SERIAL_TTY_TTY0 { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # > # TTY mode channel #0 device # This option selects the physical device to use for # '/dev/tty0'. # cdl_option CYGDAT_IO_SERIAL_TTY_TTY0_DEV { # This option is not active # The parent CYGPKG_IO_SERIAL_TTY_TTY0 is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/ser0\"" # value_source default # Default value: "\"/dev/ser0\"" }; # < # TTY mode channel #1 # This option causes '/dev/tty1' to be included in the standard # drivers. # cdl_component CYGPKG_IO_SERIAL_TTY_TTY1 { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # > # TTY mode channel #1 device # This option selects the physical device to use for # '/dev/tty1'. # cdl_option CYGDAT_IO_SERIAL_TTY_TTY1_DEV { # This option is not active # The parent CYGPKG_IO_SERIAL_TTY_TTY1 is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/ser1\"" # value_source default # Default value: "\"/dev/ser1\"" }; # < # TTY mode channel #2 # This option causes '/dev/tty2' to be included in the standard # drivers. # cdl_component CYGPKG_IO_SERIAL_TTY_TTY2 { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # > # TTY mode channel #2 device # This option selects the physical device to use for # '/dev/tty2'. # cdl_option CYGDAT_IO_SERIAL_TTY_TTY2_DEV { # This option is not active # The parent CYGPKG_IO_SERIAL_TTY_TTY2 is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/ser2\"" # value_source default # Default value: "\"/dev/ser2\"" }; # < # < # Termios compatible TTY drivers # This option enables terminal drivers compatible with # POSIX termios. # cdl_component CYGPKG_IO_SERIAL_TERMIOS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO # CYGPKG_ISOINFRA == current # CYGPKG_IO_FILEIO == current # CYGINT_ISO_ERRNO_CODES == 1 # CYGINT_ISO_ERRNO == 1 # --> 1 # Requires: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 # Requires: CYGPKG_IO_FILEIO # CYGPKG_IO_FILEIO == current # --> 1 # Requires: CYGINT_ISO_ERRNO_CODES # CYGINT_ISO_ERRNO_CODES == 1 # --> 1 # Requires: CYGINT_ISO_ERRNO # CYGINT_ISO_ERRNO == 1 # --> 1 # Requires: CYGINT_ISO_MALLOC # CYGINT_ISO_MALLOC == 1 # --> 1 }; # > # Interface for termios tty driver file enabling # cdl_interface CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY { # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS0, active, disabled # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS1, active, disabled # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS2, active, disabled # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # option CYGBLD_IO_SERIAL_TERMIOS_TERMIOS_TTY # ActiveIf: CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY > 0 }; # Build termios tty driver file # cdl_option CYGBLD_IO_SERIAL_TERMIOS_TERMIOS_TTY { # This option is not active # ActiveIf constraint: CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY > 0 # CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY == 0 # --> 0 # Calculated value: 1 # Flavor: bool # Current value: 1 }; # Termios TTY channel #0 # This option causes '/dev/termios0' to be included in the standard # drivers. # cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS0 { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # > # Termios TTY channel #0 device # This option selects the physical device to use for # '/dev/termios0'. # cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS0_DEV { # This option is not active # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS0 is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/ser0\"" # value_source default # Default value: "\"/dev/ser0\"" }; # < # Termios TTY channel #1 # This option causes '/dev/termios1' to be included in the standard # drivers. # cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS1 { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # > # Termios TTY channel #1 device # This option selects the physical device to use for # '/dev/termios1'. # cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS1_DEV { # This option is not active # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS1 is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/ser1\"" # value_source default # Default value: "\"/dev/ser1\"" }; # < # Termios TTY channel #2 # This option causes '/dev/termios2' to be included in the standard # drivers. # cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS2 { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # > # Termios TTY channel #2 device # This option selects the physical device to use for # '/dev/termios2'. # cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS2_DEV { # This option is not active # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS2 is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/ser2\"" # value_source default # Default value: "\"/dev/ser2\"" }; # < # Support signals # This option selects whether those parts of the termios # interface involving signals is supported. This includes # BRKINT mode, the INTR and QUIT characters, and whether # SIGHUP is sent on terminal close. # cdl_option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: CYGINT_ISO_SIGNAL_NUMBERS != 0 && CYGINT_ISO_SIGNAL_IMPL != 0 # CYGINT_ISO_SIGNAL_NUMBERS == 1 # CYGINT_ISO_SIGNAL_IMPL == 1 # --> 1 # Requires: CYGINT_ISO_SIGNAL_NUMBERS # CYGINT_ISO_SIGNAL_NUMBERS == 1 # --> 1 # Requires: CYGINT_ISO_SIGNAL_IMPL # CYGINT_ISO_SIGNAL_IMPL == 1 # --> 1 }; # < # Hardware serial device drivers # This option enables the hardware device drivers # for the current platform. # cdl_component CYGPKG_IO_SERIAL_DEVICES { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # The following properties are affected by this value # option CYGPKG_IO_SERIAL_TESTS # Calculated: CYGPKG_IO_SERIAL_DEVICES ? "tests/serial1 tests/serial2 tests/serial3 tests/serial4 tests/serial5 tests/tty1 tests/tty2 tests/flow1 tests/flow2" : "" }; # > # 16x5x generic serial device drivers # This option enables the serial device drivers for the # 16x5x compatiple controllers. # cdl_package CYGPKG_IO_SERIAL_GENERIC_16X5X { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This option is not active # The parent CYGPKG_IO_SERIAL_DEVICES is disabled # ActiveIf constraint: CYGPKG_IO_SERIAL # CYGPKG_IO_SERIAL == current # --> 1 # ActiveIf constraint: CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED # CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED == 0 # --> 0 # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_ERROR # CYGPKG_ERROR == current # --> 1 }; # > # 16x5x FIFO support # Options to configure the FIFO on a 16550 (or above) variant. # cdl_component CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO { # This option is not active # The parent CYGPKG_IO_SERIAL_GENERIC_16X5X is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Threshold for RX interrupt on 16550 FIFO # This options configures the threshold value at which # the RX interrupt occurs when a FIFO is used. (16550 and # above only), this may be after 1, 4, 8 or 14 characters. # cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO_RX_THRESHOLD { # This option is not active # The parent CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Legal values: 14 8 4 1 }; # < # Serial device driver build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_IO_SERIAL_GENERIC_16X5X_OPTIONS { # This option is not active # The parent CYGPKG_IO_SERIAL_GENERIC_16X5X is not active # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building these serial device drivers. These flags are # used in addition to the set of global flags. # cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_CFLAGS_ADD { # This option is not active # The parent CYGPKG_IO_SERIAL_GENERIC_16X5X_OPTIONS is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building these serial device drivers. These flags are # removed from the set of global flags if present. # cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_CFLAGS_REMOVE { # This option is not active # The parent CYGPKG_IO_SERIAL_GENERIC_16X5X_OPTIONS is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # < # < # Xilinx ML300 serial device drivers # This option enables the serial device drivers for the # Xilinx ML300 development board. # cdl_package CYGPKG_IO_SERIAL_POWERPC_ML300 { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This option is not active # The parent CYGPKG_IO_SERIAL_DEVICES is disabled # ActiveIf constraint: CYGPKG_IO_SERIAL # CYGPKG_IO_SERIAL == current # --> 1 # ActiveIf constraint: CYGPKG_HAL_POWERPC_ML300 # CYGPKG_HAL_POWERPC_ML300 == current # --> 1 # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_ERROR # CYGPKG_ERROR == current # --> 1 }; # > # Generic 16x5x serial driver required # cdl_interface CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED { # Implemented by CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL0, inactive, enabled # Implemented by CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL1, inactive, enabled # This option is not active # The parent CYGPKG_IO_SERIAL_POWERPC_ML300 is not active # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # package CYGPKG_IO_SERIAL_GENERIC_16X5X # ActiveIf: CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED }; # Xilinx ML300 serial port 0 driver # This option includes the serial device driver for the # Xilinx ML300 port 0. # cdl_component CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL0 { # This option is not active # The parent CYGPKG_IO_SERIAL_POWERPC_ML300 is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # component CYGPKG_IO_SERIAL_POWERPC_ML300_TESTING # ActiveIf: CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL0 }; # > # Device name for ML300 serial port 0 driver # This option specifies the name of the serial device # for the Xilinx ML300 port 0. # cdl_option CYGDAT_IO_SERIAL_POWERPC_ML300_SERIAL0_NAME { # This option is not active # The parent CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL0 is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/ser0\"" # value_source default # Default value: "\"/dev/ser0\"" }; # Baud rate for the Xilinx ML300 serial port 0 driver # This option specifies the default baud rate (speed) # for the Xilinx ML300 port 0. # cdl_option CYGNUM_IO_SERIAL_POWERPC_ML300_SERIAL0_BAUD { # This option is not active # The parent CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL0 is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 38400 # value_source default # Default value: 38400 # Legal values: 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 # 3600 4800 7200 9600 14400 19200 38400 # 57600 115200 }; # Buffer size for the Xilinx ML300 serial port 0 driver # This option specifies the size of the internal buffers # used for the Xilinx ML300 port 0. # cdl_option CYGNUM_IO_SERIAL_POWERPC_ML300_SERIAL0_BUFSIZE { # This option is not active # The parent CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL0 is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 128 # value_source default # Default value: 128 # Legal values: 0 to 8192 }; # < # Xilinx ML300 serial port 1 driver # This option includes the serial device driver for the Xilinx # ML300 port 1. # cdl_component CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL1 { # This option is not active # The parent CYGPKG_IO_SERIAL_POWERPC_ML300 is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Device name for ML300 serial port 1 driver # This option specifies the name of the serial device # for the Xilinx ML300 port 1. # cdl_option CYGDAT_IO_SERIAL_POWERPC_ML300_SERIAL1_NAME { # This option is not active # The parent CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL1 is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/ser1\"" # value_source default # Default value: "\"/dev/ser1\"" # The following properties are affected by this value # option CYGPRI_SER_TEST_SER_DEV # DefaultValue: CYGDAT_IO_SERIAL_POWERPC_ML300_SERIAL1_NAME }; # Baud rate for the Xilinx ML300 serial port 1 driver # This option specifies the default baud rate (speed) # for the Xilinx ML300 port 1. # cdl_option CYGNUM_IO_SERIAL_POWERPC_ML300_SERIAL1_BAUD { # This option is not active # The parent CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL1 is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 38400 # value_source default # Default value: 38400 # Legal values: 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 # 3600 4800 7200 9600 14400 19200 38400 # 57600 115200 }; # Buffer size for the Xilinx ML300 serial port 1 driver # This option specifies the size of the internal buffers # used for the Xilinx ML300 port 1. # cdl_option CYGNUM_IO_SERIAL_POWERPC_ML300_SERIAL1_BUFSIZE { # This option is not active # The parent CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL1 is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 128 # value_source default # Default value: 128 # Legal values: 0 to 8192 }; # < # Testing parameters # cdl_component CYGPKG_IO_SERIAL_POWERPC_ML300_TESTING { # This option is not active # The parent CYGPKG_IO_SERIAL_POWERPC_ML300 is not active # ActiveIf constraint: CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL0 # CYGPKG_IO_SERIAL_POWERPC_ML300_SERIAL0 == 0 # --> 0 # Calculated value: 1 # Flavor: bool # Current value: 1 }; # > # Serial device used for testing # cdl_option CYGPRI_SER_TEST_SER_DEV { # This option is not active # The parent CYGPKG_IO_SERIAL_POWERPC_ML300_TESTING is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: CYGDAT_IO_SERIAL_POWERPC_ML300_SERIAL1_NAME # CYGDAT_IO_SERIAL_POWERPC_ML300_SERIAL1_NAME == 0 # --> 0 }; # < # < # < # Build extra serial tests # This option enables the building of some extra tests which # can be used when testing / debugging serial drivers. These # are not built by default since they do not use the dedicated # testing infrastructure. # cdl_option CYGBLD_IO_SERIAL_EXTRA_TESTS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Serial device driver build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_IO_SERIAL_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the serial device drivers. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_IO_SERIAL_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the serial device drivers. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_IO_SERIAL_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Serial device driver tests # This option specifies the set of tests for the serial device drivers. # cdl_option CYGPKG_IO_SERIAL_TESTS { # Calculated value: CYGPKG_IO_SERIAL_DEVICES ? "tests/serial1 tests/serial2 tests/serial3 tests/serial4 tests/serial5 tests/tty1 tests/tty2 tests/flow1 tests/flow2" : "" # CYGPKG_IO_SERIAL_DEVICES == 0 # Flavor: data # Current_value: }; # < # Enable serial device select support # This option enables support for the select() API function on all # serial devices. # cdl_option CYGPKG_IO_SERIAL_SELECT_SUPPORT { # ActiveIf constraint: CYGPKG_IO_FILEIO # CYGPKG_IO_FILEIO == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGFUN_IO_FILEIO_SELECT == 1 # CYGFUN_IO_FILEIO_SELECT == 1 # --> 1 }; # Serial testing specification # cdl_component CYGPKG_IO_SERIAL_TEST_SPECS { # Calculated value: 1 # Flavor: bool # Current value: 1 }; # > # Skip 9600 baud testing # cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_9600 { # Implemented by CYGPKG_IO_SERIAL_POWERPC_ML300_TESTING, inactive, enabled # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value }; # Skip 14400 baud testing # cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_14400 { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 }; # Skip 19200 baud testing # cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_19200 { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 }; # Skip 38400 baud testing # cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_38400 { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 }; # Skip 57600 baud testing # cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_57600 { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 }; # Skip 115200 baud testing # cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_115200 { # Implemented by CYGPKG_IO_SERIAL_POWERPC_ML300_TESTING, inactive, enabled # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value }; # Skip even-parity testing # cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_PARITY_EVEN { # Implemented by CYGPKG_IO_SERIAL_POWERPC_ML300_TESTING, inactive, enabled # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value }; # Skip odd-parity testing # cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_PARITY_ODD { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 }; # Skip 2-stop bit testing # cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_STOP_2 { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 }; # < # < # Infrastructure # Common types and useful macros. # Tracing and assertion facilities. # Package startup options. # cdl_package CYGPKG_INFRA { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # The following properties are affected by this value # package CYGPKG_HAL # Requires: CYGPKG_INFRA }; # > # Asserts & Tracing # The eCos source code contains a significant amount of # internal debugging support, in the form of assertions and # tracing. # Assertions check at runtime that various conditions are as # expected; if not, execution is halted. # Tracing takes the form of text messages that are output # whenever certain events occur, or whenever functions are # called or return. # The most important property of these checks and messages is # that they are not required for the program to run. # It is prudent to develop software with assertions enabled, # but disable them when making a product release, thus # removing the overhead of that checking. # It is possible to enable assertions and tracing # independently. # There are also options controlling the exact behaviour of # the assertion and tracing facilities, thus giving users # finer control over the code and data size requirements. # cdl_component CYGPKG_INFRA_DEBUG { # Flavor: bool user_value 1 # value_source user # Default value: 0 # The following properties are affected by this value # component CYGFUN_KERNEL_THREADS_STACK_CHECKING # ActiveIf: CYGPKG_INFRA_DEBUG # component CYGFUN_KERNEL_THREADS_STACK_MEASUREMENT # DefaultValue: 0 != CYGPKG_INFRA_DEBUG # option CYGPKG_KERNEL_TESTS # Calculated: # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/tm_basic tests/fptest tests/kalarm0" : "") # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") # }; # > # Use asserts # If this option is defined, asserts in the code are tested. # Assert functions (CYG_ASSERT()) are defined in # 'include/cyg/infra/cyg_ass.h' within the 'install' tree. # If it is not defined, these result in no additional # object code and no checking of the asserted conditions. # cdl_component CYGDBG_USE_ASSERTS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: 1 == CYGINT_INFRA_DEBUG_TRACE_IMPL # CYGINT_INFRA_DEBUG_TRACE_IMPL == 1 # --> 1 # The following properties are affected by this value # component CYGFUN_KERNEL_THREADS_STACK_CHECKING # ActiveIf: CYGDBG_USE_ASSERTS # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG # Requires: CYGDBG_USE_ASSERTS # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG # DefaultValue: 0 != CYGDBG_USE_ASSERTS }; # > # Preconditions # This option allows individual control of preconditions. # A precondition is one type of assert, which it is # useful to control separately from more general asserts. # The function is CYG_PRECONDITION(condition,msg). # cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Postconditions # This option allows individual control of postconditions. # A postcondition is one type of assert, which it is # useful to control separately from more general asserts. # The function is CYG_POSTCONDITION(condition,msg). # cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Loop invariants # This option allows individual control of loop invariants. # A loop invariant is one type of assert, which it is # useful to control separately from more general asserts, # particularly since a loop invariant is typically evaluated # a great many times when used correctly. # The function is CYG_LOOP_INVARIANT(condition,msg). # cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Use assert text # All assertions within eCos contain a text message # which should give some information about the condition # being tested. # These text messages will end up being embedded in the # application image and hence there is a significant penalty # in terms of image size. # It is possible to suppress the use of these messages by # disabling this option. # This results in smaller code size, but there is less # human-readable information if an assertion actually gets # triggered. # cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # Use tracing # If this option is defined, tracing operations # result in output or logging, depending on other options. # This may have adverse effects on performance, if the time # taken to output message overwhelms the available CPU # power or output bandwidth. # Trace functions (CYG_TRACE()) are defined in # 'include/cyg/infra/cyg_trac.h' within the 'install' tree. # If it is not defined, these result in no additional # object code and no trace information. # cdl_component CYGDBG_USE_TRACING { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: 1 == CYGINT_INFRA_DEBUG_TRACE_IMPL # CYGINT_INFRA_DEBUG_TRACE_IMPL == 1 # --> 1 # The following properties are affected by this value # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE # ActiveIf: CYGDBG_USE_TRACING # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP # ActiveIf: CYGDBG_USE_TRACING # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT # ActiveIf: CYGDBG_USE_TRACING # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT # ActiveIf: CYGDBG_USE_TRACING # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT # ActiveIf: CYGDBG_USE_TRACING # option CYGDBG_KERNEL_TRACE_TIMESLICE # ActiveIf: CYGDBG_USE_TRACING # component CYGPKG_LIBM_TRACE # Requires: CYGDBG_USE_TRACING }; # > # Trace function reports # This option allows individual control of # function entry/exit tracing, independent of # more general tracing output. # This may be useful to remove clutter from a # trace log. # cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS { # This option is not active # The parent CYGDBG_USE_TRACING is disabled # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Use trace text # All trace calls within eCos contain a text message # which should give some information about the circumstances. # These text messages will end up being embedded in the # application image and hence there is a significant penalty # in terms of image size. # It is possible to suppress the use of these messages by # disabling this option. # This results in smaller code size, but there is less # human-readable information available in the trace output, # possibly only filenames and line numbers. # cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE { # This option is not active # The parent CYGDBG_USE_TRACING is disabled # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # Trace output implementations # cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL { # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, active, disabled # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, active, disabled # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, active, disabled # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # The following properties are affected by this value # component CYGDBG_USE_ASSERTS # Requires: 1 == CYGINT_INFRA_DEBUG_TRACE_IMPL # component CYGDBG_USE_TRACING # Requires: 1 == CYGINT_INFRA_DEBUG_TRACE_IMPL }; # Null output # A null output module which is useful when # debugging interactively; the output routines # can be breakpointed rather than have them actually # 'print' something. # cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Simple output # An output module which produces simple output # from tracing and assertion events. # cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # The following properties are affected by this value # option CYGDBG_KERNEL_TRACE_TIMESLICE # Requires: !CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE }; # Fancy output # An output module which produces fancy output # from tracing and assertion events. # cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # The following properties are affected by this value # option CYGDBG_KERNEL_TRACE_TIMESLICE # Requires: !CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY }; # Buffered tracing # An output module which buffers output # from tracing and assertion events. The stored # messages are output when an assert fires, or # CYG_TRACE_PRINT() (defined in ) # is called. # Of course, there will only be stored messages # if tracing per se (CYGDBG_USE_TRACING) # is enabled above. # cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Trace buffer size # The size of the trace buffer. This counts the number # of trace records stored. When the buffer fills it # either wraps, stops recording, or generates output. # cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE { # This option is not active # ActiveIf constraint: CYGDBG_USE_TRACING # CYGDBG_USE_TRACING == 0 # --> 0 # Flavor: data # No user value, uncomment the following line to provide one. # user_value 32 # value_source default # Default value: 32 # Legal values: 5 to 65535 }; # Wrap trace buffer when full # When the trace buffer has filled with records it # starts again at the beginning. Hence only the last # CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will # be recorded. # cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP { # This option is not active # ActiveIf constraint: CYGDBG_USE_TRACING # CYGDBG_USE_TRACING == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Halt trace buffer when full # When the trace buffer has filled with records it # stops recording. Hence only the first # CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will # be recorded. # cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT { # This option is not active # ActiveIf constraint: CYGDBG_USE_TRACING # CYGDBG_USE_TRACING == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Print trace buffer when full # When the trace buffer has filled with records it # prints the contents of the buffer. The buffer is then # emptied and the system continues. # cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT { # This option is not active # ActiveIf constraint: CYGDBG_USE_TRACING # CYGDBG_USE_TRACING == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Print trace buffer on assert fail # When an assertion fails the trace buffer will be # printed to the default diagnostic device. # cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT { # This option is not active # ActiveIf constraint: CYGDBG_USE_TRACING # CYGDBG_USE_TRACING == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # Use function names # All trace and assert calls within eCos contain a # reference to the builtin macro '__PRETTY_FUNCTION__', # which evaluates to a string containing # the name of the current function. # This is useful when reading a trace log. # It is possible to suppress the use of the function name # by disabling this option. # This results in smaller code size, but there is less # human-readable information available in the trace output, # possibly only filenames and line numbers. # cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # Startup options # Some packages require a startup routine to be called. # This can be carried out by application code, by supplying # a routine called cyg_package_start() which calls the # appropriate package startup routine(s). # Alternatively, this routine can be constructed automatically # and configured to call the startup routines of your choice. # cdl_component CYGPKG_INFRA_STARTUP { # There is no associated value. }; # > # Start uITRON subsystem # Generate a call to initialize the # uITRON compatibility subsystem # within the system version of cyg_package_start(). # This enables compatibility with uITRON. # You must configure uITRON with the correct tasks before # starting the uItron subsystem. # If this is disabled, and you want to use uITRON, # you must call cyg_uitron_start() from your own # cyg_package_start() or cyg_userstart(). # cdl_option CYGSEM_START_UITRON_COMPATIBILITY { # This option is not active # ActiveIf constraint: CYGPKG_UITRON # CYGPKG_UITRON (unknown) == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGPKG_UITRON # CYGPKG_UITRON (unknown) == 0 # --> 0 }; # < # Smaller slower memcpy() # Enabling this option causes the implementation of # the standard memcpy() routine to reduce code # size at the expense of execution speed. This # option is automatically enabled with the use of # the -Os option to the compiler. Also note that # the compiler will try to use its own builtin # version of memcpy() if possible, ignoring the # implementation in this package, unless given # the -fno-builtin compiler option. # cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Smaller slower memset() # Enabling this option causes the implementation of # the standard memset() routine to reduce code # size at the expense of execution speed. This # option is automatically enabled with the use of # the -Os option to the compiler. Also note that # the compiler will try to use its own builtin # version of memset() if possible, ignoring the # implementation in this package, unless given # the -fno-builtin compiler option. # cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Provide empty C++ delete functions # To deal with virtual destructors, where the correct delete() # function must be called for the derived class in question, the # underlying delete is called when needed, from destructors. This # is regardless of whether the destructor is called by delete itself. # So there is a reference to delete() from all destructors. The # default builtin delete() attempts to call free() if there is # one defined. So, if you have destructors, and you have free(), # as in malloc() and free(), any destructor counts as a reference # to free(). So the dynamic memory allocation code is linked # in regardless of whether it gets explicitly called. This # increases code and data size needlessly. # To defeat this undesirable behaviour, we define empty versions # of delete and delete. But doing this prevents proper use # of dynamic memory in C++ programs via C++'s new and delete # operators. # Therefore, this option is provided # for explicitly disabling the provision of these empty functions, # so that new and delete can be used, if that is what is required. # cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Provide dummy abort() function # This option controls the inclusion of a dummy abort() function. # Parts of the C and C++ compiler runtime systems contain references # to abort(), particulary in the C++ exception handling code. It is # not possible to eliminate these references, so this dummy function # in included to satisfy them. It is not expected that this function # will ever be called, so its current behaviour is to simply loop. # cdl_option CYGFUN_INFRA_DUMMY_ABORT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: CYGINT_ISO_EXIT == 0 # CYGINT_ISO_EXIT == 1 # --> 0 # Requires: !CYGINT_ISO_EXIT # CYGINT_ISO_EXIT == 1 # --> 0 }; # Reset platform at end of test case execution # If this option is set then test case programs will reset the platform # when they terminate, as opposed to the default which is to just hang # in a loop. # cdl_option CYGSEM_INFRA_RESET_ON_TEST_EXIT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Provide dummy strlen() function # This option controls the inclusion of a dummy strlen() function. # Parts of the C and C++ compiler runtime systems contain references # to strlen(), particulary in the C++ exception handling code. It is # not possible to eliminate these references, so this dummy function # in included to satisfy them. While it is not expected that this function # will ever be called, it is functional but uses the simplest, smallest # algorithm. There is a faster version of strlen() in the C library. # cdl_option CYGFUN_INFRA_DUMMY_STRLEN { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: CYGINT_ISO_STRING_STRFUNCS == 0 # CYGINT_ISO_STRING_STRFUNCS == 1 # --> 0 # Requires: !CYGINT_ISO_STRING_STRFUNCS # CYGINT_ISO_STRING_STRFUNCS == 1 # --> 0 }; # Make all compiler warnings show as errors # Enabling this option will cause all compiler warnings to show # as errors and bring the library build to a halt. This is used # to ensure that the code base is warning free, and thus ensure # that newly introduced warnings stand out and get fixed before # they show up as weird run-time behavior. # cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") # CYGBLD_GLOBAL_CFLAGS == "-I\$(REPOSITORY)/hal/powerpc/ml300/current/include/xilinx -DML300 -msoft-float -mcpu=405 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" # --> 0 }; # Make compiler and assembler communicate by pipe # Enabling this option will cause the compiler to feed the # assembly output the the assembler via a pipe instead of # via a temporary file. This normally reduces the build # time. # cdl_option CYGBLD_INFRA_CFLAGS_PIPE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") # CYGBLD_GLOBAL_CFLAGS == "-I\$(REPOSITORY)/hal/powerpc/ml300/current/include/xilinx -DML300 -msoft-float -mcpu=405 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" # --> 0 }; # Infra build options # Package specific build options including control over # compiler flags used only in building this package. # cdl_component CYGPKG_INFRA_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the eCos infra package. These flags are used # in addition to the set of global flags. # cdl_option CYGPKG_INFRA_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the eCos infra package. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_INFRA_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed linker flags # This option modifies the set of linker flags for # building the eCos infra package tests. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value -Wl,--gc-sections # value_source default # Default value: -Wl,--gc-sections }; # Additional linker flags # This option modifies the set of linker flags for # building the eCos infra package tests. These flags are added to # the set of global flags if present. # cdl_option CYGPKG_INFRA_LDFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value -Wl,--fatal-warnings # value_source default # Default value: -Wl,--fatal-warnings }; # Infra package tests # cdl_component CYGPKG_INFRA_TESTS { # Calculated value: "tests/cxxsupp" # Flavor: data # Current_value: tests/cxxsupp }; # > # Number of times a test runs # This option controls the number of times tests will execute their # basic function. Not all tests will honor this setting, but those # that do will execute the test N times before terminating. A value # less than 0 indicates to run forever. # cdl_option CYGNUM_TESTS_RUN_COUNT { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # < # < # ISO C and POSIX infrastructure # eCos supports implementations of ISO C libraries and POSIX # implementations. This package provides infrastructure used by # all such implementations. # cdl_package CYGPKG_ISOINFRA { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # The following properties are affected by this value # component CYGPKG_IO_SERIAL_TERMIOS # Requires: CYGPKG_ISOINFRA # component CYGPKG_IO_SERIAL_TERMIOS # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY # Requires: CYGPKG_ISOINFRA # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY # DefaultValue: 0 != CYGPKG_ISOINFRA # component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS # ActiveIf: CYGPKG_ISOINFRA # package CYGPKG_LIBC_TIME # Requires: CYGPKG_ISOINFRA # package CYGPKG_LIBC_STDLIB # Requires: CYGPKG_ISOINFRA # package CYGPKG_LIBC_STRING # Requires: CYGPKG_ISOINFRA # package CYGPKG_LIBC_I18N # Requires: CYGPKG_ISOINFRA # package CYGPKG_LIBC_SETJMP # Requires: CYGPKG_ISOINFRA # package CYGPKG_LIBC_STARTUP # Requires: CYGPKG_ISOINFRA # package CYGPKG_LIBC_STDIO # Requires: CYGPKG_ISOINFRA # package CYGPKG_POSIX # Requires: CYGPKG_ISOINFRA # package CYGPKG_IO_FILEIO # Requires: CYGPKG_ISOINFRA # package CYGPKG_NET # Requires: CYGPKG_ISOINFRA # package CYGPKG_NET_FREEBSD_STACK # Requires: CYGPKG_ISOINFRA # package CYGPKG_MICROWINDOWS # Requires: CYGPKG_ISOINFRA }; # > # Startup and termination # cdl_component CYGPKG_ISO_STARTUP { # There is no associated value. }; # > # main() startup implementations # Implementations of this interface arrange for a user-supplied # main() to be called in an ISO compatible environment. # cdl_interface CYGINT_ISO_MAIN_STARTUP { # Implemented by CYGPKG_LIBC_STARTUP, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP # CYGINT_ISO_MAIN_STARTUP == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_MAIN_STARTUP # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP }; # environ implementations # Implementations of this interface provide the environ # variable required by POSIX. # cdl_interface CYGINT_ISO_ENVIRON { # Implemented by CYGPKG_LIBC_STARTUP, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_ENVIRON # CYGINT_ISO_ENVIRON == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_ENVIRON # Requires: 1 >= CYGINT_ISO_ENVIRON }; # < # ctype.h functions # cdl_component CYGPKG_ISO_CTYPE_H { # There is no associated value. }; # > # Number of implementations of ctype functions # cdl_interface CYGINT_ISO_CTYPE { # Implemented by CYGPKG_LIBC_I18N, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_CTYPE # CYGINT_ISO_CTYPE == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_CTYPE # Requires: 1 >= CYGINT_ISO_CTYPE # package CYGPKG_LIBC_STDLIB # Requires: CYGINT_ISO_CTYPE # option CYGFUN_LIBC_STRING_BSD_FUNCS # Requires: CYGINT_ISO_CTYPE # option CYGPKG_NS_DNS_BUILD # Requires: CYGINT_ISO_CTYPE }; # Ctype implementation header # cdl_option CYGBLD_ISO_CTYPE_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGPKG_LIBC_I18N_NEWLIB_CTYPE # Requires: CYGBLD_ISO_CTYPE_HEADER == "" # option CYGIMP_LIBC_I18N_CTYPE_INLINES # Requires: CYGBLD_ISO_CTYPE_HEADER == "" }; # < # Error handling # cdl_component CYGPKG_ISO_ERRNO { # There is no associated value. }; # > # Number of implementations of error codes # cdl_interface CYGINT_ISO_ERRNO_CODES { # Implemented by CYGPKG_ERROR, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_ERRNO_CODES # CYGINT_ISO_ERRNO_CODES == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_ERRNO_CODES # Requires: 1 >= CYGINT_ISO_ERRNO_CODES # component CYGPKG_IO_SERIAL_TERMIOS # Requires: CYGINT_ISO_ERRNO_CODES # component CYGPKG_IO_SERIAL_TERMIOS # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO # package CYGPKG_LIBC_STDIO # Requires: CYGINT_ISO_ERRNO_CODES # package CYGPKG_POSIX # Requires: CYGINT_ISO_ERRNO_CODES # package CYGPKG_IO_FILEIO # Requires: CYGINT_ISO_ERRNO_CODES # package CYGPKG_NET # Requires: CYGINT_ISO_ERRNO_CODES # package CYGPKG_NET_FREEBSD_STACK # Requires: CYGINT_ISO_ERRNO_CODES # package CYGPKG_MICROWINDOWS # Requires: CYGINT_ISO_ERRNO_CODES }; # Error codes implementation header # cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_ERROR # Requires: CYGBLD_ISO_ERRNO_CODES_HEADER == "" }; # Number of implementations of errno variable # cdl_interface CYGINT_ISO_ERRNO { # Implemented by CYGPKG_ERROR_ERRNO, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_ERRNO # CYGINT_ISO_ERRNO == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_ERRNO # Requires: 1 >= CYGINT_ISO_ERRNO # component CYGPKG_IO_SERIAL_TERMIOS # Requires: CYGINT_ISO_ERRNO # component CYGPKG_IO_SERIAL_TERMIOS # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO # package CYGPKG_LIBC_STDIO # Requires: CYGINT_ISO_ERRNO # package CYGPKG_POSIX # Requires: CYGINT_ISO_ERRNO # component CYGPKG_POSIX_MQUEUES # Requires: CYGINT_ISO_ERRNO # package CYGPKG_IO_FILEIO # Requires: CYGINT_ISO_ERRNO # package CYGPKG_NET # Requires: CYGINT_ISO_ERRNO # package CYGPKG_NET_FREEBSD_STACK # Requires: CYGINT_ISO_ERRNO # package CYGPKG_MICROWINDOWS # Requires: CYGINT_ISO_ERRNO }; # errno variable implementation header # cdl_option CYGBLD_ISO_ERRNO_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # component CYGPKG_ERROR_ERRNO # Requires: CYGBLD_ISO_ERRNO_HEADER == "" }; # < # Locale-related functions # cdl_component CYGPKG_ISO_LOCALE { # There is no associated value. }; # > # Number of implementations of locale functions # cdl_interface CYGINT_ISO_LOCALE { # Implemented by CYGPKG_LIBC_I18N, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_LOCALE # CYGINT_ISO_LOCALE == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_LOCALE # Requires: 1 >= CYGINT_ISO_LOCALE }; # Locale implementation header # cdl_option CYGBLD_ISO_LOCALE_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # < # Standard I/O-related functionality # cdl_component CYGPKG_ISO_STDIO { # There is no associated value. }; # > # Number of implementations of stdio file types # cdl_interface CYGINT_ISO_STDIO_FILETYPES { # Implemented by CYGPKG_LIBC_STDIO, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES # CYGINT_ISO_STDIO_FILETYPES == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDIO_FILETYPES # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES }; # Stdio file types implementation header # cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STDIO # Requires: CYGBLD_ISO_STDIO_FILETYPES_HEADER == "" }; # Stdio standard streams implementations # cdl_interface CYGINT_ISO_STDIO_STREAMS { # Implemented by CYGPKG_LIBC_STDIO, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS # CYGINT_ISO_STDIO_STREAMS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDIO_STREAMS # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS }; # Stdio standard streams implementation header # This header file must define stdin, stdout # and stderr. # cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STDIO # Requires: CYGBLD_ISO_STDIO_STREAMS_HEADER == "" }; # Number of implementations of stdio file operations # cdl_interface CYGINT_ISO_STDIO_FILEOPS { # Implemented by CYGPKG_LIBC_STDIO, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS # CYGINT_ISO_STDIO_FILEOPS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDIO_FILEOPS # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS }; # Stdio file operations implementation header # This header controls the file system operations on a file # such as remove(), rename(), tmpfile(), tmpnam() and associated # constants. # cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STDIO # Requires: CYGBLD_ISO_STDIO_FILEOPS_HEADER == "" }; # Number of implementations of stdio file access functionals # cdl_interface CYGINT_ISO_STDIO_FILEACCESS { # Implemented by CYGPKG_LIBC_STDIO, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS # CYGINT_ISO_STDIO_FILEACCESS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDIO_FILEACCESS # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS # option CYGSEM_LIBC_EXIT_CALLS_FFLUSH # Requires: CYGINT_ISO_STDIO_FILEACCESS # option CYGSEM_LIBC_EXIT_CALLS_FFLUSH # DefaultValue: 0 != CYGINT_ISO_STDIO_FILEACCESS }; # Stdio file access implementation header # This header controls the file access operations # such as fclose(), fflush(), fopen(), freopen(), setbuf(), # setvbuf(), and associated constants. # cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STDIO # Requires: CYGBLD_ISO_STDIO_FILEACCESS_HEADER == "" }; # Number of implementations of stdio formatted I/O # cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO { # Implemented by CYGPKG_LIBC_STDIO, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO # CYGINT_ISO_STDIO_FORMATTED_IO == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDIO_FORMATTED_IO # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO }; # Stdio formatted I/O implementation header # cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STDIO # Requires: CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == "" }; # Number of implementations of stdio character I/O # cdl_interface CYGINT_ISO_STDIO_CHAR_IO { # Implemented by CYGPKG_LIBC_STDIO, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO # CYGINT_ISO_STDIO_CHAR_IO == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDIO_CHAR_IO # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO }; # Stdio character I/O implementation header # cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STDIO # Requires: CYGBLD_ISO_STDIO_CHAR_IO_HEADER == "" }; # Number of implementations of stdio direct I/O # cdl_interface CYGINT_ISO_STDIO_DIRECT_IO { # Implemented by CYGPKG_LIBC_STDIO, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO # CYGINT_ISO_STDIO_DIRECT_IO == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDIO_DIRECT_IO # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO }; # Stdio direct I/O implementation header # cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STDIO # Requires: CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == "" }; # Number of implementations of stdio file positioning # cdl_interface CYGINT_ISO_STDIO_FILEPOS { # Implemented by CYGPKG_LIBC_STDIO, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS # CYGINT_ISO_STDIO_FILEPOS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDIO_FILEPOS # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS }; # Stdio file positioning implementation header # cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STDIO # Requires: CYGBLD_ISO_STDIO_FILEPOS_HEADER == "" }; # Number of implementations of stdio error handling # cdl_interface CYGINT_ISO_STDIO_ERROR { # Implemented by CYGPKG_LIBC_STDIO, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STDIO_ERROR # CYGINT_ISO_STDIO_ERROR == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDIO_ERROR # Requires: 1 >= CYGINT_ISO_STDIO_ERROR }; # Stdio error handling implementation header # cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STDIO # Requires: CYGBLD_ISO_STDIO_ERROR_HEADER == "" }; # POSIX fd-related function implementations # cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS { # Implemented by CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS # CYGINT_ISO_STDIO_POSIX_FDFUNCS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS }; # POSIX fd-related function implementation header # cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # < # Standard general utility functions # cdl_component CYGPKG_ISO_STDLIB { # There is no associated value. }; # > # String conversion function implementations # cdl_interface CYGINT_ISO_STDLIB_STRCONV { # Implemented by CYGPKG_LIBC_STDLIB, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV # CYGINT_ISO_STDLIB_STRCONV == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDLIB_STRCONV # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV # package CYGPKG_LIBC_STDIO # Requires: CYGINT_ISO_STDLIB_STRCONV }; # String conversion function implementation header # cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGIMP_LIBC_STDLIB_INLINE_ATOX # Requires: CYGBLD_ISO_STDLIB_STRCONV_HEADER == "" }; # String to FP conversion function implementations # cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT { # Implemented by CYGFUN_LIBC_strtod, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT # Requires: CYGINT_ISO_STDLIB_STRCONV_FLOAT # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT # DefaultValue: 0 != CYGPKG_LIBM && # 0 != CYGINT_ISO_STDLIB_STRCONV_FLOAT }; # String to FP conversion function implementation header # cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # Random number generator implementations # cdl_interface CYGINT_ISO_RAND { # Implemented by CYGIMP_LIBC_RAND_SIMPLEST, active, disabled # Implemented by CYGIMP_LIBC_RAND_SIMPLE1, active, enabled # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, disabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_RAND # CYGINT_ISO_RAND == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_RAND # Requires: 1 >= CYGINT_ISO_RAND }; # Random number generator implementation header # cdl_option CYGBLD_ISO_RAND_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # Malloc implementations # cdl_interface CYGINT_ISO_MALLOC { # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_MALLOC # CYGINT_ISO_MALLOC == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_MALLOC # Requires: 1 >= CYGINT_ISO_MALLOC # component CYGPKG_IO_SERIAL_TERMIOS # Requires: CYGINT_ISO_MALLOC # option CYGFUN_LIBC_STRING_STRDUP # ActiveIf: CYGINT_ISO_MALLOC # option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC # Requires: CYGINT_ISO_MALLOC # option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC # DefaultValue: 0 != CYGINT_ISO_MALLOC # component CYGPKG_LIBC_STDIO_OPEN # Requires: CYGINT_ISO_MALLOC # component CYGPKG_LIBC_STDIO_OPEN # DefaultValue: 0 != CYGINT_ISO_MALLOC # component CYGPKG_POSIX_MQUEUES # Requires: CYGINT_ISO_MALLOC # component CYGPKG_IO_FILEIO_INODE # Requires: CYGINT_ISO_MALLOC # package CYGPKG_NET # Requires: CYGINT_ISO_MALLOC # package CYGPKG_NET_FREEBSD_STACK # Requires: CYGINT_ISO_MALLOC # option CYGPKG_NS_DNS_BUILD # Requires: CYGINT_ISO_MALLOC # package CYGPKG_MICROWINDOWS # Requires: CYGINT_ISO_MALLOC }; # Malloc implementation header # cdl_option CYGBLD_ISO_MALLOC_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # Mallinfo() implementations # cdl_interface CYGINT_ISO_MALLINFO { # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_MALLINFO # CYGINT_ISO_MALLINFO == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_MALLINFO # Requires: 1 >= CYGINT_ISO_MALLINFO }; # Mallinfo() implementation header # cdl_option CYGBLD_ISO_MALLINFO_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # Program exit functionality implementations # cdl_interface CYGINT_ISO_EXIT { # Implemented by CYGPKG_LIBC_STARTUP, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_EXIT # CYGINT_ISO_EXIT == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_EXIT # Requires: 1 >= CYGINT_ISO_EXIT # option CYGFUN_INFRA_DUMMY_ABORT # Requires: !CYGINT_ISO_EXIT # option CYGFUN_INFRA_DUMMY_ABORT # DefaultValue: CYGINT_ISO_EXIT == 0 }; # Program exit functionality implementation header # cdl_option CYGBLD_ISO_EXIT_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # Program environment implementations # cdl_interface CYGINT_ISO_STDLIB_ENVIRON { # Implemented by CYGPKG_LIBC_STDLIB, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_STDLIB_ENVIRON # CYGINT_ISO_STDLIB_ENVIRON == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDLIB_ENVIRON # Requires: 1 >= CYGINT_ISO_STDLIB_ENVIRON }; # Program environment implementation header # cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # system() implementations # cdl_interface CYGINT_ISO_STDLIB_SYSTEM { # Implemented by CYGPKG_LIBC_STDLIB, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_STDLIB_SYSTEM # CYGINT_ISO_STDLIB_SYSTEM == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDLIB_SYSTEM # Requires: 1 >= CYGINT_ISO_STDLIB_SYSTEM }; # system() implementation header # cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # bsearch() implementations # cdl_interface CYGINT_ISO_BSEARCH { # Implemented by CYGPKG_LIBC_STDLIB, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_BSEARCH # CYGINT_ISO_BSEARCH == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_BSEARCH # Requires: 1 >= CYGINT_ISO_BSEARCH }; # bsearch() implementation header # cdl_option CYGBLD_ISO_BSEARCH_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # qsort() implementations # cdl_interface CYGINT_ISO_QSORT { # Implemented by CYGPKG_LIBC_STDLIB, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_STDLIB_QSORT # CYGINT_ISO_STDLIB_QSORT (unknown) == 0 # --> 1 # The following properties are affected by this value }; # qsort() implementation header # cdl_option CYGBLD_ISO_QSORT_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # abs()/labs() implementations # cdl_interface CYGINT_ISO_ABS { # Implemented by CYGPKG_LIBC_STDLIB, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_STDLIB_ABS # CYGINT_ISO_STDLIB_ABS (unknown) == 0 # --> 1 # The following properties are affected by this value # package CYGPKG_LIBC_TIME # Requires: CYGINT_ISO_ABS }; # abs()/labs() implementation header # cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGIMP_LIBC_STDLIB_INLINE_ABS # Requires: CYGBLD_ISO_STDLIB_ABS_HEADER == "" }; # div()/ldiv() implementations # cdl_interface CYGINT_ISO_DIV { # Implemented by CYGPKG_LIBC_STDLIB, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_STDLIB_DIV # CYGINT_ISO_STDLIB_DIV (unknown) == 0 # --> 1 # The following properties are affected by this value # package CYGPKG_LIBC_TIME # Requires: CYGINT_ISO_DIV }; # div()/ldiv() implementation header # cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGIMP_LIBC_STDLIB_INLINE_DIV # Requires: CYGBLD_ISO_STDLIB_DIV_HEADER == "" }; # Header defining the implementation's MB_CUR_MAX # cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 # The following properties are affected by this value # interface CYGINT_LIBC_I18N_MB_REQUIRED # Requires: CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER == "" }; # Multibyte character implementations # cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE { # Implemented by CYGPKG_LIBC_I18N, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_STDLIB_MULTIBYTE # CYGINT_ISO_STDLIB_MULTIBYTE == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STDLIB_MULTIBYTE # Requires: 1 >= CYGINT_ISO_STDLIB_MULTIBYTE }; # Multibyte character implementation header # cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # < # String functions # cdl_component CYGPKG_ISO_STRING { # There is no associated value. }; # > # Number of implementations of strerror() function # cdl_interface CYGINT_ISO_STRERROR { # Implemented by CYGPKG_ERROR_STRERROR, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STRERROR # CYGINT_ISO_STRERROR == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STRERROR # Requires: 1 >= CYGINT_ISO_STRERROR # package CYGPKG_LIBC_STDIO # Requires: CYGINT_ISO_STRERROR # package CYGPKG_NET # Requires: CYGINT_ISO_STRERROR # package CYGPKG_NET_FREEBSD_STACK # Requires: CYGINT_ISO_STRERROR # package CYGPKG_MICROWINDOWS # Requires: CYGINT_ISO_STRERROR }; # strerror() implementation header # cdl_option CYGBLD_ISO_STRERROR_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGPKG_ERROR_STRERROR # Requires: CYGBLD_ISO_STRERROR_HEADER == "" }; # memcpy() implementation header # cdl_option CYGBLD_ISO_MEMCPY_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # memset() implementation header # cdl_option CYGBLD_ISO_MEMSET_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # Number of implementations of strtok_r() function # cdl_interface CYGINT_ISO_STRTOK_R { # Implemented by CYGPKG_LIBC_STRING, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STRTOK_R # CYGINT_ISO_STRTOK_R == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STRTOK_R # Requires: 1 >= CYGINT_ISO_STRTOK_R }; # strtok_r() implementation header # cdl_option CYGBLD_ISO_STRTOK_R_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STRING # Requires: CYGBLD_ISO_STRTOK_R_HEADER == "" }; # Number of implementations of locale-specific string functions # This covers locale-dependent string functions such as strcoll() # and strxfrm(). # cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS { # Implemented by CYGPKG_LIBC_STRING, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STRING_LOCALE_FUNCS # CYGINT_ISO_STRING_LOCALE_FUNCS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STRING_LOCALE_FUNCS # Requires: 1 >= CYGINT_ISO_STRING_LOCALE_FUNCS }; # Locale-specific string functions' implementation header # This covers locale-dependent string functions such as strcoll() # and strxfrm(). # cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STRING # Requires: CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == "" }; # Number of implementations of BSD string functions # cdl_interface CYGINT_ISO_STRING_BSD_FUNCS { # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS # CYGINT_ISO_STRING_BSD_FUNCS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STRING_BSD_FUNCS # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS # option CYGFUN_LIBC_TIME_POSIX # Requires: CYGINT_ISO_STRING_BSD_FUNCS # package CYGPKG_NET # Requires: CYGINT_ISO_STRING_BSD_FUNCS # package CYGPKG_NET_FREEBSD_STACK # Requires: CYGINT_ISO_STRING_BSD_FUNCS # package CYGPKG_MICROWINDOWS # Requires: CYGINT_ISO_STRING_BSD_FUNCS }; # BSD string functions' implementation header # cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGFUN_LIBC_STRING_BSD_FUNCS # Requires: CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == "" }; # Number of implementations of other mem*() functions # cdl_interface CYGINT_ISO_STRING_MEMFUNCS { # Implemented by CYGPKG_LIBC_STRING, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STRING_MEMFUNCS # CYGINT_ISO_STRING_MEMFUNCS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STRING_MEMFUNCS # Requires: 1 >= CYGINT_ISO_STRING_MEMFUNCS # package CYGPKG_LIBC_STDIO # Requires: CYGINT_ISO_STRING_MEMFUNCS # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE # Requires: CYGINT_ISO_STRING_MEMFUNCS }; # Other mem*() functions' implementation header # cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STRING # Requires: CYGBLD_ISO_STRING_MEMFUNCS_HEADER == "" }; # Number of implementations of other ISO C str*() functions # This covers the other str*() functions defined by ISO C. # cdl_interface CYGINT_ISO_STRING_STRFUNCS { # Implemented by CYGPKG_LIBC_STRING, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_STRING_STRFUNCS # CYGINT_ISO_STRING_STRFUNCS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_STRING_STRFUNCS # Requires: 1 >= CYGINT_ISO_STRING_STRFUNCS # option CYGFUN_INFRA_DUMMY_STRLEN # Requires: !CYGINT_ISO_STRING_STRFUNCS # option CYGFUN_INFRA_DUMMY_STRLEN # DefaultValue: CYGINT_ISO_STRING_STRFUNCS == 0 # package CYGPKG_LIBC_STDLIB # Requires: CYGINT_ISO_STRING_STRFUNCS # package CYGPKG_LIBC_STDIO # Requires: CYGINT_ISO_STRING_STRFUNCS # component CYGPKG_POSIX_MQUEUES # Requires: CYGINT_ISO_STRING_STRFUNCS # package CYGPKG_IO_FILEIO # Requires: CYGINT_ISO_STRING_STRFUNCS # option CYGPKG_NS_DNS_BUILD # Requires: CYGINT_ISO_STRING_STRFUNCS # component CYGPKG_IO_ETH_DRIVERS_NET # Requires: CYGINT_ISO_STRING_STRFUNCS }; # Other ISO C str*() functions' implementation header # This covers the other str*() functions defined by ISO C. # cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_STRING # Requires: CYGBLD_ISO_STRING_STRFUNCS_HEADER == "" }; # < # Clock and time functionality # cdl_component CYGPKG_ISO_TIME { # There is no associated value. }; # > # time_t implementation header # cdl_option CYGBLD_ISO_TIME_T_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # clock_t implementation header # cdl_option CYGBLD_ISO_CLOCK_T_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # struct timeval implementation header # cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # Number of implementations of POSIX timer types # cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES { # Implemented by CYGPKG_POSIX_TIMERS, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_TYPES # CYGINT_ISO_POSIX_TIMER_TYPES == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_POSIX_TIMER_TYPES # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_TYPES }; # POSIX timer types implementation header # cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGPKG_POSIX_TIMERS # Requires: CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER == "" }; # Number of implementations of POSIX clock types # cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES { # Implemented by CYGPKG_POSIX_CLOCKS, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES # CYGINT_ISO_POSIX_CLOCK_TYPES == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_POSIX_CLOCK_TYPES # Requires: 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES }; # POSIX clock types implementation header # cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGPKG_POSIX_CLOCKS # Requires: CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER == "" }; # Number of implementations of ISO C types # cdl_interface CYGINT_ISO_C_TIME_TYPES { # Implemented by CYGPKG_LIBC_TIME, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES # CYGINT_ISO_C_TIME_TYPES == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_C_TIME_TYPES # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES # package CYGPKG_NET # Requires: CYGINT_ISO_C_TIME_TYPES # package CYGPKG_NET_FREEBSD_STACK # Requires: CYGINT_ISO_C_TIME_TYPES # package CYGPKG_MICROWINDOWS # Requires: CYGINT_ISO_C_TIME_TYPES }; # ISO C time types implementation header # cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_TIME # Requires: CYGBLD_ISO_C_TIME_TYPES_HEADER == "" }; # Number of implementations of POSIX timers # cdl_interface CYGINT_ISO_POSIX_TIMERS { # Implemented by CYGPKG_POSIX_TIMERS, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_POSIX_TIMERS # CYGINT_ISO_POSIX_TIMERS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_POSIX_TIMERS # Requires: 1 >= CYGINT_ISO_POSIX_TIMERS }; # POSIX timer implementation header # cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGPKG_POSIX_TIMERS # Requires: CYGBLD_ISO_POSIX_TIMERS_HEADER == "" }; # Number of implementations of POSIX clocks # cdl_interface CYGINT_ISO_POSIX_CLOCKS { # Implemented by CYGPKG_POSIX_CLOCKS, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_POSIX_CLOCKS # CYGINT_ISO_POSIX_CLOCKS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_POSIX_CLOCKS # Requires: 1 >= CYGINT_ISO_POSIX_CLOCKS }; # POSIX clocks implementation header # cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGPKG_POSIX_CLOCKS # Requires: CYGBLD_ISO_POSIX_CLOCKS_HEADER == "" }; # Number of implementations of ISO C clock functions # cdl_interface CYGINT_ISO_C_CLOCK_FUNCS { # Implemented by CYGPKG_LIBC_TIME, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS # CYGINT_ISO_C_CLOCK_FUNCS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_C_CLOCK_FUNCS # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS }; # ISO C clock functions' implementation header # cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_TIME # Requires: CYGBLD_ISO_C_CLOCK_FUNCS_HEADER == "" }; # Number of implementations of tzset() function # cdl_interface CYGINT_ISO_TZSET { # No options implement this inferface # This value cannot be modified here. # Flavor: booldata # Current value: 0 0 # Requires: 1 >= CYGINT_ISO_TZSET # CYGINT_ISO_TZSET == 0 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_TZSET # Requires: 1 >= CYGINT_ISO_TZSET }; # tzset() implementation header # cdl_option CYGBLD_ISO_TZSET_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # < # Signal functionality # cdl_component CYGPKG_ISO_SIGNAL { # There is no associated value. }; # > # Number of implementations of signal numbers # cdl_interface CYGINT_ISO_SIGNAL_NUMBERS { # Implemented by CYGPKG_POSIX_SIGNALS, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS # CYGINT_ISO_SIGNAL_NUMBERS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_SIGNAL_NUMBERS # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS # Requires: CYGINT_ISO_SIGNAL_NUMBERS # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS # DefaultValue: CYGINT_ISO_SIGNAL_NUMBERS != 0 && CYGINT_ISO_SIGNAL_IMPL != 0 }; # Signal numbering implementation header # This header provides the mapping of signal # names (e.g. SIGBUS) to numbers. # cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # component CYGPKG_POSIX_SIGNALS # Requires: CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == "" }; # Number of signal implementations # cdl_interface CYGINT_ISO_SIGNAL_IMPL { # Implemented by CYGPKG_POSIX_SIGNALS, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL # CYGINT_ISO_SIGNAL_IMPL == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_SIGNAL_IMPL # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS # Requires: CYGINT_ISO_SIGNAL_IMPL # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS # DefaultValue: CYGINT_ISO_SIGNAL_NUMBERS != 0 && CYGINT_ISO_SIGNAL_IMPL != 0 }; # Signals implementation header # cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # component CYGPKG_POSIX_SIGNALS # Requires: CYGBLD_ISO_SIGNAL_IMPL_HEADER == "" }; # POSIX real time signals feature test macro # This defines the POSIX feature test macro # that indicates that the POSIX real time signals # are present. # cdl_interface CYGINT_POSIX_REALTIME_SIGNALS { # Implemented by CYGPKG_POSIX_SIGNALS, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_POSIX_REALTIME_SIGNALS # CYGINT_POSIX_REALTIME_SIGNALS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_POSIX_REALTIME_SIGNALS # Requires: 1 >= CYGINT_POSIX_REALTIME_SIGNALS }; # < # Non-local jumps functionality # cdl_component CYGPKG_ISO_SETJMP { # There is no associated value. }; # > # setjmp() / longjmp() implementations # cdl_interface CYGINT_ISO_SETJMP { # Implemented by CYGPKG_LIBC_SETJMP, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_SETJMP # CYGINT_ISO_SETJMP == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_SETJMP # Requires: 1 >= CYGINT_ISO_SETJMP }; # setjmp() / longjmp() implementation header # cdl_option CYGBLD_ISO_SETJMP_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_LIBC_SETJMP # Requires: CYGBLD_ISO_SETJMP_HEADER == "" }; # sigsetjmp() / siglongjmp() implementations # cdl_interface CYGINT_ISO_SIGSETJMP { # Implemented by CYGPKG_POSIX_SIGNALS, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_SIGSETJMP # CYGINT_ISO_SIGSETJMP == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_SIGSETJMP # Requires: 1 >= CYGINT_ISO_SIGSETJMP }; # sigsetjmp() / siglongjmp() implementation header # cdl_option CYGBLD_ISO_SIGSETJMP_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # component CYGPKG_POSIX_SIGNALS # Requires: CYGBLD_ISO_SIGSETJMP_HEADER == "" }; # < # Assertions implementation header # cdl_option CYGBLD_ISO_ASSERT_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # POSIX file control # This covers the POSIX file control definitions, # normally found in # cdl_component CYGPKG_ISO_POSIX_FCNTL { # There is no associated value. }; # > # POSIX open flags implementation header # cdl_option CYGBLD_ISO_OFLAG_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # POSIX fcntl() implementations # cdl_interface CYGINT_ISO_FCNTL { # Implemented by CYGPKG_IO_FILEIO, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_FCNTL # CYGINT_ISO_FCNTL == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_FCNTL # Requires: 1 >= CYGINT_ISO_FCNTL }; # POSIX fcntl() implementation header # cdl_option CYGBLD_ISO_FCNTL_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # POSIX file open implementations # cdl_interface CYGINT_ISO_OPEN { # Implemented by CYGPKG_IO_FILEIO, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_OPEN # CYGINT_ISO_OPEN == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_OPEN # Requires: 1 >= CYGINT_ISO_OPEN }; # POSIX file open implementation header # cdl_option CYGBLD_ISO_OPEN_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # < # definitions implementation header # cdl_option CYGBLD_ISO_STAT_DEFS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # POSIX directory reading implementation # cdl_interface CYGINT_ISO_DIRENT { # Implemented by CYGPKG_IO_FILEIO, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_DIRENT # CYGINT_ISO_DIRENT == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_DIRENT # Requires: 1 >= CYGINT_ISO_DIRENT }; # definitions implementation header # cdl_option CYGBLD_ISO_DIRENT_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_IO_FILEIO # Requires: CYGBLD_ISO_DIRENT_HEADER == "" }; # POSIX contents # This covers the types required by POSIX to be in # # cdl_component CYGPKG_ISO_POSIX_TYPES { # There is no associated value. }; # > # POSIX thread types implementations # cdl_interface CYGINT_ISO_PTHREADTYPES { # Implemented by CYGPKG_POSIX_PTHREAD_REQUIREMENTS, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_PTHREADTYPES # CYGINT_ISO_PTHREADTYPES == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_PTHREADTYPES # Requires: 1 >= CYGINT_ISO_PTHREADTYPES # interface CYGINT_ISO_PMUTEXTYPES # Requires: 1 >= CYGINT_ISO_PTHREADTYPES }; # POSIX thread types implementation header # cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS # Requires: CYGBLD_ISO_PTHREADTYPES_HEADER == "" }; # POSIX mutex types implementations # cdl_interface CYGINT_ISO_PMUTEXTYPES { # Implemented by CYGPKG_POSIX, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_PTHREADTYPES # CYGINT_ISO_PTHREADTYPES == 1 # --> 1 # The following properties are affected by this value }; # POSIX mutex types implementation header # cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_POSIX # Requires: CYGBLD_ISO_PMUTEXTYPES_HEADER == "" }; # ssize_t implementation header # cdl_option CYGBLD_ISO_SSIZE_T_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # Filesystem types implementation header # cdl_option CYGBLD_ISO_FSTYPES_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # gid_t, pid_t, uid_t implementation header # cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # < # Non-POSIX contents # This covers the extra types required by non-POSIX # packages to be in . These would normally # only be visible if _POSIX_SOURCE is not defined. # cdl_component CYGPKG_ISO_EXTRA_TYPES { # There is no associated value. }; # > # BSD compatible types # cdl_interface CYGINT_ISO_BSDTYPES { # Implemented by CYGPKG_NET_FREEBSD_STACK, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_BSDTYPES # CYGINT_ISO_BSDTYPES == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_BSDTYPES # Requires: 1 >= CYGINT_ISO_BSDTYPES }; # BSD types header # cdl_option CYGBLD_ISO_BSDTYPES_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_NET_FREEBSD_STACK # Requires: CYGBLD_ISO_BSDTYPES_HEADER == "" }; # < # Utsname structure # cdl_component CYGPKG_ISO_UTSNAME { # There is no associated value. }; # > # Utsname header # cdl_option CYGBLD_ISO_UTSNAME_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # component CYGPKG_POSIX_UTSNAME # Requires: CYGBLD_ISO_UTSNAME_HEADER == "" }; # < # POSIX scheduler # cdl_component CYGPKG_ISO_SCHED { # There is no associated value. }; # > # POSIX scheduler implementations # cdl_interface CYGINT_ISO_SCHED_IMPL { # Implemented by CYGPKG_POSIX, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_SCHED_IMPL # CYGINT_ISO_SCHED_IMPL == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_SCHED_IMPL # Requires: 1 >= CYGINT_ISO_SCHED_IMPL }; # POSIX scheduler implementation header # cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # < # POSIX semaphores # cdl_component CYGPKG_ISO_SEMAPHORES { # There is no associated value. }; # > # POSIX semaphore implementations # cdl_interface CYGINT_ISO_SEMAPHORES { # Implemented by CYGPKG_POSIX_SEMAPHORES, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_SEMAPHORES # CYGINT_ISO_SEMAPHORES == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_SEMAPHORES # Requires: 1 >= CYGINT_ISO_SEMAPHORES }; # POSIX semaphore implementation header # cdl_option CYGBLD_ISO_SEMAPHORES_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGPKG_POSIX_SEMAPHORES # Requires: CYGBLD_ISO_SEMAPHORES_HEADER == "" }; # < # POSIX message queues # cdl_component CYGPKG_ISO_MQUEUE { # There is no associated value. }; # > # Implementations # cdl_interface CYGINT_ISO_MQUEUE { # Implemented by CYGPKG_POSIX_MQUEUES, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_MQUEUE # CYGINT_ISO_MQUEUE == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_MQUEUE # Requires: 1 >= CYGINT_ISO_MQUEUE # option CYGNUM_ISO_MQUEUE_OPEN_MAX # ActiveIf: CYGINT_ISO_MQUEUE # option CYGNUM_ISO_MQUEUE_PRIO_MAX # ActiveIf: CYGINT_ISO_MQUEUE }; # Implementation header # cdl_option CYGBLD_ISO_MQUEUE_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # Maximum number of open message queues # cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX { # ActiveIf constraint: CYGINT_ISO_MQUEUE # CYGINT_ISO_MQUEUE == 1 # --> 1 # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 1 8 # value_source default # Default value: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 # CYGNUM_POSIX_MQUEUE_OPEN_MAX == 8 # CYGNUM_POSIX_MQUEUE_OPEN_MAX == 8 # --> 1 8 }; # Maximum number of message priorities # cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX { # ActiveIf constraint: CYGINT_ISO_MQUEUE # CYGINT_ISO_MQUEUE == 1 # --> 1 # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 1 65535 # value_source default # Default value: 1 65535 }; # < # POSIX threads # cdl_component CYGPKG_ISO_PTHREAD { # There is no associated value. }; # > # POSIX pthread implementations # cdl_interface CYGINT_ISO_PTHREAD_IMPL { # Implemented by CYGPKG_POSIX_PTHREAD_REQUIREMENTS, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_PTHREAD_IMPL # CYGINT_ISO_PTHREAD_IMPL == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_PTHREAD_IMPL # Requires: 1 >= CYGINT_ISO_PTHREAD_IMPL }; # POSIX pthread implementation header # cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS # Requires: CYGBLD_ISO_PTHREAD_IMPL_HEADER == "" }; # POSIX mutex/cond var implementations # cdl_interface CYGINT_ISO_PTHREAD_MUTEX { # Implemented by CYGPKG_POSIX, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_PTHREAD_MUTEX # CYGINT_ISO_PTHREAD_MUTEX == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_PTHREAD_MUTEX # Requires: 1 >= CYGINT_ISO_PTHREAD_MUTEX }; # POSIX mutex/cond var implementation header # cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_POSIX # Requires: CYGBLD_ISO_PTHREAD_MUTEX_HEADER == "" }; # < # Limits # cdl_component CYGPKG_ISO_LIMITS { # There is no associated value. }; # > # POSIX pthread limits implementations # cdl_interface CYGINT_ISO_POSIX_LIMITS { # Implemented by CYGPKG_POSIX, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_POSIX_LIMITS # CYGINT_ISO_POSIX_LIMITS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_POSIX_LIMITS # Requires: 1 >= CYGINT_ISO_POSIX_LIMITS }; # POSIX pthread limits implementation header # cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_POSIX # Requires: CYGBLD_ISO_POSIX_LIMITS_HEADER == "" }; # OPEN_MAX implementation header # cdl_option CYGBLD_ISO_OPEN_MAX_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_IO_FILEIO # Requires: CYGBLD_ISO_OPEN_MAX_HEADER == "" }; # LINK_MAX implementation header # cdl_option CYGBLD_ISO_LINK_MAX_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # NAME_MAX implementation header # cdl_option CYGBLD_ISO_NAME_MAX_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_IO_FILEIO # Requires: CYGBLD_ISO_NAME_MAX_HEADER == "" }; # PATH_MAX implementation header # cdl_option CYGBLD_ISO_PATH_MAX_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # < # POSIX termios # cdl_component CYGPKG_ISO_TERMIOS { # There is no associated value. }; # > # POSIX termios implementations # cdl_interface CYGINT_ISO_TERMIOS { # Implemented by CYGPKG_IO_SERIAL_TERMIOS, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 >= CYGINT_ISO_TERMIOS # CYGINT_ISO_TERMIOS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_TERMIOS # Requires: 1 >= CYGINT_ISO_TERMIOS }; # POSIX termios implementation header # cdl_option CYGBLD_ISO_TERMIOS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # < # Dynamic load API # cdl_component CYGPKG_ISO_DLFCN { # There is no associated value. }; # > # Dynamic load implementations # cdl_interface CYGINT_ISO_DLFCN { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 # Requires: 1 >= CYGINT_ISO_DLFCN # CYGINT_ISO_DLFCN == 0 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_DLFCN # Requires: 1 >= CYGINT_ISO_DLFCN }; # Dynamic load implementation header # cdl_option CYGBLD_ISO_DLFCN_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # < # UNIX standard functions # cdl_component CYGPKG_ISO_UNISTD { # There is no associated value. }; # > # POSIX timer operations implementations # cdl_interface CYGINT_ISO_POSIX_TIMER_OPS { # Implemented by CYGPKG_POSIX_TIMERS, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_OPS # CYGINT_ISO_POSIX_TIMER_OPS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_POSIX_TIMER_OPS # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_OPS }; # POSIX timer operations implementation header # cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # POSIX sleep() implementations # cdl_interface CYGINT_ISO_POSIX_SLEEP { # Implemented by CYGPKG_POSIX_CLOCKS, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_POSIX_SLEEP # CYGINT_ISO_POSIX_SLEEP == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_POSIX_SLEEP # Requires: 1 >= CYGINT_ISO_POSIX_SLEEP }; # POSIX sleep() implementation header # cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # < # select()/poll() functions # cdl_component CYGPKG_ISO_SELECT { # There is no associated value. }; # > # select() implementations # cdl_interface CYGINT_ISO_SELECT { # Implemented by CYGFUN_IO_FILEIO_SELECT, active, enabled # This value cannot be modified here. # Flavor: booldata # Current value: 1 1 # Requires: 1 >= CYGINT_ISO_SELECT # CYGINT_ISO_SELECT == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_SELECT # Requires: 1 >= CYGINT_ISO_SELECT }; # select() implementation header # cdl_option CYGBLD_ISO_SELECT_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # poll() implementations # cdl_interface CYGINT_ISO_POLL { # No options implement this inferface # This value cannot be modified here. # Flavor: booldata # Current value: 0 0 # Requires: 1 >= CYGINT_ISO_POLL # CYGINT_ISO_POLL == 0 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_POLL # Requires: 1 >= CYGINT_ISO_POLL }; # poll() implementation header # cdl_option CYGBLD_ISO_POLL_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # < # NetDB utility functions # cdl_component CYGPKG_ISO_NETDB { # There is no associated value. }; # > # DNS implementations # cdl_interface CYGINT_ISO_DNS { # Implemented by CYGPKG_NS_DNS_BUILD, active, enabled # This value cannot be modified here. # Flavor: bool # Current value: 1 # Requires: 1 >= CYGINT_ISO_DNS # CYGINT_ISO_DNS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_DNS # Requires: 1 >= CYGINT_ISO_DNS }; # DNS implementation header # cdl_option CYGBLD_ISO_DNS_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # option CYGPKG_NS_DNS_BUILD # Requires: CYGBLD_ISO_DNS_HEADER == "" }; # Protocol network database implementations # cdl_interface CYGINT_ISO_NETDB_PROTO { # Implemented by CYGPKG_NET, active, enabled # This value cannot be modified here. # Flavor: bool # Current value: 1 # Requires: 1 >= CYGINT_ISO_NETDB_PROTO # CYGINT_ISO_NETDB_PROTO == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_NETDB_PROTO # Requires: 1 >= CYGINT_ISO_NETDB_PROTO }; # Protocol network database implementation header # cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_NET # Requires: CYGBLD_ISO_NETDB_PROTO_HEADER == "" }; # Services network database implementations # cdl_interface CYGINT_ISO_NETDB_SERV { # Implemented by CYGPKG_NET, active, enabled # This value cannot be modified here. # Flavor: bool # Current value: 1 # Requires: 1 >= CYGINT_ISO_NETDB_SERV # CYGINT_ISO_NETDB_SERV == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_ISO_NETDB_SERV # Requires: 1 >= CYGINT_ISO_NETDB_SERV }; # Services network database implementation header # cdl_option CYGBLD_ISO_NETDB_SERV_HEADER { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 0 # The following properties are affected by this value # package CYGPKG_NET # Requires: CYGBLD_ISO_NETDB_SERV_HEADER == "" }; # < # Build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_ISOINFRA_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the ISO C and POSIX infrastructure package. # These flags are used in addition to the set of global flags. # cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the ISO C and POSIX infrastructure package. # These flags are removed from the set of global flags # if present. # cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # < # < # eCos kernel # doc: ref/kernel.html # 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. # cdl_package CYGPKG_KERNEL { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # The following properties are affected by this value # option CYGFUN_HAL_COMMON_KERNEL_SUPPORT # Requires: CYGPKG_KERNEL # option CYGFUN_HAL_COMMON_KERNEL_SUPPORT # DefaultValue: CYGPKG_KERNEL # option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE # DefaultValue: CYGPKG_KERNEL ? 4096 : 32768 # option CYGSEM_MEMALLOC_ALLOCATOR_FIXED_THREADAWARE # ActiveIf: CYGPKG_KERNEL # option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_THREADAWARE # ActiveIf: CYGPKG_KERNEL # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_THREADAWARE # ActiveIf: CYGPKG_KERNEL # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_THREADAWARE # Requires: CYGPKG_KERNEL # option CYGSEM_MEMALLOC_ALLOCATOR_SEPMETA_THREADAWARE # ActiveIf: CYGPKG_KERNEL # option CYGFUN_MEMALLOC_KAPI # ActiveIf: CYGPKG_KERNEL # option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK # ActiveIf: CYGPKG_KERNEL # option CYGSEM_LIBC_I18N_PER_THREAD_MB # ActiveIf: CYGPKG_KERNEL # option CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT # DefaultValue: 0 == CYGPKG_KERNEL && 0 == # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE # component CYGSEM_LIBC_STARTUP_MAIN_THREAD # Requires: CYGPKG_KERNEL # component CYGSEM_LIBC_STARTUP_MAIN_THREAD # DefaultValue: 0 != CYGPKG_KERNEL && 0 == CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE # option CYGSEM_LIBC_EXIT_STOPS_SYSTEM # Requires: CYGPKG_KERNEL # option CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS # ActiveIf: CYGPKG_KERNEL # package CYGPKG_POSIX # Requires: CYGPKG_KERNEL # option CYGPKG_POSIX_CLOCKS # Requires: CYGPKG_KERNEL # option CYGPKG_POSIX_TIMERS # Requires: CYGPKG_KERNEL # component CYGPKG_POSIX_MQUEUES # Requires: CYGPKG_KERNEL # option CYGPKG_WALLCLOCK_EMULATE # Requires: CYGPKG_KERNEL # option CYGIMP_WALLCLOCK_NONE # DefaultValue: !CYGPKG_KERNEL && 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS # option CYGPKG_IO_WALLCLOCK_TESTS # Calculated: CYGPKG_KERNEL ? "tests/wallclock tests/wallclock2" : "" # option CYGFUN_IO_FILEIO_SELECT # ActiveIf: CYGPKG_KERNEL # option CYGPKG_IO_FILEIO_SOCKET_SUPPORT # ActiveIf: CYGPKG_KERNEL }; # > # Kernel interrupt handling # doc: ref/kernel-interrupts.html # 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. # cdl_component CYGPKG_KERNEL_INTERRUPTS { # There is no associated value. # The following properties are affected by this value # option CYGDBG_KERNEL_INSTRUMENT_INTR # ActiveIf: CYGPKG_KERNEL_INTERRUPTS }; # > # Use delayed service routines (DSRs) # In eCos the recommended way to handle device interrupts is to # do a minimum amount of work inside the low level interrupt # handler itself, and instead do as much as possible in a # Delayed Service Routine or DSR. If an application does not # make use of DSRs directly or indirectly then it is possible # to disable the DSR support completely, which reduces the # overheads of context switches and interrupt handling. Note # that the kernel real-time clock makes use of DSRs, as do many # of the device drivers. # cdl_component CYGIMP_KERNEL_INTERRUPTS_DSRS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGVAR_KERNEL_COUNTERS_CLOCK # Requires: CYGIMP_KERNEL_INTERRUPTS_DSRS }; # > # cdl_interface CYGINT_KERNEL_INTERRUPTS_DSRS { # Implemented by CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST, active, enabled # Implemented by CYGIMP_KERNEL_INTERRUPTS_DSRS_TABLE, active, disabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 == CYGINT_KERNEL_INTERRUPTS_DSRS # CYGINT_KERNEL_INTERRUPTS_DSRS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_KERNEL_INTERRUPTS_DSRS # Requires: 1 == CYGINT_KERNEL_INTERRUPTS_DSRS }; # Use linked lists for DSRs # When DSR support is enabled the kernel must keep track of all # the DSRs that are pending. This information can be kept in a # fixed-size table or in a linked list. The list implementation # requires that the kernel disable interrupts for a very short # period of time outside interrupt handlers, but there is no # possibility of a table overflow occurring. # cdl_option CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Use fixed-size table for DSRs # When DSR support is enabled the kernel must keep track of all # the DSRs that are pending. This information can be kept in a # fixed-size table or in a linked list. The table # implementation involves a very small risk of overflow at # run-time if a given interrupt source is able to have more # than one pending DSR. However it has the advantage that # the kernel does not need to disable interrupts outside # interrupt handlers. # cdl_component CYGIMP_KERNEL_INTERRUPTS_DSRS_TABLE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # > # Number of entries in fixed-size DSR table # When DSR support is enabled the kernel must keep track of all # the DSRs that are pending. One approach involves a fixed-size # table, which involves a very small risk of overflow at # run-time. By increasing the table size it is possible to reduce # this risk. # cdl_option CYGNUM_KERNEL_INTERRUPTS_DSRS_TABLE_SIZE { # This option is not active # The parent CYGIMP_KERNEL_INTERRUPTS_DSRS_TABLE is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 32 # value_source default # Default value: 32 # Legal values: 2 to 1024 }; # < # Chain all interrupts together # Interrupts can be attached to vectors either singly, or be # chained together. The latter is necessary if there is no way # of discovering which device has interrupted without # inspecting the device itself. It can also reduce the amount # of RAM needed for interrupt decoding tables and code. # cdl_option CYGIMP_KERNEL_INTERRUPTS_CHAIN { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN # CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN == 0 # --> 0 }; # < # < # Exception handling # doc: ref/kernel-exceptions.html # 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_component CYGPKG_KERNEL_EXCEPTIONS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGPKG_HAL_EXCEPTIONS # CYGPKG_HAL_EXCEPTIONS == 1 # --> 1 # The following properties are affected by this value # option CYGPKG_HAL_EXCEPTIONS # Requires: CYGPKG_KERNEL_EXCEPTIONS # option CYGPKG_HAL_EXCEPTIONS # DefaultValue: CYGPKG_KERNEL_EXCEPTIONS # component CYGPKG_POSIX_SIGNALS # Requires: CYGPKG_KERNEL_EXCEPTIONS }; # > # Decode exception types in kernel # 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_DECODE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Use global exception handlers # 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_option CYGSEM_KERNEL_EXCEPTIONS_GLOBAL { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # Kernel schedulers # doc: ref/kernel-overview.html#KERNEL-OVERVIEW-SCHEDULERS # 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. # cdl_component CYGPKG_KERNEL_SCHED { # There is no associated value. # The following properties are affected by this value # option CYGDBG_KERNEL_INSTRUMENT_SCHED # ActiveIf: CYGPKG_KERNEL_SCHED }; # > # Number of schedulers in this configuration # cdl_interface CYGINT_KERNEL_SCHEDULER { # Implemented by CYGSEM_KERNEL_SCHED_MLQUEUE, active, enabled # Implemented by CYGSEM_KERNEL_SCHED_BITMAP, active, disabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 == CYGINT_KERNEL_SCHEDULER # CYGINT_KERNEL_SCHEDULER == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_KERNEL_SCHEDULER # Requires: 1 == CYGINT_KERNEL_SCHEDULER }; # Non-zero if the active schedule only has unique priorities # Not all schedulers allow mutiple threads to use the same # priority. That property is signalled via this option, allowing # scheduler and tests to behave accordingly. # cdl_interface CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES { # Implemented by CYGSEM_KERNEL_SCHED_BITMAP, active, disabled # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # component CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL # Requires: CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES == 0 }; # Multi-level queue scheduler # The multi-level queue scheduler supports multiple priority # levels and multiple threads at each priority level. # Preemption between priority levels is automatic. Timeslicing # within a given priority level is controlled by a separate # configuration option. # cdl_component CYGSEM_KERNEL_SCHED_MLQUEUE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGPRI_KERNEL_SCHED_IMPL_HXX # Calculated: CYGSEM_KERNEL_SCHED_BITMAP ? "" : CYGSEM_KERNEL_SCHED_MLQUEUE ? "" : CYGSEM_KERNEL_SCHED_LOTTERY ? "" : "!!!-- Configuration broken - no scheduler selected --!!!" # component CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL # ActiveIf: CYGSEM_KERNEL_SCHED_MLQUEUE # option _POSIX_PRIORITY_SCHEDULING # Requires: CYGSEM_KERNEL_SCHED_MLQUEUE # option _POSIX_THREAD_PRIORITY_SCHEDULING # Requires: CYGSEM_KERNEL_SCHED_MLQUEUE }; # > # Output timeslices when tracing # When tracing is enabled, output trace messages every # timeslice. This can be quite verbose so is disabled by # default. # cdl_option CYGDBG_KERNEL_TRACE_TIMESLICE { # This option is not active # ActiveIf constraint: CYGDBG_USE_TRACING # CYGDBG_USE_TRACING == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: !CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE # CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE == 0 # --> 1 # Requires: !CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY # CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY == 0 # --> 1 }; # < # Bitmap scheduler # The bitmap scheduler supports multiple priority levels but # only one thread can exist at each priority level. This means # that scheduling decisions are very simple and hence the # scheduler is efficient. Preemption between priority levels is # automatic. Timeslicing within a given priority level is # irrelevant since there can be only one thread at each # priority level. # cdl_option CYGSEM_KERNEL_SCHED_BITMAP { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: !CYGPKG_KERNEL_SMP_SUPPORT # CYGPKG_KERNEL_SMP_SUPPORT == 0 # --> 1 # The following properties are affected by this value # option CYGPRI_KERNEL_SCHED_IMPL_HXX # Calculated: CYGSEM_KERNEL_SCHED_BITMAP ? "" : CYGSEM_KERNEL_SCHED_MLQUEUE ? "" : CYGSEM_KERNEL_SCHED_LOTTERY ? "" : "!!!-- Configuration broken - no scheduler selected --!!!" # component CYGSEM_KERNEL_SCHED_TIMESLICE # Requires: !CYGSEM_KERNEL_SCHED_BITMAP }; # Scheduler header file # This option sets a preprocessor symbol which names the header # file for the selected scheduler. It is used internally by the # common scheduler code to include the correct header file. # cdl_option CYGPRI_KERNEL_SCHED_IMPL_HXX { # Calculated value: CYGSEM_KERNEL_SCHED_BITMAP ? "" : CYGSEM_KERNEL_SCHED_MLQUEUE ? "" : CYGSEM_KERNEL_SCHED_LOTTERY ? "" : "!!!-- Configuration broken - no scheduler selected --!!!" # CYGSEM_KERNEL_SCHED_BITMAP == 0 # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 # CYGSEM_KERNEL_SCHED_LOTTERY (unknown) == 0 # Flavor: data # Current_value: }; # Number of priority levels # This option controls the number of priority levels that are # available. For some types of scheduler including the bitmap # scheduler this may impose an upper bound on the number of # threads in the system. For other schedulers such as the # mlqueue scheduler the number of threads is independent from # the number of priority levels. Note that the lowest priority # level is normally used only by the idle thread, although # application threads can run at this priority if necessary. # cdl_component CYGNUM_KERNEL_SCHED_PRIORITIES { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 32 # value_source default # Default value: 32 # Legal values: 1 to 32 # The following properties are affected by this value # option CYGIMP_IDLE_THREAD_YIELD # ActiveIf: (CYGNUM_KERNEL_SCHED_PRIORITIES == 1) # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY # LegalValues: 0 to CYGNUM_KERNEL_SCHED_PRIORITIES - 1 }; # > # Bitmap size # This option automatically defines the size of bitmap # used to track occupied priority levels. # cdl_option CYGNUM_KERNEL_SCHED_BITMAP_SIZE { # Calculated value: "CYGNUM_KERNEL_SCHED_PRIORITIES" # Flavor: data # Current_value: CYGNUM_KERNEL_SCHED_PRIORITIES }; # Dequeue highest priority threads first # With this option enabled, threads queued in a thread queue # will be dequeued in priority order, rather than first in, # first out (FIFO). Threads of equal priority are dequeued # oldest first. The only exception is the scheduler run # queues where order is less important as each is already # sorted by priority. Note that this makes the thread queueing # less deterministic. # cdl_option CYGIMP_KERNEL_SCHED_SORTED_QUEUES { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 # The following properties are affected by this value # package CYGPKG_POSIX # Requires: CYGIMP_KERNEL_SCHED_SORTED_QUEUES }; # < # Scheduler timeslicing # Some schedulers including the mlqueue scheduler support # timeslicing. This means that the kernel will check regularly # whether or not there is another runnable thread with the # same priority, and if there is such a thread there will be # an automatic context switch. Not all applications require # timeslicing, for example because every thread performs a # blocking operation regularly. For these applications it is # possible to disable timeslicing, which reduces the overheads # associated with timer interrupts. # cdl_component CYGSEM_KERNEL_SCHED_TIMESLICE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: !CYGSEM_KERNEL_SCHED_BITMAP # CYGSEM_KERNEL_SCHED_BITMAP == 0 # --> 1 # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 # --> 1 # The following properties are affected by this value # option _POSIX_THREADS # Requires: CYGSEM_KERNEL_SCHED_TIMESLICE }; # > # Number of clock ticks between timeslices # Assuming timeslicing is enabled, how frequently should it # take place? The value of this option corresponds to the # number of clock ticks that should occur before a timeslice # takes place, so increasing the value reduces the frequency # of timeslices. # cdl_option CYGNUM_KERNEL_SCHED_TIMESLICE_TICKS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 5 # value_source default # Default value: 5 # Legal values: 1 to 65535 }; # Support runtime enable of timeslice per-thread # This option makes timslicing a per-thread runtime # option. When enabled, threads may have timeslicing # turned on or off dynamically. This is generally used # by higher level APIs (such as POSIX) to implement # differing scheduling policies. # cdl_option CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: false # false (unknown) == 0 # --> 0 # The following properties are affected by this value # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS # Requires: CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE }; # < # Enable ASR support # This component controls support for Asynchronous Service # Routines (ASRs). This is a function that may be called # from the scheduler when it has just exited the scheduler # lock. This is primarily for use by API compatibility layers. # cdl_component CYGSEM_KERNEL_SCHED_ASR_SUPPORT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: false # false (unknown) == 0 # --> 0 # The following properties are affected by this value # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS # Requires: CYGSEM_KERNEL_SCHED_ASR_SUPPORT }; # > # Make ASR function global # This option controls whether the ASR function is shared by # all threads, or whether each thread may have its own ASR # function. # cdl_option CYGSEM_KERNEL_SCHED_ASR_GLOBAL { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: true # true (unknown) == 0 # --> 0 # The following properties are affected by this value # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS # Requires: CYGSEM_KERNEL_SCHED_ASR_GLOBAL }; # Make ASR data global # This option controls whether the ASR data is shared by # all threads, or whether each thread may have its own ASR # data. This is independent of the previous option because # it may be useful to pass per-thread data to a shared ASR # function. # cdl_option CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: true # true (unknown) == 0 # --> 0 # The following properties are affected by this value # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS # Requires: !CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL }; # < # < # SMP support # cdl_component CYGPKG_KERNEL_SMP_SUPPORT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGPKG_HAL_SMP_SUPPORT # CYGPKG_HAL_SMP_SUPPORT (unknown) == 0 # --> 0 # The following properties are affected by this value # option CYGSEM_KERNEL_SCHED_BITMAP # Requires: !CYGPKG_KERNEL_SMP_SUPPORT # option CYGPKG_KERNEL_TESTS # Calculated: # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/tm_basic tests/fptest tests/kalarm0" : "") # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") # }; # Counters and clocks # doc: ref/kernel-counters.html # 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. # cdl_component CYGPKG_KERNEL_COUNTERS { # There is no associated value. }; # > # Provide real-time clock # On all current target systems the kernel can provide a # real-time clock. This clock serves two purposes. First it is # necessary to support clock and alarm related functions. # Second it is needed to implement timeslicing in some of the # schedulers including the mlqueue scheduler. If the # application does not require any of these facilities then it # is possible to disable the real time clock support # completely. # cdl_option CYGVAR_KERNEL_COUNTERS_CLOCK { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGIMP_KERNEL_INTERRUPTS_DSRS # CYGIMP_KERNEL_INTERRUPTS_DSRS == 1 # --> 1 # The following properties are affected by this value # component CYGSEM_KERNEL_SCHED_TIMESLICE # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # option CYGNUM_KERNEL_COUNTERS_CLOCK_ISR_PRIORITY # ActiveIf: CYGVAR_KERNEL_COUNTERS_CLOCK # option CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # option CYGFUN_KERNEL_THREADS_TIMER # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # option CYGDBG_KERNEL_INSTRUMENT_CLOCK # ActiveIf: CYGVAR_KERNEL_COUNTERS_CLOCK # option CYGDBG_KERNEL_INSTRUMENT_ALARM # ActiveIf: CYGVAR_KERNEL_COUNTERS_CLOCK # option CYGDBG_KERNEL_INSTRUMENT_SMP # ActiveIf: CYGVAR_KERNEL_COUNTERS_CLOCK # component CYGPKG_HAL_TESTS # Calculated: "tests/context tests/basic" # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") # option CYGSEM_LIBC_TIME_CLOCK_WORKING # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # option CYGPKG_POSIX_CLOCKS # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # option CYGPKG_POSIX_TIMERS # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # option CYGPKG_WATCHDOG_EMULATE # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK }; # Interrupt priority for the real-time clock # The implementation of the kernel's real-time clock typically # involves installing an interrupt handler on a suitable hardware # timer. This option controls the priority level used for that # interrupt. On most platforms the value is not important because # the clock ISR leaves most of the work to be done by the DSR. # However some processors have interrupt controllers with special # requirements for the interrupt priorities, in which case # application developers must be able to manipulate the clock's # priority. # cdl_option CYGNUM_KERNEL_COUNTERS_CLOCK_ISR_PRIORITY { # ActiveIf constraint: CYGVAR_KERNEL_COUNTERS_CLOCK # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 # --> 1 # Flavor: data # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: is_loaded(CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY) ? # CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY : 1 # CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY (unknown) == 0 # CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY (unknown) == 0 # --> 1 }; # cdl_interface CYGINT_KERNEL_COUNTERS { # Implemented by CYGIMP_KERNEL_COUNTERS_SINGLE_LIST, active, enabled # Implemented by CYGIMP_KERNEL_COUNTERS_MULTI_LIST, active, disabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 == CYGINT_KERNEL_COUNTERS # CYGINT_KERNEL_COUNTERS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_KERNEL_COUNTERS # Requires: 1 == CYGINT_KERNEL_COUNTERS }; # Implement counters using a single list # There are two different implementations of the counter # objects. The first implementation stores all alarms in a # single linked list. The alternative implementation uses a # table of linked lists. A single list is more efficient in # terms of memory usage and is generally adequate when the # application only makes use of a small number of alarms. # cdl_option CYGIMP_KERNEL_COUNTERS_SINGLE_LIST { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Implement counters using a table of lists # There are two different implementations of the counter # objects. The first implementation stores all alarms in a # single linked list. The alternative implementation uses a # table of linked lists, with the size of the table being a # separate configurable option. For more complicated # operations it is better to have a table of lists since this # reduces the amount of computation whenever the timer goes # off. Assuming a table size of 8 (the default value) on # average the timer code will only need to check 1/8 of the # pending alarms instead of all of them. # cdl_component CYGIMP_KERNEL_COUNTERS_MULTI_LIST { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # > # Size of counter list table # If counters are implemented using an array of linked lists # then this option controls the size of the array. A larger # size reduces the amount of computation that needs to take # place whenever the timer goes off, but requires extra # memory. # cdl_option CYGNUM_KERNEL_COUNTERS_MULTI_LIST_SIZE { # This option is not active # The parent CYGIMP_KERNEL_COUNTERS_MULTI_LIST is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 8 # value_source default # Default value: 8 # Legal values: 1 to 1024 }; # < # Sort the counter list # Sorting the counter lists reduces the amount of work that # has to be done when a counter tick is processed, since the # next alarm to expire is always at the front of the list. # However, it makes adding an alarm to the list more expensive # since a search must be done for the correct place to put it. # Many alarms are used to implement timeouts, which seldom trigger, # so it is worthwhile optimizing this case. For this reason # sorted list are disabled by default. # cdl_option CYGIMP_KERNEL_COUNTERS_SORT_LIST { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Measure real-time [clock] interrupt latency # Measure the interrupt latency as seen by the real-time clock # timer interrupt. This requires hardware support, defined by # the HAL_CLOCK_LATENCY() macro. # cdl_option CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 # --> 1 # The following properties are affected by this value # option CYGVAR_KERNEL_COUNTERS_CLOCK_DSR_LATENCY # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY # option CYGVAR_KERNEL_COUNTERS_CLOCK_DSR_LATENCY # DefaultValue: CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY }; # Measure real-time [clock] DSR latency # Measure the DSR latency as seen by the real-time clock # timer interrupt. This requires hardware support, defined by # the HAL_CLOCK_LATENCY() macro. # cdl_option CYGVAR_KERNEL_COUNTERS_CLOCK_DSR_LATENCY { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY # CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY == 0 # --> 0 # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY # CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY == 0 # --> 0 }; # RTC resolution # This option automatically defines the tuple which is used to # initialize the RTC resolution, consisting of a numerator and # denominator. The values of the numerator and denominator are # defined by the HAL. # cdl_option CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION { # Calculated value: "{CYGNUM_HAL_RTC_NUMERATOR, CYGNUM_HAL_RTC_DENOMINATOR}" # Flavor: data # Current_value: {CYGNUM_HAL_RTC_NUMERATOR, CYGNUM_HAL_RTC_DENOMINATOR} }; # RTC period # This option defines the RTC period to be used in # setting the system clock hardware. It is essentially # an alias for CYGNUM_HAL_RTC_PERIOD, which is defined # in the HAL. # cdl_option CYGNUM_KERNEL_COUNTERS_RTC_PERIOD { # Calculated value: "CYGNUM_HAL_RTC_PERIOD" # Flavor: data # Current_value: CYGNUM_HAL_RTC_PERIOD }; # < # Thread-related options # 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. # cdl_component CYGPKG_KERNEL_THREADS { # There is no associated value. # The following properties are affected by this value # option CYGDBG_KERNEL_INSTRUMENT_THREAD # ActiveIf: CYGPKG_KERNEL_THREADS }; # > # Allow per-thread timers # This option controls whether or not the kernel should support # per-thread clock and alarm related functions. Also some of # the synchronization primitives such as semaphore and # condition variable timed wait operations require per-thread # timer support. If none of these facilities are required then # the option can be disabled. # cdl_option CYGFUN_KERNEL_THREADS_TIMER { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 # --> 1 # The following properties are affected by this value # option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT # Requires: CYGFUN_KERNEL_THREADS_TIMER # option CYGSEM_LIBC_TIME_CLOCK_WORKING # Requires: CYGFUN_KERNEL_THREADS_TIMER }; # Support optional name for each thread # Threads may optionally be supplied with a name string that is # used to identify them during debugging. This name is only # present if `this option is defined. Disabling it reduces both # code and data size. # cdl_option CYGVAR_KERNEL_THREADS_NAME { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Keep track of all threads using a linked list # Threads may optionally be placed on a housekeeping list so # that all threads may be located easily. This is useful mainly # in conjunction with source-level debugging. # cdl_option CYGVAR_KERNEL_THREADS_LIST { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGFUN_KERNEL_ALL_THREADS_STACK_CHECKING # Requires: CYGVAR_KERNEL_THREADS_LIST # option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT # Requires: CYGVAR_KERNEL_THREADS_LIST }; # Keep track of the base of each thread's stack # This option makes the kernel keep track of the lower limit on # each thread's stack. It allows the kernel to adjust the lower # limit, thus making space for per-thread data. Note that it # does not imply any form of run-time stack overflow checking. # cdl_option CYGFUN_KERNEL_THREADS_STACK_LIMIT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # component CYGVAR_KERNEL_THREADS_DATA # Requires: CYGFUN_KERNEL_THREADS_STACK_LIMIT # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS # Requires: CYGFUN_KERNEL_THREADS_STACK_LIMIT }; # Check thread stacks for overflows # This option enables a variety of checks for stack overflow # including signatures at the top and base of thread stacks, # which are asserted for correctness whenever a thread switches. # cdl_component CYGFUN_KERNEL_THREADS_STACK_CHECKING { # ActiveIf constraint: CYGPKG_INFRA_DEBUG # CYGPKG_INFRA_DEBUG == 1 # --> 1 # ActiveIf constraint: CYGDBG_USE_ASSERTS # CYGDBG_USE_ASSERTS == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Check all threads whenever possible # This option enables more active checking of all threads for # wrongdoing. In theory, checking threads other than the old and new # executing threads in a thread-switch is pointless, because no other # thread has run, so no other stack can be exceeded. But errors such # as memory scribbling, dangling pointers, overlapping use of store # or errors accessing objects adjacent to a stack which can be very # hard to find can be detected this way, saving debug time. # cdl_option CYGFUN_KERNEL_ALL_THREADS_STACK_CHECKING { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGVAR_KERNEL_THREADS_LIST # CYGVAR_KERNEL_THREADS_LIST == 1 # --> 1 }; # Signature size in bytes, at stack top and bottom # This is the size of the area reserved for a signature at the top # and bottom of all stacks. It also provides a buffer zone for # detecting overflow before external objects are corrupted, hence the # ability to vary it here. But if you are short of stack, increasing # this value will make the overflow more, not less likely, of course. # cdl_option CYGNUM_KERNEL_THREADS_STACK_CHECK_DATA_SIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 32 # value_source default # Default value: 32 # Legal values: 8 to 512 }; # < # Measure stack usage # This option allows measurement of each thread's stack by initializing # it to a predefined value at thread creation time. Later use of the # cyg_thread_measure_stack_usage() function allows the maximum stack # usage of the thread so far to be obtained. Note that this is not # necessarily the true maximum stack usage that the thread will ever # use since all that has been measured is the stack usage corresponding # to the code path followed this time, and not the code path that may # be followed in future. # cdl_component CYGFUN_KERNEL_THREADS_STACK_MEASUREMENT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 != CYGPKG_INFRA_DEBUG # CYGPKG_INFRA_DEBUG == 1 # --> 1 }; # > # Output stack usage on thread exit # This will output the measured stack usage on the diagnostic # output when a thread exits. # cdl_option CYGDBG_KERNEL_THREADS_STACK_MEASUREMENT_VERBOSE_EXIT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # Support for per-thread data # doc: ref/kernel-thread-data.html # It is possible for the kernel to support per-thread data, in # other words an area of memory specific to each thread which # can be used to store data for that thread. This per-thread # data can be used by applications or by other packages such as # the ISO C library. # cdl_component CYGVAR_KERNEL_THREADS_DATA { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGFUN_KERNEL_THREADS_STACK_LIMIT # CYGFUN_KERNEL_THREADS_STACK_LIMIT == 1 # --> 1 # The following properties are affected by this value # option CYGSEM_LIBC_PER_THREAD_RAND # Requires: CYGVAR_KERNEL_THREADS_DATA # option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK # Requires: CYGVAR_KERNEL_THREADS_DATA # option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK # DefaultValue: CYGVAR_KERNEL_THREADS_DATA # option CYGSEM_LIBC_I18N_PER_THREAD_MB # Requires: CYGVAR_KERNEL_THREADS_DATA # option CYGSEM_LIBC_I18N_PER_THREAD_MB # DefaultValue: CYGVAR_KERNEL_THREADS_DATA != 0 # option CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE # Requires: CYGVAR_KERNEL_THREADS_DATA # option CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS # Requires: CYGVAR_KERNEL_THREADS_DATA # option _POSIX_THREADS # Requires: CYGVAR_KERNEL_THREADS_DATA # option CYGSEM_ERROR_PER_THREAD_ERRNO # Requires: CYGVAR_KERNEL_THREADS_DATA }; # > # Number of words of per-thread data # It is possible for the kernel to support per-thread data, in # other words an area of memory specific to each thread which # can be used to store data for that thread. This per-thread # data can be used by applications or by other packages such as # the ISO C library. This configuration option controls the # number of words of per-thread data that the kernel will # allow. In the current implementation a bitmask is used to identify # used per-thread data slots and so the maximum legal value must # remain 32. # cdl_option CYGNUM_KERNEL_THREADS_DATA_MAX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 6 # value_source default # Default value: 6 # Legal values: 4 to 32 }; # Bitmap of preallocated slots of thread data # Per thread data options. Per thread data support is based loosely # on that defined by POSIX. Each thread has an array of slots, up to # CYGNUM_KERNEL_THREADS_DATA_MAX, that may contain data. Some of the # slots have been preallocated to specific packages. Others may be # allocated dynamically. # cdl_component CYGNUM_KERNEL_THREADS_DATA_ALL { # Calculated value: 15 # Flavor: data # Current_value: 15 }; # > # Slot 0 preallocated for the kernel # This option defines the index of a per-thread data # slot which is reserved by # the eCos kernel # for private use. # cdl_option CYGNUM_KERNEL_THREADS_DATA_KERNEL { # Calculated value: 0 # Flavor: data # Current_value: 0 }; # Slot 1 preallocated for uITRON # This option defines the index of a per-thread data # slot which is reserved by # the uITRON compatibility layer # for private use. # cdl_option CYGNUM_KERNEL_THREADS_DATA_ITRON { # Calculated value: 1 # Flavor: data # Current_value: 1 }; # Slot 2 preallocated for errno # This option defines the index of a per-thread data # slot which is reserved for use by an errno variable. # cdl_option CYGNUM_KERNEL_THREADS_DATA_ERRNO { # Calculated value: 2 # Flavor: data # Current_value: 2 }; # Slot 3 preallocated for POSIX # This option defines the index of a per-thread data # slot which is reserved by # POSIX # for private use. # cdl_option CYGNUM_KERNEL_THREADS_DATA_POSIX { # Calculated value: 3 # Flavor: data # Current_value: 3 }; # < # < # Thread destructors # doc: ref/kernel-thread-destructors.html # This option enables support for registered destructor functions to # be called on thread exit. # cdl_component CYGPKG_KERNEL_THREADS_DESTRUCTORS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # The inferred value should not be edited directly. inferred_value 1 # value_source inferred # Default value: 0 }; # > # Number of possible destructors # This option gives the number of possible destructors allowed. # Increasing this will increase the size of every # thread control structure if per-thread destructors are # enabled. # cdl_option CYGNUM_KERNEL_THREADS_DESTRUCTORS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 8 # value_source default # Default value: 8 # Legal values: 1 to 65535 }; # Per-thread destructors # Enabling this option makes the thread destructors a per-thread # property, with each thread having its own list of destructors. # Disabling this option makes the thread destructor list # global so all threads have the same destructors. # cdl_option CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGPKG_NS_DNS_BUILD # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD }; # < # Stack size for the idle thread # This configuration option specifies the stack size in bytes # for the idle thread. Unless the HAL is configured to use a # separate interrupt stack this size must be sufficient to meet # the requirements of all interrupt handlers - these # requirements are cumulative if nested interrupted are # enabled. Depending on the target architecture, the stack size # typically has to be a multiple of eight or sixteen bytes. # This will be overridden where it is used if the # architectural HAL requires a minimum stack size # to handle interrupts correctly. # cdl_option CYGNUM_KERNEL_THREADS_IDLE_STACK_SIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 2048 # value_source default # Default value: 2048 # Legal values: 512 to 65536 }; # Maximal suspend count # This option provides for an assertion that the count value for # counted thread suspends do not exceed set limits. This is to help # with debugging, to allow a runaway loop, for example, to be # detected more easily. # If the option is not defined, no assert is included. Whether asserts # are themselves included depends on infrastructure configury in # infra.h # cdl_option CYGNUM_KERNEL_MAX_SUSPEND_COUNT_ASSERT { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 500 # value_source default # Default value: 500 }; # Maximal wake count # This option provides for an assertion that the count value for # counted thread wakeups do not exceed set limits. This is to # help with debugging, to allow a runaaway loop, for example, to # be detected more easily. # If the option is not defined, no assert is included. Whether asserts # are themselves included depends on infrastructure configury in # infra.h # cdl_option CYGNUM_KERNEL_MAX_COUNTED_WAKE_COUNT_ASSERT { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 500 # value_source default # Default value: 500 }; # Idle thread must always yield # If the scheduler configuration only has a single priority # level, then the idle thread must yield each time around its loop. # cdl_option CYGIMP_IDLE_THREAD_YIELD { # This option is not active # ActiveIf constraint: (CYGNUM_KERNEL_SCHED_PRIORITIES == 1) # CYGNUM_KERNEL_SCHED_PRIORITIES == 32 # --> 0 # Calculated value: 1 # Flavor: bool # Current value: 1 }; # < # Synchronization primitives # 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. # cdl_component CYGPKG_KERNEL_SYNCH { # There is no associated value. # The following properties are affected by this value # option CYGDBG_KERNEL_INSTRUMENT_MUTEX # ActiveIf: CYGPKG_KERNEL_SYNCH # option CYGDBG_KERNEL_INSTRUMENT_CONDVAR # ActiveIf: CYGPKG_KERNEL_SYNCH # option CYGDBG_KERNEL_INSTRUMENT_BINSEM # ActiveIf: CYGPKG_KERNEL_SYNCH # option CYGDBG_KERNEL_INSTRUMENT_CNTSEM # ActiveIf: CYGPKG_KERNEL_SYNCH # option CYGDBG_KERNEL_INSTRUMENT_MBOXT # ActiveIf: CYGPKG_KERNEL_SYNCH }; # > # Priority inversion protection protocols # doc: ref/kernel-mutexes.html # This component controls the protocols used to protect mutexes against # priority inversion. If this option is enabled it defines which # algorithm is used to implement this protection. At present only # one such algorithm is defined: "SIMPLE". The implementation # will only work in the mlqueue scheduler, and it does not handle the # rare case of nested mutexes completely correctly. However it is # both fast and deterministic. # cdl_component CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL { # ActiveIf constraint: CYGSEM_KERNEL_SCHED_MLQUEUE # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 # --> 1 # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 1 SIMPLE # value_source default # Default value: 1 SIMPLE # Legal values: "SIMPLE" # Requires: CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES == 0 # CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES == 0 # --> 1 }; # > # Enable priority inheritance protocol # This option enables priority inheritance protocol. This protocol # causes the owner of a mutex to be executed at the highest priority # of the threads waiting for access to the mutex. # cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT # DefaultValue: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT ? # "INHERIT" : # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING ? # "CEILING" : "NONE" # option _POSIX_THREAD_PRIO_INHERIT # Requires: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT }; # Enable priority ceiling protocol # This option enables priority ceiling protocol. This protocol # causes the owner of a mutex to be executed at a priority # associated with the mutex. # cdl_component CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY # ActiveIf: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT # DefaultValue: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT ? # "INHERIT" : # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING ? # "CEILING" : "NONE" # option _POSIX_THREAD_PRIO_PROTECT # Requires: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING }; # > # Default priority ceiling # This option defines the default priority ceiling to be # used if the chosen default priority inversion protocol is # priority ceoptioniling protocol. The default value for this is zero, # making all such mutexes boost threads to the maximum priority. # cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY { # ActiveIf constraint: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING == 1 # --> 1 # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: 0 to CYGNUM_KERNEL_SCHED_PRIORITIES - 1 # CYGNUM_KERNEL_SCHED_PRIORITIES == 32 }; # < # No priority inversion protocol # This option enables the ability to have no priority inversion protocol. # It is equivalent to disabling the priority inversion protocol at # the top level, but is necessary for the runtime and default # selection options. # cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_NONE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Default priority inversion protocol # This option defines the default inversion protocol used for mutexes that # are created without an explicit protocol being specified. The protocol # chosen by default is to use priority inheritance if it is present otherwise # priority ceiling, or none if neither is present. # cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT { # ActiveIf constraint: CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT > 1 # CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT == 3 # --> 1 # Flavor: data # No user value, uncomment the following line to provide one. # user_value INHERIT # value_source default # Default value: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT ? # "INHERIT" : # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING ? # "CEILING" : "NONE" # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT == 1 # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING == 1 # --> INHERIT # Legal values: "INHERIT" "CEILING" "NONE" }; # Specify mutex priority inversion protocol at runtime # This option controls whether the priority inversion protocol used by # a mutex can be specified when that mutex is created. # cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DYNAMIC { # ActiveIf constraint: CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT > 1 # CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT == 3 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Number of protocols selected # cdl_interface CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT { # Implemented by CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT, active, enabled # Implemented by CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING, active, enabled # Implemented by CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_NONE, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 3 # The following properties are affected by this value # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT # ActiveIf: CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT > 1 # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DYNAMIC # ActiveIf: CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT > 1 }; # < # Message box blocking put support # doc: ref/kernel-mail-boxes.html # Message boxes can support three different versions of the # put-message operation. The first is tryput(), which will fail # if the message box is already full. The other two are the # ordinary put() function which will block if the message box # is full, and a timed put() operation which will block for # upto a certain length of time if the message box is currently # full. The blocking versions require extra memory in the # message box data structure and extra code in the other # message box functions, so they can be disabled if the # application does not require them. If this option is enabled # then the system will always provide the blocking put() # function, and it will also provide the timed put() function # if thread timers are enabled. # cdl_option CYGMFN_KERNEL_SYNCH_MBOXT_PUT_CAN_WAIT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Message box queue size # doc: ref/kernel-mail-boxes.html # This configuration option controls the number of messages # that can be queued in a message box before a non-blocking # put() operation will fail or a blocking put() operation will # block. The cost in memory is one pointer per message box for # each possible message. # cdl_option CYGNUM_KERNEL_SYNCH_MBOX_QUEUE_SIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 10 # value_source default # Default value: 10 # Legal values: 1 to 65535 }; # Condition variable timed-wait support # doc: ref/kernel-condition-variables.html # This option enables the condition variable timed wait # facility. # cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGFUN_KERNEL_THREADS_TIMER # CYGFUN_KERNEL_THREADS_TIMER == 1 # --> 1 }; # Condition variable explicit mutex wait support # doc: ref/kernel-condition-variables.html # This option enables the condition variable explicit mutex wait # facility. By default condition variables in eCos are created with # a statically associated mutex. This option permits wait (and timed wait # if CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT is enabled) to provide a # different mutex as an argument. This makes no difference to the semantics # the wait operation except that a different mutex will be used during it. # cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_WAIT_MUTEX { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Avoid inlines in mqueue implementation # With this option disabled, the 'mqueue' message queue implementation # provides most of its implementation via inlines. However this can # adversely affect code size in application that make lots of mqueue # calls from different places, so enabling this option provides # non-inline versions to be used instead. # cdl_option CYGIMP_KERNEL_SYNCH_MQUEUE_NOT_INLINE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # Kernel instrumentation # 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. # cdl_component CYGPKG_KERNEL_INSTRUMENT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # The following properties are affected by this value # option CYGPKG_KERNEL_TESTS # Calculated: # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/tm_basic tests/fptest tests/kalarm0" : "") # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") # }; # > # Use buffer provided by the application # In most circumstances the kernel should provide the # instrumentation circular buffer itself. Occasionally # application code may wish to provide the buffer instead, # giving the application code more convenient access to the # buffer. This also makes it possible to put the circular # buffer in special areas of memory, for example a region that # is shared with the host. # cdl_option CYGVAR_KERNEL_INSTRUMENT_EXTERNAL_BUFFER { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Size of instrumentation buffer size # If kernel instrumentation is enabled then the instrumentation # data goes into a circular buffer. A larger buffer allows # more data to be stored, but at a significant cost in memory. # The value of this option corresponds to the number of entries # in the table, and typically each entry will require 16 bytes # of memory. # cdl_option CYGNUM_KERNEL_INSTRUMENT_BUFFER_SIZE { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 256 # value_source default # Default value: 256 # Legal values: 16 to 0x100000 }; # Wrap instrument buffer # When the instrumentation buffer is full it can either be restarted # from the beginning, overwriting older data, or it can stop at the # end. The former is useful if you want to look at the last entries # made while the latter is useful if you want to look at the first # few. # cdl_option CYGDBG_KERNEL_INSTRUMENT_BUFFER_WRAP { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Perform selective instrumentation # The kernel can either collect all instrumentation events, or # it can filter out events at runtime based on a set of flags. # For example it would be possible to decide at runtime that # only scheduler and interrupt instrumentation flags are of # interest and that all other flags should be ignored. This # flag mechanism involves extra code and processor cycle # overhead in the instrumentation code, so it can be disabled # if the application developer is interested in all # instrumentation events. # cdl_option CYGDBG_KERNEL_INSTRUMENT_FLAGS { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Instrument the scheduler # It is possible to perform selective instrumentation at # run-time. It is also possible to disable instrumentation # in various kernel components at compile-time, thus # reducing the code size overheads. This option controls # whether or not instrumentation support is compiled into # the scheduling code. # cdl_option CYGDBG_KERNEL_INSTRUMENT_SCHED { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # ActiveIf constraint: CYGPKG_KERNEL_SCHED # CYGPKG_KERNEL_SCHED == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Instrument thread operations # It is possible to perform selective instrumentation at # run-time. It is also possible to disable instrumentation # in various kernel components at compile-time, thus # reducing the code size overheads. This option controls # whether or not instrumentation support is compiled into # the code that manipulates threads. # cdl_option CYGDBG_KERNEL_INSTRUMENT_THREAD { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # ActiveIf constraint: CYGPKG_KERNEL_THREADS # CYGPKG_KERNEL_THREADS == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Instrument interrupts # It is possible to perform selective instrumentation at # run-time. It is also possible to disable instrumentation # in various kernel components at compile-time, thus # reducing the code size overheads. This option controls # whether or not instrumentation support is compiled into # the interrupt handling code. # cdl_option CYGDBG_KERNEL_INSTRUMENT_INTR { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # ActiveIf constraint: CYGPKG_KERNEL_INTERRUPTS # CYGPKG_KERNEL_INTERRUPTS == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Instrument mutex operations # It is possible to perform selective instrumentation at # run-time. It is also possible to disable instrumentation # in various kernel components at compile-time, thus # reducing the code size overheads. This option controls # whether or not instrumentation support is compiled into # the mutex code. # cdl_option CYGDBG_KERNEL_INSTRUMENT_MUTEX { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # ActiveIf constraint: CYGPKG_KERNEL_SYNCH # CYGPKG_KERNEL_SYNCH == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Instrument condition variable operations # It is possible to perform selective instrumentation at # run-time. It is also possible to disable instrumentation # in various kernel components at compile-time, thus # reducing the code size overheads. This option controls # whether or not instrumentation support is compiled into # the condition variable code. # cdl_option CYGDBG_KERNEL_INSTRUMENT_CONDVAR { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # ActiveIf constraint: CYGPKG_KERNEL_SYNCH # CYGPKG_KERNEL_SYNCH == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Instrument binary semaphore operations # It is possible to perform selective instrumentation at # run-time. It is also possible to disable instrumentation # in various kernel components at compile-time, thus # reducing the code size overheads. This option controls # whether or not instrumentation support is compiled into # the binary semaphore code. # cdl_option CYGDBG_KERNEL_INSTRUMENT_BINSEM { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # ActiveIf constraint: CYGPKG_KERNEL_SYNCH # CYGPKG_KERNEL_SYNCH == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Instrument counting semaphore operations # It is possible to perform selective instrumentation at # run-time. It is also possible to disable instrumentation # in various kernel components at compile-time, thus # reducing the code size overheads. This option controls # whether or not instrumentation support is compiled into # the counting semaphore code. # cdl_option CYGDBG_KERNEL_INSTRUMENT_CNTSEM { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # ActiveIf constraint: CYGPKG_KERNEL_SYNCH # CYGPKG_KERNEL_SYNCH == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Instrument message box operations # It is possible to perform selective instrumentation at # run-time. It is also possible to disable instrumentation # in various kernel components at compile-time, thus # reducing the code size overheads. This option controls # whether or not instrumentation support is compiled into # the message box code. # cdl_option CYGDBG_KERNEL_INSTRUMENT_MBOXT { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # ActiveIf constraint: CYGPKG_KERNEL_SYNCH # CYGPKG_KERNEL_SYNCH == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Instrument clock operations # It is possible to perform selective instrumentation at # run-time. It is also possible to disable instrumentation # in various kernel components at compile-time, thus # reducing the code size overheads. This option controls # whether or not instrumentation support is compiled into # the real-time clock code. # cdl_option CYGDBG_KERNEL_INSTRUMENT_CLOCK { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # ActiveIf constraint: CYGVAR_KERNEL_COUNTERS_CLOCK # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Instrument alarm-related operations # It is possible to perform selective instrumentation at # run-time. It is also possible to disable instrumentation # in various kernel components at compile-time, thus # reducing the code size overheads. This option controls # whether or not instrumentation support is compiled into # the code related to alarm operations. # cdl_option CYGDBG_KERNEL_INSTRUMENT_ALARM { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # ActiveIf constraint: CYGVAR_KERNEL_COUNTERS_CLOCK # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Instrument SMP-related operations # It is possible to perform selective instrumentation at # run-time. It is also possible to disable instrumentation # in various kernel components at compile-time, thus # reducing the code size overheads. This option controls # whether or not instrumentation support is compiled into # the code related to SMP operations. # cdl_option CYGDBG_KERNEL_INSTRUMENT_SMP { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # ActiveIf constraint: CYGVAR_KERNEL_COUNTERS_CLOCK # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Support application-level instrumentation # It is possible to perform selective instrumentation at # run-time. It is also possible to disable instrumentation # in various kernel components at compile-time, thus # reducing the code size overheads. This option controls # whether or not application-level instrumentation gets # compiled in. # cdl_option CYGDBG_KERNEL_INSTRUMENT_USER { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Print user friendly instrument messages # Include code which will convert the instrument type field # into a more human understandable string # cdl_component CYGDBG_KERNEL_INSTRUMENT_MSGS { # This option is not active # The parent CYGPKG_KERNEL_INSTRUMENT is disabled # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Rebuild the header file # Make (using a shell script) include/cyg/kernel/instrument_desc.h in # your build tree; this is normally simply copied from the repository. # If you make a permanent change to include/instrmnt.h, such that # instrument_desc.h needs updating, it's up to you to first delete the # master file # ECOS_REPOSITORY/kernel/VERSION/include/instrument_desc.h # in your source repository, make the new version by enabling this # option then copy the new file # back from your build place to its source in # ECOS_REPOSITORY/kernel/VERSION/include/instrument_desc.h # and/or commit this to any version control system that you use. # cdl_option CYGDBG_KERNEL_INSTRUMENT_MSGS_BUILD_HEADERFILE { # This option is not active # The parent CYGDBG_KERNEL_INSTRUMENT_MSGS is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Build the host tool to print out a dump # Generate a host program which can dump the instrumentation # data in a human readable format. You have to somehow get the # instrumentation buffer into a file on the host. 'Exercise for # the reader' as university lecturers tend to say. # cdl_component CYGDBG_KERNEL_INSTRUMENT_BUILD_HOST_DUMP { # This option is not active # The parent CYGDBG_KERNEL_INSTRUMENT_MSGS is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # < # Source-level debugging support # 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. # cdl_component CYGPKG_KERNEL_DEBUG { # There is no associated value. }; # > # Include GDB multi-threading debug support # This option enables some extra kernel code which is needed # to support multi-threaded source level debugging. # cdl_option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGVAR_KERNEL_THREADS_LIST # CYGVAR_KERNEL_THREADS_LIST == 1 # --> 1 # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 # --> 1 # The following properties are affected by this value # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT }; # < # Kernel APIs # 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_component CYGPKG_KERNEL_API { # There is no associated value. }; # > # Provide C API # 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. # cdl_option CYGFUN_KERNEL_API_C { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGPKG_KERNEL_TESTS # Calculated: # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/tm_basic tests/fptest tests/kalarm0" : "") # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") # # option CYGPKG_KERNEL_TESTS # Calculated: # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/tm_basic tests/fptest tests/kalarm0" : "") # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") # # option CYGPKG_KERNEL_TESTS # Calculated: # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/tm_basic tests/fptest tests/kalarm0" : "") # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") # # option CYGPKG_KERNEL_TESTS # Calculated: # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/tm_basic tests/fptest tests/kalarm0" : "") # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") # # package CYGPKG_DEVS_KBD_ML300 # Requires: CYGFUN_KERNEL_API_C # package CYGPKG_DEVS_MOUSE_ML300 # Requires: CYGFUN_KERNEL_API_C # package CYGPKG_DEVS_TOUCHSCREEN_ML300 # Requires: CYGFUN_KERNEL_API_C # option CYGFUN_MEMALLOC_KAPI # DefaultValue: CYGFUN_KERNEL_API_C }; # < # Kernel build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_KERNEL_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # 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_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # 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_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Kernel tests # This option specifies the set of tests for the eCos kernel. # cdl_option CYGPKG_KERNEL_TESTS { # Calculated value: # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/tm_basic tests/fptest tests/kalarm0" : "") # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") # # CYGFUN_KERNEL_API_C == 1 # CYGPKG_INFRA_DEBUG == 1 # CYGPKG_KERNEL_INSTRUMENT == 0 # CYGFUN_KERNEL_API_C == 1 # CYGPKG_KERNEL_SMP_SUPPORT == 0 # CYGFUN_KERNEL_API_C == 1 # CYGINT_HAL_TESTS_NO_CACHES == 0 # CYGFUN_KERNEL_API_C == 1 # Flavor: data # Current_value: tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2 tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/tm_basic tests/fptest tests/kalarm0 tests/kcache1 tests/kcache2 }; # < # < # Dynamic memory allocation # This package provides memory allocator infrastructure required for # dynamic memory allocators, including the ISO standard malloc # interface. It also contains some sample implementations. # cdl_package CYGPKG_MEMALLOC { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current }; # > # Memory allocator implementations # This component contains configuration options related to the # various memory allocators available. # cdl_component CYGPKG_MEMALLOC_ALLOCATORS { # There is no associated value. }; # > # Fixed block allocator # This component contains configuration options related to the # fixed block memory allocator. # cdl_component CYGPKG_MEMALLOC_ALLOCATOR_FIXED { # There is no associated value. }; # > # Make thread safe # With this option enabled, this allocator will be # made thread-safe. Additionally allocation functions # are made available that allow a thread to wait # until memory is available. # cdl_option CYGSEM_MEMALLOC_ALLOCATOR_FIXED_THREADAWARE { # ActiveIf constraint: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # Simple variable block allocator # This component contains configuration options related to the # simple variable block memory allocator. This allocator is not # very fast, and in particular does not scale well with large # numbers of allocations. It is however very compact in terms of # code size and does not have very much overhead per allocation. # cdl_component CYGPKG_MEMALLOC_ALLOCATOR_VARIABLE { # There is no associated value. }; # > # Make thread safe # With this option enabled, this allocator will be # made thread-safe. Additionally allocation functions # are added that allow a thread to wait until memory # are made available that allow a thread to wait # until memory is available. # cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_THREADAWARE { # ActiveIf constraint: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Coalesce memory # 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. # cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE # Requires: CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE }; # < # Doug Lea's malloc # This component contains configuration options related to the # port of Doug Lea's memory allocator, normally known as # dlmalloc. dlmalloc has a reputation for being both fast # and space-conserving, as well as resisting fragmentation well. # It is a common choice for a general purpose allocator and # has been used in both newlib and Linux glibc. # cdl_component CYGPKG_MEMALLOC_ALLOCATOR_DLMALLOC { # There is no associated value. }; # > # Debug build # Doug Lea's malloc implementation has substantial amounts # of internal checking in order to verify the operation # and consistency of the allocator. However this imposes # substantial overhead on each operation. Therefore this # checking may be individually disabled. # cdl_option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 != CYGDBG_USE_ASSERTS # CYGDBG_USE_ASSERTS == 1 # --> 1 # Requires: CYGDBG_USE_ASSERTS # CYGDBG_USE_ASSERTS == 1 # --> 1 }; # Make thread safe # With this option enabled, this allocator will be # made thread-safe. Additionally allocation functions # are made available that allow a thread to wait # until memory is available. # cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_THREADAWARE { # ActiveIf constraint: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 }; # Support more than one instance # Having this option disabled allows important # implementation structures to be declared as a single # static instance, allowing faster access. However this # would fail if there is more than one instance of # the dlmalloc allocator class. Therefore this option can # be enabled if multiple instances are required. Note: as # a special case, if this allocator is used as the # implementation of malloc, and it can be determined there # is more than one malloc pool, then this option will be # silently enabled. # cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_SAFE_MULTIPLE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Use system memcpy() and memset() # This may be used to control whether memset() and memcpy() # are used within the implementation. The alternative is # to use some macro equivalents, which some people report # are faster in some circumstances. # cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 != CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 # Requires: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 }; # Minimum alignment of allocated blocks # This option controls the minimum alignment that the # allocated memory blocks are aligned on, specified as # 2^N. Note that using large mininum alignments can lead # to excessive memory wastage. # cdl_option CYGNUM_MEMALLOC_ALLOCATOR_DLMALLOC_ALIGNMENT { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 3 # value_source default # Default value: 3 # Legal values: 3 to 10 }; # < # Variable block allocator with separate metadata # This component contains configuration options related to the # variable block memory allocator with separate metadata. # cdl_component CYGPKG_MEMALLOC_ALLOCATOR_SEPMETA { # There is no associated value. }; # > # Make thread safe # With this option enabled, this allocator will be # made thread-safe. Additionally allocation functions # are made available that allow a thread to wait # until memory is available. # cdl_option CYGSEM_MEMALLOC_ALLOCATOR_SEPMETA_THREADAWARE { # ActiveIf constraint: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # < # Kernel C API support for memory allocation # This option must be enabled to provide the extensions required # to support integration into the kernel C API. # cdl_option CYGFUN_MEMALLOC_KAPI { # ActiveIf constraint: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: CYGFUN_KERNEL_API_C # CYGFUN_KERNEL_API_C == 1 # --> 1 }; # malloc(0) returns NULL # This option controls the behavior of malloc(0) ( or calloc with # either argument 0 ). It is permitted by the standard to return # either a NULL pointer or a unique pointer. Enabling this option # forces a NULL pointer to be returned. # cdl_option CYGSEM_MEMALLOC_MALLOC_ZERO_RETURNS_NULL { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Breakpoint site when running out of memory # Whenever the system runs out of memory, it invokes this function # before either going to sleep waiting for memory to become # available or returning failure. # cdl_option CYGSEM_MEMALLOC_INVOKE_OUT_OF_MEMORY { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # malloc() and supporting allocators # This component enables support for dynamic memory # allocation as supplied by the functions malloc(), # free(), calloc() and realloc(). As these # functions are often used, but can have quite an # overhead, disabling them here can ensure they # cannot even be used accidentally when static # allocation is preferred. Within this component are # various allocators that can be selected for use # as the underlying implementation of the dynamic # allocation functions. # cdl_component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS { # ActiveIf constraint: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Use external heap definition # This option allows other components in the # system to override the default system # provision of heap memory pools. This should # be set to a header which provides the equivalent # definitions to . # cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_HEAP_H { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # malloc() allocator implementations # cdl_interface CYGINT_MEMALLOC_MALLOC_ALLOCATORS { # Implemented by CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE, active, disabled # Implemented by CYGIMP_MEMALLOC_MALLOC_DLMALLOC, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1 # CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_MEMALLOC_MALLOC_ALLOCATORS # Requires: CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1 }; # malloc() implementation instantiation data # Memory allocator implementations that are capable of being # used underneath malloc() must be instantiated. The code # to do this is set in this option. It is only intended to # be set by the implementation, not the user. # cdl_option CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER { # Flavor: data # No user value, uncomment the following line to provide one. # user_value # value_source default # Default value: # The following properties are affected by this value # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "" # option CYGIMP_MEMALLOC_MALLOC_DLMALLOC # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "" }; # Simple variable block implementation # This causes malloc() to use the simple # variable block allocator. # cdl_option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "" # CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == # --> 0 # Requires: CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE # CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE == 1 # --> 1 }; # Doug Lea's malloc implementation # This causes malloc() to use a version of Doug Lea's # malloc (dlmalloc) as the underlying implementation. # cdl_option CYGIMP_MEMALLOC_MALLOC_DLMALLOC { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "" # CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == # --> 1 }; # < # Size of the fallback dynamic memory pool in bytes # If *no* heaps are configured in your memory layout, # dynamic memory allocation by # malloc() and calloc() must be from a fixed-size, # contiguous memory pool (note here that it is the # pool that is of a fixed size, but malloc() is still # able to allocate variable sized chunks of memory # from it). This option is the size # of that pool, in bytes. Note that not all of # this is available for programs to # use - some is needed for internal information # about memory regions, and some may be lost to # ensure that memory allocation only returns # memory aligned on word (or double word) # boundaries - a very common architecture # constraint. # cdl_option CYGNUM_MEMALLOC_FALLBACK_MALLOC_POOL_SIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 16384 # value_source default # Default value: 16384 # Legal values: 32 to 0x7fffffff }; # Common memory allocator package build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_MEMALLOC_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building this package. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_MEMALLOC_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building this package. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_MEMALLOC_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Tests # This option specifies the set of tests for this package. # cdl_option CYGPKG_MEMALLOC_TESTS { # Calculated value: "tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2" # Flavor: data # Current_value: tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2 }; # < # < # ISO C library # doc: ref/libc.html # The packages under this package enable compatibility with the ISO C # standard - ISO/IEC 9899:1990. This allows the user application to use # well known standard C library functions, and in eCos starts a thread # to invoke the user function main(). This package is a top-level placeholder # to contain the implementations. # cdl_package CYGPKG_LIBC { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # The following properties are affected by this value # component CYGNUM_LIBM_COMPATIBILITY # Requires: CYGPKG_LIBC }; # > # ISO C library date and time functions # doc: ref/libc.html # This package provides time functions specified by the # ISO C standard - ISO/IEC 9899:1990. # cdl_package CYGPKG_LIBC_TIME { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGBLD_ISO_C_TIME_TYPES_HEADER == "" # CYGBLD_ISO_C_TIME_TYPES_HEADER == # --> 1 # Requires: CYGBLD_ISO_C_CLOCK_FUNCS_HEADER == "" # CYGBLD_ISO_C_CLOCK_FUNCS_HEADER == # --> 1 # Requires: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 # Requires: CYGINT_ISO_DIV # CYGINT_ISO_DIV == 1 # --> 1 # Requires: CYGINT_ISO_ABS # CYGINT_ISO_ABS == 1 # --> 1 # The following properties are affected by this value # package CYGPKG_NET_SNTP # Requires: CYGPKG_LIBC_TIME }; # > # Working clock() function # This option controls whether clock() will # actually try and determine the process time # usage. With this option disabled, clock() does # not disappear, but will permanently return # (clock_t)-1 as mandated by the ISO C standard. # cdl_option CYGSEM_LIBC_TIME_CLOCK_WORKING { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGFUN_KERNEL_THREADS_TIMER # CYGFUN_KERNEL_THREADS_TIMER == 1 # --> 1 # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 # --> 1 }; # Working time() function # This option controls whether time() will # actually try and determine the current calendar # time. With this option disabled, time() does # not disappear, but will permanently return # (time_t)-1 as mandated by the ISO C standard. # cdl_option CYGSEM_LIBC_TIME_TIME_WORKING { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGPKG_IO_WALLCLOCK # CYGPKG_IO_WALLCLOCK == current # --> 1 # The following properties are affected by this value # package CYGPKG_NET_SNTP # Requires: CYGSEM_LIBC_TIME_TIME_WORKING }; # Working cyg_libc_time_settime() function # This option controls whether cyg_libc_time_settime() # will actually try and set the current calendar # time. With this option disabled, # cyg_libc_time_settime() does not disappear, but # will permanently return an error. # cdl_option CYGSEM_LIBC_TIME_SETTIME_WORKING { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGPKG_IO_WALLCLOCK # CYGPKG_IO_WALLCLOCK == current # --> 1 # The following properties are affected by this value # package CYGPKG_NET_SNTP # Requires: CYGSEM_LIBC_TIME_SETTIME_WORKING }; # POSIX time functions # Enabling this option allows the use of the # following functions defined in POSIX 1003.1: # asctime_r(), ctime_r(), gmtime_r(), strptime(), and # localtime_r(). # cdl_option CYGFUN_LIBC_TIME_POSIX { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGINT_ISO_STRING_BSD_FUNCS # CYGINT_ISO_STRING_BSD_FUNCS == 1 # --> 1 # The following properties are affected by this value # option CYGIMP_LIBC_TIME_ASCTIME_R_INLINE # Requires: CYGFUN_LIBC_TIME_POSIX # option CYGIMP_LIBC_TIME_CTIME_R_INLINE # Requires: CYGFUN_LIBC_TIME_POSIX # option CYGIMP_LIBC_TIME_GMTIME_R_INLINE # Requires: CYGFUN_LIBC_TIME_POSIX # option CYGIMP_LIBC_TIME_LOCALTIME_R_INLINE # Requires: CYGFUN_LIBC_TIME_POSIX # option CYGPKG_LIBC_TIME_TESTS # Calculated: # "tests/asctime tests/clock tests/ctime tests/gmtime tests/localtime tests/mktime tests/strftime tests/time " # . (CYGFUN_LIBC_TIME_POSIX ? "tests/strptime" : "") # }; # Single UNIX extensions # Enabling this option allows the use of # certain additional conversion specifiers # in the strftime function. # cdl_option CYGFUN_LIBC_TIME_SUS_EXTNS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Time zone offsets # These options control the default STandarD (STD) # and Daylight Savings Time (DST) # time offsets so that dates can be set correctly # for the local environment. # cdl_component CYGPKG_LIBC_TIME_ZONES { # There is no associated value. }; # > # Default Daylight Savings Time state # This option controls whether the initial # time environment is set up as STD, DST or # unknown. Use the value 1 for DST, 0 for STD, # and (-1) for unknown. This can also be set at # runtime using the cyg_libc_time_setdst() # function. # cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_STATE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value -1 # value_source default # Default value: -1 # Legal values: -1 to 1 }; # Default Standard Time offset # This option controls the offset from UTC in # seconds when in local Standard Time. This # value can be positive or negative. It # can also be set at run time using the # cyg_libc_time_setzoneoffsets() function. # cdl_option CYGNUM_LIBC_TIME_STD_DEFAULT_OFFSET { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: -90000 to 90000 }; # Default Daylight Savings Time offset # This option controls the offset from UTC in # seconds when in local Daylight Savings Time. This # value can be positive or negative. It # can also be set at run time using the # cyg_libc_time_setzoneoffsets() function. # cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 3600 # value_source default # Default value: 3600 # Legal values: -90000 to 90000 }; # < # Inline functions # These options control whether certain functions # are available in inline form. This may lead to # faster code at the expense of code space. But for # some functions, or some functions with constant # arguments, it may in fact lead to smaller code. # cdl_component CYGPKG_LIBC_TIME_INLINES { # There is no associated value. }; # > # asctime() # Allow the asctime() function to be inlined # cdl_option CYGIMP_LIBC_TIME_ASCTIME_INLINE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # ctime() # Allow the ctime() function to be inlined # cdl_option CYGIMP_LIBC_TIME_CTIME_INLINE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # difftime() # Allow the difftime() function to be inlined # cdl_option CYGIMP_LIBC_TIME_DIFFTIME_INLINE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # gmtime() # Allow the gmtime() function to be inlined # cdl_option CYGIMP_LIBC_TIME_GMTIME_INLINE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # localtime() # Allow the localtime() function to be inlined # cdl_option CYGIMP_LIBC_TIME_LOCALTIME_INLINE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # mktime() # Allow the mktime() function to be inlined # cdl_option CYGIMP_LIBC_TIME_MKTIME_INLINE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # asctime_r() # Allow the asctime_r() function to be inlined # cdl_option CYGIMP_LIBC_TIME_ASCTIME_R_INLINE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGFUN_LIBC_TIME_POSIX # CYGFUN_LIBC_TIME_POSIX == 1 # --> 1 }; # ctime_r() # Allow the ctime_r() function to be inlined # cdl_option CYGIMP_LIBC_TIME_CTIME_R_INLINE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGFUN_LIBC_TIME_POSIX # CYGFUN_LIBC_TIME_POSIX == 1 # --> 1 }; # gmtime_r() # Allow the gmtime_r() function to be inlined # cdl_option CYGIMP_LIBC_TIME_GMTIME_R_INLINE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGFUN_LIBC_TIME_POSIX # CYGFUN_LIBC_TIME_POSIX == 1 # --> 1 }; # localtime_r() # Allow the localtime_r() function to be inlined # cdl_option CYGIMP_LIBC_TIME_LOCALTIME_R_INLINE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGFUN_LIBC_TIME_POSIX # CYGFUN_LIBC_TIME_POSIX == 1 # --> 1 }; # < # clock() tracing level # Trace verbosity level for debugging the clock() # function. Increase this value to get # additional trace output when tracing is enabled. # cdl_option CYGNUM_LIBC_TIME_CLOCK_TRACE_LEVEL { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: 0 to 1 }; # C library time functions build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_LIBC_TIME_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the C library. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_LIBC_TIME_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value -Wno-format # value_source default # Default value: -Wno-format }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the C library. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_LIBC_TIME_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # C library time and date function tests # This option specifies the set of tests for the C library # time and date functions. # cdl_option CYGPKG_LIBC_TIME_TESTS { # Calculated value: # "tests/asctime tests/clock tests/ctime tests/gmtime tests/localtime tests/mktime tests/strftime tests/time " # . (CYGFUN_LIBC_TIME_POSIX ? "tests/strptime" : "") # # CYGFUN_LIBC_TIME_POSIX == 1 # Flavor: data # Current_value: tests/asctime tests/clock tests/ctime tests/gmtime tests/localtime tests/mktime tests/strftime tests/time tests/strptime }; # < # < # ISO C library general utility functions # doc: ref/libc.html # This package provides general utility functions in # as specified by the ISO C standard - ISO/IEC 9899:1990. # cdl_package CYGPKG_LIBC_STDLIB { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 # Requires: CYGINT_ISO_CTYPE # CYGINT_ISO_CTYPE == 1 # --> 1 # Requires: CYGINT_ISO_STRING_STRFUNCS # CYGINT_ISO_STRING_STRFUNCS == 1 # --> 1 }; # > # Inline versions of functions # This option chooses whether some of the # particularly simple standard utility functions # from are available as inline # functions. This may improve performance, and as # the functions are small, may even improve code # size. # cdl_component CYGIMP_LIBC_STDLIB_INLINES { # There is no associated value. }; # > # abs() / labs() # cdl_option CYGIMP_LIBC_STDLIB_INLINE_ABS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGBLD_ISO_STDLIB_ABS_HEADER == "" # CYGBLD_ISO_STDLIB_ABS_HEADER == # --> 1 }; # div() / ldiv() # cdl_option CYGIMP_LIBC_STDLIB_INLINE_DIV { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGBLD_ISO_STDLIB_DIV_HEADER == "" # CYGBLD_ISO_STDLIB_DIV_HEADER == # --> 1 }; # atof() / atoi() / atol() # cdl_option CYGIMP_LIBC_STDLIB_INLINE_ATOX { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGBLD_ISO_STDLIB_STRCONV_HEADER == "" # CYGBLD_ISO_STDLIB_STRCONV_HEADER == # --> 1 }; # < # Random number generation # These options control the behaviour of the # functions rand(), srand() and rand_r() # cdl_component CYGPKG_LIBC_RAND { # There is no associated value. }; # > # Per-thread random seed # doc: ref/libc-thread-safety.html # This option controls whether the pseudo-random # number generation functions rand() and srand() # have their state recorded on a per-thread # basis rather than global. If this option is # disabled, some per-thread space can be saved. # Note there is also a POSIX-standard rand_r() # function to achieve a similar effect with user # support. Enabling this option will use one slot # of kernel per-thread data. You should ensure you # have enough slots configured for all your # per-thread data. # cdl_option CYGSEM_LIBC_PER_THREAD_RAND { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGVAR_KERNEL_THREADS_DATA # CYGVAR_KERNEL_THREADS_DATA == 1 # --> 1 }; # Random number seed # This selects the initial random number seed for # rand()'s pseudo-random number generator. For # strict ISO standard compliance, this should be 1, # as per section 7.10.2.2 of the standard. # cdl_option CYGNUM_LIBC_RAND_SEED { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Legal values: 0 to 0x7fffffff }; # Tracing level # Trace verbosity level for debugging the rand(), # srand() and rand_r() functions. Increase this # value to get additional trace output. # cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: 0 to 1 }; # Simplest implementation # This provides a very simple implementation of rand() # that does not perform well with randomness in the # lower significant bits. However it is exceptionally # fast. It uses the sample algorithm from the ISO C # standard itself. # cdl_option CYGIMP_LIBC_RAND_SIMPLEST { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Simple implementation #1 # This provides a very simple implementation of rand() # based on the simplest implementation above. However # it does try to work around the lack of randomness # in the lower significant bits, at the expense of a # little speed. # cdl_option CYGIMP_LIBC_RAND_SIMPLE1 { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Knuth implementation #1 # This implements a slightly more complex algorithm # published in Donald E. Knuth's Art of Computer # Programming Vol.2 section 3.6 (p.185 in the 3rd ed.). # This produces better random numbers than the # simplest approach but is slower. # cdl_option CYGIMP_LIBC_RAND_KNUTH1 { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # Provides strtod() # This option allows use of the utility function # strtod() (and consequently atof()) to convert # from string to double precision floating point # numbers. Disabling this option removes the # dependency on the math library package. # cdl_option CYGFUN_LIBC_strtod { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 != CYGPKG_LIBM # CYGPKG_LIBM == current # --> 1 # Requires: CYGPKG_LIBM # CYGPKG_LIBM == current # --> 1 }; # Provides long long conversion functions # Enabling this option will provide support for the strtoll(), # strtoull() and atoll() conversion functions, which are # the long long variants of the standard versions of these # functions. Supporting this requires extra code and compile # time. # cdl_option CYGFUN_LIBC_STDLIB_CONV_LONGLONG { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGFUN_LIBC_STDIO_LONGLONG # Requires: CYGFUN_LIBC_STDLIB_CONV_LONGLONG }; # bsearch() tracing level # Trace verbosity level for debugging the # binary search function bsearch(). Increase this # value to get additional trace output. # cdl_option CYGNUM_LIBC_BSEARCH_TRACE_LEVEL { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: 0 to 1 }; # qsort() tracing level # Trace verbosity level for debugging the # quicksort function qsort(). Increase this value # to get additional trace output. # cdl_option CYGNUM_LIBC_QSORT_TRACE_LEVEL { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: 0 to 1 }; # C library stdlib build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_LIBC_STDLIB_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building this package. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building this package. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # C library stdlib tests # This option specifies the set of tests for this package. # cdl_option CYGPKG_LIBC_STDLIB_TESTS { # Calculated value: "tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul" # Flavor: data # Current_value: tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul }; # < # < # ISO C library string functions # doc: ref/libc.html # This package provides string functions specified by the # ISO C standard - ISO/IEC 9899:1990. # cdl_package CYGPKG_LIBC_STRING { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == "" # CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == # --> 1 # Requires: CYGBLD_ISO_STRING_MEMFUNCS_HEADER == "" # CYGBLD_ISO_STRING_MEMFUNCS_HEADER == # --> 1 # Requires: CYGBLD_ISO_STRING_STRFUNCS_HEADER == "" # CYGBLD_ISO_STRING_STRFUNCS_HEADER == # --> 1 # Requires: CYGBLD_ISO_STRTOK_R_HEADER == "" # CYGBLD_ISO_STRTOK_R_HEADER == # --> 1 # Requires: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 }; # > # Inline versions of functions # This option chooses whether some of the # particularly simple string functions from # are available as inline # functions. This may improve performance, and as # the functions are small, may even improve code # size. # cdl_option CYGIMP_LIBC_STRING_INLINES { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Optimize string functions for code size # This option tries to reduce string function # code size at the expense of execution speed. The # same effect can be produced if the code is # compiled with the -Os option to the compiler. # cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Provide BSD compatibility functions # Enabling this option causes various compatibility functions # commonly found in the BSD UNIX operating system to be included. # These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp, # strncasecmp, index, rindex and swab. # cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == "" # CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == # --> 1 # Requires: CYGINT_ISO_CTYPE # CYGINT_ISO_CTYPE == 1 # --> 1 }; # strtok # These options control the behaviour of the # strtok() and strtok_r() string tokenization # functions. # cdl_component CYGPKG_LIBC_STRING_STRTOK { # There is no associated value. }; # > # Per-thread strtok() # This option controls whether the string function # strtok() has its state recorded on a per-thread # basis rather than global. If this option is # disabled, some per-thread space can be saved. # Note there is also a POSIX-standard strtok_r() # function to achieve a similar effect with user # support. Enabling this option will use one slot # of kernel per-thread data. You should ensure you # have enough slots configured for all your # per-thread data. # cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK { # ActiveIf constraint: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: CYGVAR_KERNEL_THREADS_DATA # CYGVAR_KERNEL_THREADS_DATA == 1 # --> 1 # Requires: CYGVAR_KERNEL_THREADS_DATA # CYGVAR_KERNEL_THREADS_DATA == 1 # --> 1 }; # Tracing level # Trace verbosity level for debugging the # functions strtok() and strtok_r(). Increase this # value to get additional trace output. # cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: 0 to 1 }; # < # strdup # This option indicates whether strdup() is to be supported. # cdl_option CYGFUN_LIBC_STRING_STRDUP { # ActiveIf constraint: CYGINT_ISO_MALLOC # CYGINT_ISO_MALLOC == 1 # --> 1 # Calculated value: 1 # Flavor: bool # Current value: 1 }; # C library string functions build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_LIBC_STRING_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the C library. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the C library. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # C library string function tests # This option specifies the set of tests for the C library # string functions. # cdl_option CYGPKG_LIBC_STRING_TESTS { # Calculated value: "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" # Flavor: data # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2 }; # < # < # ISO C library internationalization functions # doc: ref/libc.html # This package provides internationalization functions specified by the # ISO C standard - ISO/IEC 9899:1990. These include locale-related # functionality and functionality. # cdl_package CYGPKG_LIBC_I18N { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 # The following properties are affected by this value # package CYGPKG_LIBC_STDIO # Requires: CYGPKG_LIBC_I18N }; # > # Supported locales # These options determine which locales other than the "C" locale # are supported and hence contribute to the size of the executable. # cdl_component CYGPKG_LIBC_I18N_LOCALES { # There is no associated value. }; # > # Support for multiple locales required # cdl_interface CYGINT_LIBC_I18N_MB_REQUIRED { # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_SJIS, active, disabled # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_JIS, active, disabled # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_EUCJP, active, disabled # This value cannot be modified here. # Flavor: booldata # Current value: 0 0 # Requires: CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER == "" # CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER == 0 # --> 0 # The following properties are affected by this value }; # C-SJIS locale support # This option controls if the "C-SJIS" locale will be # supported by setlocale(). The locale is a hybrid locale # that is mostly the "C" locale with Japanese SJIS multibyte # support added. # cdl_option CYGFUN_LIBC_I18N_LOCALE_C_SJIS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # The following properties are affected by this value # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE # LegalValues: (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 : (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 : (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE # DefaultValue: (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 : (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 : (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) }; # C-JIS locale support # This option controls if the "C-JIS" locale will be # supported by setlocale(). The locale is a hybrid locale # that is mostly the "C" locale with Japanese JIS multibyte # support added. # cdl_option CYGFUN_LIBC_I18N_LOCALE_C_JIS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # The following properties are affected by this value # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE # LegalValues: (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 : (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 : (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE # DefaultValue: (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 : (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 : (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) }; # C-EUCJP locale support # This option controls if the "C-EUCJP" locale will be # supported by setlocale(). The locale is a hybrid locale # that is mostly the "C" locale with Japanese EUCJP multibyte # support added. # cdl_option CYGFUN_LIBC_I18N_LOCALE_C_EUCJP { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # The following properties are affected by this value # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE # LegalValues: (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 : (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 : (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE # DefaultValue: (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 : (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 : (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) }; # < # Newlib's ctype implementation # This option enables the implementation of the ctype functions # that comes with newlib. It is table driven and therefore # exhibits different performance characteristics. It also offers # a limited amount of binary compatibility # with newlib so that programs linked against newlib ctype/locale # do not need to be recompiled when linked with eCos. # cdl_option CYGPKG_LIBC_I18N_NEWLIB_CTYPE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGBLD_ISO_CTYPE_HEADER == "" # CYGBLD_ISO_CTYPE_HEADER == # --> 0 }; # Per-thread multibyte state # This option controls whether the multibyte character # handling functions mblen(), mbtowc(), and wctomb(), # have their state recorded on a per-thread # basis rather than global. If this option is # disabled, some per-thread space can be saved. # Enabling this option will use three slots # of kernel per-thread data. You should ensure you # have enough slots configured for all your # per-thread data. # cdl_option CYGSEM_LIBC_I18N_PER_THREAD_MB { # ActiveIf constraint: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: CYGVAR_KERNEL_THREADS_DATA != 0 # CYGVAR_KERNEL_THREADS_DATA == 1 # --> 1 # Requires: CYGVAR_KERNEL_THREADS_DATA # CYGVAR_KERNEL_THREADS_DATA == 1 # --> 1 }; # Size of locale name strings # This option controls the maximum size of # locale names and is used, among other things # to instantiate a static string used # as a return value from the # setlocale() function. When requesting the # current locale settings with LC_ALL, a string # must be constructed to contain this data, rather # than just returning a constant string. This # string data is stored in the static string. # This depends on the length of locale names, # hence this option. If just the C locale is # present, this option can be set as low as 2. # cdl_option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 2 # value_source default # Default value: (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 : (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 : (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) # CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0 # CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0 # CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0 # --> 2 # Legal values: (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 : (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 : (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff # CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0 # CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0 # CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0 }; # Inline versions of functions # This option chooses whether the simple character # classification and conversion functions (e.g. # isupper(), isalpha(), toupper(), etc.) # from are available as inline # functions. This may improve performance and as # the functions are small, may even improve code # size. # cdl_option CYGIMP_LIBC_I18N_CTYPE_INLINES { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGBLD_ISO_CTYPE_HEADER == "" # CYGBLD_ISO_CTYPE_HEADER == # --> 1 }; # C library i18n functions build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_LIBC_I18N_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the C library. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_LIBC_I18N_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the C library. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_LIBC_I18N_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # C library i18n function tests # This option specifies the set of tests for the C library # i18n functions. # cdl_option CYGPKG_LIBC_I18N_TESTS { # Calculated value: "tests/ctype tests/setlocale tests/i18nmb" # Flavor: data # Current_value: tests/ctype tests/setlocale tests/i18nmb }; # < # < # ISO C library setjmp/longjmp functions # doc: ref/libc.html # This package provides non-local jumps based on setjmp() and # longjmp() in as specified by the ISO C # standard - ISO/IEC 9899:1990. # cdl_package CYGPKG_LIBC_SETJMP { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 # Requires: CYGBLD_ISO_SETJMP_HEADER == "" # CYGBLD_ISO_SETJMP_HEADER == # --> 1 }; # > # C library setjmp build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_LIBC_SETJMP_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building this package. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_LIBC_SETJMP_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building this package. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_LIBC_SETJMP_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # C library setjmp tests # This option specifies the set of tests for this package. # cdl_option CYGPKG_LIBC_SETJMP_TESTS { # Calculated value: "tests/setjmp" # Flavor: data # Current_value: tests/setjmp }; # < # < # ISO environment startup/termination # doc: ref/c-library-startup.html # This package manages the control of the # environment (in the general sense) that an # application would require for full ISO C / POSIX # compatibility, including a main() entry point # supplied with arguments and an environment # (as retrievable by the getenv() function). # It also includes at the other end of things, # what happens when main() returns or exit() is # called. # cdl_package CYGPKG_LIBC_STARTUP { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 # Requires: CYGINT_LIBC_STARTUP_CONTEXT == 1 # CYGINT_LIBC_STARTUP_CONTEXT == 1 # --> 1 # The following properties are affected by this value # component CYGPKG_POSIX_MAIN_THREAD # Requires: 0 != CYGPKG_LIBC_STARTUP }; # > # main() can be invoked elsewhere # Implementors of this interface show that they # allow main() to be invoked elsewhere. # cdl_interface CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE { # Implemented by CYGPKG_POSIX_MAIN_THREAD, active, enabled # This value cannot be modified here. # Flavor: bool # Current value: 1 # The following properties are affected by this value # option CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT # DefaultValue: 0 == CYGPKG_KERNEL && 0 == # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE # component CYGSEM_LIBC_STARTUP_MAIN_THREAD # DefaultValue: 0 != CYGPKG_KERNEL && 0 == CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE # option CYGSEM_LIBC_STARTUP_MAIN_OTHER # DefaultValue: 0 != CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE # option CYGSEM_LIBC_STARTUP_MAIN_OTHER # Requires: CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE }; # Arguments to main() # This option allows the setting of the arguments # to the main function. This only has any effect # when cyg_iso_c_start() is used to start the # ISO C compatibility. This will automatically # invoke main() in an ISO C compatible fashion. # This option is in fact used as argv, and so is # an n-tuple of string constants. The final # entry must be NULL. Conventionally if argv[0] # is supplied, it is used to inform the program # of its name. # cdl_option CYGDAT_LIBC_ARGUMENTS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "{\"\", NULL}" # value_source default # Default value: "{\"\", NULL}" }; # Startup context for main() # This component describes the options available for # what context main() is invoked in, such as in a thread # etc. # cdl_component CYGPKG_LIBC_STARTUP_CONTEXT { # There is no associated value. }; # > # Startup context implementors # cdl_interface CYGINT_LIBC_STARTUP_CONTEXT { # Implemented by CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT, active, disabled # Implemented by CYGSEM_LIBC_STARTUP_MAIN_THREAD, active, disabled # Implemented by CYGSEM_LIBC_STARTUP_MAIN_OTHER, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # The following properties are affected by this value # package CYGPKG_LIBC_STARTUP # Requires: CYGINT_LIBC_STARTUP_CONTEXT == 1 }; # Invoked from initialization context # With this option selected, main() will be # called via cyg_user_start() (unless the program # overrides the default cyg_user_start()). This # means it is run in the context of the system # initialization code, without the eCos kernel # scheduler running, and using the startup stack. # This means that any functions that may require # interactions with a running kernel will not # work (including libc functions, if configured # to be thread safe for example), so you should # restrict yourself to only calling fully # re-entrant functions from within main() in # this case. # cdl_option CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 == CYGPKG_KERNEL && 0 == # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE # CYGPKG_KERNEL == current # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 1 # --> 0 }; # Invoked as eCos thread # With this option selected, main() is invoked from an eCos # thread. # cdl_component CYGSEM_LIBC_STARTUP_MAIN_THREAD { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 != CYGPKG_KERNEL && 0 == CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE # CYGPKG_KERNEL == current # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 1 # --> 0 # Requires: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # The following properties are affected by this value # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) }; # > # System provides stack for main()'s thread # This option controls whether the stack of # main()'s thread is provided by the application or # provided by the system. When disabled, the # application must declare a pointer variable # cyg_libc_main_stack which is a pointer to an # appropriately aligned region of memory. The # application must also declare a variable of # type `int' called cyg_libc_main_stack_size # which contains the size of the stack in bytes. # This must be a multiple of 8. # cdl_option CYGSEM_LIBC_MAIN_STACK_FROM_SYSTEM { # This option is not active # The parent CYGSEM_LIBC_STARTUP_MAIN_THREAD is disabled # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Priority of main()'s thread # This option is used to provide the thread # priority which main()'s thread runs at. Be # sure to check that this number is appropriate # for the kernel scheduler chosen. Different # kernel schedulers impose different restrictions # on the usable priorities. # cdl_option CYGNUM_LIBC_MAIN_THREAD_PRIORITY { # This option is not active # The parent CYGSEM_LIBC_STARTUP_MAIN_THREAD is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 10 # value_source default # Default value: 10 # Legal values: 0 to 0x7fffffff }; # < # Invoked elsewhere # With this option selected, main() must be # invoked by a separate package, or by the user. # cdl_option CYGSEM_LIBC_STARTUP_MAIN_OTHER { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 != CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 1 # --> 1 # Requires: CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 1 # --> 1 # The following properties are affected by this value # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) # component CYGPKG_POSIX_MAIN_THREAD # Requires: CYGSEM_LIBC_STARTUP_MAIN_OTHER }; # < # Don't allow main()'s stack size to be set # This interface describes whether the stack size # value set in this package is supported by the # implementation that invokes main. If not, that # option is disabled. # cdl_interface CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE { # Implemented by CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT, active, disabled # This value cannot be modified here. # Flavor: bool # Current value: 0 # The following properties are affected by this value # option CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE # ActiveIf: !CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE }; # main()'s default thread stack size # This option sets the size of the stack used # in the context that invokes main(). For example, # with an eCos kernel, when the cyg_iso_c_start() # function is used to invoke the user-supplied # main() function in an ISO C compatible fashion, # a separate thread is created to call main(). # This option controls the size of that thread's # stack, which is allocated in the BSS. It # must be a multiple of 8. Note, a low number # here may be overriden by the HAL if there is # a minimum requirement to process interrupts # etc. This option cannot be set if the implementation # that invokes main() does not use it. # cdl_option CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE { # ActiveIf constraint: !CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE # CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE == 0 # --> 1 # Flavor: data # No user value, uncomment the following line to provide one. # user_value 8192 # value_source default # Default value: 8192 # Legal values: 16 to 0x7fffffff }; # Include atexit() function # This option enables the use of the atexit() # function, and ensure that the atexit handlers # are invoked from within exit() as defined in # the ISO C standard. # cdl_component CYGFUN_LIBC_ATEXIT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Number of functions atexit() supports # This option sets the number of functions # that atexit() has room for. In other words, # the number of separate atexit() calls that # can be made before calling exit() or returning # from main() ( in an environment controlled by # cyg_iso_c_start() ). For strict compliance # with the ISO C standard this should be at # least 32. # cdl_option CYGNUM_LIBC_ATEXIT_HANDLERS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 32 # value_source default # Default value: 32 # Legal values: 1 to 0x7fffffff }; # < # Make exit() call fflush() # This option will ensure that all output # streams are flushed when exitting using # exit() as prescribed by the ISO C standard. # cdl_option CYGSEM_LIBC_EXIT_CALLS_FFLUSH { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 != CYGINT_ISO_STDIO_FILEACCESS # CYGINT_ISO_STDIO_FILEACCESS == 1 # --> 1 # Requires: CYGINT_ISO_STDIO_FILEACCESS # CYGINT_ISO_STDIO_FILEACCESS == 1 # --> 1 }; # _exit() stops all threads # If this option is enabled then _exit(), # which is called from exit() which itself is # called on return from main(), stops the eCos # scheduler. For strict POSIX 1003.1 # compatibility this would be the normal # behaviour. To allow the thread to simply # exit, without affecting other threads, simply # leave this option disabled. If there is no eCos # scheduler, then _exit() simply loops # irrespective of the setting of this option. # cdl_option CYGSEM_LIBC_EXIT_STOPS_SYSTEM { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 }; # Default environment # This option allows the setting of the default # contents of the environment. This is in fact # the contents of the global environment pointer # char **environ defined by POSIX 1003.1. Strings # must be of the form NAME=VALUE, and the final # entry must be NULL. # cdl_option CYGDAT_LIBC_DEFAULT_ENVIRONMENT { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "{ NULL }" # value_source default # Default value: "{ NULL }" }; # Invoke default static constructors # This option causes the C library to call # static constructors with default priority # from within the context of the main() thread, # working with the co-operation of the HAL. # This may be needed for environments that # expect static constructors to be run in a # thread context. Note that this uses an object # with priority 65534. Therefore do not use # priority 65534 for any other static objects # with this option enabled. # cdl_option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG # CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG == 0 # --> 0 # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) # CYGSEM_LIBC_STARTUP_MAIN_THREAD == 0 # CYGSEM_LIBC_STARTUP_MAIN_OTHER == 1 # CYGPKG_POSIX_PTHREAD == 1 # --> 1 # The following properties are affected by this value # option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS }; # ISO environment startup/termination build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_LIBC_STARTUP_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building this package. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_LIBC_STARTUP_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building this package. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_LIBC_STARTUP_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # ISO environment startup/termination tests # This option specifies the set of tests for this package. # cdl_option CYGPKG_LIBC_STARTUP_TESTS { # Calculated value: "tests/atexit" # Flavor: data # Current_value: tests/atexit }; # < # < # ISO C library standard input/output functions # doc: ref/libc.html # This package provides standard input/output functions associated # with the header file as specified by the # ISO C standard - ISO/IEC 9899:1990. # cdl_package CYGPKG_LIBC_STDIO { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_IO # CYGPKG_IO == current # --> 1 # Requires: CYGPKG_LIBC_I18N # CYGPKG_LIBC_I18N == current # --> 1 # Requires: (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? CYGPKG_IO_SERIAL_HALDIAG : 1) # CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" # CYGPKG_IO_SERIAL_HALDIAG == 1 # --> 1 # Requires: CYGBLD_ISO_STDIO_FILETYPES_HEADER == "" # CYGBLD_ISO_STDIO_FILETYPES_HEADER == # --> 1 # Requires: CYGBLD_ISO_STDIO_FILEACCESS_HEADER == "" # CYGBLD_ISO_STDIO_FILEACCESS_HEADER == # --> 1 # Requires: CYGBLD_ISO_STDIO_FILEPOS_HEADER == "" # CYGBLD_ISO_STDIO_FILEPOS_HEADER == # --> 1 # Requires: CYGBLD_ISO_STDIO_FILEOPS_HEADER == "" # CYGBLD_ISO_STDIO_FILEOPS_HEADER == # --> 1 # Requires: CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == "" # CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == # --> 1 # Requires: CYGBLD_ISO_STDIO_CHAR_IO_HEADER == "" # CYGBLD_ISO_STDIO_CHAR_IO_HEADER == # --> 1 # Requires: CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == "" # CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == # --> 1 # Requires: CYGBLD_ISO_STDIO_ERROR_HEADER == "" # CYGBLD_ISO_STDIO_ERROR_HEADER == # --> 1 # Requires: CYGBLD_ISO_STDIO_STREAMS_HEADER == "" # CYGBLD_ISO_STDIO_STREAMS_HEADER == # --> 1 # Requires: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 # Requires: CYGINT_ISO_ERRNO_CODES # CYGINT_ISO_ERRNO_CODES == 1 # --> 1 # Requires: CYGINT_ISO_ERRNO # CYGINT_ISO_ERRNO == 1 # --> 1 # Requires: CYGINT_ISO_STRERROR # CYGINT_ISO_STRERROR == 1 # --> 1 # Requires: CYGINT_ISO_STRING_STRFUNCS # CYGINT_ISO_STRING_STRFUNCS == 1 # --> 1 # Requires: CYGINT_ISO_STRING_MEMFUNCS # CYGINT_ISO_STRING_MEMFUNCS == 1 # --> 1 # Requires: CYGINT_ISO_STDLIB_STRCONV # CYGINT_ISO_STDLIB_STRCONV == 1 # --> 1 # The following properties are affected by this value # option CYGSEM_LIBM_USE_STDERR # Requires: CYGPKG_LIBC_STDIO }; # > # Inline versions of functions # This option chooses whether some of the # particularly simple functions from # are available as inline # functions. This may improve performance, and as # the functions are small, may even improve code # size. # cdl_option CYGIMP_LIBC_STDIO_INLINES { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Permitted number of open files # This option controls the guaranteed minimum # number of simultaneously open files. The ISO # C standard requires it to be defined (para # 7.9.1), and if strictly compliant, it must be # at least 8 (para 7.9.3). In practice it can be # as low as 3 - for stdin, stdout and stderr. # cdl_option FOPEN_MAX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 8 # value_source default # Default value: 8 # Legal values: 3 to 0x7fffffff }; # Maximum length of filename # This option defines the maximum allowed size of # a filename in characters. The ISO C standard # requires it to be defined (para 7.9.1). # cdl_option FILENAME_MAX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 16 # value_source default # Default value: 16 # Legal values: 1 to 0x7fffffff }; # Maximum length of filenames for temporary files # This option defines the maximum allowed size of # filenames for temporary files as generated by # tmpnam(). It is measured in characters, and the # ISO C standard requires it to be defined (para # 7.9.1). # cdl_option L_tmpnam { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 16 # value_source default # Default value: 16 # Legal values: 4 to 0x7fffffff }; # Unique file names generated by tmpnam() # This option defines the minimum number of # unique file names generated by tmpnam(). The # ISO C standard requires it to be defined (para # 7.9.1) and for ISO compliance it should be at least # 25. Note that TMP_MAX names may not be generated # if L_tmpnam is too small. # cdl_option TMP_MAX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 25 # value_source default # Default value: 25 # Legal values: 1 to 0x7fffffff }; # Buffered I/O # This option controls whether input/output # through the functions is buffered. # This may save some memory per file. It # is equivalent to putting every file into # non-buffered mode (_IONBF) through setvbuf(), # except now it can never be altered back to # buffered mode. Disabling buffering is strictly # non-compliant with the ISO C standard. # cdl_component CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option BUFSIZ # Calculated: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0 # option CYGPKG_LIBC_STDIO_FILEIO # Requires: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO }; # > # Default buffer size # This option defines the default size of buffer # used with calls to setbuf(), and is the default # size for buffered streams that have not had # either setbuf() or setvbuf() invoked on them. # It is exactly equivalent to the standard # constant BUFSIZ, except that it is 0 if # CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO is disabled. # The ISO C standard requires this to be defined # (para 7.9.1), and says it must be at least 256 # (para 7.9.2). # cdl_option CYGNUM_LIBC_STDIO_BUFSIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 256 # value_source default # Default value: 256 # Legal values: 1 to 0x7fffffff # The following properties are affected by this value # option BUFSIZ # Calculated: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0 }; # setbuf()/setvbuf() allows dynamic setting # This option controls whether I/O buffers are # implemented dynamically within the stdio # implementation. Otherwise they will be static, # and cannot be changed by setbuf()/setvbuf(). If # they are static (i.e. this option is disabled), # any attempt to use an arbitrary buffer size, or # to pass a user-supplied buffer to setbuf() or # setvbuf() will fail - the buffer is implemented # internally as a static array taking the size # of the configuration option BUFSIZ. The only # exception is if a user buffer is not supplied, # and the buffer size requested is less than # BUFSIZ. In this case, the buffer will # be configured to only use that amount of # buffering. However the unused memory left over # will NOT be freed. If this option is enabled, # then setvbuf() can be used to assign a user supplied # buffer to the stream. # Either setting can be considered to # be compliant with the ISO C standard. # cdl_option CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF # option CYGPKG_LIBC_STDIO_FILEIO # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF }; # setbuf()/setvbuf() uses malloc() # This option controls whether buffers set by setbuf() and # setvbuf() may be allocated using malloc(). # cdl_option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 != CYGINT_ISO_MALLOC # CYGINT_ISO_MALLOC == 1 # --> 1 # Requires: CYGINT_ISO_MALLOC # CYGINT_ISO_MALLOC == 1 # --> 1 # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF # CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF == 1 # --> 1 }; # < # Default buffer size (BUFSIZ) # cdl_option BUFSIZ { # Calculated value: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0 # CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO == 1 # CYGNUM_LIBC_STDIO_BUFSIZE == 256 # Flavor: data # Current_value: 256 }; # Support for ungetc() # This option controls whether ungetc() is # supported. If not, then some space can be # saved, and speed is improved. Note that you # MUST have this defined if you want to use the # scanf() family of functions. # cdl_option CYGFUN_LIBC_STDIO_ungetc { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Dynamic opening/closing of files # fopen() and fclose() use dynamic memory # allocation routines to allocate memory for # new FILE structure pointers. If a malloc # implementation is available, this option # may be enabled to use # fopen() and fclose(). If disabled, only the # default console streams - stdin, stdout and # stderr - will be available. # cdl_component CYGPKG_LIBC_STDIO_OPEN { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 != CYGINT_ISO_MALLOC # CYGINT_ISO_MALLOC == 1 # --> 1 # Requires: CYGINT_ISO_MALLOC # CYGINT_ISO_MALLOC == 1 # --> 1 }; # > # POSIX fdopen/fileno functions # This identifies to the rest of the system # whether the POSIX fdopen() and # fileno() functions are implemented. # cdl_option CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS { # ActiveIf constraint: CYGPKG_LIBC_STDIO_FILEIO # CYGPKG_LIBC_STDIO_FILEIO == 1 # --> 1 # Calculated value: 1 # Flavor: bool # Current value: 1 }; # < # Default console device # This option allows you to choose the # default console device. In the current # implementation, all these devices begin # with the prefix /dev/ and are followed by # the name of a device. The name of the device # depends on the device drivers you have # configured in your system. For example, # /dev/ttydiag could be the HAL diagnostic output # pseudo-device, or /dev/tty0 could be your # first serial driver, depending on your # configuration. # cdl_option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "\"/dev/ttydiag\"" # value_source default # Default value: CYGDAT_IO_SERIAL_TTY_CONSOLE ? CYGDAT_IO_SERIAL_TTY_CONSOLE : "\"/dev/null\"" # CYGDAT_IO_SERIAL_TTY_CONSOLE == "\"/dev/ttydiag\"" # CYGDAT_IO_SERIAL_TTY_CONSOLE == "\"/dev/ttydiag\"" # --> "\"/dev/ttydiag\"" # The following properties are affected by this value # package CYGPKG_LIBC_STDIO # Requires: (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? CYGPKG_IO_SERIAL_HALDIAG : 1) }; # Floating point support # This component allows floating point support # to be enabled in certain standard I/O # functions. # cdl_component CYGPKG_LIBC_STDIO_FLOATING_POINT { # There is no associated value. }; # > # printf() family # This option enables the use of floating point # number output in the printf() family (i.e. # printf(), sprintf(), vprintf(), etc.) of # functions. A substantial amount of code space # can be saved if this option is disabled. If it # is disabled then floating point specifiers # (%e, %f, %g) are ignored, and nothing is # output. # cdl_option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 != CYGPKG_LIBM # CYGPKG_LIBM == current # --> 1 # Requires: CYGPKG_LIBM # CYGPKG_LIBM == current # --> 1 }; # scanf() family # This option enables the use of floating point # number conversion in the scanf() family (i.e. # scanf(), sscanf(), vscanf(), etc.) of # functions. A substantial amount of code space # can be saved if this option is disabled. If it # is disabled then floating point specifiers # (%e, %f, %g) are ignored, and nothing is # converted. # cdl_option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 != CYGPKG_LIBM && # 0 != CYGINT_ISO_STDLIB_STRCONV_FLOAT # CYGPKG_LIBM == current # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 1 # --> 1 # Requires: CYGPKG_LIBM # CYGPKG_LIBM == current # --> 1 # Requires: CYGINT_ISO_STDLIB_STRCONV_FLOAT # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 1 # --> 1 }; # < # Long long support # This option allows various functions in the C Standard I/O # library to support the 'long long' datatype. Doing so # will come with a noticeable code size penalty however. # cdl_option CYGFUN_LIBC_STDIO_LONGLONG { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGFUN_LIBC_STDLIB_CONV_LONGLONG # CYGFUN_LIBC_STDLIB_CONV_LONGLONG == 1 # --> 1 }; # Thread safe I/O streams # doc: ref/libc-thread-safety.html # This option controls whether standard I/O streams # are thread-safe. Having this option set allows # the streams to be locked when accessed by # multiple threads simultaneously. # cdl_option CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS { # ActiveIf constraint: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Enable use of FILEIO package for IO operations. # This CDL exists to control how the standard I/O functions # interface to the underlying I/O system. Either using the # File I/O package, or the generic I/O package which is used # by fewer devices. # cdl_option CYGPKG_LIBC_STDIO_FILEIO { # ActiveIf constraint: CYGPKG_IO_FILEIO # CYGPKG_IO_FILEIO == current # --> 1 # Calculated value: 1 # Flavor: bool # Current value: 1 # Requires: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO # CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO == 1 # --> 1 # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF # CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF == 1 # --> 1 # The following properties are affected by this value # option CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS # ActiveIf: CYGPKG_LIBC_STDIO_FILEIO }; # C library stdio functions build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_LIBC_STDIO_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the C library. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_LIBC_STDIO_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the C library. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_LIBC_STDIO_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # C library stdio function tests # This option specifies the set of tests for the C library # stdio functions. # cdl_option CYGPKG_LIBC_STDIO_TESTS { # Calculated value: # "tests/sprintf1 tests/sprintf2 tests/sscanf tests/stdiooutput " # . ((CYGPKG_IO_FILEIO && CYGPKG_FS_RAM) ? "tests/fileio " : "") # # CYGPKG_IO_FILEIO == current # CYGPKG_FS_RAM (unknown) == 0 # Flavor: data # Current_value: tests/sprintf1 tests/sprintf2 tests/sscanf tests/stdiooutput }; # < # < # < # Math library # doc: ref/libc.html # ISO standard floating point mathematical library # containing many useful functions for mathematical # calculations. # cdl_package CYGPKG_LIBM { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # The following properties are affected by this value # option CYGFUN_LIBC_strtod # Requires: CYGPKG_LIBM # option CYGFUN_LIBC_strtod # DefaultValue: 0 != CYGPKG_LIBM # option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT # Requires: CYGPKG_LIBM # option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT # DefaultValue: 0 != CYGPKG_LIBM # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT # Requires: CYGPKG_LIBM # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT # DefaultValue: 0 != CYGPKG_LIBM && # 0 != CYGINT_ISO_STDLIB_STRCONV_FLOAT }; # > # Compatibility mode # These options deal with behaviour related to # the various compatibility modes - POSIX, IEEE, # X/OPEN and SVID. # cdl_component CYGPKG_LIBM_COMPATIBILITY { # There is no associated value. }; # > # cdl_interface CYGINT_LIBM_COMPAT { # Implemented by CYGSEM_LIBM_COMPAT_IEEE_ONLY, active, disabled # Implemented by CYGNUM_LIBM_COMPATIBILITY, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 == CYGINT_LIBM_COMPAT # CYGINT_LIBM_COMPAT == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_LIBM_COMPAT # Requires: 1 == CYGINT_LIBM_COMPAT }; # IEEE-only # The math library can be hard-coded to only # behave in one compatibility mode - IEEE. This # cannot be changed at run-time. IEEE mode is the # most minimal of the compatibility modes, and so # this will best help code size and speed, as well # as omitting the code for other compatibility # modes. If not defined, the math library can be # set at run-time to any of the supported # compatibility modes. # cdl_option CYGSEM_LIBM_COMPAT_IEEE_ONLY { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # The following properties are affected by this value # option CYGSEM_LIBM_USE_STDERR # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY # option CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY }; # Default mode # If you want to have support for more than one # compatibility mode settable at run-time, rather # than hard-coded IEEE mode, this component lets # you choose which mode should be the default. # cdl_component CYGNUM_LIBM_COMPATIBILITY { # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 1 POSIX # value_source default # Default value: 1 POSIX # Legal values: "POSIX" "IEEE" "XOPEN" "SVID" # Requires: CYGPKG_LIBC # CYGPKG_LIBC == current # --> 1 # The following properties are affected by this value # option CYGNUM_LIBM_COMPAT_DEFAULT # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "" # option CYGNUM_LIBM_COMPAT_DEFAULT # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "" # option CYGNUM_LIBM_COMPAT_DEFAULT # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "" # option CYGNUM_LIBM_COMPAT_DEFAULT # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "" }; # > # Numeric representation # This option automatically defines the default compatibility # mode for numeric representation in terms of the values used # to set that mode at run-time. # cdl_option CYGNUM_LIBM_COMPAT_DEFAULT { # Calculated value: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "" # CYGNUM_LIBM_COMPATIBILITY == POSIX # CYGNUM_LIBM_COMPATIBILITY == POSIX # CYGNUM_LIBM_COMPATIBILITY == POSIX # CYGNUM_LIBM_COMPATIBILITY == POSIX # Flavor: data # Current_value: CYGNUM_LIBM_COMPAT_POSIX }; # < # SVID3-style scalb() # SVID3 defined the scalb() function as double # scalb(double, double) rather than double # scalb(double, int) which is used by IBM, DEC, and # probably others. Enabling this option chooses # the (double, double) version. Note there is a # function double scalbn(double, int) which is # unaffected by this choice. # cdl_option CYGFUN_LIBM_SVID3_scalb { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Reduce namespace pollution # If you do not want to use either the X/Open or # SVID3 compatibility modes, you may want to define # this option to reduce the chance of namespace # pollution. This is particularly likely to occur # here as these standards define symbols with # names that often appear in applications, such as # exception, DOMAIN, OVERFLOW, etc. If your # application also used these names, it may cause # problems. # cdl_option CYGSYM_LIBM_NO_XOPEN_SVID_NAMESPACE_POLLUTION { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Output to stderr for math errors # The SVID3 standard says that error # messages should be output on the stderr console # output stream. This option allows this ability # to be explicitly controlled. However, this still # only has an effect in SVID3 compatibility mode. # cdl_option CYGSEM_LIBM_USE_STDERR { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY # CYGSEM_LIBM_COMPAT_IEEE_ONLY == 0 # --> 1 # Requires: CYGPKG_LIBC_STDIO # CYGPKG_LIBC_STDIO == current # --> 1 }; # < # Thread safety # This option controls whether the C library has # support for thread safe operation in general. # This requires eCos kernel support for per-thread # data, and adjustment of the stack limit. # cdl_component CYGPKG_LIBM_THREAD_SAFETY { # There is no associated value. }; # > # Compatibility mode setting # This option makes the setting of the compatiblity # mode be a per-thread property. This directly # implies that it also becomes thread-safe. # cdl_option CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY # CYGSEM_LIBM_COMPAT_IEEE_ONLY == 0 # --> 1 # Requires: CYGVAR_KERNEL_THREADS_DATA # CYGVAR_KERNEL_THREADS_DATA == 1 # --> 1 # The following properties are affected by this value # option CYGNUM_LIBM_COMPATMODE_TRACE_LEVEL # Requires: CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE }; # gamma() and lgamma() # This option makes the gamma() and lgamma() # functions be thread-safe. Note that these # functions are identical - they take the log of # the absolute value of their argument. The sign # of the argument is stored in a variable called # signgam. Enabling this option makes signgam # a per-thread variable. Note there are also # gamma_r() and lgamma_r() alternatives that # allow signgam to be passed in by reference as # an argument. # cdl_option CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGVAR_KERNEL_THREADS_DATA # CYGVAR_KERNEL_THREADS_DATA == 1 # --> 1 # The following properties are affected by this value # option CYGNUM_LIBM_SIGNGAM_TRACE_LEVEL # Requires: CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS }; # < # Tracing output levels in math library # Tracing support is useful for debugging. Some # Math library modules can be configured with # different levels of tracing verbosity. These # levels can be configured here. # cdl_component CYGPKG_LIBM_TRACE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGDBG_USE_TRACING # CYGDBG_USE_TRACING == 0 # --> 0 }; # > # Compatibility mode get/set # Trace level for debugging the getting and # setting of the compatibility mode when it is # configured to be thread-safe. # cdl_option CYGNUM_LIBM_COMPATMODE_TRACE_LEVEL { # This option is not active # The parent CYGPKG_LIBM_TRACE is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: 0 to 1 # Requires: CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE # CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE == 0 # --> 0 }; # signgam variable access # Trace level for debugging all accesses to the # signgam variable in thread-safe mode. # cdl_option CYGNUM_LIBM_SIGNGAM_TRACE_LEVEL { # This option is not active # The parent CYGPKG_LIBM_TRACE is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: 0 to 1 # Requires: CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS # CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS == 0 # --> 0 }; # < # Bessel function limit of significance # For the Bessel functions (j0(), j1(), jn(), # y0(), y1(), yn()) this option defines the # maximum absolute value of the ordinate # before we assume total loss of significance. # This number must be a floating-point number (e.g. # contains a decimal point), and should be # large. # cdl_option X_TLOSS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 1.41484755040569E+16 # value_source default # Default value: 1.41484755040569E+16 # Legal values: 1 to 1e308 }; # Math library build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_LIBM_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the math library. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_LIBM_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: ((0 == CYGPKG_HAL_I386) && (0 == CYGPKG_HAL_SYNTH_I386)) ? "" : "-ffloat-store" # CYGPKG_HAL_I386 (unknown) == 0 # CYGPKG_HAL_SYNTH_I386 (unknown) == 0 # --> "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the math library. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_LIBM_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Math library tests # This option specifies the set of tests for the math library. # cdl_option CYGPKG_LIBM_TESTS { # Calculated value: "tests/vectors/acos tests/vectors/asin tests/vectors/atan tests/vectors/atan2 tests/vectors/ceil tests/vectors/cos tests/vectors/cosh tests/vectors/exp tests/vectors/fabs tests/vectors/floor tests/vectors/fmod tests/vectors/frexp tests/vectors/ldexp tests/vectors/log tests/vectors/log10 tests/vectors/modf tests/vectors/pow tests/vectors/sin tests/vectors/sinh tests/vectors/sqrt tests/vectors/tan tests/vectors/tanh" # Flavor: data # Current_value: tests/vectors/acos tests/vectors/asin tests/vectors/atan tests/vectors/atan2 tests/vectors/ceil tests/vectors/cos tests/vectors/cosh tests/vectors/exp tests/vectors/fabs tests/vectors/floor tests/vectors/fmod tests/vectors/frexp tests/vectors/ldexp tests/vectors/log tests/vectors/log10 tests/vectors/modf tests/vectors/pow tests/vectors/sin tests/vectors/sinh tests/vectors/sqrt tests/vectors/tan tests/vectors/tanh }; # < # < # POSIX compatibility layer # doc: ref/posix-compatibility.html # This package enables the POSIX compatibility # layer that implements IEEE 1003.1. # cdl_package CYGPKG_POSIX { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Requires: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 # Requires: CYGPKG_ERROR # CYGPKG_ERROR == current # --> 1 # Requires: CYGINT_ISO_ERRNO # CYGINT_ISO_ERRNO == 1 # --> 1 # Requires: CYGINT_ISO_ERRNO_CODES # CYGINT_ISO_ERRNO_CODES == 1 # --> 1 # Requires: CYGIMP_KERNEL_SCHED_SORTED_QUEUES # CYGIMP_KERNEL_SCHED_SORTED_QUEUES == 1 # --> 1 # Requires: CYGBLD_ISO_POSIX_LIMITS_HEADER == "" # CYGBLD_ISO_POSIX_LIMITS_HEADER == # --> 1 # Requires: CYGBLD_ISO_PMUTEXTYPES_HEADER == "" # CYGBLD_ISO_PMUTEXTYPES_HEADER == # --> 1 # Requires: CYGBLD_ISO_PTHREAD_MUTEX_HEADER == "" # CYGBLD_ISO_PTHREAD_MUTEX_HEADER == # --> 1 # The following properties are affected by this value # component CYGOPT_NET_IPV6_ROUTING_THREAD # Requires: CYGPKG_POSIX # package CYGPKG_MICROWINDOWS # Requires: CYGPKG_POSIX }; # > # POSIX mutex priority inheritance feature test macro # This option defines the POSIX feature test macro # for supporting priority inheritance protocol in # mutexes. # cdl_option _POSIX_THREAD_PRIO_INHERIT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT == 1 # --> 1 }; # POSIX mutex priority ceiling feature test macro # This option defines the POSIX feature test macro # for supporting priority ceiling protocol in mutexes. # cdl_option _POSIX_THREAD_PRIO_PROTECT { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING == 1 # --> 1 }; # POSIX scheduling configuration # This component provides controls over scheduling # in POSIX. # cdl_component CYGPKG_POSIX_SCHED { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGPKG_POSIX_CLOCKS # CYGPKG_POSIX_CLOCKS == 1 # --> 1 # The following properties are affected by this value # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS # Requires: CYGPKG_POSIX_SCHED }; # > # POSIX priority scheduling feature test macro # This option defines the POSIX feature test macro # that indicates that priority scheduling is present. # This should not be undefined. # cdl_option _POSIX_PRIORITY_SCHEDULING { # Calculated value: 1 # Flavor: bool # Current value: 1 # Requires: CYGSEM_KERNEL_SCHED_MLQUEUE # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 # --> 1 }; # < # POSIX pthread configuration # This component provides configuration controls for # the POSIX pthreads package. # cdl_component CYGPKG_POSIX_PTHREAD { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGPKG_POSIX_TIMERS # Requires: CYGPKG_POSIX_PTHREAD # component CYGPKG_POSIX_SIGNALS # Requires: CYGPKG_POSIX_PTHREAD # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) }; # > # Generic requirements of pthread package # This option exists merely to carry the pthread # package requirements. # cdl_option CYGPKG_POSIX_PTHREAD_REQUIREMENTS { # Calculated value: 1 # Flavor: bool # Current value: 1 # Requires: CYGPKG_POSIX_SCHED # CYGPKG_POSIX_SCHED == 1 # --> 1 # Requires: CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE # CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE == 1 # --> 1 # Requires: CYGSEM_KERNEL_SCHED_ASR_SUPPORT # CYGSEM_KERNEL_SCHED_ASR_SUPPORT == 1 # --> 1 # Requires: CYGSEM_KERNEL_SCHED_ASR_GLOBAL # CYGSEM_KERNEL_SCHED_ASR_GLOBAL == 1 # --> 1 # Requires: !CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL # CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL == 0 # --> 1 # Requires: CYGFUN_KERNEL_THREADS_STACK_LIMIT # CYGFUN_KERNEL_THREADS_STACK_LIMIT == 1 # --> 1 # Requires: CYGBLD_ISO_PTHREADTYPES_HEADER == "" # CYGBLD_ISO_PTHREADTYPES_HEADER == # --> 1 # Requires: CYGBLD_ISO_PTHREAD_IMPL_HEADER == "" # CYGBLD_ISO_PTHREAD_IMPL_HEADER == # --> 1 }; # Constant values used in pthread package # These are values that are either configurable, or derived # from system parameters. # cdl_component CYGPKG_POSIX_PTHREAD_VALUES { # Calculated value: 1 # Flavor: bool # Current value: 1 }; # > # Maximum number of iterations of key destructors # Maximum number of iterations of key destructors allowed. # cdl_option CYGNUM_POSIX_PTHREAD_DESTRUCTOR_ITERATIONS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 4 # value_source default # Default value: 4 # Legal values: 4 to 100 }; # Maximum number of per-thread data keys allowed # Number of per-thread data keys supported. # cdl_option CYGNUM_POSIX_PTHREAD_KEYS_MAX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 128 # value_source default # Default value: 128 # Legal values: 128 to 65535 }; # Maximum number of threads allowed # Maximum number of threads supported. # cdl_option CYGNUM_POSIX_PTHREAD_THREADS_MAX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 64 # value_source default # Default value: 64 # Legal values: 64 to 1024 }; # < # Fixed Feature test macros for POSIX # These options define POSIX feature test macros that # describe the eCos implementation of pthreads. These # are not changeable configuration options. # cdl_component CYGPKG_POSIX_PTHREAD_FEATURES { # Calculated value: 1 # Flavor: bool # Current value: 1 }; # > # POSIX thread support feature test macro # This option defines the POSIX feature test macro # for thread support. # cdl_option _POSIX_THREADS { # Calculated value: 1 # Flavor: bool # Current value: 1 # Requires: CYGSEM_KERNEL_SCHED_TIMESLICE # CYGSEM_KERNEL_SCHED_TIMESLICE == 1 # --> 1 # Requires: CYGVAR_KERNEL_THREADS_DATA # CYGVAR_KERNEL_THREADS_DATA == 1 # --> 1 # The following properties are affected by this value # option _POSIX_THREAD_PRIORITY_SCHEDULING # Requires: _POSIX_THREADS }; # POSIX thread priority scheduling feature test macro # This option defines the POSIX feature test macro # for thread priority scheduling support. # cdl_option _POSIX_THREAD_PRIORITY_SCHEDULING { # Calculated value: 1 # Flavor: bool # Current value: 1 # Requires: CYGSEM_KERNEL_SCHED_MLQUEUE # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 # --> 1 # Requires: _POSIX_THREADS # _POSIX_THREADS == 1 # --> 1 }; # POSIX stack address attribute feature test macro # This option defines the POSIX feature test macro # for supporting the thread stack address in the thread # attribute object. # cdl_option _POSIX_THREAD_ATTR_STACKADDR { # Calculated value: 1 # Flavor: bool # Current value: 1 }; # POSIX stack size attribute feature test macro # This option defines the POSIX feature test macro # for supporting the thread stack size in the thread # attribute object. # cdl_option _POSIX_THREAD_ATTR_STACKSIZE { # Calculated value: 1 # Flavor: bool # Current value: 1 }; # POSIX process shared attribute feature test macro # This option defines the POSIX feature test macro # for supporting process shared mutexes. Since eCos # does not have processes, this attribute is undefined. # cdl_option _POSIX_THREAD_PROCESS_SHARED { # Calculated value: 0 # Flavor: bool # Current value: 0 }; # < # Main thread configuration # These options control the thread used to # run the main() application entry routine. # cdl_component CYGPKG_POSIX_MAIN_THREAD { # Calculated value: 1 # Flavor: bool # Current value: 1 # Requires: 0 != CYGPKG_LIBC_STARTUP # CYGPKG_LIBC_STARTUP == current # --> 1 # Requires: CYGSEM_LIBC_STARTUP_MAIN_OTHER # CYGSEM_LIBC_STARTUP_MAIN_OTHER == 1 # --> 1 }; # > # main()'s default thread priority # POSIX compatibility requires that the application's # main() function be invoked in a thread. # This option controls the priority of that thread. This # priority is the POSIX priority and is NOT the same as # an eCos thread priority. With POSIX thread priorities, # lower numbers are lower priority, and higher numbers are # higher priority. # cdl_option CYGNUM_POSIX_MAIN_DEFAULT_PRIORITY { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 16 # value_source default # Default value: 16 # Legal values: 0 to 31 }; # < # < # POSIX clocks # This component provides configuration controls for # the POSIX clocks. # cdl_option CYGPKG_POSIX_CLOCKS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER == "" # CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER == # --> 1 # Requires: CYGBLD_ISO_POSIX_CLOCKS_HEADER == "" # CYGBLD_ISO_POSIX_CLOCKS_HEADER == # --> 1 # Requires: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 # --> 1 # The following properties are affected by this value # component CYGPKG_POSIX_SCHED # Requires: CYGPKG_POSIX_CLOCKS # option CYGPKG_POSIX_TIMERS # Requires: CYGPKG_POSIX_CLOCKS }; # POSIX timers # This component provides configuration controls for # the POSIX timers. # cdl_option CYGPKG_POSIX_TIMERS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER == "" # CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER == # --> 1 # Requires: CYGBLD_ISO_POSIX_TIMERS_HEADER == "" # CYGBLD_ISO_POSIX_TIMERS_HEADER == # --> 1 # Requires: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 # --> 1 # Requires: CYGPKG_POSIX_PTHREAD # CYGPKG_POSIX_PTHREAD == 1 # --> 1 # Requires: CYGPKG_POSIX_CLOCKS # CYGPKG_POSIX_CLOCKS == 1 # --> 1 # Requires: CYGPKG_POSIX_SIGNALS # CYGPKG_POSIX_SIGNALS == 1 # --> 1 # The following properties are affected by this value # component CYGPKG_POSIX_SIGNALS # Requires: CYGPKG_POSIX_TIMERS }; # POSIX semaphores # This component provides configuration controls for # POSIX semaphores. # cdl_option CYGPKG_POSIX_SEMAPHORES { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGBLD_ISO_SEMAPHORES_HEADER == "" # CYGBLD_ISO_SEMAPHORES_HEADER == # --> 1 }; # POSIX message queues # This component provides configuration controls for # POSIX message queues. # cdl_component CYGPKG_POSIX_MQUEUES { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Requires: CYGINT_ISO_MALLOC # CYGINT_ISO_MALLOC == 1 # --> 1 # Requires: CYGINT_ISO_ERRNO # CYGINT_ISO_ERRNO == 1 # --> 1 # Requires: CYGINT_ISO_STRING_STRFUNCS # CYGINT_ISO_STRING_STRFUNCS == 1 # --> 1 }; # > # Maximum number of message queues # cdl_option CYGNUM_POSIX_MQUEUE_OPEN_MAX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 8 # value_source default # Default value: 8 # Legal values: 1 to 999999 # The following properties are affected by this value # option CYGNUM_ISO_MQUEUE_OPEN_MAX # DefaultValue: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 # option CYGNUM_ISO_MQUEUE_OPEN_MAX # DefaultValue: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 }; # Validate queue descriptors # This option turns on checking that message queue descriptors # (of type mqd_t) passed into mq_* functions are valid. If so, # the functions will fail with EBADF, as POSIX 1003.1 mandates. # If this option is disabled, if an invalid descriptor is used, # random corruption may occur, or the system may crash. If # you are confident invalid descriptors will not be used, # you may wish to be disable this to save some per-instance # memory and execution time. # cdl_option CYGIMP_POSIX_MQUEUE_VALIDATE_DESCRIPTOR { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Allow empty queue notification # Enabling this option adds the function mq_notify() to the # API. Without it, some code and per-message queue descriptor # space is saved, as well as no longer requiring POSIX realtime # signal support. # cdl_option CYGFUN_POSIX_MQUEUE_NOTIFY { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: CYGPKG_POSIX_SIGNALS # CYGPKG_POSIX_SIGNALS == 1 # --> 1 # Requires: CYGPKG_POSIX_SIGNALS # CYGPKG_POSIX_SIGNALS == 1 # --> 1 }; # < # POSIX signals configuration # This component provides configuration controls for # the POSIX signals. # cdl_component CYGPKG_POSIX_SIGNALS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGPKG_KERNEL_EXCEPTIONS # CYGPKG_KERNEL_EXCEPTIONS == 1 # --> 1 # Requires: CYGPKG_POSIX_PTHREAD # CYGPKG_POSIX_PTHREAD == 1 # --> 1 # Requires: CYGPKG_POSIX_TIMERS # CYGPKG_POSIX_TIMERS == 1 # --> 1 # Requires: CYGBLD_ISO_SIGSETJMP_HEADER == "" # CYGBLD_ISO_SIGSETJMP_HEADER == # --> 1 # Requires: CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == "" # CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == # --> 1 # Requires: CYGBLD_ISO_SIGNAL_IMPL_HEADER == "" # CYGBLD_ISO_SIGNAL_IMPL_HEADER == # --> 1 # The following properties are affected by this value # option CYGPKG_POSIX_TIMERS # Requires: CYGPKG_POSIX_SIGNALS # option CYGFUN_POSIX_MQUEUE_NOTIFY # Requires: CYGPKG_POSIX_SIGNALS # option CYGFUN_POSIX_MQUEUE_NOTIFY # DefaultValue: CYGPKG_POSIX_SIGNALS # option CYGPKG_POSIX_TESTS # Calculated: # "tests/pthread1 tests/pthread2 tests/pthread3 tests/mutex3 tests/mqueue2" # . ((CYGPKG_POSIX_SIGNALS) ? " tests/mqueue1 tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp tests/timer1 tests/tm_basic" : "") # }; # POSIX utsname configuration # This component provides configuration controls for # the POSIX utsname structure and the uname() function. # cdl_component CYGPKG_POSIX_UTSNAME { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGBLD_ISO_UTSNAME_HEADER == "" # CYGBLD_ISO_UTSNAME_HEADER == # --> 1 }; # > # Length of name strings in utsname structure # cdl_option CYG_POSIX_UTSNAME_LENGTH { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 65 # value_source default # Default value: 65 # Legal values: 1 to 99999999 # The following properties are affected by this value # option CYG_POSIX_UTSNAME_NODENAME_LENGTH # DefaultValue: CYG_POSIX_UTSNAME_LENGTH }; # Length of nodename string in utsname structure # cdl_option CYG_POSIX_UTSNAME_NODENAME_LENGTH { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 65 # value_source default # Default value: CYG_POSIX_UTSNAME_LENGTH # CYG_POSIX_UTSNAME_LENGTH == 65 # --> 65 # Legal values: 1 to 99999999 }; # < # POSIX tests # This option specifies the set of tests for the POSIX package. # cdl_option CYGPKG_POSIX_TESTS { # Calculated value: # "tests/pthread1 tests/pthread2 tests/pthread3 tests/mutex3 tests/mqueue2" # . ((CYGPKG_POSIX_SIGNALS) ? " tests/mqueue1 tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp tests/timer1 tests/tm_basic" : "") # # CYGPKG_POSIX_SIGNALS == 1 # Flavor: data # Current_value: tests/pthread1 tests/pthread2 tests/pthread3 tests/mutex3 tests/mqueue2 tests/mqueue1 tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp tests/timer1 tests/tm_basic }; # < # Watchdog IO device # 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. # cdl_package CYGPKG_IO_WATCHDOG { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: 1 == CYGINT_WATCHDOG_IMPLEMENTATIONS # CYGINT_WATCHDOG_IMPLEMENTATIONS == 1 # --> 1 }; # > # Number of watchdog hardware implementations # cdl_interface CYGINT_WATCHDOG_HW_IMPLEMENTATIONS { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # option CYGPKG_WATCHDOG_EMULATE # DefaultValue: 0 == CYGINT_WATCHDOG_HW_IMPLEMENTATIONS }; # Number of watchdog implementations # cdl_interface CYGINT_WATCHDOG_IMPLEMENTATIONS { # Implemented by CYGPKG_WATCHDOG_EMULATE, active, enabled # Implemented by CYGIMP_WATCHDOG_NONE, active, disabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # The following properties are affected by this value # package CYGPKG_IO_WATCHDOG # Requires: 1 == CYGINT_WATCHDOG_IMPLEMENTATIONS }; # Watchdog implementation # Implementations of the watchdog device. # cdl_component CYGPKG_IO_WATCHDOG_IMPLEMENTATION { # There is no associated value. }; # > # Watchdog emulator # When this option is enabled, a watchdog device will be # emulated using the kernel real-time clock. # cdl_option CYGPKG_WATCHDOG_EMULATE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 == CYGINT_WATCHDOG_HW_IMPLEMENTATIONS # CYGINT_WATCHDOG_HW_IMPLEMENTATIONS == 0 # --> 1 # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 # --> 1 }; # No watchdog # Disables the watchdog. # cdl_option CYGIMP_WATCHDOG_NONE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # Set if device causes a reset on timeout # cdl_interface CYGINT_WATCHDOG_RESETS_ON_TIMEOUT { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # option CYGSEM_WATCHDOG_RESETS_ON_TIMEOUT # Calculated: CYGINT_WATCHDOG_RESETS_ON_TIMEOUT == 1 }; # Set if device causes a reset on timeout # 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 CYGSEM_WATCHDOG_RESETS_ON_TIMEOUT { # Calculated value: CYGINT_WATCHDOG_RESETS_ON_TIMEOUT == 1 # CYGINT_WATCHDOG_RESETS_ON_TIMEOUT == 0 # Flavor: bool # Current value: 0 # The following properties are affected by this value # option CYGPKG_IO_WATCHDOG_TESTS # 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" # option CYGPKG_IO_WATCHDOG_TESTS # 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" }; # Build interactive watchdog test # 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_option CYGPKG_IO_WATCHDOG_BUILD_INTERACTIVE_TEST { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # The following properties are affected by this value # option CYGPKG_IO_WATCHDOG_TESTS # 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" }; # Watchdog build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_IO_WATCHDOG_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # 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_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # 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_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Watchdog tests # This option specifies the set of tests for the # watchdog IO device. # cdl_option CYGPKG_IO_WATCHDOG_TESTS { # Calculated value: 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" # CYGPKG_IO_WATCHDOG_BUILD_INTERACTIVE_TEST == 0 # CYGSEM_WATCHDOG_RESETS_ON_TIMEOUT == 0 # CYGSEM_WATCHDOG_RESETS_ON_TIMEOUT == 0 # Flavor: data # Current_value: tests/watchdog tests/watchdog2 }; # < # < # Wallclock device # The wallclock device provides real time stamps, as opposed # to the eCos kernel timers which typically just count the # number of clock ticks since the hardware was powered up. # Depending on the target platform this device may involve # interacting with a suitable clock chip, or it may be # emulated by using the kernel timers. # cdl_package CYGPKG_IO_WALLCLOCK { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # The following properties are affected by this value # option CYGSEM_LIBC_TIME_TIME_WORKING # Requires: CYGPKG_IO_WALLCLOCK # option CYGSEM_LIBC_TIME_SETTIME_WORKING # Requires: CYGPKG_IO_WALLCLOCK }; # > # Number of wallclock hardware implementations # cdl_interface CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # option CYGPKG_WALLCLOCK_EMULATE # DefaultValue: 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS # option CYGIMP_WALLCLOCK_NONE # DefaultValue: !CYGPKG_KERNEL && 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS }; # Number of wallclock implementations # cdl_interface CYGINT_WALLCLOCK_IMPLEMENTATIONS { # Implemented by CYGPKG_WALLCLOCK_EMULATE, active, enabled # Implemented by CYGIMP_WALLCLOCK_NONE, active, disabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 == CYGINT_WALLCLOCK_IMPLEMENTATIONS # CYGINT_WALLCLOCK_IMPLEMENTATIONS == 1 # --> 1 # The following properties are affected by this value # interface CYGINT_WALLCLOCK_IMPLEMENTATIONS # Requires: 1 == CYGINT_WALLCLOCK_IMPLEMENTATIONS }; # Wallclock driver supports set/get mode # cdl_interface CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # option CYGSEM_WALLCLOCK_MODE # DefaultValue: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED ? "set_get" : "init_get" # option CYGSEM_WALLCLOCK_MODE # Requires: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || CYGSEM_WALLCLOCK_MODE == "init_get" }; # Wallclock mode # The wallclock driver can be used in one of two # modes. Set/get mode allows time to be kept during power # off (assuming there's a battery backed clock). Init/get # mode is slightly smaller and can be used when there is no # battery backed clock - in this mode time 0 is the time of # the board power up. # cdl_option CYGSEM_WALLCLOCK_MODE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value init_get # value_source default # Default value: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED ? "set_get" : "init_get" # CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED == 0 # --> init_get # Legal values: "init_get" "set_get" # Requires: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || CYGSEM_WALLCLOCK_MODE == "init_get" # CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED == 0 # CYGSEM_WALLCLOCK_MODE == init_get # --> 1 # The following properties are affected by this value # option CYGSEM_WALLCLOCK_MODE # Requires: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || CYGSEM_WALLCLOCK_MODE == "init_get" # option CYGSEM_WALLCLOCK_SET_GET_MODE # Calculated: CYGSEM_WALLCLOCK_MODE == "set_get" ? 1 : 0 }; # Wallclock set/get mode # cdl_option CYGSEM_WALLCLOCK_SET_GET_MODE { # Calculated value: CYGSEM_WALLCLOCK_MODE == "set_get" ? 1 : 0 # CYGSEM_WALLCLOCK_MODE == init_get # Flavor: bool # Current value: 0 }; # Wallclock implementation # Implementations of the wallclock device. # cdl_component CYGPKG_IO_WALLCLOCK_IMPLEMENTATION { # There is no associated value. }; # > # Wallclock emulator # When this option is enabled, a wallclock device will be # emulated using the kernel real-time clock. # cdl_option CYGPKG_WALLCLOCK_EMULATE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS # CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS == 0 # --> 1 # Requires: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 }; # No wallclock # Disables the wallclock. # cdl_option CYGIMP_WALLCLOCK_NONE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: !CYGPKG_KERNEL && 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS # CYGPKG_KERNEL == current # CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS == 0 # --> 0 }; # < # Wallclock build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_IO_WALLCLOCK_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the wallclock device. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_IO_WALLCLOCK_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the wallclock device. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_IO_WALLCLOCK_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Wallclock tests # This option specifies the set of tests for the # wallclock device. # cdl_option CYGPKG_IO_WALLCLOCK_TESTS { # Calculated value: CYGPKG_KERNEL ? "tests/wallclock tests/wallclock2" : "" # CYGPKG_KERNEL == current # Flavor: data # Current_value: tests/wallclock tests/wallclock2 }; # < # < # Common error code support # This package contains the common list of error and # status codes. It is held centrally to allow # packages to interchange error codes and status # codes in a common way, rather than each package # having its own conventions for error/status # reporting. The error codes are modelled on the # POSIX style naming e.g. EINVAL etc. This package # also provides the standard strerror() function to # convert error codes to textual representation, as # well as an implementation of the errno idiom. # cdl_package CYGPKG_ERROR { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGBLD_ISO_ERRNO_CODES_HEADER == "" # CYGBLD_ISO_ERRNO_CODES_HEADER == # --> 1 # The following properties are affected by this value # package CYGPKG_IO_SERIAL_GENERIC_16X5X # Requires: CYGPKG_ERROR # package CYGPKG_IO_SERIAL_POWERPC_ML300 # Requires: CYGPKG_ERROR # package CYGPKG_IO # Requires: CYGPKG_ERROR # package CYGPKG_IO_SERIAL # Requires: CYGPKG_ERROR # package CYGPKG_POSIX # Requires: CYGPKG_ERROR # package CYGPKG_IO_FILEIO # Requires: CYGPKG_ERROR }; # > # errno variable # This package controls the behaviour of the # errno variable (or more strictly, expression) # from . # cdl_component CYGPKG_ERROR_ERRNO { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGBLD_ISO_ERRNO_HEADER == "" # CYGBLD_ISO_ERRNO_HEADER == # --> 1 }; # > # Per-thread errno # This option controls whether the standard error # code reporting variable errno is a per-thread # variable, rather than global. # cdl_option CYGSEM_ERROR_PER_THREAD_ERRNO { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGVAR_KERNEL_THREADS_DATA # CYGVAR_KERNEL_THREADS_DATA == 1 # --> 1 }; # Tracing level # Trace verbosity level for debugging the errno # retrieval mechanism in errno.cxx. Increase this # value to get additional trace output. # cdl_option CYGNUM_ERROR_ERRNO_TRACE_LEVEL { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Legal values: 0 to 1 }; # < # strerror function # This package controls the presence and behaviour of the # strerror() function from # cdl_option CYGPKG_ERROR_STRERROR { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGBLD_ISO_STRERROR_HEADER == "" # CYGBLD_ISO_STRERROR_HEADER == # --> 1 }; # Error package build options # Package specific build options including control over # compiler flags used only in building this package, # and details of which tests are built. # cdl_component CYGPKG_ERROR_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the error package. These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_ERROR_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the error package. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # < # < # POSIX File IO compatibility layer # doc: ref/fileio.html # This package enables the POSIX compatibility # layer that implements IEEE 1003.1 file IO. # cdl_package CYGPKG_IO_FILEIO { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 # Requires: CYGPKG_ERROR # CYGPKG_ERROR == current # --> 1 # Requires: CYGINT_ISO_ERRNO # CYGINT_ISO_ERRNO == 1 # --> 1 # Requires: CYGINT_ISO_ERRNO_CODES # CYGINT_ISO_ERRNO_CODES == 1 # --> 1 # Requires: CYGINT_ISO_STRING_STRFUNCS # CYGINT_ISO_STRING_STRFUNCS == 1 # --> 1 # Requires: CYGBLD_ISO_DIRENT_HEADER == "" # CYGBLD_ISO_DIRENT_HEADER == # --> 1 # Requires: CYGBLD_ISO_OPEN_MAX_HEADER == "" # CYGBLD_ISO_OPEN_MAX_HEADER == # --> 1 # Requires: CYGBLD_ISO_NAME_MAX_HEADER == "" # CYGBLD_ISO_NAME_MAX_HEADER == # --> 1 # The following properties are affected by this value # package CYGPKG_DEVS_KBD_ML300 # ActiveIf: CYGPKG_IO_FILEIO # package CYGPKG_DEVS_MOUSE_ML300 # ActiveIf: CYGPKG_IO_FILEIO # package CYGPKG_DEVS_TOUCHSCREEN_ML300 # ActiveIf: CYGPKG_IO_FILEIO # component CYGPKG_IO_FILE_SUPPORT # ActiveIf: !CYGPKG_IO_FILEIO # component CYGPKG_IO_SERIAL_TERMIOS # Requires: CYGPKG_IO_FILEIO # component CYGPKG_IO_SERIAL_TERMIOS # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO # option CYGPKG_IO_SERIAL_SELECT_SUPPORT # ActiveIf: CYGPKG_IO_FILEIO # option CYGPKG_LIBC_STDIO_FILEIO # ActiveIf: CYGPKG_IO_FILEIO # option CYGPKG_LIBC_STDIO_TESTS # Calculated: # "tests/sprintf1 tests/sprintf2 tests/sscanf tests/stdiooutput " # . ((CYGPKG_IO_FILEIO && CYGPKG_FS_RAM) ? "tests/fileio " : "") # # package CYGPKG_NET_FREEBSD_STACK # Requires: CYGPKG_IO_FILEIO # package CYGPKG_MICROWINDOWS # Requires: CYGPKG_IO_FILEIO }; # > # Filesystems interfacing to FILEIO # Each filesystem driver which FILEIO can use implements # this interface. You can use this to determine if there are # any filesystems configured in the system. # cdl_interface CYGINT_IO_FILEIO_FS { # No options implement this inferface # This value cannot be modified here. # Flavor: data # Current_value: 0 }; # Enable support for select() # This option enables support for select(). # cdl_option CYGFUN_IO_FILEIO_SELECT { # ActiveIf constraint: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGPKG_IO_SERIAL_SELECT_SUPPORT # Requires: CYGFUN_IO_FILEIO_SELECT == 1 }; # Enable devfs support # This option enables support for the devfs file system. # cdl_option CYGPKG_IO_FILEIO_DEVFS_SUPPORT { # ActiveIf constraint: CYGPKG_IO # CYGPKG_IO == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: CYGPKG_REDBOOT ? 0 : 1 # CYGPKG_REDBOOT (unknown) == 0 # --> 1 }; # Enable socket support # This option enables support for the socket interface. It is # only present if the NET package is included. # cdl_option CYGPKG_IO_FILEIO_SOCKET_SUPPORT { # ActiveIf constraint: CYGPKG_NET # CYGPKG_NET == current # --> 1 # ActiveIf constraint: CYGPKG_KERNEL # CYGPKG_KERNEL == current # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Maximum number of open files # This option controls the number of open files # that are allowed for all filesystems. # cdl_option CYGNUM_FILEIO_NFILE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 16 # value_source default # Default value: 16 # Legal values: 1 to 9999999 # The following properties are affected by this value # option CYGNUM_FILEIO_NFD # LegalValues: CYGNUM_FILEIO_NFILE to 9999999 # option CYGPKG_NET_MAXSOCKETS # DefaultValue: CYGNUM_FILEIO_NFILE }; # Maximum number of open file descriptors # This option controls the number of open file descriptors # that are allowed for all filesystems. # cdl_option CYGNUM_FILEIO_NFD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 16 # value_source default # Default value: 16 # Legal values: CYGNUM_FILEIO_NFILE to 9999999 # CYGNUM_FILEIO_NFILE == 16 }; # Maximum number of installed filesystems # This option controls the maximum number of filesystems # that can be handled by the fileio system. # cdl_option CYGNUM_FILEIO_FSTAB_MAX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 4 # value_source default # Default value: 4 # Legal values: 1 to 9999999 }; # Maximum number of mounted filesystems # This option controls the maximum number of mounted # filesystems that can be handled by the fileio system. # cdl_option CYGNUM_FILEIO_MTAB_MAX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 8 # value_source default # Default value: 8 # Legal values: CYGNUM_FILEIO_MTAB_EXTRA to 9999999 # CYGNUM_FILEIO_MTAB_EXTRA == 8 }; # Number of dynamically mounted filesystems # This option controls the number of mounted # filesystems that can be created dynamically. # cdl_option CYGNUM_FILEIO_MTAB_EXTRA { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 8 # value_source default # Default value: 8 # Legal values: 0 to 9999999 # The following properties are affected by this value # option CYGNUM_FILEIO_MTAB_MAX # LegalValues: CYGNUM_FILEIO_MTAB_EXTRA to 9999999 }; # Maximum number of installed network stacks # This option controls the maximum number of installed # network stacks that can be handled by the fileio system. # cdl_option CYGNUM_FILEIO_NSTAB_MAX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Legal values: 1 to 9999999 }; # Enable current directory tracking # This option enables tracking of the name of the current # directory in the FILEIO package, to support the getcwd() # function. When this option is enabled the FILEIO package # will attempt to maintain a string that names the current # directory. It does this textually, dealing with "." and # ".." entries by textual manipulation. While this should # always provide a path for the current directory, it may not # be the best, if symbolic links are present. This tracked CWD # is only used if a filesystem does not support the # FS_INFO_GETCWD key. # cdl_option CYGPKG_IO_FILEIO_TRACK_CWD { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Generic inode support # This option enables generic inode support useful to # some filesystems. Not all filesystems require this # so it is not enabled by default. # cdl_component CYGPKG_IO_FILEIO_INODE { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGINT_ISO_MALLOC # CYGINT_ISO_MALLOC == 1 # --> 1 }; # > # Maximum space for unused cached inodes # The inode cache allows a maximum limit to be set # for the number of unused inodes still in the # cache before they are freed. It may be set to 0 # to indicate no dead inode caching should be # provided. # cdl_option CYGNUM_IO_FILEIO_MAX_INODE_CACHE_DEAD { # This option is not active # The parent CYGPKG_IO_FILEIO_INODE is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 10 # value_source default # Default value: 10 }; # < # Maximum size of iovec used by readv/writev # This option controls the maximum size of the iovec # structure that can be used by readv()/writev(). This # limit is required because the iovec structure must be # invariant (to the user), thus a copy needs to be made # by the interface routines. The limit is merely a # control over the amount of stack space used by the # readv()/writev() functions. # cdl_option CYGNUM_FILEIO_IOVEC_MAX { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 16 # value_source default # Default value: 16 # Legal values: 1 to 9999999 }; # Fileio tests # This option specifies the set of tests for the FileIO package. # cdl_option CYGPKG_IO_FILEIO_TESTS { # Calculated value: "tests/fileio1 tests/socket tests/select tests/stdio tests/pselect" # Flavor: data # Current_value: tests/fileio1 tests/socket tests/select tests/stdio tests/pselect }; # < # Basic networking framework # doc: ref/net-common-tcpip.html # Basic networking support, including TCP/IP. # cdl_package CYGPKG_NET { # Packages cannot be added or removed, nor can their version be changed, # simply by editing their value. Instead the appropriate configuration # should be used to perform these actions. # This value cannot be modified here. # Flavor: booldata # Current value: 1 current # Requires: CYGPKG_IO # CYGPKG_IO == current # --> 1 # Requires: CYGPKG_ISOINFRA # CYGPKG_ISOINFRA == current # --> 1 # Requires: CYGINT_ISO_C_TIME_TYPES # CYGINT_ISO_C_TIME_TYPES == 1 # --> 1 # Requires: CYGINT_ISO_STRERROR # CYGINT_ISO_STRERROR == 1 # --> 1 # Requires: CYGINT_ISO_ERRNO # CYGINT_ISO_ERRNO == 1 # --> 1 # Requires: CYGINT_ISO_ERRNO_CODES # CYGINT_ISO_ERRNO_CODES == 1 # --> 1 # Requires: CYGINT_ISO_MALLOC # CYGINT_ISO_MALLOC == 1 # --> 1 # Requires: CYGINT_ISO_STRING_BSD_FUNCS # CYGINT_ISO_STRING_BSD_FUNCS == 1 # --> 1 # Requires: CYGBLD_ISO_NETDB_PROTO_HEADER == "" # CYGBLD_ISO_NETDB_PROTO_HEADER == # --> 1 # Requires: CYGBLD_ISO_NETDB_SERV_HEADER == "" # CYGBLD_ISO_NETDB_SERV_HEADER == # --> 1 # Requires: CYGPKG_NET_STACK == 1 # CYGPKG_NET_STACK == 1 # --> 1 # The following properties are affected by this value # package CYGPKG_DEVS_ETH_POWERPC_ML300 # Requires: !CYGPKG_NET || CYGPKG_NET_FORCE_SERIAL_CONSOLE == 1 # option CYGPKG_IO_FILEIO_SOCKET_SUPPORT # ActiveIf: CYGPKG_NET # option CYGPKG_NS_DNS_BUILD # Requires: CYGPKG_NET # component CYGPKG_IO_ETH_DRIVERS_NET # ActiveIf: CYGPKG_NET # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE # ActiveIf: !CYGPKG_NET # component CYGPKG_IO_ETH_DRIVERS_LWIP # Requires: !CYGPKG_NET # package CYGPKG_NET_SNTP # Requires: CYGPKG_NET }; # > # Suitable driver framework interface, used by network package # In order to decouple the network stack from driver specifics, the # driver framework must be defined in a separate package. # cdl_interface CYGPKG_NET_DRIVER_FRAMEWORK { # Implemented by CYGPKG_IO_ETH_DRIVERS, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # The following properties are affected by this value }; # Suitable network stack implementation, used by network package # In order to decouple the network support from most stack specifics, the # actual stack implementation must be defined in a separate package. # cdl_interface CYGPKG_NET_STACK { # Implemented by CYGPKG_NET_FREEBSD_STACK, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # The following properties are affected by this value # package CYGPKG_NET # Requires: CYGPKG_NET_STACK == 1 }; # Network stack support for IPv4 # cdl_interface CYGPKG_NET_STACK_INET { # Implemented by CYGPKG_NET_FREEBSD_STACK, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # The following properties are affected by this value # component CYGPKG_NET_INET # ActiveIf: CYGPKG_NET_STACK_INET # package CYGPKG_MICROWINDOWS # Requires: CYGPKG_NET_STACK_INET }; # Network stack support for IPv6 # cdl_interface CYGPKG_NET_STACK_INET6 { # Implemented by CYGPKG_NET_FREEBSD_STACK, active, enabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # The following properties are affected by this value # option CYGPKG_NET_INET6 # ActiveIf: CYGPKG_NET_STACK_INET6 }; # Network stack support for IPSEC # cdl_interface CYGPKG_NET_STACK_IPSEC { # Implemented by CYGPKG_NET_FREEBSD_IPSEC, active, disabled # This value cannot be modified here. # Flavor: data # Current_value: 0 # The following properties are affected by this value # option CYGPKG_NET_IPSEC # ActiveIf: CYGPKG_NET_STACK_IPSEC }; # INET support # This option enables support for INET (IP) network processing. # cdl_component CYGPKG_NET_INET { # ActiveIf constraint: CYGPKG_NET_STACK_INET # CYGPKG_NET_STACK_INET == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # component CYGPKG_NET_TFTP # Requires: CYGPKG_NET_INET # component CYGPKG_NET_DHCP # Requires: CYGPKG_NET_INET # component CYGPKG_NET_FREEBSD_INET # ActiveIf: CYGPKG_NET_INET }; # > # IPv6 support # This option enables support for IPv6 networks. # cdl_option CYGPKG_NET_INET6 { # ActiveIf constraint: CYGPKG_NET_STACK_INET6 # CYGPKG_NET_STACK_INET6 == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGINT_IO_ETH_MULTICAST # CYGINT_IO_ETH_MULTICAST == 0 # --> 0 # The following properties are affected by this value # component CYGPKG_NET_IPV6_ROUTING # ActiveIf: CYGPKG_NET_INET6 # option CYGHWR_NET_DRIVER_ETH0_IPV6_PREFIX # ActiveIf: CYGPKG_NET_INET6 # option CYGHWR_NET_DRIVER_ETH1_IPV6_PREFIX # ActiveIf: CYGPKG_NET_INET6 # option CYGPKG_NET_FREEBSD_INET6 # ActiveIf: CYGPKG_NET_INET6 # option CYGPKG_NET_FREEBSD_IPSEC6 # ActiveIf: CYGPKG_NET_INET6 # option CYGOPT_NS_DNS_FIRST_FAMILY # ActiveIf: CYGPKG_NET_INET6 }; # IPSEC support # This option enables support for IPSEC # cdl_option CYGPKG_NET_IPSEC { # This option is not active # ActiveIf constraint: CYGPKG_NET_STACK_IPSEC # CYGPKG_NET_STACK_IPSEC == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Multicast routing support # This option enables support for packet routing. # cdl_option CYGSEM_NET_ROUTING { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Use random sequence for IP packet identifiers # This option enables the use of random IP packet sequence # identifiers, rather than a purely sequential sequence. It is # believed that use of random identifiers improves security, at # a fairly substantial computational overhead. # cdl_option CYGSEM_NET_RANDOMID { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # TFTP (RFC-1350) support # This option provides additional library support for # the TFTP (Trivial File Transfer Protocol). # cdl_component CYGPKG_NET_TFTP { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGPKG_NET_INET # CYGPKG_NET_INET == 1 # --> 1 }; # > # Priority level for TFTP daemon thread. # This option allows the thread priority level used by the # TFTP server thread to be adjusted by the user. It should be set # high enough that sufficient CPU resources are available to # process network data, but may be adjusted so that application # threads can have precedence over TFTP server processing. # cdl_option CYGPKG_NET_TFTPD_THREAD_PRIORITY { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 10 # value_source default # Default value: 10 }; # Stack size for TFTP threads. # This option controls the size of the stack used for the # TFTP server. The default should be sufficient for most cases # but some applications my require bigger stacks when the # implementation of file operations are complex. # cdl_option CYGPKG_NET_TFTPD_THREAD_STACK_SIZE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 12 # value_source default # Default value: (CYGNUM_HAL_STACK_SIZE_TYPICAL+(3*(SEGSIZE+4))) # CYGNUM_HAL_STACK_SIZE_TYPICAL (unknown) == 0 # SEGSIZE (unknown) == 0 # --> 12 }; # Multiple TFTPD server threads on the same port. # This option controls the tftp server ability to be # multi-threaded. When enabled, multiple server can be # started on the same port number. This allows multiple # concurrent transfers to be active. When this option is # not enabled, while one transfer is active, other # requests will be delayed or even ignored. # cdl_component CYGSEM_NET_TFTPD_MULTITHREADED { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Number of different ports with servers # Each set of servers running on the same port number # require a semaphore to synchronise there operation. This option # controls the number of semaphores and so the number # of port numbers multithreaded servers which can be # running on. # cdl_option CYGNUM_NET_TFTPD_MULTITHREADED_PORTS { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # File I/O functions for TFTP server # Minimal in-memory file I/O support for TFTP server. # cdl_option CYGPKG_NET_TFTP_FILE_ACCESS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # Use full DHCP instead of BOOTP # Provide DHCP for initializing the IP address # of network interfaces. The DHCP client is capable of falling # back to BOOTP usage if the server does not support DHCP, so it # should never be necessary to disable this option. However, # depending on other configuration the DHCP client may provide or # require a kernel thread of its own; this consumes quite a lot # of resource which a BOOTP solution does not require. # cdl_component CYGPKG_NET_DHCP { # ActiveIf constraint: (CYGHWR_NET_DRIVERS > 0) # CYGHWR_NET_DRIVERS == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGPKG_NET_INET # CYGPKG_NET_INET == 1 # --> 1 # The following properties are affected by this value # option CYGHWR_NET_DRIVER_ETH0_DHCP # ActiveIf: CYGPKG_NET_DHCP # option CYGHWR_NET_DRIVER_ETH1_DHCP # ActiveIf: CYGPKG_NET_DHCP # option CYGNUM_NET_SNTP_UNICAST_MAXDHCP # Requires: CYGPKG_NET_DHCP }; # > # DHCP management thread # Provide a separate thread to renew DHCP leases; otherwise # the application MUST periodically examine the semaphore # dhcp_needs_attention and call dhcp_bind() if it is # signalled. If enabled, this thread does all that for you. # Independent of this option, initialization of the # interfaces still occurs in init_all_network_interfaces() # and your startup code must call that. It will start the # DHCP management thread if necessary. If a lease fails to # be renewed, the management thread will shut down all # interfaces and attempt to initialize all the interfaces # again from scratch. This may cause application problems, # in which case managing the DHCP state in an application # aware thread is recommended. See comments in dhcp.h # cdl_option CYGOPT_NET_DHCP_DHCP_THREAD { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # The following properties are affected by this value # option CYGOPT_NET_DHCP_DHCP_THREAD_PARAM # ActiveIf: CYGOPT_NET_DHCP_DHCP_THREAD # option CYGPKG_NET_DHCP_THREAD_PRIORITY # ActiveIf: CYGOPT_NET_DHCP_DHCP_THREAD # option CYGOPT_NET_DHCP_PARM_REQ_LIST_REPLACE # ActiveIf: CYGOPT_NET_DHCP_DHCP_THREAD # option CYGOPT_NET_DHCP_PARM_REQ_LIST_ADDITIONAL # ActiveIf: CYGOPT_NET_DHCP_DHCP_THREAD # component CYGOPT_NET_DHCP_OPTION_HOST_NAME # ActiveIf: CYGOPT_NET_DHCP_DHCP_THREAD # option CYGOPT_NET_DHCP_OPTION_DHCP_CLIENTID_MAC # ActiveIf: CYGOPT_NET_DHCP_DHCP_THREAD }; # DHCP management thread loops forever # If the parameter is nonzero, it loops forever; if zero, # the thread exits if a lease expires, and the application # must detect this and tidy up or reboot the whole machine. # cdl_option CYGOPT_NET_DHCP_DHCP_THREAD_PARAM { # ActiveIf constraint: CYGOPT_NET_DHCP_DHCP_THREAD # CYGOPT_NET_DHCP_DHCP_THREAD == 1 # --> 1 # Flavor: data # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # DHCP management thread priority # This option sets the thread priority level used by the DHCP # management thread. It should be high enough that it can run # when necessary, but it does not need to be as high as the # network thread itself. # cdl_option CYGPKG_NET_DHCP_THREAD_PRIORITY { # ActiveIf constraint: CYGOPT_NET_DHCP_DHCP_THREAD # CYGOPT_NET_DHCP_DHCP_THREAD == 1 # --> 1 # Flavor: data # No user value, uncomment the following line to provide one. # user_value 8 # value_source default # Default value: CYGPKG_NET_THREAD_PRIORITY + 1 # CYGPKG_NET_THREAD_PRIORITY == 7 # --> 8 }; # Replace DHCP request options # This option replaces the default list of requested # options in the DHCP/BOOTP request list. These are a # comma separated list of TAG_xxx values. # cdl_option CYGOPT_NET_DHCP_PARM_REQ_LIST_REPLACE { # ActiveIf constraint: CYGOPT_NET_DHCP_DHCP_THREAD # CYGOPT_NET_DHCP_DHCP_THREAD == 1 # --> 1 # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # Additional DHCP request options # This option adds additional options to the list of # requested options in the DHCP/BOOTP request list. # These are a comma separated list of TAG_xxx values. # cdl_option CYGOPT_NET_DHCP_PARM_REQ_LIST_ADDITIONAL { # ActiveIf constraint: CYGOPT_NET_DHCP_DHCP_THREAD # CYGOPT_NET_DHCP_DHCP_THREAD == 1 # --> 1 # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 0 0 # value_source default # Default value: 0 0 }; # DHCP host name option # This option adds the TAG_HOST_NAME option to the DHCP/BOOTP # requests. The host name is defined by calling the function # dhcp_set_hostname(), prior to calling init_all_network_interfaces(). # cdl_component CYGOPT_NET_DHCP_OPTION_HOST_NAME { # ActiveIf constraint: CYGOPT_NET_DHCP_DHCP_THREAD # CYGOPT_NET_DHCP_DHCP_THREAD == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # The following properties are affected by this value # option CYGNUM_NET_DHCP_OPTION_HOST_NAME_LEN # ActiveIf: CYGOPT_NET_DHCP_OPTION_HOST_NAME }; # > # DHCP host name maximum length # This option defines the maximum length allowed for the # host name set by dhcp_set_hostname(). # cdl_option CYGNUM_NET_DHCP_OPTION_HOST_NAME_LEN { # This option is not active # The parent CYGOPT_NET_DHCP_OPTION_HOST_NAME is disabled # ActiveIf constraint: CYGOPT_NET_DHCP_OPTION_HOST_NAME # CYGOPT_NET_DHCP_OPTION_HOST_NAME == 0 # --> 0 # Flavor: data # No user value, uncomment the following line to provide one. # user_value 60 # value_source default # Default value: 60 # Legal values: 0 to 255 }; # < # DHCP client ID option # This option adds the TAG_DHCP_CLIENTID option to the DHCP/BOOTP # requests. It uses the interface MAC address for the identifier. # cdl_option CYGOPT_NET_DHCP_OPTION_DHCP_CLIENTID_MAC { # ActiveIf constraint: CYGOPT_NET_DHCP_DHCP_THREAD # CYGOPT_NET_DHCP_DHCP_THREAD == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # DHCP minimum retry time # This option allows the application to specify the # minimum number of seconds for DHCP discovery. If DHCP # discovery fails, the action to be taken is application # specific. Multiple discovery attempts are made during # the time specified with each subsequent attempt having # a longer timeout. Attempts begin at approximately 1, 5, # 15, 35, and 65 seconds with the last attempt timing out # after the total of 125 seconds. A new attempt will not # begin if the minimum time has been reached. Although, # an attempt in progress will run past the minimum time # specified. For example: Specifying 30 seconds would # timeout at 35 seconds. Specifying 70 seconds has the # same effect as specifying 100 seconds where it would # run for the total of 125 seconds. # cdl_option CYGNUM_NET_DHCP_MIN_RETRY_TIME { # Flavor: data # No user value, uncomment the following line to provide one. # user_value 100 # value_source default # Default value: 100 # Legal values: 0 to 100 }; # < # Options controlling IPv6 routing # Various options which control how routing is done for the # IPv6 enabled interfaces. # cdl_component CYGPKG_NET_IPV6_ROUTING { # This option is not active # ActiveIf constraint: CYGPKG_NET_INET6 # CYGPKG_NET_INET6 == 0 # --> 0 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Thread for IPv6 routing # Provide a separate thread to send router solicitation # messages. # cdl_component CYGOPT_NET_IPV6_ROUTING_THREAD { # This option is not active # The parent CYGPKG_NET_IPV6_ROUTING is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 # Requires: CYGPKG_POSIX # CYGPKG_POSIX == current # --> 1 }; # > # IPv6 routing thread priority # This option sets the thread priority level used by the IPv6 # routing thread. It should be high enough that it can run # when necessary, but it does not need to be as high as the # network thread itself. # cdl_option CYGINT_NET_IPV6_ROUTING_THREAD_PRIORITY { # This option is not active # The parent CYGOPT_NET_IPV6_ROUTING_THREAD is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 8 # value_source default # Default value: CYGPKG_NET_THREAD_PRIORITY + 1 # CYGPKG_NET_THREAD_PRIORITY == 7 # --> 8 }; # IPv6 routing thread rate # This option sets the rate at which router solicitations will # be sent out by the routing thread (in seconds). # cdl_option CYGINT_NET_IPV6_ROUTING_THREAD_PERIOD { # This option is not active # The parent CYGOPT_NET_IPV6_ROUTING_THREAD is not active # Flavor: data # No user value, uncomment the following line to provide one. # user_value 300 # value_source default # Default value: 300 }; # < # < # Debug output # This component controls whether there is diagnostic output # for stack operations. Options within this component allow # even more verbose output for certain areas. # cdl_component CYGPKG_NET_DEBUG { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # > # Extra debug output for DHCP # cdl_option CYGDBG_NET_DHCP_CHATTER { # This option is not active # The parent CYGPKG_NET_DEBUG is disabled # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # Network timing statistics # This component controls whether there is diagnostic # information about how long memcpy, malloc, mbuf_alloc # etc take to perform. # cdl_option CYGDBG_NET_TIMING_STATS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Network MBUF diagnostics # This option controls whether diagnostic # information about the state of all mbufs is collected. # This information will be displayed whenever the network # stack runs out of mbufs. # cdl_option CYGDBG_NET_SHOW_MBUFS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Networking support build options # cdl_component CYGPKG_NET_OPTIONS { # There is no associated value. }; # > # Additional compiler flags # This option modifies the set of compiler flags for # building the networking package. # These flags are used in addition # to the set of global flags. # cdl_option CYGPKG_NET_CFLAGS_ADD { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "-D_KERNEL -D__ECOS -D__INSIDE_NET" # value_source default # Default value: "-D_KERNEL -D__ECOS -D__INSIDE_NET" }; # Suppressed compiler flags # This option modifies the set of compiler flags for # building the networking package. These flags are removed from # the set of global flags if present. # cdl_option CYGPKG_NET_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. # user_value "" # value_source default # Default value: "" }; # < # Testing options # This component contains options related to testing the network # stack. # cdl_component CYGPKG_NET_BUILD_TESTS { # There is no associated value. }; # > # Build hardware networking tests (demo programs) # This option enables the building of additional network tests # that use real ethernet devices. At this time these are just # demos. With this option disabled, only loopback # interface tests will be built. # cdl_option CYGPKG_NET_BUILD_HW_TESTS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 # Requires: CYGHWR_NET_DRIVER_ETH0_SETUP || CYGHWR_NET_DRIVER_ETH1_SETUP # CYGHWR_NET_DRIVER_ETH0_SETUP == 1 # CYGHWR_NET_DRIVER_ETH1_SETUP == 0 # --> 1 # The following properties are affected by this value # option CYGPKG_NET_TESTS # Calculated: CYGPKG_NET_BUILD_HW_TESTS ? "tests/mbuf_test tests/socket_test tests/ftp_test tests/server_test tests/nc_test_slave tests/tftp_client_test tests/tftp_server_test tests/tcp_echo tests/set_mac_address tests/bridge tests/flood tests/ping_test tests/dhcp_test tests/dhcp_test2 tests/ping_lo_test tests/tcp_lo_test tests/udp_lo_test tests/multi_lo_select tests/tcp_lo_select tests/addr_test.c " # : # "tests/ping_lo_test tests/tcp_lo_test tests/udp_lo_test tests/multi_lo_select tests/tcp_lo_select" # # option CYGPKG_NET_SNTP_TESTS # Calculated: CYGPKG_NET_BUILD_HW_TESTS ? "tests/sntp1.c" : "" }; # Networking tests # This option specifies the set of tests # for the networking package. # cdl_option CYGPKG_NET_TESTS { # Calculated value: CYGPKG_NET_BUILD_HW_TESTS ? "tests/mbuf_test tests/socket_test tests/ftp_test tests/server_test tests/nc_test_slave tests/tftp_client_test tests/tftp_server_test tests/tcp_echo tests/set_mac_address tests/bridge tests/flood tests/ping_test tests/dhcp_test tests/dhcp_test2 tests/ping_lo_test tests/tcp_lo_test tests/udp_lo_test tests/multi_lo_select tests/tcp_lo_select tests/addr_test.c " # : # "tests/ping_lo_test tests/tcp_lo_test tests/udp_lo_test tests/multi_lo_select tests/tcp_lo_select" # # CYGPKG_NET_BUILD_HW_TESTS == 0 # Flavor: data # Current_value: tests/ping_lo_test tests/tcp_lo_test tests/udp_lo_test tests/multi_lo_select tests/tcp_lo_select }; # Use real-time response test harness (if available) # Platform and/or ethernet device driver packages may # provide a test harness to verify that interrupts are # not disabled or flooded for too long during a test. If # such is provided, CYGTST_DEVS_ETH_TEST_NET_REALTIME is # defined and can be #include'd to acquire the support. # Some tests in the TCP/IP stack can use this harness; # this option controls whether they do. The StrongARM # EBSA285 Ethernet device driver is one package that # provides such a harness. See the file # tests/test_net_realtime.h in there for details. # cdl_option CYGPKG_NET_TESTS_USE_RT_TEST_HARNESS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # < # Does the hardware provide an 'eth0' device? # cdl_interface CYGHWR_NET_DRIVER_ETH0 { # Implemented by CYGPKG_DEVS_ETH_POWERPC_ML300, active, enabled # This value cannot be modified here. # Flavor: bool # Current value: 1 # Requires: CYGHWR_NET_DRIVER_ETH0 <= 1 # CYGHWR_NET_DRIVER_ETH0 == 1 # --> 1 # The following properties are affected by this value # interface CYGHWR_NET_DRIVER_ETH0 # Requires: CYGHWR_NET_DRIVER_ETH0 <= 1 # component CYGHWR_NET_DRIVER_ETH0_SETUP_OPTIONS # ActiveIf: (CYGHWR_NET_DRIVER_ETH0 == 1) }; # Initialization options for 'eth0' # cdl_component CYGHWR_NET_DRIVER_ETH0_SETUP_OPTIONS { # ActiveIf constraint: (CYGHWR_NET_DRIVER_ETH0 == 1) # CYGHWR_NET_DRIVER_ETH0 == 1 # --> 1 # There is no associated value. }; # > # Initialization options for 'eth0' # cdl_interface CYGHWR_NET_DRIVER_ETH0_SETUP { # Implemented by CYGHWR_NET_DRIVER_ETH0_MANUAL, active, disabled # Implemented by CYGHWR_NET_DRIVER_ETH0_BOOTP, active, enabled # Implemented by CYGHWR_NET_DRIVER_ETH0_ADDRS, active, disabled # This value cannot be modified here. # Flavor: data # Current_value: 1 # Requires: 1 == CYGHWR_NET_DRIVER_ETH0_SETUP # CYGHWR_NET_DRIVER_ETH0_SETUP == 1 # --> 1 # The following properties are affected by this value # option CYGPKG_NET_BUILD_HW_TESTS # Requires: CYGHWR_NET_DRIVER_ETH0_SETUP || CYGHWR_NET_DRIVER_ETH1_SETUP # interface CYGHWR_NET_DRIVER_ETH0_SETUP # Requires: 1 == CYGHWR_NET_DRIVER_ETH0_SETUP }; # Initialize 'eth0' manually? # If this option is selected, the eCos library provides no # initialization code for this interface; you must perform # all the initialization in the application, by means of # appropriate ioctl() calls, or by calling init_net() with an # appropriate bootp record you have constructed yourself. # cdl_component CYGHWR_NET_DRIVER_ETH0_MANUAL { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Use BOOTP/DHCP to initialize 'eth0'? # If this option is selected, init_all_network_interfaces() # will use DHCP or BOOTP to acquire initialization data for # this interface, and then set it up accordingly. # cdl_component CYGHWR_NET_DRIVER_ETH0_BOOTP { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Use DHCP rather than BOOTP for 'eth0'? # cdl_option CYGHWR_NET_DRIVER_ETH0_DHCP { # ActiveIf constraint: CYGPKG_NET_DHCP # CYGPKG_NET_DHCP == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Show BOOTP/DHCP initialization values? # cdl_option CYGHWR_NET_DRIVER_ETH0_BOOTP_SHOW { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # Static IPv6 address prefix for 'eth0' # This option allows a specific, static address prefix to be set # for an interface running IPv6. When used, the lower 64 bits # of the address will be set to the IPv4 IP address. Note: this # should not be confused with the standard IPv4->IPv6 mapped # addresses, but rather just a simple way to assign addresses # to nodes within an IPv6 network. # cdl_option CYGHWR_NET_DRIVER_ETH0_IPV6_PREFIX { # This option is not active # ActiveIf constraint: CYGPKG_NET_INET6 # CYGPKG_NET_INET6 == 0 # --> 0 # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 1 3ffe:302:11:2 # value_source default # Default value: 1 3ffe:302:11:2 }; # Address setups for 'eth0' # These options let you configure all the initialization data # that init_all_network_interfaces() will use # for 'eth0' statically. Be careful when doing this, because # if you run the same application image on multiple boards, # they will have identical IP addresses and so on; this is a # Bad Thing. # The values you set are inserted in a bootp-style record # that is fed into a common setup routine to configure the # interface. That routine does not in fact use the 'Server # IP address' field. # The bootp record is also available to application code, and # some eCos networking test programs use the 'Server IP # address' field to mean 'a machine we can interact with' for # example to ping or perform ftp with. That is the rationale # for its inclusion here. # The gateway address is used to set up a default route if # nonzero. If you have more than one interface, setting up # more than one default route is will cause malfunctions. A # gateway address of 0.0.0.0 can be set to prevent that route # setup. Of course, your application can add real routes # once the interface(s) initialization is complete. # cdl_component CYGHWR_NET_DRIVER_ETH0_ADDRS { # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # > # IP address for 'eth0' # cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_IP { # This option is not active # The parent CYGHWR_NET_DRIVER_ETH0_ADDRS is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 192.168.1.2 # value_source default # Default value: 192.168.1.2 }; # Network mask address for 'eth0' # cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_NETMASK { # This option is not active # The parent CYGHWR_NET_DRIVER_ETH0_ADDRS is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 255.255.255.0 # value_source default # Default value: 255.255.255.0 }; # Broadcast address for 'eth0' # cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_BROADCAST { # This option is not active # The parent CYGHWR_NET_DRIVER_ETH0_ADDRS is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 192.168.1.255 # value_source default # Default value: 192.168.1.255 }; # Gateway/router IP address for 'eth0' # cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_GATEWAY { # This option is not active # The parent CYGHWR_NET_DRIVER_ETH0_ADDRS is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 192.168.1.1 # value_source default # Default value: 192.168.1.1 }; # Server IP address for 'eth0' # cdl_option CYGHWR_NET_DRIVER_ETH0_ADDRS_SERVER { # This option is not active # The parent CYGHWR_NET_DRIVER_ETH0_ADDRS is disabled # Flavor: data # No user value, uncomment the following line to provide one. # user_value 192.168.1.101 # value_source default # Default value: 192.168.1.101 }; # < # < # Does the hardware provide an 'eth1' device? # cdl_interface CYGHWR_NET_DRIVER_ETH1 { # No options implement this inferface # This value cannot be modified here. # Flavor: bool # Current value: 0 # Requires: CYGHWR_NET_DRIVER_ETH1 <= 1 # CYGHWR_NET_DRIVER_ETH1 == 0 # --> 1 # The following properties are affected by this value # interface CYGHWR_NET_DRIVER_ETH1 # Requires: CYGHWR_NET_DRIVER_ETH1 <= 1 # component CYGHWR_NET_DRIVER_ETH1_SETUP_OPTIONS # ActiveIf: (CYGHWR_NET_DRIVER_ETH1 == 1) }; # Initialization options for 'eth1' # cdl_component CYGHWR_NET_DRIVER_ETH1_SETUP_OPTIONS { # This option is not active # ActiveIf constraint: (CYGHWR_NET_DRIVER_ETH1 == 1) # CYGHWR_NET_DRIVER_ETH1 == 0 # --> 0 # There is no associated value. }; # > # Initialization options for 'eth1' # cdl_interface CYGHWR_NET_DRIVER_ETH1_SETUP { # Implemented by CYGHWR_NET_DRIVER_ETH1_MANUAL, inactive, disabled # Implemented by CYGHWR_NET_DRIVER_ETH1_BOOTP, inactive, enabled # Implemented by CYGHWR_NET_DRIVER_ETH1_ADDRS, inactive, disabled # This option is not active # The parent CYGHWR_NET_DRIVER_ETH1_SETUP_OPTIONS is not active # This value cannot be modified here. # Flavor: data # Current_value: 0 # Requires: 1 == CYGHWR_NET_DRIVER_ETH1_SETUP # CYGHWR_NET_DRIVER_ETH1_SETUP == 0 # --> 0 # The following properties are affected by this value # option CYGPKG_NET_BUILD_HW_TESTS # Requires: CYGHWR_NET_DRIVER_ETH0_SETUP || CYGHWR_NET_DRIVER_ETH1_SETUP # interface CYGHWR_NET_DRIVER_ETH1_SETUP # Requires: 1 == CYGHWR_NET_DRIVER_ETH1_SETUP }; # Initialize 'eth1' manually? # If this option is selected, the eCos library provides no # initialization code for this interface; you must perform # all the initialization in the application, by means of # appropriate ioctl() calls, or by calling init_net() with an # appropriate bootp record you have constructed yourself. # cdl_component CYGHWR_NET_DRIVER_ETH1_MANUAL { # This option is not active # The parent CYGHWR_NET_DRIVER_ETH1_SETUP_OPTIONS is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default value: 0 }; # Use BOOTP/DHCP to initialize 'eth1'? # If this option is selected, init_all_network_interfaces() # will use DHCP or BOOTP to acquire initialization data for # this interface, and then set it up accordingly. # cdl_component CYGHWR_NET_DRIVER_ETH1_BOOTP { # This option is not active # The parent CYGHWR_NET_DRIVER_ETH1_SETUP_OPTIONS is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # > # Use DHCP rather than BOOTP for 'eth1'? # cdl_option CYGHWR_NET_DRIVER_ETH1_DHCP { # This option is not active # The parent CYGHWR_NET_DRIVER_ETH1_BOOTP is not active # ActiveIf constraint: CYGPKG_NET_DHCP # CYGPKG_NET_DHCP == 1 # --> 1 # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # Show BOOTP/DHCP initialization values? # cdl_option CYGHWR_NET_DRIVER_ETH1_BOOTP_SHOW { # This option is not active # The parent CYGHWR_NET_DRIVER_ETH1_BOOTP is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 1 # value_source default # Default value: 1 }; # < # Static IPv6 address prefix for 'eth1' # This option allows a specific, static address prefix to be set # for an interface running IPv6. When used, the lower 64 bits # of the address will be set to the IPv4 IP address. Note: this # should not be confused with the standard IPv4->IPv6 mapped # addresses, but rather just a simple way to assign addresses # to nodes within an IPv6 network. # cdl_option CYGHWR_NET_DRIVER_ETH1_IPV6_PREFIX { # This option is not active # The parent CYGHWR_NET_DRIVER_ETH1_SETUP_OPTIONS is not active # ActiveIf constraint: CYGPKG_NET_INET6 # CYGPKG_NET_INET6 == 0 # --> 0 # Flavor: booldata # No user value, uncomment the following line to provide one. # user_value 1 3ffe:302:12:2 # value_source default # Default value: 1 3ffe:302:12:2 }; # Address setups for 'eth1' # These options let you configure all the initialization data # that init_all_network_interfaces() will use # for 'eth1' statically. Be careful when doing this, because # if you run the same application image on multiple boards, # they will have identical IP addresses and so on; this is a # Bad Thing. # The values you set are inserted in a bootp-style record # that is fed into a common setup routine to configure the # interface. That routine does not in fact use the 'Server # IP address' field. # The bootp record is also available to application code, and # some eCos networking test programs use the 'Server IP # address' field to mean 'a machine we can interact with' for # example to ping or perform ftp with. That is the rationale # for its inclusion here. # The gateway address is used to set up a default route if # nonzero. If you have more than one interface, setting up # more than one default route is will cause malfunctions. A # gateway address of 0.0.0.0 can be set to prevent that route # setup. Of course, your application can add real routes # once the interface(s) initialization is complete. # This interface 'eth1' has no route set up in the default # configuration. # cdl_component CYGHWR_NET_DRIVER_ETH1_ADDRS { # This option is not active # The parent CYGHWR_NET_DRIVER_ETH1_SETUP_OPTIONS is not active # Flavor: bool # No user value, uncomment the following line to provide one. # user_value 0 # value_source default # Default