From: lothar Date: Wed, 8 Feb 2012 12:40:09 +0000 (+0000) Subject: RedBoot Release TX53-v3 2012-02-08 X-Git-Tag: v1.5.3~4 X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-redboot.git;a=commitdiff_plain;h=fdef8b5c36d8aeb8061bd7241937f53b01b435a2 RedBoot Release TX53-v3 2012-02-08 --- diff --git a/build.sh b/build.sh index 2fec628f..eca16403 100644 --- a/build.sh +++ b/build.sh @@ -12,9 +12,11 @@ make_opts= pattern="*" error() { + rc=$? if [ -n "${target}" ];then echo "${target} build aborted" fi + return $rc } build_host_tools() { diff --git a/config/TX25-40x1.ecc b/config/TX25-40x1.ecc index bce8e4e9..8a95c386 100644 --- a/config/TX25-40x1.ecc +++ b/config/TX25-40x1.ecc @@ -75,9 +75,11 @@ cdl_component CYGBLD_GLOBAL_OPTIONS { cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value arm-926ejs-linux-gnu + # user_value arm-926ejs-linux-gnueabi # value_source default - # Default value: arm-926ejs-linux-gnu + # Default value: "arm-926ejs-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # CYGBLD_ARM_EABI == 1 + # --> arm-926ejs-linux-gnueabi }; # Global compiler flags @@ -88,9 +90,13 @@ cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { cdl_option CYGBLD_GLOBAL_CFLAGS { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # user_value "-mabi=aapcs-linux -msoft-float -mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # value_source default - # Default value: "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # Default value: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGHWR_THUMB == 0 + # CYGBLD_ARM_ENABLE_THUMB_INTERWORK == 0 + # CYGBLD_ARM_EABI == 1 + # --> "-mabi=aapcs-linux -msoft-float -mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 # --> 1 @@ -2797,6 +2803,25 @@ cdl_option CYGHWR_THUMB { # The following properties are affected by this value # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" +}; + +# Enable EABI +# Use EABI tool-chain to compile eCos. +# +cdl_option CYGBLD_ARM_EABI { + # 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_GLOBAL_COMMAND_PREFIX + # DefaultValue: "arm-926ejs-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # Enable Thumb interworking compiler option @@ -2819,6 +2844,10 @@ cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { # CYGHWR_THUMB == 0 # CYGSEM_HAL_ROM_MONITOR == 1 # --> 1 + + # The following properties are affected by this value + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # The platform and architecture supports Big Endian operation @@ -4183,7 +4212,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -msoft-float -mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 # The following properties are affected by this value @@ -4203,7 +4232,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_PIPE { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -msoft-float -mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 }; @@ -10284,9 +10313,9 @@ cdl_option CYGPKG_ERROR_CFLAGS_ADD { cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "" + # user_value -Wno-pointer-sign # value_source default - # Default value: "" + # Default value: -Wno-pointer-sign }; # < diff --git a/config/TX27-40x0.ecc b/config/TX27-40x0.ecc index d2724584..acbbb8c9 100644 --- a/config/TX27-40x0.ecc +++ b/config/TX27-40x0.ecc @@ -75,9 +75,11 @@ cdl_component CYGBLD_GLOBAL_OPTIONS { cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value arm-926ejs-linux-gnu + # user_value arm-926ejs-linux-gnueabi # value_source default - # Default value: arm-926ejs-linux-gnu + # Default value: "arm-926ejs-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # CYGBLD_ARM_EABI == 1 + # --> arm-926ejs-linux-gnueabi }; # Global compiler flags @@ -88,11 +90,13 @@ cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { cdl_option CYGBLD_GLOBAL_CFLAGS { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source inferred - # Default value: "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # user_value "-mabi=aapcs-linux -msoft-float -mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # value_source default + # Default value: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGHWR_THUMB == 0 + # CYGBLD_ARM_ENABLE_THUMB_INTERWORK == 0 + # CYGBLD_ARM_EABI == 1 + # --> "-mabi=aapcs-linux -msoft-float -mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 # --> 1 @@ -2800,6 +2804,25 @@ cdl_option CYGHWR_THUMB { # The following properties are affected by this value # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" +}; + +# Enable EABI +# Use EABI tool-chain to compile eCos. +# +cdl_option CYGBLD_ARM_EABI { + # 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_GLOBAL_COMMAND_PREFIX + # DefaultValue: "arm-926ejs-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # Enable Thumb interworking compiler option @@ -2822,6 +2845,10 @@ cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { # CYGHWR_THUMB == 0 # CYGSEM_HAL_ROM_MONITOR == 1 # --> 1 + + # The following properties are affected by this value + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # The platform and architecture supports Big Endian operation @@ -4193,7 +4220,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -msoft-float -mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 # The following properties are affected by this value @@ -4213,7 +4240,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_PIPE { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -msoft-float -mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 }; @@ -10291,9 +10318,9 @@ cdl_option CYGPKG_ERROR_CFLAGS_ADD { cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "" + # user_value -Wno-pointer-sign # value_source default - # Default value: "" + # Default value: -Wno-pointer-sign }; # < diff --git a/config/TX27-40x1.ecc b/config/TX27-40x1.ecc index c61ee3d2..6484fbbd 100644 --- a/config/TX27-40x1.ecc +++ b/config/TX27-40x1.ecc @@ -75,9 +75,11 @@ cdl_component CYGBLD_GLOBAL_OPTIONS { cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value arm-926ejs-linux-gnu + # user_value arm-926ejs-linux-gnueabi # value_source default - # Default value: arm-926ejs-linux-gnu + # Default value: "arm-926ejs-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # CYGBLD_ARM_EABI == 1 + # --> arm-926ejs-linux-gnueabi }; # Global compiler flags @@ -88,11 +90,13 @@ cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { cdl_option CYGBLD_GLOBAL_CFLAGS { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source inferred - # Default value: "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # user_value "-mabi=aapcs-linux -msoft-float -mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # value_source default + # Default value: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGHWR_THUMB == 0 + # CYGBLD_ARM_ENABLE_THUMB_INTERWORK == 0 + # CYGBLD_ARM_EABI == 1 + # --> "-mabi=aapcs-linux -msoft-float -mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 # --> 1 @@ -2800,6 +2804,25 @@ cdl_option CYGHWR_THUMB { # The following properties are affected by this value # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" +}; + +# Enable EABI +# Use EABI tool-chain to compile eCos. +# +cdl_option CYGBLD_ARM_EABI { + # 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_GLOBAL_COMMAND_PREFIX + # DefaultValue: "arm-926ejs-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # Enable Thumb interworking compiler option @@ -2822,6 +2845,10 @@ cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { # CYGHWR_THUMB == 0 # CYGSEM_HAL_ROM_MONITOR == 1 # --> 1 + + # The following properties are affected by this value + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # The platform and architecture supports Big Endian operation @@ -4192,7 +4219,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -msoft-float -mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 # The following properties are affected by this value @@ -4212,7 +4239,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_PIPE { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -msoft-float -mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 }; @@ -10292,9 +10319,9 @@ cdl_option CYGPKG_ERROR_CFLAGS_ADD { cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "" + # user_value -Wno-pointer-sign # value_source default - # Default value: "" + # Default value: -Wno-pointer-sign }; # < diff --git a/config/TX51-60x0.ecc b/config/TX51-60x0.ecc index fc6733b9..9da29b6a 100644 --- a/config/TX51-60x0.ecc +++ b/config/TX51-60x0.ecc @@ -76,9 +76,12 @@ cdl_component CYGBLD_GLOBAL_OPTIONS { # cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # Flavor: data - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu + # No user value, uncomment the following line to provide one. + # user_value arm-cortexa8-linux-gnueabi + # value_source default + # Default value: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # CYGBLD_ARM_EABI == 1 + # --> arm-cortexa8-linux-gnueabi }; # Global compiler flags @@ -88,11 +91,14 @@ cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # cdl_option CYGBLD_GLOBAL_CFLAGS { # Flavor: data - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # No user value, uncomment the following line to provide one. + # user_value "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # value_source default + # Default value: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGHWR_THUMB == 0 + # CYGBLD_ARM_ENABLE_THUMB_INTERWORK == 0 + # CYGBLD_ARM_EABI == 1 + # --> "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 # --> 1 @@ -2800,6 +2806,25 @@ cdl_option CYGHWR_THUMB { # The following properties are affected by this value # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" +}; + +# Enable EABI +# Use EABI tool-chain to compile eCos. +# +cdl_option CYGBLD_ARM_EABI { + # 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_GLOBAL_COMMAND_PREFIX + # DefaultValue: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # Enable Thumb interworking compiler option @@ -2822,6 +2847,10 @@ cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { # CYGHWR_THUMB == 0 # CYGSEM_HAL_ROM_MONITOR == 1 # --> 1 + + # The following properties are affected by this value + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # The platform and architecture supports Big Endian operation @@ -4221,7 +4250,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 # The following properties are affected by this value @@ -4241,7 +4270,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_PIPE { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 }; @@ -10323,9 +10352,9 @@ cdl_option CYGPKG_ERROR_CFLAGS_ADD { cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "" + # user_value -Wno-pointer-sign # value_source default - # Default value: "" + # Default value: -Wno-pointer-sign }; # < diff --git a/config/TX51-60x1.ecc b/config/TX51-60x1.ecc index 99fe584d..d9f35681 100644 --- a/config/TX51-60x1.ecc +++ b/config/TX51-60x1.ecc @@ -76,9 +76,12 @@ cdl_component CYGBLD_GLOBAL_OPTIONS { # cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # Flavor: data - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu + # No user value, uncomment the following line to provide one. + # user_value arm-cortexa8-linux-gnueabi + # value_source default + # Default value: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # CYGBLD_ARM_EABI == 1 + # --> arm-cortexa8-linux-gnueabi }; # Global compiler flags @@ -88,11 +91,14 @@ cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # cdl_option CYGBLD_GLOBAL_CFLAGS { # Flavor: data - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # No user value, uncomment the following line to provide one. + # user_value "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # value_source default + # Default value: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGHWR_THUMB == 0 + # CYGBLD_ARM_ENABLE_THUMB_INTERWORK == 0 + # CYGBLD_ARM_EABI == 1 + # --> "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 # --> 1 @@ -2800,6 +2806,25 @@ cdl_option CYGHWR_THUMB { # The following properties are affected by this value # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" +}; + +# Enable EABI +# Use EABI tool-chain to compile eCos. +# +cdl_option CYGBLD_ARM_EABI { + # 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_GLOBAL_COMMAND_PREFIX + # DefaultValue: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # Enable Thumb interworking compiler option @@ -2822,6 +2847,10 @@ cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { # CYGHWR_THUMB == 0 # CYGSEM_HAL_ROM_MONITOR == 1 # --> 1 + + # The following properties are affected by this value + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # The platform and architecture supports Big Endian operation @@ -4219,7 +4248,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 # The following properties are affected by this value @@ -4239,7 +4268,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_PIPE { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 }; @@ -10321,9 +10350,9 @@ cdl_option CYGPKG_ERROR_CFLAGS_ADD { cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "" + # user_value -Wno-pointer-sign # value_source default - # Default value: "" + # Default value: -Wno-pointer-sign }; # < diff --git a/config/TX51-60x2.ecc b/config/TX51-60x2.ecc index 76554cbd..684904ae 100644 --- a/config/TX51-60x2.ecc +++ b/config/TX51-60x2.ecc @@ -76,9 +76,12 @@ cdl_component CYGBLD_GLOBAL_OPTIONS { # cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # Flavor: data - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu + # No user value, uncomment the following line to provide one. + # user_value arm-cortexa8-linux-gnueabi + # value_source default + # Default value: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # CYGBLD_ARM_EABI == 1 + # --> arm-cortexa8-linux-gnueabi }; # Global compiler flags @@ -88,11 +91,14 @@ cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # cdl_option CYGBLD_GLOBAL_CFLAGS { # Flavor: data - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # No user value, uncomment the following line to provide one. + # user_value "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # value_source default + # Default value: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGHWR_THUMB == 0 + # CYGBLD_ARM_ENABLE_THUMB_INTERWORK == 0 + # CYGBLD_ARM_EABI == 1 + # --> "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 # --> 1 @@ -2800,6 +2806,25 @@ cdl_option CYGHWR_THUMB { # The following properties are affected by this value # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" +}; + +# Enable EABI +# Use EABI tool-chain to compile eCos. +# +cdl_option CYGBLD_ARM_EABI { + # 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_GLOBAL_COMMAND_PREFIX + # DefaultValue: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # Enable Thumb interworking compiler option @@ -2822,6 +2847,10 @@ cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { # CYGHWR_THUMB == 0 # CYGSEM_HAL_ROM_MONITOR == 1 # --> 1 + + # The following properties are affected by this value + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # The platform and architecture supports Big Endian operation @@ -4220,7 +4249,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 # The following properties are affected by this value @@ -4240,7 +4269,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_PIPE { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 }; @@ -10322,9 +10351,9 @@ cdl_option CYGPKG_ERROR_CFLAGS_ADD { cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "" + # user_value -Wno-pointer-sign # value_source default - # Default value: "" + # Default value: -Wno-pointer-sign }; # < diff --git a/config/TX51-80x0.ecc b/config/TX51-80x0.ecc index c888afff..665565bb 100644 --- a/config/TX51-80x0.ecc +++ b/config/TX51-80x0.ecc @@ -76,9 +76,12 @@ cdl_component CYGBLD_GLOBAL_OPTIONS { # cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # Flavor: data - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu + # No user value, uncomment the following line to provide one. + # user_value arm-cortexa8-linux-gnueabi + # value_source default + # Default value: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # CYGBLD_ARM_EABI == 1 + # --> arm-cortexa8-linux-gnueabi }; # Global compiler flags @@ -88,11 +91,14 @@ cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # cdl_option CYGBLD_GLOBAL_CFLAGS { # Flavor: data - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # No user value, uncomment the following line to provide one. + # user_value "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # value_source default + # Default value: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGHWR_THUMB == 0 + # CYGBLD_ARM_ENABLE_THUMB_INTERWORK == 0 + # CYGBLD_ARM_EABI == 1 + # --> "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 # --> 1 @@ -2800,6 +2806,25 @@ cdl_option CYGHWR_THUMB { # The following properties are affected by this value # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" +}; + +# Enable EABI +# Use EABI tool-chain to compile eCos. +# +cdl_option CYGBLD_ARM_EABI { + # 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_GLOBAL_COMMAND_PREFIX + # DefaultValue: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # Enable Thumb interworking compiler option @@ -2822,6 +2847,10 @@ cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { # CYGHWR_THUMB == 0 # CYGSEM_HAL_ROM_MONITOR == 1 # --> 1 + + # The following properties are affected by this value + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # The platform and architecture supports Big Endian operation @@ -4222,7 +4251,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 # The following properties are affected by this value @@ -4242,7 +4271,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_PIPE { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 }; @@ -10324,9 +10353,9 @@ cdl_option CYGPKG_ERROR_CFLAGS_ADD { cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "" + # user_value -Wno-pointer-sign # value_source default - # Default value: "" + # Default value: -Wno-pointer-sign }; # < diff --git a/config/TX51-80x1.ecc b/config/TX51-80x1.ecc index a458c85f..c6f0439a 100644 --- a/config/TX51-80x1.ecc +++ b/config/TX51-80x1.ecc @@ -76,9 +76,12 @@ cdl_component CYGBLD_GLOBAL_OPTIONS { # cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # Flavor: data - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu + # No user value, uncomment the following line to provide one. + # user_value arm-cortexa8-linux-gnueabi + # value_source default + # Default value: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # CYGBLD_ARM_EABI == 1 + # --> arm-cortexa8-linux-gnueabi }; # Global compiler flags @@ -88,11 +91,14 @@ cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # cdl_option CYGBLD_GLOBAL_CFLAGS { # Flavor: data - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # No user value, uncomment the following line to provide one. + # user_value "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # value_source default + # Default value: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGHWR_THUMB == 0 + # CYGBLD_ARM_ENABLE_THUMB_INTERWORK == 0 + # CYGBLD_ARM_EABI == 1 + # --> "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 # --> 1 @@ -2800,6 +2806,25 @@ cdl_option CYGHWR_THUMB { # The following properties are affected by this value # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" +}; + +# Enable EABI +# Use EABI tool-chain to compile eCos. +# +cdl_option CYGBLD_ARM_EABI { + # 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_GLOBAL_COMMAND_PREFIX + # DefaultValue: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # Enable Thumb interworking compiler option @@ -2822,6 +2847,10 @@ cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { # CYGHWR_THUMB == 0 # CYGSEM_HAL_ROM_MONITOR == 1 # --> 1 + + # The following properties are affected by this value + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # The platform and architecture supports Big Endian operation @@ -4220,7 +4249,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 # The following properties are affected by this value @@ -4240,7 +4269,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_PIPE { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 }; @@ -10322,9 +10351,9 @@ cdl_option CYGPKG_ERROR_CFLAGS_ADD { cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "" + # user_value -Wno-pointer-sign # value_source default - # Default value: "" + # Default value: -Wno-pointer-sign }; # < diff --git a/config/TX51-80x2.ecc b/config/TX51-80x2.ecc index 5f754992..97bd1dee 100644 --- a/config/TX51-80x2.ecc +++ b/config/TX51-80x2.ecc @@ -76,9 +76,12 @@ cdl_component CYGBLD_GLOBAL_OPTIONS { # cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # Flavor: data - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu + # No user value, uncomment the following line to provide one. + # user_value arm-cortexa8-linux-gnueabi + # value_source default + # Default value: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # CYGBLD_ARM_EABI == 1 + # --> arm-cortexa8-linux-gnueabi }; # Global compiler flags @@ -88,11 +91,14 @@ cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # cdl_option CYGBLD_GLOBAL_CFLAGS { # Flavor: data - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # No user value, uncomment the following line to provide one. + # user_value "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # value_source default + # Default value: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGHWR_THUMB == 0 + # CYGBLD_ARM_ENABLE_THUMB_INTERWORK == 0 + # CYGBLD_ARM_EABI == 1 + # --> "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 # --> 1 @@ -2800,6 +2806,25 @@ cdl_option CYGHWR_THUMB { # The following properties are affected by this value # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" +}; + +# Enable EABI +# Use EABI tool-chain to compile eCos. +# +cdl_option CYGBLD_ARM_EABI { + # 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_GLOBAL_COMMAND_PREFIX + # DefaultValue: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # Enable Thumb interworking compiler option @@ -2822,6 +2847,10 @@ cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { # CYGHWR_THUMB == 0 # CYGSEM_HAL_ROM_MONITOR == 1 # --> 1 + + # The following properties are affected by this value + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # The platform and architecture supports Big Endian operation @@ -4221,7 +4250,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 # The following properties are affected by this value @@ -4241,7 +4270,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_PIPE { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -mfloat-abi=softfp -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 }; @@ -10323,9 +10352,9 @@ cdl_option CYGPKG_ERROR_CFLAGS_ADD { cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "" + # user_value -Wno-pointer-sign # value_source default - # Default value: "" + # Default value: -Wno-pointer-sign }; # < diff --git a/config/TX53-1022.ecc b/config/TX53-1022.ecc deleted file mode 100644 index 0f908f53..00000000 --- a/config/TX53-1022.ecc +++ /dev/null @@ -1,10427 +0,0 @@ -# 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 tx53karo ; - template redboot ; - package -hardware CYGPKG_HAL_ARM current ; - package -hardware CYGPKG_HAL_ARM_MX53 current ; - package -hardware CYGPKG_HAL_ARM_TX53KARO current ; - package -template CYGPKG_HAL current ; - package -template CYGPKG_INFRA current ; - package -template CYGPKG_REDBOOT current ; - package -template CYGPKG_ISOINFRA current ; - package -template CYGPKG_LIBC_STRING current ; - package -template CYGPKG_CRC current ; - package -hardware CYGPKG_IO_ETH_DRIVERS current ; - package -hardware CYGPKG_DEVS_ETH_ARM_TX53 current ; - package -hardware CYGPKG_DEVS_ETH_FEC current ; - package -hardware CYGPKG_COMPRESS_ZLIB current ; - package -hardware CYGPKG_IO_FLASH current ; - package -hardware CYGPKG_DEVS_FLASH_ONMXC current ; - package -template CYGPKG_MEMALLOC current ; - package -template CYGPKG_DEVS_ETH_PHY current ; - package -template CYGPKG_LIBC_I18N current ; - package -template CYGPKG_LIBC_STDLIB current ; - package -template CYGPKG_ERROR current ; - package -hardware CYGPKG_DEVS_MXC_I2C current ; - package -hardware CYGPKG_DEVS_IMX_IPU 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 - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu -}; - -# 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 - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 - # --> 1 - - # 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 "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" - # value_source default - # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" -}; - -# 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 -}; - -# < -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# 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 - # component CYGPKG_REDBOOT_NETWORKING - # ActiveIf: CYGPKG_IO_ETH_DRIVERS - # package CYGPKG_DEVS_ETH_ARM_TX53 - # ActiveIf: CYGPKG_IO_ETH_DRIVERS - # package CYGPKG_DEVS_ETH_FEC - # 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_FEC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE - # ActiveIf: CYGHWR_NET_DRIVERS > 1 - # option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE - # ActiveIf: CYGHWR_NET_DRIVERS > 1 -}; - -# Driver supports multicast addressing -# This interface defines whether or not a driver can handle -# requests for multicast addressing. -# -cdl_interface CYGINT_IO_ETH_MULTICAST { - # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_NET - # CYGPKG_NET (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: 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 { - # This option is not active - # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active - - # 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 { - # This option is not active - # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active - - # 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 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 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 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 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 { - # ActiveIf constraint: !CYGPKG_NET - # CYGPKG_NET (unknown) == 0 - # --> 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_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 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_REDBOOT_NETWORKING - # CYGPKG_REDBOOT_NETWORKING == 1 - # --> 1 -}; - -# 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 { - # 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 { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # 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 (unknown) == 0 - # --> 1 -}; - -# 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, inactive, enabled - # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # 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" -}; - -# < -# Ethernet driver for Ka-Ro electronics TX53 processor module -# -cdl_package CYGPKG_DEVS_ETH_ARM_TX53 { - # 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 -}; - -# > -# FEC ethernet driver required -# -cdl_interface CYGINT_DEVS_ETH_FEC_REQUIRED { - # Implemented by CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # package CYGPKG_DEVS_ETH_FEC - # ActiveIf: CYGINT_DEVS_ETH_FEC_REQUIRED -}; - -# Ka-Ro TX53 ethernet port driver -# This option includes the ethernet device driver for the -# MXC Board port. -# -cdl_component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1 - # --> 1 - # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700 - # CYGHWR_DEVS_ETH_PHY_LAN8700 == 1 - # --> 1 -}; - -# > -# Device name for the ETH0 ethernet driver -# This option sets the name of the ethernet device. -# -cdl_option CYGDAT_DEVS_ETH_ARM_MXCBOARD_ETH0_NAME { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"eth0\"" - # value_source default - # Default value: "\"eth0\"" -}; - -# OUI part of MAC address -# This option sets OUI part (manufacturer ID) of the MAC address -# for validation. -# -cdl_option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI { - # ActiveIf constraint: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{ 0x00, 0x0c, 0xc6 }" - # value_source default - # Default value: "{ 0x00, 0x0c, 0xc6 }" -}; - -# < -# < -# Driver for fast ethernet controller. -# Driver for fast ethernet controller. -# -cdl_package CYGPKG_DEVS_ETH_FEC { - # 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: CYGINT_DEVS_ETH_FEC_REQUIRED - # CYGINT_DEVS_ETH_FEC_REQUIRED == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# MXC FEC ethernet driver build options -# -cdl_component CYGPKG_DEVS_ETH_FEC_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the Cirrus Logic ethernet driver package. -# These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_DEVS_ETH_FEC_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" -}; - -# < -# MXC FEC MII Gasket for RMII mode -# This option enables the use of the MII Gasket for -# RMII mode found in i.MX25 and i.MX53 processors. -# -cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK { - # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Ethernet transceiver (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 -}; - -# > -# Enable driver debugging -# Enables the diagnostic debug messages on the -# console device. -# -cdl_option CYGDBG_DEVS_ETH_PHY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 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 -}; - -# 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 -}; - -# Intel LXT972 -# Include support for Intel LXT972xxx PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_INLXT972 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1890 -# Include support for ICS 1890 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1890 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1892 -# Include support for ICS 1892 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1892 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1893 -# Include support for ICS 1893 and 1893AF PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1893 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Davicom DM9161A -# Include support for the Davicom DM9161A PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_DM9161A { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Micrel KS8721 -# Include support for the Micrel KS8721 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_KS8721 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# SMSC LAN8700 -# Include support for SMSC LAN8700 NetPHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_LAN8700 { - # 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 - # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 - # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700 -}; - -# < -# < -# 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 -}; - -# > -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA != 0 - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 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 (unknown) == 0 - # --> 0 -}; - -# 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 - user_value 0 - # value_source user - # 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 - user_value 1 - # value_source user - # 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 0 - # value_source default - # Default value: 0 != CYGPKG_LIBM - # CYGPKG_LIBM (unknown) == 0 - # --> 0 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM (unknown) == 0 - # --> 0 -}; - -# 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 - user_value 0 - # value_source user - # Default value: 1 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# < -# 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 0 - # value_source default - # Default value: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# 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 0 - # value_source default - # Default value: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0 - # --> 0 - # Requires: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0 - # --> 0 -}; - -# 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 (unknown) == 0 - # --> 0 -}; - -# 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 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # 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 { - # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0 - # --> 1 - # ActiveIf constraint: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG - # CYGPKG_HAL_ARM == current - # 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 0 - # 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 == ROMRAM - # --> 0 - - # 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 disabled - - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 1 - - # The following properties are affected by this value - # package CYGPKG_REDBOOT - # Requires: CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 -}; - -# 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 32768 - # value_source default - # Default value: CYGPKG_KERNEL ? 4096 : 32768 - # CYGPKG_KERNEL (unknown) == 0 - # --> 32768 - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 - # component CYGBLD_BUILD_REDBOOT - # 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 -}; - -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # value_source default - # Default value: COPYBACK - # Legal values: "COPYBACK" "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_ARM_TX53KARO, 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 - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 0 - # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0 - # --> 1 - # Requires: !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS - # CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1 - # --> 1 - - # 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 CYGHWR_HAL_ARM_DUMP_EXCEPTIONS - # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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_ARM_TX53KARO, 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 CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - # 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 - - # The following properties are affected by this value - # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # component CYGBLD_BUILD_REDBOOT - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT -}; - -# 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 == 1 - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 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 CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # option CYGBLD_BUILD_REDBOOT_WITH_THREADS - # 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_ARM_TX53KARO, 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 { - # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE - # ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT -}; - -# 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 - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1 - # --> 0 - - # 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 == 1 - # Flavor: bool - # Current value: 1 - - # 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 == 0 - # CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0 - # Flavor: bool - # Current value: 1 - - # 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 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR - # CYG_HAL_STARTUP == ROMRAM - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # 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 == 1 - # --> 1 - - # 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 { - # This option is not active - # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1 - # --> 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_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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 1 - # value_source default - # Default value: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1 - # --> 1 -}; - -# 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 1 - # 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 == 1 - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 1 - - # 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 -}; - -# < -# 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 TX53 module, 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 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # CYG_HAL_STARTUP == ROMRAM - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) - # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # option CYGPRI_REDBOOT_ROM_MONITOR - # Requires: CYGSEM_HAL_ROM_MONITOR -}; - -# Work with a ROM monitor -# Support can be enabled for different varieties of ROM monitor. -# This support changes various eCos semantics such as the encoding -# of diagnostic output, or the overriding of hardware interrupt -# vectors. -# Firstly there is "Generic" support which prevents the HAL -# from overriding the hardware vectors that it does not use, to -# instead allow an installed ROM monitor to handle them. This is -# the most basic support which is likely to be common to most -# implementations of ROM monitor. -# "GDB_stubs" provides support when GDB stubs are included in -# the ROM monitor or boot ROM. -# -cdl_option CYGSEM_HAL_USE_ROM_MONITOR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 - # CYG_HAL_STARTUP == ROMRAM - # --> 0 0 - # Legal values: "Generic" "GDB_stubs" - # Requires: CYG_HAL_STARTUP == "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 0 - - # The following properties are affected by this value - # 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 -}; - -# < -# 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 - - # The following properties are affected by this value - # component CYGSEM_REDBOOT_DISK_IDE - # ActiveIf: CYGINT_HAL_PLF_IF_IDE != 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 == 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 (unknown) == 0 - # Flavor: data - # Current_value: tests/context tests/basic tests/cache tests/intr -}; - -# > -# 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" : "") -}; - -# < -# ARM architecture -# The ARM 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_ARM { - # 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 CYGDBG_HAL_DIAG_TO_DEBUG_CHAN - # ActiveIf: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG - # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED - # ActiveIf: CYGPKG_HAL_ARM -}; - -# > -# The CPU architecture supports THUMB mode -# -cdl_interface CYGINT_HAL_ARM_THUMB_ARCH { - # 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 CYGHWR_THUMB - # ActiveIf: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # ActiveIf: CYGINT_HAL_ARM_THUMB_ARCH != 0 -}; - -# Enable Thumb instruction set -# Enable use of the Thumb instruction set. -# -cdl_option CYGHWR_THUMB { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # CYGINT_HAL_ARM_THUMB_ARCH == 0 - # --> 0 - - # 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 CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) -}; - -# Enable Thumb interworking compiler option -# This option controls the use of -mthumb-interwork in the -# compiler flags. It defaults enabled in Thumb or ROM monitor -# configurations, but can be overridden for reduced memory -# footprint where interworking is not a requirement. -# -cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # CYGINT_HAL_ARM_THUMB_ARCH == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) - # CYGHWR_THUMB == 0 - # CYGSEM_HAL_ROM_MONITOR == 1 - # --> 1 -}; - -# The platform and architecture supports Big Endian operation -# -cdl_interface CYGINT_HAL_ARM_BIGENDIAN { - # 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 CYGHWR_HAL_ARM_BIGENDIAN - # ActiveIf: CYGINT_HAL_ARM_BIGENDIAN != 0 -}; - -# Use big-endian mode -# Use the CPU in big-endian mode. -# -cdl_option CYGHWR_HAL_ARM_BIGENDIAN { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_BIGENDIAN != 0 - # CYGINT_HAL_ARM_BIGENDIAN == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# The platform uses a processor with an ARM7 core -# -cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with an ARM9 core -# -cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 { - # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with a StrongARM core -# -cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with a XScale core -# -cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# ARM CPU family -# It is possible to optimize code for different -# ARM CPU families. This option selects which CPU to -# optimize for on boards that support multiple CPU types. -# -cdl_option CYGHWR_HAL_ARM_CPU_FAMILY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value ARM9 - # value_source default - # Default value: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" - # CYGINT_HAL_ARM_ARCH_ARM7 == 0 - # CYGINT_HAL_ARM_ARCH_ARM9 == 1 - # CYGINT_HAL_ARM_ARCH_STRONGARM == 0 - # CYGINT_HAL_ARM_ARCH_XSCALE == 0 - # --> ARM9 - # Legal values: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # CYGINT_HAL_ARM_ARCH_ARM7 == 0 - # CYGINT_HAL_ARM_ARCH_ARM9 == 1 - # CYGINT_HAL_ARM_ARCH_STRONGARM == 0 - # CYGINT_HAL_ARM_ARCH_XSCALE == 0 -}; - -# Provide diagnostic dump for exceptions -# Print messages about hardware exceptions, including -# raw exception frame dump and register contents. -# -cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS { - # 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 - # --> 1 -}; - -# Process all exceptions with the eCos application -# Normal RAM-based programs which do not include GDB stubs -# defer processing of the illegal instruction exception to GDB. -# Setting this options allows the program to explicitly handle -# the illegal instruction exception itself. Note: this will -# prevent the use of GDB to debug the application as breakpoints -# will no longer work. -# -cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support GDB thread operations via ICE/Multi-ICE -# Allow GDB to get thread information via the ICE/Multi-ICE -# connection. -# -cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT { - # 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 - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 - # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0 - # --> 0 -}; - -# Support for 'gprof' callbacks -# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot -# to acquire the interrupt-context PC and SP, when this option is -# active. -# -cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS - # CYGSEM_REDBOOT_BSP_SYSCALLS == 0 - # --> 0 - # ActiveIf constraint: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Accept exceptions and irq's occurring in user mode -# For standalone Redboot based programs running in user mode. -# -cdl_option CYGOPT_HAL_ARM_WITH_USER_MODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Preserve svc spsr before returning to svc mode -# This option secures exception and breakpoint processing -# triggered during execution of application specific SWI -# handlers. -# -cdl_option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Linker script -# -cdl_option CYGBLD_LINKER_SCRIPT { - # Calculated value: "src/arm.ld" - # Flavor: data - # Current_value: src/arm.ld -}; - -# Implementations of hal_arm_mem_real_region_top() -# -cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Freescale SoC architecture -# This HAL variant package provides generic -# support for the Freescale SoC. It is also -# necessary to select a specific target platform HAL -# package. -# -cdl_package CYGPKG_HAL_ARM_MX53 { - # 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 CYGOPT_HAL_ARM_MXC_FEC_MIIGSK - # ActiveIf: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # option CYGHWR_DEVS_FLASH_MMC_ESDHC - # ActiveIf: CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - # CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 || CYGPKG_HAL_ARM_MX53 -}; - -# > -# Processor clock rate -# The processor can run at various frequencies. -# These values are expressed in KHz. Note that there are -# several steppings of the rate to run at different -# maximum frequencies. Check the specs to make sure that your -# particular processor can run at the rate you select here. -# -cdl_option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK { - # This option is not active - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" - # CYG_HAL_STARTUP == ROMRAM - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 150000 - # value_source default - # Default value: CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT ? - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT : 150000 - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0 - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0 - # --> 150000 - # Legal values: 150000 200000 -}; - -# Real-time clock constants -# -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 -# This option selects the heartbeat rate for the real-time clock. -# The rate is specified in ticks per second. Change this value -# with caution - too high and your system will become saturated -# just handling clock interrupts, too low and some operations -# such as thread scheduling may become sluggish. -# -cdl_option CYGNUM_HAL_RTC_DENOMINATOR { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 - - # The following properties are affected by this value - # option CYGNUM_HAL_RTC_PERIOD - # Calculated: (3686400/CYGNUM_HAL_RTC_DENOMINATOR) -}; - -# Real-time clock period -# -cdl_option CYGNUM_HAL_RTC_PERIOD { - # Calculated value: (3686400/CYGNUM_HAL_RTC_DENOMINATOR) - # CYGNUM_HAL_RTC_DENOMINATOR == 100 - # Flavor: data - # Current_value: 36864 -}; - -# < -# UART1 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART1 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART2 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART2 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART3 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART3 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART4 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART4 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART5 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART5 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Ka-Ro TX53 module -# This HAL platform package provides generic -# support for the Ka-Ro electronics TX53 module. -# -cdl_package CYGPKG_HAL_ARM_TX53KARO { - # 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: CYGINT_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 - # Requires: CYGBLD_BUILD_REDBOOT == 1 - # CYGBLD_BUILD_REDBOOT == 1 - # --> 1 -}; - -# > -# Startup type -# The only startup type allowed is ROMRAM, since this will allow -# the program to exist in ROM, but be copied to RAM during startup -# which is required to boot from NAND flash. -# -cdl_component CYG_HAL_STARTUP { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value ROMRAM - # value_source default - # Default value: ROMRAM - # Legal values: "ROMRAM" "RAM" - - # The following properties are affected by this value - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGSEM_HAL_USE_ROM_MONITOR - # DefaultValue: CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 - # option CYGSEM_HAL_USE_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "RAM" - # option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK - # ActiveIf: CYG_HAL_STARTUP == "ROM" - # 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 - # option CYGBLD_BUILD_REDBOOT_WITH_THREADS - # ActiveIf: CYG_HAL_STARTUP != "RAM" - # option CYGPRI_REDBOOT_ROM_MONITOR - # ActiveIf: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGPRI_REDBOOT_ROM_MONITOR - # ActiveIf: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" -}; - -# Diagnostic serial port baud rate -# This option selects the baud rate used for the console port. -# Note: this should match the value chosen for the GDB port if the -# console and GDB port are the same. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 115200 - # value_source default - # Default value: 115200 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# GDB serial port baud rate -# This option selects the baud rate used for the GDB port. -# Note: this should match the value chosen for the console port if the -# console and GDB port are the same. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 115200 - # value_source default - # Default value: 115200 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# Number of communication channels on the TX53 -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS { - # Calculated value: 5 - # Flavor: data - # Current_value: 5 - - # 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_DEFAULT - # 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 -}; - -# Debug serial port -# The TX53 provides access to five serial ports. This option -# chooses which port will be used to connect to a host -# running GDB. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL { - # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE - # CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 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_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 -}; - -# Default console channel. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT { - # Calculated value: 0 - # Flavor: data - # Current_value: 0 - # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 - - # The following properties are affected by this value - # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL - # DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT -}; - -# Console serial port -# The TX53 provides access to three serial ports. This option -# chooses which port will be used for console output. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL { - # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE - # CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT - # CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT == 0 - # --> 0 - # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 -}; - -# Ka-Ro electronics TX53 module 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_ARM_TX53_OPTIONS { - # There is no associated value. - # Requires: CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 -}; - -# > -# SDRAM DDR type -# This option specifies the SDRAM type of the TX53 module. -# Valid options are '2' for DDR2 and '3' for DDR3. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_TYPE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 2 - # value_source default - # Default value: 2 - # Legal values: 2 3 - - # The following properties are affected by this value - # component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 -}; - -# SDRAM size -# This option specifies the SDRAM size of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_SIZE { - # Flavor: data - user_value 0x40000000 - # value_source user - # Default value: 0x20000000 - # Legal values: 0x40000000 0x20000000 -}; - -# CPU clock -# This option specifies the CPU clock in MHz of the TX51 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_CPU_CLK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1000 - # value_source default - # Default value: 1000 - # Legal values: 800 1000 -}; - -# Enable low level debugging with LED -# This option enables low level debugging by blink codes -# of the LED on STK5. -# -cdl_option CYGOPT_HAL_ARM_TX53_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: false - # false (unknown) == 0 - # --> 0 -}; - -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the TX53 HAL. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_HAL_ARM_TX53_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 TX53 HAL. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_HAL_ARM_TX53_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Show a splash screen from the FIS partition: 'logo' -# When this option is enabled, RedBoot will look for a flash partition -# named 'logo' and display the contents of this partition as initial -# screen on the LCD -# -cdl_option CYGHWR_MX53_LCD_LOGO { - # ActiveIf constraint: CYGPKG_DEVS_IMX_IPU - # CYGPKG_DEVS_IMX_IPU == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Options for DDR2 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS { - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # --> 1 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR2_CLK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 400 - # value_source default - # Default value: 400 - # Legal values: 216 266 333 400 -}; - -# < -# Options for DDR3 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS { - # This option is not active - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # --> 0 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR3_CLK { - # This option is not active - # The parent CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 333 - # value_source default - # Default value: 333 - # Legal values: 333 -}; - -# < -# Memory layout -# -cdl_component CYGHWR_MEMORY_LAYOUT { - # Calculated value: "arm_tx53_romram" - # Flavor: data - # Current_value: arm_tx53_romram -}; - -# > -# Memory layout linker script fragment -# -cdl_option CYGHWR_MEMORY_LAYOUT_LDI { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# Memory layout header file -# -cdl_option CYGHWR_MEMORY_LAYOUT_H { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# < -# < -# < -# < -# < -# 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # 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_INFRA_EMPTY_DELETE_THRESHOLD - # ActiveIf: CYGPKG_INFRA_DEBUG -}; - -# > -# 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 == 0 - # --> 0 - - # The following properties are affected by this value - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS is not active - - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS is not active - - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS 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 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS 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 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 == 0 - # --> 0 - - # 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 -}; - -# > -# 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 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 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, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Fancy output -# An output module which produces fancy output -# from tracing and assertion events. -# -cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 -}; - -# Threshold for valid number of delete calls -# Some users don't know about the empty delete function and then -# wonder why their C++ classes are leaking memory. If -# INFRA_DEBUG is enabled we keep a counter for the number of -# times delete is called. If it goes above this threshold we throw -# an assertion failure. This should point heavy users of -# delete in the right direction without upsetting those who want -# an empty delete function. -# -cdl_option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD { - # This option is not active - # ActiveIf constraint: CYGPKG_INFRA_DEBUG - # CYGPKG_INFRA_DEBUG == 0 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 -}; - -# 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 1 - # value_source default - # Default value: CYGINT_ISO_EXIT == 0 - # CYGINT_ISO_EXIT == 0 - # --> 1 - # Requires: !CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 0 - # --> 1 -}; - -# 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 - user_value 1 - # value_source user - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_GLOBAL_CFLAGS - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS -}; - -# 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 - user_value 1 - # value_source user - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # --> 1 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 tests/diag_sprintf1 tests/diag_sprintf2" - # Flavor: data - # Current_value: tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2 -}; - -# > -# 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 -}; - -# < -# < -# < -# Redboot ROM monitor -# doc: ref/redboot.html -# This package supports the Redboot [stand-alone debug monitor] -# using eCos as the underlying board support mechanism. -# -cdl_package CYGPKG_REDBOOT { - # 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: CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 - # CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_REDBOOT_ARM_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # component CYGPKG_REDBOOT_HAL_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # option CYGSEM_IO_ETH_DRIVERS_WARN - # ActiveIf: CYGPKG_REDBOOT -}; - -# > -# Include support for ELF file format -# -cdl_component CYGSEM_REDBOOT_ELF { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Use the virtual address in the ELF headers -# The ELF headers contain both a virtual and a physical address -# for where code/data should be loaded. By default the physical -# address is used but sometimes it is necassary to use the -# virtual address because of bugy toolchains -# -cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Methods of loading images using redboot -# -cdl_interface CYGINT_REDBOOT_LOAD_METHOD { - # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled - # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGINT_REDBOOT_LOAD_METHOD -}; - -# Build Redboot ROM ELF image -# This option enables the building of the Redboot ELF image. -# The image may require further relocation or symbol -# stripping before being converted to a binary image. -# This is handled by a rule in the target CDL. -# -cdl_component CYGBLD_BUILD_REDBOOT { - # 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 - # Requires: CYGPKG_INFRA - # CYGPKG_INFRA == current - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0 - # --> 1 - # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_REDBOOT_LOAD_METHOD - # CYGINT_REDBOOT_LOAD_METHOD == 2 - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_HAL_ARM_TX53KARO - # Requires: CYGBLD_BUILD_REDBOOT == 1 - # option CYGBLD_BUILD_REDBOOT_BIN - # ActiveIf: CYGBLD_BUILD_REDBOOT -}; - -# > -# Include GDB support in RedBoot -# RedBoot normally includes support for the GDB debugging -# protocols. This option allows this to be disabled which -# may yield a substantial savings in terms of code and memory -# usage by RedBoot. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB { - # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS - # CYGINT_HAL_DEBUG_GDB_STUBS == 1 - # --> 1 - - # Flavor: bool - user_value 0 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source user - # Default value: 1 - # 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 -}; - -# Threads debugging support -# Enabling this option will include special code in the -# GDB stubs to support debugging of threaded programs. In -# the case of eCos programs, this support allows GDB to -# have complete access to the eCos threads in the -# program. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS { - # ActiveIf constraint: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # 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_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 -}; - -# Customized version string -# Use this option to define a customized version "string" for -# RedBoot. Note: this value is only cosmetic, displayed by the -# "version" command, but is useful for providing site specific -# information about the RedBoot configuration. -# -cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION { - # 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 "Ka-Ro 2010-01-06" - # value_source inferred - # Default value: 0 0 -}; - -# Enable command line editing -# If this option is non-zero, RedBoot will remember the -# last N command lines. These lines may be reused. -# Enabling this history will also enable rudimentary -# editting of the lines themselves. -# -cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES - # ActiveIf: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - # option CYGBLD_REDBOOT_CMD_LINE_HISTORY - # Requires: CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 -}; - -# Enable command line editing using ANSI arrows, etc -# If this option is enabled, RedBoot will accept standard ANSI key -# sequences for cursor movement (along with the emacs style keys). -# -cdl_option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES { - # ActiveIf constraint: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - # CYGNUM_REDBOOT_CMD_LINE_EDITING == 16 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Enable history command and expansion -# Enabling this option will allow RedBoot to provide a -# history command to list previous commands. Also enables -# history expansion via '!' character similar to bash -# shell. -# -cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 - # CYGNUM_REDBOOT_CMD_LINE_EDITING == 16 - # --> 1 -}; - -# Number of unique RAM segments on platform -# Change this option to be the number of memory segments which are -# supported by the platform. If the value is greater than 1, then -# a platform specific function must provide information about the -# additional segments. -# -cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include support gzip/zlib decompression -# -cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB { - # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB - # CYGPKG_COMPRESS_ZLIB == 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 - # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS -}; - -# > -# Size of zlib decompression buffer -# This is the size of the buffer filled with incoming data -# during load before calls are made to the decompressor -# function. For ethernet downloads this can be made bigger -# (at the cost of memory), but for serial downloads on slow -# processors it may be necessary to reduce the size to -# avoid serial overruns. zlib appears to bail out if less -# than five bytes are available initially so this is the -# minimum. -# -cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 64 - # value_source default - # Default value: 64 - # Legal values: 5 to 256 -}; - -# Support compression of Flash images -# This CDL indicates whether flash images can -# be decompressed from gzip/zlib format into RAM. -# -cdl_option CYGPRI_REDBOOT_ZLIB_FLASH { - # ActiveIf constraint: CYGPKG_REDBOOT_FLASH - # CYGPKG_REDBOOT_FLASH == 1 - # --> 1 - # ActiveIf constraint: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGPRI_REDBOOT_ZLIB_FLASH_FORCE == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Include GZIP uncompress command -# Enable this option to include a 'gunzip' command -# to uncompress GZIP compressed data. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_GUNZIP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Turn on CYGPRI_REDBOOT_ZLIB_FLASH -# Force CYGPRI_REDBOOT_ZLIB_FLASH to be chosen -# -cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE { - # 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 - # option CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE -}; - -# < -# Include support for xyzModem downloads -# doc: ref/download-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM { - # 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_REDBOOT_CFLAGS_ADD - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM -}; - -# 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_REDBOOT_CFLAGS_ADD { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM - # CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wno-inline - # value_source default - # Default value: -Wno-inline -}; - -# Allow the load-command write into Flash. -# Write images direct to Flash via the load command. -# We assume anything which is invalid RAM is flash, hence -# the requires statement -# -cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH { - # ActiveIf constraint: CYGPKG_REDBOOT_FLASH - # CYGPKG_REDBOOT_FLASH == 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_REDBOOT_VALIDATE_USER_RAM_LOADS - # CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS == 1 - # --> 1 -}; - -# Include MS Windows CE support -# doc: ref/wince.html -# This option enables MS Windows CE EShell support -# and Windows CE .BIN images support -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 -}; - -# Include support for MXC USB downloads -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include support for i.MX USB OTG downloads -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include POSIX checksum command -# doc: ref/cksum-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory fill command -# doc: ref/mfill-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory compare command -# doc: ref/mcmp-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory copy command -# doc: ref/mcopy-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory dump command -# doc: ref/dump-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include cache command -# doc: ref/cache-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include exec command -# doc: ref/exec-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC { - # 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_REDBOOT_ARM_LINUX_EXEC - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC -}; - -# Include I/O Memory commands 'iopeek' and 'iopoke' -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Granularity of timer/ticks -# This option controls the granularity of the timers. -# Faster CPUs can afford higher granularity (lower values) -# which should give higher network performance since the stack -# is purely polled. -# -cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 250 - # value_source default - # Default value: 250 - # Legal values: 10 25 50 100 250 500 1000 -}; - -# Redboot Networking -# This option includes networking support in RedBoot. -# -cdl_component CYGPKG_REDBOOT_NETWORKING { - # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS - # CYGPKG_IO_ETH_DRIVERS == 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 CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS - # DefaultValue: 0 != CYGPKG_REDBOOT_NETWORKING -}; - -# > -# Print net debug information -# This option is overriden by the configuration stored -# in flash. -# -cdl_option CYGDBG_REDBOOT_NET_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support TFTP for download -# This option enables the use of the TFTP protocol for -# download -# -cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support HTTP for download -# This option enables the use of the HTTP protocol for -# download -# -cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# Default IP address -# This IP address is the default used by RedBoot if -# a BOOTP/DHCP server does not respond. The numbers -# should be separated by *commas*, and not dots. If -# an IP address is configured into the Flash -# configuration, that will be used in preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# > -# Do not try to use BOOTP -# By default Redboot tries to use BOOTP to get an IP -# address. If there's no BOOTP server on your network -# use this option to avoid to wait until the -# timeout. This option is overriden by the -# configuration stored in flash. -# -cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP { - # This option is not active - # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Default bootp server -# This IP address is the default server -# address used by RedBoot if a BOOTP/DHCP -# server does not respond. The numbers should -# be separated by *commas*, and not dots. If -# an IP address is configured into the Flash -# configuration, that will be used in -# preference. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR { - # This option is not active - # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# < -# Use DHCP to get IP information -# Use DHCP protocol to obtain pertinent IP addresses, such -# as the client, server, gateway, etc. -# -cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP { - # 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 CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY - # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP -}; - -# Use a gateway for non-local IP traffic -# Enabling this option will allow the RedBoot networking -# stack to use a [single] gateway to reach a non-local -# IP address. If disabled, RedBoot will only be able to -# reach nodes on the same subnet. -# -cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP - # CYGSEM_REDBOOT_NETWORKING_DHCP == 1 - # --> 1 -}; - -# > -# Default gateway IP address -# This IP address is the default used by RedBoot -# if a BOOTP/DHCP server does not respond. The -# numbers should be separated by *commas*, and -# not dots. If an IP address is configured into -# the Flash configuration, that will be used in -# preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# Default IP address mask -# This IP address mask is the default used by -# RedBoot if a BOOTP/DHCP server does not -# respond. The numbers should be separated by -# *commas*, and not dots. If an IP address is -# configured into the Flash configuration, that -# will be used in preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "255, 255, 255, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# < -# TCP port to listen for incoming connections -# RedBoot will 'listen' on this port for incoming TCP -# connections. This allows outside connections to be made -# to the platform, either for GDB or RedBoot commands. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 9000 - # value_source default - # Default value: 9000 -}; - -# Number of [network] packet buffers -# RedBoot may need to buffer network data to support -# various connections. This option allows control -# over the number of such buffered packets, and in -# turn, controls the amount of memory used by RedBoot -# (which is not available to user applications). -# Each packet buffer takes up about 1514 bytes. -# Note: there is little need to make this larger than -# the default. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 3 to 8 -}; - -# DNS support -# When this option is enabled, RedBoot will be built with -# support for DNS, allowing use of hostnames on the command -# line. -# -cdl_component CYGPKG_REDBOOT_NETWORKING_DNS { - # This option is not active - # ActiveIf constraint: CYGPKG_NS_DNS - # CYGPKG_NS_DNS (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_NS_DNS_BUILD - # CYGPKG_NS_DNS_BUILD (unknown) == 0 - # --> 1 -}; - -# > -# Default DNS IP -# This option sets the IP of the default DNS. The IP can be -# changed at runtime as well. -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0.0.0.0 - # value_source default - # Default value: 0.0.0.0 -}; - -# Timeout in DNS lookup -# This option sets the timeout used when looking up an -# address via the DNS. Default is 10 seconds. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# Support the use of a domain name -# This option controls if Redboot supports domain -# names when performing DNS lookups -# -cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Default DNS domain -# This option sets the default DNS domain name. -# This value will be overwritten by the value in -# flash or a domain returned by DHCP -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Get DNS domain from Flash -# This option enables getting the domain name -# from the flash configuration. This can later be -# overwritten by a value learnt from DHCP -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - # ActiveIf constraint: CYGSEM_REDBOOT_FLASH_CONFIG - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Use DNS domain from DHCP -# This option enables the use of the domain name -# returned by DHCP. -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# BOOTP/DHCP DNS domain buffer size -# This options sets the size of the static -# buffer used by BOOTP/DHCP to store the DNS -# domain name. The domain name will not be -# set if the buffer is too small to hold it. -# -cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 -}; - -# < -# < -# Default network device driver -# This is the name of the default network device to use. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE { - # This option is not active - # ActiveIf constraint: CYGHWR_NET_DRIVERS > 1 - # CYGHWR_NET_DRIVERS == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"\"" - # value_source default - # Default value: "\"\"" -}; - -# Initialize only one net device -# This option tells RedBoot to stop initializing network -# devices when it finds the first device which is -# successfully initialized. The default behavior causes -# all network devices to be initialized. -# -cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE { - # This option is not active - # ActiveIf constraint: CYGHWR_NET_DRIVERS > 1 - # CYGHWR_NET_DRIVERS == 1 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Let RedBoot use any I/O channel for its console. -# If this option is enabled then RedBoot will attempt to use all -# defined serial I/O channels for its console device. Once input -# arrives at one of these channels then the console will use only -# that port. -# -cdl_option CYGPKG_REDBOOT_ANY_CONSOLE { - # 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 -}; - -# Let RedBoot adjust the baud rate of the serial console. -# If this option is enabled then RedBoot will support commands -# to set and query the baud rate on the selected console. -# -cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE { - # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT - # CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Run a platform specific startup function. -# If this option is enabled then RedBoot will execute a platform -# specific startup function before entering into its command line -# processing. This allows the platform to perform any special -# setups before RedBoot actually starts running. Note: the entire -# RedBoot environment will already be initialized at this point. -# -cdl_option CYGSEM_REDBOOT_PLF_STARTUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Run a platform specific ESA validation function. -# If this option is enabled then RedBoot will execute a platform -# specific function to validate an ethernet ESA. This would be -# useful if the address must conform to standards set by the -# hardware manufacturer, etc. -# -cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE { - # 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 - # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 - # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI - # ActiveIf: CYGSEM_REDBOOT_PLF_ESA_VALIDATE -}; - -# Maximum command line length -# This option allows control over how long the CLI command line -# should be. This space will be allocated statically -# rather than from RedBoot's stack. -# -cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # The inferred value should not be edited directly. - inferred_value 1024 - # value_source inferred - # Default value: 256 -}; - -# Command processing idle timeout (ms) -# This option controls the timeout period before the -# command processing is considered 'idle'. Making this -# number smaller will cause idle processing to take place -# more often, etc. The default value of 10ms is a reasonable -# tradeoff between responsiveness and overhead. -# -cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# Validate RAM addresses during load -# This option controls whether or not RedBoot will make -# sure that memory being used by the "load" command is -# in fact in user RAM. Leaving the option enabled makes -# for a safer environment, but this check may not be valid -# on all platforms, thus the ability to disable it. -# ** Disable this only with great care ** -# -cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS { - # 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_REDBOOT_LOAD_INTO_FLASH - # Requires: CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS -}; - -# Allow RedBoot to support FLASH programming -# If this option is enabled then RedBoot will provide commands -# to manage images in FLASH memory. These images can be loaded -# into memory for execution or executed in place. -# -cdl_component CYGPKG_REDBOOT_FLASH { - # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE - # CYGHWR_IO_FLASH_DEVICE == 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 CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: CYGPKG_REDBOOT_FLASH - # option CYGBLD_REDBOOT_LOAD_INTO_FLASH - # ActiveIf: CYGPKG_REDBOOT_FLASH -}; - -# > -# Byte order used to store info in flash. -# This option controls the byte ordering used to store -# the FIS directory info and flash config info. -# -cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value NATURAL - # value_source default - # Default value: NATURAL - # Legal values: "NATURAL" "MSBFIRST" "LSBFIRST" -}; - -# RedBoot Flash Image System support -# doc: ref/flash-image-system.html -# This option enables the Flash Image System commands -# and support within RedBoot. If disabled, simple Flash -# access commands such as "fis write" will still exist. -# This option would be disabled for targets that need simple -# FLASH manipulation, but do not have the need or space for -# complete image management. -# -cdl_option CYGOPT_REDBOOT_FIS { - # 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_REDBOOT_FIS_CONTENTS - # ActiveIf: CYGOPT_REDBOOT_FIS - # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # ActiveIf: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS -}; - -# Max number of chunks of free space to manage -# If this option is defined then "fis free" will -# rely on the FIS directory to determine what space is -# free within the FLASH. This option controls the -# maximum number of free segment which can be handled -# (typically this number is small). If this option is -# not enabled, the the archaic behaviour of actually -# scanning the FLASH for erased sectors (unreliable) -# will be used to determine what's free and what's -# not. -# -cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 32 - # value_source default - # Default value: 1 32 -}; - -# Flash Image System default directory contents -# -cdl_component CYGPKG_REDBOOT_FIS_CONTENTS { - # ActiveIf constraint: CYGOPT_REDBOOT_FIS - # CYGOPT_REDBOOT_FIS == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Flash block containing the Directory -# Which block of flash should hold the directory -# information. Positive numbers are absolute block -# numbers. Negative block numbers count backwards -# from the last block. eg 2 means block 2, -2 -# means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK { - # Flavor: data - # 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_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK -}; - -# Redundant Flash Image System Directory Support -# This option enables the use of a redundant FIS -# directory within RedBoot. If enabled a flash block -# will be reserved for a second copy of the fis -# directory. Doing this allow for power failure safe -# updates of the directory by the application. -# -cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG == 1 - # --> 0 -}; - -# > -# Flash block containing the backup Directory -# Which block of flash should hold the redundant -# directory information. Positive numbers are -# absolute block numbers. Negative block numbers -# count backwards from the last block. eg 2 means -# block 2, -2 means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK { - # This option is not active - # The parent CYGOPT_REDBOOT_REDUNDANT_FIS is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -3 - # value_source default - # Default value: -3 - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK - # CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK == 0 - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK == -1 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK -}; - -# < -# Pseudo-file to describe reserved area -# If an area of FLASH is reserved, it is informative to -# have a fis entry describing it. This option controls -# creation of such an entry by default in the fis init -# command. -# -cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE { - # This option is not active - # ActiveIf constraint: 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# File to describe RedBoot boot image -# Normally a ROM-startup RedBoot image is first in the -# FLASH, and the system boots using that image. This -# option controls creation of an entry describing it in -# the fis init command. It might be disabled if a -# platform has an immutable boot image of its own, where -# we use a POST-startup RedBoot instead, which performs -# less board initialization. -# -cdl_option CYGOPT_REDBOOT_FIS_REDBOOT { - # 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 CYGOPT_REDBOOT_FIS_REDBOOT_POST - # DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT - # option CYGBLD_REDBOOT_MIN_IMAGE_SIZE - # DefaultValue: CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 -}; - -# File to describe RedBoot POST-compatible image -# This option controls creation of an entry describing a -# POST-startup RedBoot image in the fis init command. -# Not all platforms support POST-startup. A platform -# might have both for testing purposes, where the -# eventual user would substitute their own POST code for -# the initial ROM-startup RedBoot, and then jump to the -# POST-compatible RedBoot immediately following. -# -cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT - # CYGOPT_REDBOOT_FIS_REDBOOT == 1 - # --> 0 -}; - -# > -# Offset of POST image from FLASH start -# This option specifies the offset for a POST image from -# the start of FLASH. If unset, then the fis entry -# describing the POST image will be placed where -# convenient. -# -cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET { - # This option is not active - # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET -}; - -# < -# File to describe RedBoot backup image -# This option controls creation of an entry describing a -# backup RedBoot image in the fis init command. -# Conventionally a RAM-startup RedBoot image is kept -# under this name for use in updating the ROM-based -# RedBoot that boots the board. -# -cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include ARM SIB ID in FIS -# If set, this option will cause the last 5 words of -# the FIS to include the special ID needed for the -# flash to be recognized as a reserved area for RedBoot -# by an ARM BootRom monitor. -# -cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Size of FIS directory entry -# The FIS directory is limited to one single flash -# sector. If your flash has tiny sectors, you may wish -# to reduce this value in order to get more slots in -# the FIS directory. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: 256 -}; - -# Number of FIS directory entries -# The FIS directory normally occupies a single flash -# sector. Adjusting this value can allow for more than -# one flash sector to be used, which is useful if your -# sectors are very small. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 -}; - -# Maximum RedBoot image size -# This option controls the maximum length reserved -# for the RedBoot boot image in the FIS table. -# This should be a multiple of the flash's erase -# block size. -# -cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00020000 - # The inferred value should not be edited directly. - inferred_value 0x00040000 - # value_source inferred - # Default value: CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 - # CYGOPT_REDBOOT_FIS_REDBOOT == 1 - # --> 0x00020000 -}; - -# Offset from start of FLASH to RedBoot boot image -# This option controls where the RedBoot boot image is -# located relative to the start of FLASH. -# -cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # --> 0 - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # component CYGPKG_HAL_ARM_TX53_OPTIONS - # Requires: CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 -}; - -# Size of reserved area at start of FLASH -# This option reserves an area at the start of -# FLASH where RedBoot will never interfere; it is -# expected that this area contains -# (non-RedBoot-based) POST code or some other boot -# monitor that executes before RedBoot. -# -cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE { - # Flavor: data - # 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 CYGOPT_REDBOOT_FIS_RESERVED_BASE - # ActiveIf: 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET -}; - -# < -# Keep all RedBoot FLASH data blocks locked. -# When this option is enabled, RedBoot will keep configuration -# data and the FIS directory blocks implicitly locked. While -# this is somewhat safer, it does add overhead during updates. -# -cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL { - # This option is not active - # ActiveIf constraint: CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 - # CYGHWR_IO_FLASH_BLOCK_LOCKING == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Use CRC checksums on FIS images. -# When this option is enabled, RedBoot will use CRC checksums -# when reading and writing flash images. -# -cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK { - # 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 -}; - -# ARM FLASH drivers support SIB flash block structure -# This interface is implemented by a flash driver -# to indicate that it supports the ARM SIB flash -# block structure -# -cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED { - # No options implement this inferface - # ActiveIf constraint: CYGPKG_HAL_ARM - # CYGPKG_HAL_ARM == current - # --> 1 - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGHWR_REDBOOT_ARM_FLASH_SIB - # ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED -}; - -# Use ARM SIB flash block structure -# This option is used to interpret ARM Flash System -# information blocks. -# -cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB { - # This option is not active - # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED - # CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Keep RedBoot configuration data in FLASH -# When this option is enabled, RedBoot will keep configuration -# data in a separate block of FLASH memory. This data will -# include such items as the node IP address or startup scripts. -# -cdl_component CYGSEM_REDBOOT_FLASH_CONFIG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_IO_FLASH != 0 - # CYGPKG_IO_FLASH == current - # --> 1 - - # The following properties are affected by this value - # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "255, 255, 255, 0" - # option CYGPKG_REDBOOT_NETWORKING_DNS_IP - # ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG - # option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN - # ActiveIf: CYGSEM_REDBOOT_FLASH_CONFIG - # option CYGFUN_REDBOOT_BOOT_SCRIPT - # ActiveIf: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG -}; - -# > -# Length of configuration data in FLASH -# This option is used to control the amount of memory and FLASH -# to be used for configuration options (persistent storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4096 - # value_source default - # Default value: 4096 -}; - -# Style of media used for persistent data storage -# Persistent data storage can either be held in 'norma' FLASH -# or some other device (represented by the 'EEPROM' choice). -# The different styles utilize different access methods. -# -cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value FLASH - # value_source default - # Default value: FLASH - # Legal values: "FLASH" "EEPROM" - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # ActiveIf: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK - # DefaultValue: (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") -}; - -# Merged config data and FIS directory -# If this option is set, then the FIS directory and FLASH -# configuration database will be stored in the same physical -# FLASH block. -# -cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG { - # ActiveIf constraint: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # CYGOPT_REDBOOT_FIS == 1 - # CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH - # --> 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 CYGOPT_REDBOOT_REDUNDANT_FIS - # Requires: 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG -}; - -# Which block of flash to use -# Which block of flash should hold the configuration -# information. Positive numbers are absolute block numbers. -# Negative block numbers count backwards from the last block. -# eg 2 means block 2, -2 means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -2 - # value_source default - # Default value: -2 -}; - -# Support simple macros/aliases in FLASH -# This option is used to allow support for simple text-based -# macros (aliases). These aliases are kept in the FLASH -# configuration data (persistent storage). -# -cdl_option CYGSEM_REDBOOT_FLASH_ALIASES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Length of strings in FLASH configuration data -# This option is used to control the amount of memory -# and FLASH to be used for string configuration -# options (persistent storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 -}; - -# Length of configuration script(s) in FLASH -# This option is used to control the amount of memory and -# FLASH to be used for configuration options (persistent -# storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 512 - # The inferred value should not be edited directly. - inferred_value 2048 - # value_source inferred - # Default value: 512 -}; - -# Fallback to read-only FLASH configuration -# This option will cause the configuration information to -# revert to the readonly information stored in the FLASH. -# The option only takes effect after -# 1) the config_ok flag has been set to be true, -# indicating that at one time the copy in RAM was valid; -# and -# 2) the information in RAM has been verified to be invalid -# -cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH - # --> 1 -}; - -# < -# Allow RedBoot to support fileio -# If this option is enabled then RedBoot will provide commands -# to load files from fileio file systems such as JFFS2. -# -cdl_component CYGPKG_REDBOOT_FILEIO { - # This option is not active - # ActiveIf constraint: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO (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_REDBOOT_GETC_BUFFER - # DefaultValue: CYGPKG_REDBOOT_FILEIO ? 4096 : 256 -}; - -# > -# Include an ls command -# If this option is enabled a simple ls command will be -# included in redboot so the contents of a directory -# can be listed -# -cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS { - # This option is not active - # The parent CYGPKG_REDBOOT_FILEIO is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Allow RedBoot to support disks -# If this option is enabled then RedBoot will provide commands -# to load disk files. -# -cdl_component CYGPKG_REDBOOT_DISK { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# > -# Include Redboot commands for disk access -# -cdl_option CYGSEM_REDBOOT_DISK { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGINT_REDBOOT_DISK_DRIVERS != 0 - # CYGINT_REDBOOT_DISK_DRIVERS == 0 - # --> 0 -}; - -# Hardware drivers for disk-type devices -# -cdl_interface CYGINT_REDBOOT_DISK_DRIVERS { - # Implemented by CYGSEM_REDBOOT_DISK_IDE, inactive, enabled - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_DISK - # DefaultValue: CYGINT_REDBOOT_DISK_DRIVERS != 0 -}; - -# Maximum number of supported disks -# This option controls the number of disks supported by -# RedBoot. -# -cdl_option CYGNUM_REDBOOT_MAX_DISKS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 -}; - -# Maximum number of partitions per disk -# This option controls the maximum number of supported -# partitions per disk. -# -cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 -}; - -# Support IDE disks. -# When this option is enabled, RedBoot will support IDE disks. -# -cdl_component CYGSEM_REDBOOT_DISK_IDE { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - # ActiveIf constraint: CYGINT_HAL_PLF_IF_IDE != 0 - # CYGINT_HAL_PLF_IF_IDE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Work with VMware virtual disks -# This option controls the disk driver behavior at -# ide-init -# -cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE { - # This option is not active - # The parent CYGSEM_REDBOOT_DISK_IDE is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Support Linux second extended filesystems. -# When this option is enabled, RedBoot will support EXT2 -# filesystems. -# -cdl_component CYGSEM_REDBOOT_DISK_EXT2FS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support ISO9660 filesystems. -# When this option is enabled, RedBoot will support ISO9660 -# filesystems. -# -cdl_component CYGSEM_REDBOOT_DISK_ISO9660 { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Calculated value: 0 - # Flavor: bool - # Current value: 0 -}; - -# < -# Boot scripting -# doc: ref/persistent-state-flash.html -# This contains options related to RedBoot's boot script -# functionality. -# -cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT { - # There is no associated value. -}; - -# > -# Boot scripting enabled -# This option controls whether RedBoot boot script -# functionality is enabled. -# -cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT { - # ActiveIf constraint: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG - # CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0 - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Use default RedBoot boot script -# If enabled, this option will tell RedBoot to use the -# value of this option as a default boot script. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT { - # 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 0 0 - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGFUN_REDBOOT_BOOT_SCRIPT - # ActiveIf: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG -}; - -# Resolution (in ms) for script timeout value. -# This option controls the resolution of the script -# timeout. The value is specified in milliseconds -# (ms), thus to have the script timeout be defined in -# terms of tenths of seconds, use 100. -# -cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1000 - # The inferred value should not be edited directly. - inferred_value 10 - # value_source inferred - # Default value: 1000 -}; - -# Script default timeout value -# This option is used to set the default timeout for startup -# scripts, when they are enabled. -# -cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 10 -}; - -# < -# Support RTC for time & date functions -# When this option is enabled, RedBoot will support commands to -# query and set the real time clock (time and date) -# -cdl_option CYGSEM_REDBOOT_RTC { - # This option is not active - # ActiveIf constraint: CYGPKG_IO_WALLCLOCK - # CYGPKG_IO_WALLCLOCK (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Behave like a ROM monitor -# Enabling this option will allow RedBoot to provide ROM -# monitor-style services to programs which it executes. -# -cdl_option CYGPRI_REDBOOT_ROM_MONITOR { - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # CYG_HAL_STARTUP == ROMRAM - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_HAL_ROM_MONITOR - # CYGSEM_HAL_ROM_MONITOR == 1 - # --> 1 -}; - -# Allow RedBoot to handle GNUPro application 'syscalls'. -# If this option is enabled then RedBoot will install a -# syscall handler to support debugging of applications -# based on GNUPro newlib/bsp. -# -cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS { - # 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 CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS - # option CYGPKG_HAL_GDB_FILEIO - # ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS -}; - -# > -# Support additional syscalls for 'gprof' profiling -# Support additional syscalls to support a periodic callback -# function for histogram-style profiling, and an enquire/set -# of the tick rate. -# The application must use the GNUPro newlib facilities -# to set this up. -# -cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF { - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - # ActiveIf constraint: 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT - # CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Does the HAL support 'gprof' profiling? -# -cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT { - # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF - # ActiveIf: 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT -}; - -# Do not raise SIGTRAP when program exits -# For some (single shot) newlib based programs, -# exiting and returning a termination status may be -# the normal expected behavior. -# -cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP { - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Use a common buffer for Zlib and FIS -# Use a common memory buffer for both the zlib workspace -# and FIS directory operations. This can save a substantial -# amount of RAM, especially when flash sectors are large. -# -cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS - # CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 1 - # CYGOPT_REDBOOT_FIS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Size of Zlib/FIS common buffer -# Size of common buffer to allocate. Must be at least the -# size of one flash sector. -# -cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE { - # This option is not active - # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x0000C000 - # value_source default - # Default value: 0x0000C000 - # Legal values: 0x4000 to 0x80000000 -}; - -# < -# Buffer size in getc when loading images -# When loading images a buffer is used between redboot and the -# underlying storage medium, eg a filesystem, or a socket etc. -# The size of this buffer can have a big impart on load speed. -# -cdl_option CYGNUM_REDBOOT_GETC_BUFFER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: CYGPKG_REDBOOT_FILEIO ? 4096 : 256 - # CYGPKG_REDBOOT_FILEIO == 0 - # --> 256 -}; - -# < -# Redboot for ARM options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_ARM_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Provide the exec command in RedBoot -# This option contains requirements for booting linux -# from RedBoot. The component is enabled/disabled from -# RedBoots CDL. -# -cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC - # CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# Enable -x switch for exec command. -# This option allows bi-endian platforms to launch kernels -# built for an endianess different than the RedBoot endianess -# -cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Physical base address of linux kernel -# This is the physical address of the base of the -# Linux kernel image. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x70108000 - # value_source default - # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT - # CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # --> 0x70108000 -}; - -# Default physical base address of linux kernel -# This is the physical address of the base of the -# Linux kernel image. This option gets set by the -# platform CDL. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00008000 - # The inferred value should not be edited directly. - inferred_value 0x70108000 - # value_source inferred - # Default value: 0x00008000 - - # The following properties are affected by this value - # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS - # DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT - # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS - # Requires: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 -}; - -# Base address of linux kernel parameter tags -# This is the base address of the area of memory used to -# pass parameters to the Linux kernel. This should be chosen -# to avoid overlap with the kernel and any ramdisk image. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00000100 - # value_source default - # Default value: 0x00000100 -}; - -# < -# < -# Redboot HAL options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_HAL_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. -}; - -# > -# Build Redboot ROM binary image -# This option enables the conversion of the Redboot ELF -# image to a binary image suitable for ROM programming. -# -cdl_option CYGBLD_BUILD_REDBOOT_BIN { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT - # CYGBLD_BUILD_REDBOOT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Redboot HAL variant options -# -cdl_component CYGPKG_REDBOOT_HAL_TX53_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. - # Requires: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # --> 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 CYGBLD_BUILD_REDBOOT - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STRING - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_COMPRESS_ZLIB - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_IO_FLASH - # Requires: CYGPKG_ISOINFRA - # 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_I18N - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STDLIB - # 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP - # CYGINT_ISO_MAIN_STARTUP == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_ENVIRON - # CYGINT_ISO_ENVIRON == 0 - # --> 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_HAL_ARM_TX53KARO - # Requires: CYGINT_ISO_CTYPE - # option CYGFUN_LIBC_STRING_BSD_FUNCS - # Requires: CYGINT_ISO_CTYPE - # package CYGPKG_LIBC_STDLIB - # 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 -}; - -# 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 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES - # CYGINT_ISO_STDIO_FILETYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Stdio standard streams implementations -# -cdl_interface CYGINT_ISO_STDIO_STREAMS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS - # CYGINT_ISO_STDIO_STREAMS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file operations -# -cdl_interface CYGINT_ISO_STDIO_FILEOPS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS - # CYGINT_ISO_STDIO_FILEOPS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file access functionals -# -cdl_interface CYGINT_ISO_STDIO_FILEACCESS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEACCESS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio formatted I/O -# -cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FORMATTED_IO - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio character I/O -# -cdl_interface CYGINT_ISO_STDIO_CHAR_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO - # CYGINT_ISO_STDIO_CHAR_IO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio direct I/O -# -cdl_interface CYGINT_ISO_STDIO_DIRECT_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO - # CYGINT_ISO_STDIO_DIRECT_IO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file positioning -# -cdl_interface CYGINT_ISO_STDIO_FILEPOS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEPOS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio error handling -# -cdl_interface CYGINT_ISO_STDIO_ERROR { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_ERROR - # CYGINT_ISO_STDIO_ERROR == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX fd-related function implementations -# -cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS - # CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0 - # --> 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 -}; - -# 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, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT - # Requires: 1 >= 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, disabled - # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, enabled - # 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 - # option CYGFUN_LIBC_STRING_STRDUP - # ActiveIf: 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 0 - # --> 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 -}; - -# 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 -}; - -# 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 -}; - -# 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, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS - # CYGINT_ISO_STRING_BSD_FUNCS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRING_BSD_FUNCS - # Requires: 1 >= 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGINT_ISO_STRING_STRFUNCS - # component CYGPKG_IO_ETH_DRIVERS_NET - # Requires: CYGINT_ISO_STRING_STRFUNCS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_IO_FLASH - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_LIBC_STDLIB - # 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 -}; - -# fnmatch implementation header -# -cdl_option CYGBLD_ISO_FNMATCH_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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_TYPES - # CYGINT_ISO_POSIX_TIMER_TYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX clock types -# -cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES - # CYGINT_ISO_POSIX_CLOCK_TYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of ISO C types -# -cdl_interface CYGINT_ISO_C_TIME_TYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES - # CYGINT_ISO_C_TIME_TYPES == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_C_TIME_TYPES - # Requires: 1 >= 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX timers -# -cdl_interface CYGINT_ISO_POSIX_TIMERS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMERS - # CYGINT_ISO_POSIX_TIMERS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX clocks -# -cdl_interface CYGINT_ISO_POSIX_CLOCKS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCKS - # CYGINT_ISO_POSIX_CLOCKS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of ISO C clock functions -# -cdl_interface CYGINT_ISO_C_CLOCK_FUNCS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS - # CYGINT_ISO_C_CLOCK_FUNCS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_NUMBERS - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# Number of signal implementations -# -cdl_interface CYGINT_ISO_SIGNAL_IMPL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_IMPL - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_POSIX_REALTIME_SIGNALS - # CYGINT_POSIX_REALTIME_SIGNALS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SETJMP - # CYGINT_ISO_SETJMP == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# sigsetjmp() / siglongjmp() implementations -# -cdl_interface CYGINT_ISO_SIGSETJMP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGSETJMP - # CYGINT_ISO_SIGSETJMP == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_FCNTL - # CYGINT_ISO_FCNTL == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_OPEN - # CYGINT_ISO_OPEN == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_DIRENT - # CYGINT_ISO_DIRENT == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX mutex types implementations -# -cdl_interface CYGINT_ISO_PMUTEXTYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 0 - # --> 1 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_BSDTYPES - # CYGINT_ISO_BSDTYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX scheduler -# -cdl_component CYGPKG_ISO_SCHED { - # There is no associated value. -}; - -# > -# POSIX scheduler implementations -# -cdl_interface CYGINT_ISO_SCHED_IMPL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SCHED_IMPL - # CYGINT_ISO_SCHED_IMPL == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SEMAPHORES - # CYGINT_ISO_SEMAPHORES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX message queues -# -cdl_component CYGPKG_ISO_MQUEUE { - # There is no associated value. -}; - -# > -# Implementations -# -cdl_interface CYGINT_ISO_MQUEUE { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 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 { - # This option is not active - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 0 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0 - # --> 0 0 -}; - -# Maximum number of message priorities -# -cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX { - # This option is not active - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 0 - - # 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_PTHREAD_IMPL - # CYGINT_ISO_PTHREAD_IMPL == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX mutex/cond var implementations -# -cdl_interface CYGINT_ISO_PTHREAD_MUTEX { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_PTHREAD_MUTEX - # CYGINT_ISO_PTHREAD_MUTEX == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# Limits -# -cdl_component CYGPKG_ISO_LIMITS { - # There is no associated value. -}; - -# > -# POSIX pthread limits implementations -# -cdl_interface CYGINT_ISO_POSIX_LIMITS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_POSIX_LIMITS - # CYGINT_ISO_POSIX_LIMITS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_TERMIOS - # CYGINT_ISO_TERMIOS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_OPS - # CYGINT_ISO_POSIX_TIMER_OPS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_SLEEP - # CYGINT_ISO_POSIX_SLEEP == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_SELECT - # CYGINT_ISO_SELECT == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_DNS - # CYGINT_ISO_DNS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Protocol network database implementations -# -cdl_interface CYGINT_ISO_NETDB_PROTO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_NETDB_PROTO - # CYGINT_ISO_NETDB_PROTO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Services network database implementations -# -cdl_interface CYGINT_ISO_NETDB_SERV { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_NETDB_SERV - # CYGINT_ISO_NETDB_SERV == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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: "" -}; - -# < -# < -# Compute CRCs -# doc: ref/services-crc.html -# This package provides support for CRC calculation. Currently -# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by -# Gary S. Brown, and a 16 bit CRC. -# -cdl_package CYGPKG_CRC { - # 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_COMPRESS_ZLIB - # Requires: CYGPKG_CRC -}; - -# > -# POSIX CRC tests -# -cdl_option CYGPKG_CRC_TESTS { - # Calculated value: "tests/crc_test" - # Flavor: data - # Current_value: tests/crc_test -}; - -# < -# Zlib compress and decompress package -# This package provides support for compression and -# decompression. -# -cdl_package CYGPKG_COMPRESS_ZLIB { - # 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_CRC - # CYGPKG_CRC == current - # --> 1 - - # The following properties are affected by this value - # component CYGBLD_BUILD_REDBOOT_WITH_ZLIB - # ActiveIf: CYGPKG_COMPRESS_ZLIB -}; - -# > -# Override memory allocation routines. -# -cdl_interface CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC { - # Implemented by CYGBLD_BUILD_REDBOOT_WITH_ZLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC - # ActiveIf: CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 -}; - -# Should deflate() produce 'gzip' compatible output? -# If this option is set then the output of calling deflate() -# will be wrapped up as a 'gzip' compatible file. -# -cdl_option CYGSEM_COMPRESS_ZLIB_DEFLATE_MAKES_GZIP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Does this library need malloc? -# This pseudo-option will force the memalloc library to be -# required iff the application does not provide it's own -# infrastructure. -# -cdl_option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC { - # This option is not active - # ActiveIf constraint: CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 - # CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 1 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_MEMALLOC - # CYGPKG_MEMALLOC == current - # --> 1 -}; - -# Include stdio-like utility functions -# This option enables the stdio-like zlib utility functions -# (gzread/gzwrite and friends) provided in gzio.c. -# -cdl_option CYGFUN_COMPRESS_ZLIB_GZIO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGPKG_LIBC_STDIO_OPEN ? 1 : 0 - # CYGPKG_LIBC_STDIO_OPEN (unknown) == 0 - # --> 0 - # Requires: CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 0 - # --> 0 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 0 - # --> 0 - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 0 - # --> 0 -}; - -# Zlib compress and decompress 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_COMPRESS_ZLIB_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_COMPRESS_ZLIB_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-D__ECOS__ -DNO_ERRNO_H" - # value_source default - # Default value: "-D__ECOS__ -DNO_ERRNO_H" -}; - -# 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_COMPRESS_ZLIB_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wstrict-prototypes - # value_source default - # Default value: -Wstrict-prototypes -}; - -# 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_COMPRESS_ZLIB_LDFLAGS_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_COMPRESS_ZLIB_LDFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# zlib tests -# -cdl_option CYGPKG_COMPRESS_ZLIB_TESTS { - # Calculated value: "tests/zlib1.c tests/zlib2.c" - # Flavor: data - # Current_value: tests/zlib1.c tests/zlib2.c -}; - -# < -# FLASH device drivers -# doc: ref/flash.html -# This option enables drivers for basic I/O services on -# flash devices. -# -cdl_package CYGPKG_IO_FLASH { - # 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_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGSEM_REDBOOT_FLASH_CONFIG - # DefaultValue: CYGPKG_IO_FLASH != 0 - # package CYGPKG_DEVS_FLASH_ONMXC - # ActiveIf: CYGPKG_IO_FLASH -}; - -# > -# Hardware FLASH device drivers -# This option enables the hardware device drivers -# for the current platform. -# -cdl_interface CYGHWR_IO_FLASH_DEVICE { - # Implemented by CYGPKG_DEVS_FLASH_ONMXC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # component CYGPKG_REDBOOT_FLASH - # ActiveIf: CYGHWR_IO_FLASH_DEVICE -}; - -# Hardware FLASH device drivers are not in RAM -# Use of this interface is deprecated. -# Drivers should make sure that the functions are -# linked to RAM by putting them in .2ram sections. -# -cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM - # CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM - # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM -}; - -# Hardware can support block locking -# This option will be enabled by devices which can support -# locking (write-protection) of individual blocks. -# -cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING { - # 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 - # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL - # ActiveIf: CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 -}; - -# Hardware cannot support direct access to FLASH memory -# This option will be asserted by devices which cannot support -# direct access to the FLASH memory contents (e.g. EEPROM or NAND -# devices). In these cases, the driver must provide an appropriate -# hardware access function. -# -cdl_option CYGSEM_IO_FLASH_READ_INDIRECT { - # 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 - # Requires: !CYGSEM_IO_FLASH_VERIFY_PROGRAM - # CYGSEM_IO_FLASH_VERIFY_PROGRAM == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE - # component CYGHWR_DEVS_FLASH_MMC - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MMC_ESDHC - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MMC_SD - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MXC_NAND - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 -}; - -# Display status messages during flash operations -# Selecting this option will cause the drivers to print status -# messages as various flash operations are undertaken. -# -cdl_option CYGSEM_IO_FLASH_CHATTER { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Verify data programmed to flash -# Selecting this option will cause verification of data -# programmed to flash. -# -cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM { - # 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 - - # The following properties are affected by this value - # option CYGSEM_IO_FLASH_READ_INDIRECT - # Requires: !CYGSEM_IO_FLASH_VERIFY_PROGRAM -}; - -# Platform has flash soft DIP switch write-protect -# Selecting this option will cause the state of a hardware jumper or -# dipswitch to be read by software to determine whether the flash is -# write-protected or not. -# -cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Instantiate in I/O block device API -# Provides a block device accessible using the standard I/O -# API ( cyg_io_read() etc. ) -# -cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE { - # This option is not active - # ActiveIf constraint: CYGPKG_IO - # CYGPKG_IO (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Name of flash device 1 block device -# -cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 { - # This option is not active - # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active - # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/flash1\"" - # value_source default - # Default value: "\"/dev/flash1\"" -}; - -# > -# -cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_1 { - # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1, inactive, enabled - # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1, inactive, disabled - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1 - # CYGINT_IO_FLASH_BLOCK_CFG_1 == 0 - # --> 0 - - # The following properties are affected by this value - # interface CYGINT_IO_FLASH_BLOCK_CFG_1 - # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1 -}; - -# Static configuration -# This configures the flash device 1 block device -# with static base and length -# -cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 { - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Start offset from flash base -# This gives the offset from the base of flash which this -# block device corresponds to. -# -cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# Length -# This gives the length of the region of flash given over -# to this block device. -# -cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# Configuration from FIS -# This configures the flash device 1 block device -# from Redboot FIS -# -cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 { - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Name of FIS entry -# -cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"jffs2\"" - # value_source default - # Default value: "\"jffs2\"" -}; - -# < -# < -# < -# Flash 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_FLASH_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the flash device drivers. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_FLASH_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 flash device drivers. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Flash device driver tests -# This option specifies the set of tests for the flash device drivers. -# -cdl_component CYGPKG_IO_FLASH_TESTS { - # Calculated value: "tests/flash1" - # Flavor: data - # Current_value: tests/flash1 -}; - -# > -# Start offset from flash base -# This gives the offset from the base of flash where tests -# can be run. It is important to set this correctly, as an -# incorrect value could allow the tests to write over critical -# portions of the FLASH device and possibly render the target -# board totally non-functional. -# -cdl_option CYGNUM_IO_FLASH_TEST_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# Length -# This gives the length of the region of flash used for testing. -# -cdl_option CYGNUM_IO_FLASH_TEST_LENGTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# < -# Support FLASH memory on Freescale MXC platforms -# -cdl_package CYGPKG_DEVS_FLASH_ONMXC { - # 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_FLASH - # CYGPKG_IO_FLASH == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# MXC platform MMC card support -# When this option is enabled, it indicates MMC card is -# supported on the MXC platforms -# -cdl_component CYGHWR_DEVS_FLASH_MMC { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) -}; - -# > -# MXC platform MMC card for newer SDHC controllers -# -cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC { - # This option is not active - # The parent CYGHWR_DEVS_FLASH_MMC is disabled - # ActiveIf constraint: CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - # CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX37 (unknown) == 0 - # CYGPKG_HAL_ARM_MX35 (unknown) == 0 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX51 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 -}; - -# MXC platform MMC card for older MMC/SD controllers -# -cdl_option CYGHWR_DEVS_FLASH_MMC_SD { - # This option is not active - # The parent CYGHWR_DEVS_FLASH_MMC is disabled - # ActiveIf constraint: CYGPKG_HAL_ARM_MX31_3STACK || CYGPKG_HAL_ARM_MX31ADS - # CYGPKG_HAL_ARM_MX31_3STACK (unknown) == 0 - # CYGPKG_HAL_ARM_MX31ADS (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: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 -}; - -# < -# MXC platform NOR flash memory support -# When this option is enabled, it indicates NOR flash is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_NOR { - # 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 0 - # value_source inferred - # Default value: 0 - - # The following properties are affected by this value - # option CYGHWR_DEVS_FLASH_IMX_SPI_NOR - # Requires: CYGHWR_DEVS_FLASH_MXC_NOR == 1 - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) -}; - -# MXC platform NAND flash memory support -# When this option is enabled, it indicates NAND flash is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_NAND { - # 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 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH - # ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND - # ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND -}; - -# i.MX platform SPI NOR flash memory support -# When this option is enabled, it indicates SPI NOR flash is -# supported on the i.MX platforms -# -cdl_option CYGHWR_DEVS_FLASH_IMX_SPI_NOR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGHWR_DEVS_FLASH_MXC_NOR == 1 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # --> 0 -}; - -# MXC platform ATA support -# When this option is enabled, it indicates ATA is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_ATA { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Use a flash based Bad Block Table -# -cdl_component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH { - # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# When this option is enabled, the driver will search for a flash -# based bad block table -# -cdl_option CYGHWR_DEVS_FLASH_MXC_BBT_IN_FLASH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# header file defining the NAND BBT descriptor -# defines the name of the header file that describes the BBT layout -# -cdl_component CYGHWR_FLASH_NAND_BBT_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 -}; - -# Number of blocks to reserve for BBT -# Number of blocks to reserve for BBT -# -cdl_option CYGNUM_FLASH_NAND_BBT_BLOCKS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 -}; - -# < -# MXC platform multi flash memory support -# When this option is enabled, it indicates multi flashes are -# supported on the MXC platforms (like NAND and NOR) -# -cdl_option CYGHWR_DEVS_FLASH_MXC_MULTI { - # This option is not active - # ActiveIf constraint: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # CYGHWR_DEVS_FLASH_MMC == 0 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # CYGHWR_DEVS_FLASH_MMC == 0 - # --> 0 - - # 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 -}; - -# MXC platform NAND flash reset workaround support -# When this option is enabled, it indicates 0xFFFF is used for -# the NAND reset command instead of 0xFF. -# -cdl_interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND { - # No options implement this inferface - # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# < -# < -# Dynamic memory allocation -# doc: ref/memalloc.html -# 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 - - # The following properties are affected by this value - # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC - # Requires: CYGPKG_MEMALLOC -}; - -# > -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 0 - # value_source default - # Default value: 0 != CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 - # Requires: CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 -}; - -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (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_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# 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 memmove() and memset() -# This may be used to control whether memset() and memmove() -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGFUN_KERNEL_API_C - # CYGFUN_KERNEL_API_C (unknown) == 0 - # --> 0 -}; - -# 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 -}; - -# Use external implementation of joining multiple heaps -# The default implementation of joining multiple heaps -# is fine for the case where there are multiple disjoint -# memory regions of the same type. However, in a system -# there might be e.g. a small amount of internal SRAM and -# a large amount of external DRAM. The SRAM is faster and -# the DRAM is slower. An application can implement some -# heuristic to choose which pool to allocate from. This -# heuristic can be highly application specific. -# -cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_JOIN_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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# 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 -}; - -# > -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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: "" -}; - -# < -# < -# I2C driver for FSL MXC-based platforms -# -cdl_package CYGPKG_DEVS_MXC_I2C { - # 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 -}; - -# ipu driver for mxc -# -cdl_package CYGPKG_DEVS_IMX_IPU { - # 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 CYGHWR_MX53_LCD_LOGO - # ActiveIf: CYGPKG_DEVS_IMX_IPU -}; - -# > -# IPU version 3EX support -# When this option is enabled, it indicates the IPU version -# is 3EX -# -cdl_option CYGHWR_DEVS_IPU_3_EX { - # 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 -}; - -# IPU version 3D support -# When this option is enabled, it indicates the IPU version -# is 3D -# -cdl_option CYGHWR_DEVS_IPU_3_D { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < - diff --git a/config/TX53-1x30.ecc b/config/TX53-1x30.ecc deleted file mode 100644 index f32ca839..00000000 --- a/config/TX53-1x30.ecc +++ /dev/null @@ -1,10427 +0,0 @@ -# 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 tx53karo ; - template redboot ; - package -hardware CYGPKG_HAL_ARM current ; - package -hardware CYGPKG_HAL_ARM_MX53 current ; - package -hardware CYGPKG_HAL_ARM_TX53KARO current ; - package -template CYGPKG_HAL current ; - package -template CYGPKG_INFRA current ; - package -template CYGPKG_REDBOOT current ; - package -template CYGPKG_ISOINFRA current ; - package -template CYGPKG_LIBC_STRING current ; - package -template CYGPKG_CRC current ; - package -hardware CYGPKG_IO_ETH_DRIVERS current ; - package -hardware CYGPKG_DEVS_ETH_ARM_TX53 current ; - package -hardware CYGPKG_DEVS_ETH_FEC current ; - package -hardware CYGPKG_COMPRESS_ZLIB current ; - package -hardware CYGPKG_IO_FLASH current ; - package -hardware CYGPKG_DEVS_FLASH_ONMXC current ; - package -template CYGPKG_MEMALLOC current ; - package -template CYGPKG_DEVS_ETH_PHY current ; - package -template CYGPKG_LIBC_I18N current ; - package -template CYGPKG_LIBC_STDLIB current ; - package -template CYGPKG_ERROR current ; - package -hardware CYGPKG_DEVS_MXC_I2C current ; - package -hardware CYGPKG_DEVS_IMX_IPU 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 - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu -}; - -# 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 - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 - # --> 1 - - # 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 "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" - # value_source default - # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" -}; - -# 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 -}; - -# < -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# 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 - # component CYGPKG_REDBOOT_NETWORKING - # ActiveIf: CYGPKG_IO_ETH_DRIVERS - # package CYGPKG_DEVS_ETH_ARM_TX53 - # ActiveIf: CYGPKG_IO_ETH_DRIVERS - # package CYGPKG_DEVS_ETH_FEC - # 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_FEC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE - # ActiveIf: CYGHWR_NET_DRIVERS > 1 - # option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE - # ActiveIf: CYGHWR_NET_DRIVERS > 1 -}; - -# Driver supports multicast addressing -# This interface defines whether or not a driver can handle -# requests for multicast addressing. -# -cdl_interface CYGINT_IO_ETH_MULTICAST { - # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_NET - # CYGPKG_NET (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: 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 { - # This option is not active - # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active - - # 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 { - # This option is not active - # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active - - # 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 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 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 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 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 { - # ActiveIf constraint: !CYGPKG_NET - # CYGPKG_NET (unknown) == 0 - # --> 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_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 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_REDBOOT_NETWORKING - # CYGPKG_REDBOOT_NETWORKING == 1 - # --> 1 -}; - -# 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 { - # 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 { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # 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 (unknown) == 0 - # --> 1 -}; - -# 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, inactive, enabled - # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # 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" -}; - -# < -# Ethernet driver for Ka-Ro electronics TX53 processor module -# -cdl_package CYGPKG_DEVS_ETH_ARM_TX53 { - # 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 -}; - -# > -# FEC ethernet driver required -# -cdl_interface CYGINT_DEVS_ETH_FEC_REQUIRED { - # Implemented by CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # package CYGPKG_DEVS_ETH_FEC - # ActiveIf: CYGINT_DEVS_ETH_FEC_REQUIRED -}; - -# Ka-Ro TX53 ethernet port driver -# This option includes the ethernet device driver for the -# MXC Board port. -# -cdl_component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1 - # --> 1 - # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700 - # CYGHWR_DEVS_ETH_PHY_LAN8700 == 1 - # --> 1 -}; - -# > -# Device name for the ETH0 ethernet driver -# This option sets the name of the ethernet device. -# -cdl_option CYGDAT_DEVS_ETH_ARM_MXCBOARD_ETH0_NAME { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"eth0\"" - # value_source default - # Default value: "\"eth0\"" -}; - -# OUI part of MAC address -# This option sets OUI part (manufacturer ID) of the MAC address -# for validation. -# -cdl_option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI { - # ActiveIf constraint: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{ 0x00, 0x0c, 0xc6 }" - # value_source default - # Default value: "{ 0x00, 0x0c, 0xc6 }" -}; - -# < -# < -# Driver for fast ethernet controller. -# Driver for fast ethernet controller. -# -cdl_package CYGPKG_DEVS_ETH_FEC { - # 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: CYGINT_DEVS_ETH_FEC_REQUIRED - # CYGINT_DEVS_ETH_FEC_REQUIRED == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# MXC FEC ethernet driver build options -# -cdl_component CYGPKG_DEVS_ETH_FEC_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the Cirrus Logic ethernet driver package. -# These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_DEVS_ETH_FEC_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" -}; - -# < -# MXC FEC MII Gasket for RMII mode -# This option enables the use of the MII Gasket for -# RMII mode found in i.MX25 and i.MX53 processors. -# -cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK { - # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Ethernet transceiver (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 -}; - -# > -# Enable driver debugging -# Enables the diagnostic debug messages on the -# console device. -# -cdl_option CYGDBG_DEVS_ETH_PHY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 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 -}; - -# 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 -}; - -# Intel LXT972 -# Include support for Intel LXT972xxx PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_INLXT972 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1890 -# Include support for ICS 1890 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1890 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1892 -# Include support for ICS 1892 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1892 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1893 -# Include support for ICS 1893 and 1893AF PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1893 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Davicom DM9161A -# Include support for the Davicom DM9161A PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_DM9161A { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Micrel KS8721 -# Include support for the Micrel KS8721 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_KS8721 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# SMSC LAN8700 -# Include support for SMSC LAN8700 NetPHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_LAN8700 { - # 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 - # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 - # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700 -}; - -# < -# < -# 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 -}; - -# > -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA != 0 - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 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 (unknown) == 0 - # --> 0 -}; - -# 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 - user_value 0 - # value_source user - # 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 - user_value 1 - # value_source user - # 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 0 - # value_source default - # Default value: 0 != CYGPKG_LIBM - # CYGPKG_LIBM (unknown) == 0 - # --> 0 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM (unknown) == 0 - # --> 0 -}; - -# 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 - user_value 0 - # value_source user - # Default value: 1 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# < -# 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 0 - # value_source default - # Default value: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# 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 0 - # value_source default - # Default value: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0 - # --> 0 - # Requires: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0 - # --> 0 -}; - -# 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 (unknown) == 0 - # --> 0 -}; - -# 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 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # 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 { - # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0 - # --> 1 - # ActiveIf constraint: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG - # CYGPKG_HAL_ARM == current - # 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 0 - # 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 == ROMRAM - # --> 0 - - # 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 disabled - - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 1 - - # The following properties are affected by this value - # package CYGPKG_REDBOOT - # Requires: CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 -}; - -# 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 32768 - # value_source default - # Default value: CYGPKG_KERNEL ? 4096 : 32768 - # CYGPKG_KERNEL (unknown) == 0 - # --> 32768 - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 - # component CYGBLD_BUILD_REDBOOT - # 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 -}; - -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # value_source default - # Default value: COPYBACK - # Legal values: "COPYBACK" "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_ARM_TX53KARO, 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 - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 0 - # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0 - # --> 1 - # Requires: !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS - # CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1 - # --> 1 - - # 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 CYGHWR_HAL_ARM_DUMP_EXCEPTIONS - # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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_ARM_TX53KARO, 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 CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - # 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 - - # The following properties are affected by this value - # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # component CYGBLD_BUILD_REDBOOT - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT -}; - -# 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 == 1 - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 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 CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # option CYGBLD_BUILD_REDBOOT_WITH_THREADS - # 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_ARM_TX53KARO, 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 { - # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE - # ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT -}; - -# 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 - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1 - # --> 0 - - # 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 == 1 - # Flavor: bool - # Current value: 1 - - # 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 == 0 - # CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0 - # Flavor: bool - # Current value: 1 - - # 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 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR - # CYG_HAL_STARTUP == ROMRAM - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # 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 == 1 - # --> 1 - - # 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 { - # This option is not active - # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1 - # --> 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_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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 1 - # value_source default - # Default value: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1 - # --> 1 -}; - -# 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 1 - # 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 == 1 - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 1 - - # 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 -}; - -# < -# 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 TX53 module, 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 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # CYG_HAL_STARTUP == ROMRAM - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) - # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # option CYGPRI_REDBOOT_ROM_MONITOR - # Requires: CYGSEM_HAL_ROM_MONITOR -}; - -# Work with a ROM monitor -# Support can be enabled for different varieties of ROM monitor. -# This support changes various eCos semantics such as the encoding -# of diagnostic output, or the overriding of hardware interrupt -# vectors. -# Firstly there is "Generic" support which prevents the HAL -# from overriding the hardware vectors that it does not use, to -# instead allow an installed ROM monitor to handle them. This is -# the most basic support which is likely to be common to most -# implementations of ROM monitor. -# "GDB_stubs" provides support when GDB stubs are included in -# the ROM monitor or boot ROM. -# -cdl_option CYGSEM_HAL_USE_ROM_MONITOR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 - # CYG_HAL_STARTUP == ROMRAM - # --> 0 0 - # Legal values: "Generic" "GDB_stubs" - # Requires: CYG_HAL_STARTUP == "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 0 - - # The following properties are affected by this value - # 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 -}; - -# < -# 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 - - # The following properties are affected by this value - # component CYGSEM_REDBOOT_DISK_IDE - # ActiveIf: CYGINT_HAL_PLF_IF_IDE != 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 == 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 (unknown) == 0 - # Flavor: data - # Current_value: tests/context tests/basic tests/cache tests/intr -}; - -# > -# 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" : "") -}; - -# < -# ARM architecture -# The ARM 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_ARM { - # 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 CYGDBG_HAL_DIAG_TO_DEBUG_CHAN - # ActiveIf: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG - # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED - # ActiveIf: CYGPKG_HAL_ARM -}; - -# > -# The CPU architecture supports THUMB mode -# -cdl_interface CYGINT_HAL_ARM_THUMB_ARCH { - # 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 CYGHWR_THUMB - # ActiveIf: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # ActiveIf: CYGINT_HAL_ARM_THUMB_ARCH != 0 -}; - -# Enable Thumb instruction set -# Enable use of the Thumb instruction set. -# -cdl_option CYGHWR_THUMB { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # CYGINT_HAL_ARM_THUMB_ARCH == 0 - # --> 0 - - # 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 CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) -}; - -# Enable Thumb interworking compiler option -# This option controls the use of -mthumb-interwork in the -# compiler flags. It defaults enabled in Thumb or ROM monitor -# configurations, but can be overridden for reduced memory -# footprint where interworking is not a requirement. -# -cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # CYGINT_HAL_ARM_THUMB_ARCH == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) - # CYGHWR_THUMB == 0 - # CYGSEM_HAL_ROM_MONITOR == 1 - # --> 1 -}; - -# The platform and architecture supports Big Endian operation -# -cdl_interface CYGINT_HAL_ARM_BIGENDIAN { - # 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 CYGHWR_HAL_ARM_BIGENDIAN - # ActiveIf: CYGINT_HAL_ARM_BIGENDIAN != 0 -}; - -# Use big-endian mode -# Use the CPU in big-endian mode. -# -cdl_option CYGHWR_HAL_ARM_BIGENDIAN { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_BIGENDIAN != 0 - # CYGINT_HAL_ARM_BIGENDIAN == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# The platform uses a processor with an ARM7 core -# -cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with an ARM9 core -# -cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 { - # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with a StrongARM core -# -cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with a XScale core -# -cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# ARM CPU family -# It is possible to optimize code for different -# ARM CPU families. This option selects which CPU to -# optimize for on boards that support multiple CPU types. -# -cdl_option CYGHWR_HAL_ARM_CPU_FAMILY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value ARM9 - # value_source default - # Default value: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" - # CYGINT_HAL_ARM_ARCH_ARM7 == 0 - # CYGINT_HAL_ARM_ARCH_ARM9 == 1 - # CYGINT_HAL_ARM_ARCH_STRONGARM == 0 - # CYGINT_HAL_ARM_ARCH_XSCALE == 0 - # --> ARM9 - # Legal values: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # CYGINT_HAL_ARM_ARCH_ARM7 == 0 - # CYGINT_HAL_ARM_ARCH_ARM9 == 1 - # CYGINT_HAL_ARM_ARCH_STRONGARM == 0 - # CYGINT_HAL_ARM_ARCH_XSCALE == 0 -}; - -# Provide diagnostic dump for exceptions -# Print messages about hardware exceptions, including -# raw exception frame dump and register contents. -# -cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS { - # 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 - # --> 1 -}; - -# Process all exceptions with the eCos application -# Normal RAM-based programs which do not include GDB stubs -# defer processing of the illegal instruction exception to GDB. -# Setting this options allows the program to explicitly handle -# the illegal instruction exception itself. Note: this will -# prevent the use of GDB to debug the application as breakpoints -# will no longer work. -# -cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support GDB thread operations via ICE/Multi-ICE -# Allow GDB to get thread information via the ICE/Multi-ICE -# connection. -# -cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT { - # 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 - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 - # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0 - # --> 0 -}; - -# Support for 'gprof' callbacks -# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot -# to acquire the interrupt-context PC and SP, when this option is -# active. -# -cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS - # CYGSEM_REDBOOT_BSP_SYSCALLS == 0 - # --> 0 - # ActiveIf constraint: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Accept exceptions and irq's occurring in user mode -# For standalone Redboot based programs running in user mode. -# -cdl_option CYGOPT_HAL_ARM_WITH_USER_MODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Preserve svc spsr before returning to svc mode -# This option secures exception and breakpoint processing -# triggered during execution of application specific SWI -# handlers. -# -cdl_option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Linker script -# -cdl_option CYGBLD_LINKER_SCRIPT { - # Calculated value: "src/arm.ld" - # Flavor: data - # Current_value: src/arm.ld -}; - -# Implementations of hal_arm_mem_real_region_top() -# -cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Freescale SoC architecture -# This HAL variant package provides generic -# support for the Freescale SoC. It is also -# necessary to select a specific target platform HAL -# package. -# -cdl_package CYGPKG_HAL_ARM_MX53 { - # 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 CYGOPT_HAL_ARM_MXC_FEC_MIIGSK - # ActiveIf: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # option CYGHWR_DEVS_FLASH_MMC_ESDHC - # ActiveIf: CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - # CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 || CYGPKG_HAL_ARM_MX53 -}; - -# > -# Processor clock rate -# The processor can run at various frequencies. -# These values are expressed in KHz. Note that there are -# several steppings of the rate to run at different -# maximum frequencies. Check the specs to make sure that your -# particular processor can run at the rate you select here. -# -cdl_option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK { - # This option is not active - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" - # CYG_HAL_STARTUP == ROMRAM - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 150000 - # value_source default - # Default value: CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT ? - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT : 150000 - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0 - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0 - # --> 150000 - # Legal values: 150000 200000 -}; - -# Real-time clock constants -# -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 -# This option selects the heartbeat rate for the real-time clock. -# The rate is specified in ticks per second. Change this value -# with caution - too high and your system will become saturated -# just handling clock interrupts, too low and some operations -# such as thread scheduling may become sluggish. -# -cdl_option CYGNUM_HAL_RTC_DENOMINATOR { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 - - # The following properties are affected by this value - # option CYGNUM_HAL_RTC_PERIOD - # Calculated: (3686400/CYGNUM_HAL_RTC_DENOMINATOR) -}; - -# Real-time clock period -# -cdl_option CYGNUM_HAL_RTC_PERIOD { - # Calculated value: (3686400/CYGNUM_HAL_RTC_DENOMINATOR) - # CYGNUM_HAL_RTC_DENOMINATOR == 100 - # Flavor: data - # Current_value: 36864 -}; - -# < -# UART1 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART1 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART2 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART2 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART3 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART3 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART4 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART4 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART5 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART5 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Ka-Ro TX53 module -# This HAL platform package provides generic -# support for the Ka-Ro electronics TX53 module. -# -cdl_package CYGPKG_HAL_ARM_TX53KARO { - # 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: CYGINT_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 - # Requires: CYGBLD_BUILD_REDBOOT == 1 - # CYGBLD_BUILD_REDBOOT == 1 - # --> 1 -}; - -# > -# Startup type -# The only startup type allowed is ROMRAM, since this will allow -# the program to exist in ROM, but be copied to RAM during startup -# which is required to boot from NAND flash. -# -cdl_component CYG_HAL_STARTUP { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value ROMRAM - # value_source default - # Default value: ROMRAM - # Legal values: "ROMRAM" "RAM" - - # The following properties are affected by this value - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGSEM_HAL_USE_ROM_MONITOR - # DefaultValue: CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 - # option CYGSEM_HAL_USE_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "RAM" - # option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK - # ActiveIf: CYG_HAL_STARTUP == "ROM" - # 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 - # option CYGBLD_BUILD_REDBOOT_WITH_THREADS - # ActiveIf: CYG_HAL_STARTUP != "RAM" - # option CYGPRI_REDBOOT_ROM_MONITOR - # ActiveIf: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGPRI_REDBOOT_ROM_MONITOR - # ActiveIf: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" -}; - -# Diagnostic serial port baud rate -# This option selects the baud rate used for the console port. -# Note: this should match the value chosen for the GDB port if the -# console and GDB port are the same. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 115200 - # value_source default - # Default value: 115200 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# GDB serial port baud rate -# This option selects the baud rate used for the GDB port. -# Note: this should match the value chosen for the console port if the -# console and GDB port are the same. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 115200 - # value_source default - # Default value: 115200 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# Number of communication channels on the TX53 -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS { - # Calculated value: 5 - # Flavor: data - # Current_value: 5 - - # 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_DEFAULT - # 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 -}; - -# Debug serial port -# The TX53 provides access to five serial ports. This option -# chooses which port will be used to connect to a host -# running GDB. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL { - # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE - # CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 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_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 -}; - -# Default console channel. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT { - # Calculated value: 0 - # Flavor: data - # Current_value: 0 - # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 - - # The following properties are affected by this value - # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL - # DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT -}; - -# Console serial port -# The TX53 provides access to three serial ports. This option -# chooses which port will be used for console output. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL { - # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE - # CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT - # CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT == 0 - # --> 0 - # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 -}; - -# Ka-Ro electronics TX53 module 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_ARM_TX53_OPTIONS { - # There is no associated value. - # Requires: CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 -}; - -# > -# SDRAM DDR type -# This option specifies the SDRAM type of the TX53 module. -# Valid options are '2' for DDR2 and '3' for DDR3. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_TYPE { - # Flavor: data - user_value 3 - # value_source user - # Default value: 2 - # Legal values: 2 3 - - # The following properties are affected by this value - # component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 -}; - -# SDRAM size -# This option specifies the SDRAM size of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x20000000 - # value_source default - # Default value: 0x20000000 - # Legal values: 0x40000000 0x20000000 -}; - -# CPU clock -# This option specifies the CPU clock in MHz of the TX51 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_CPU_CLK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1000 - # value_source default - # Default value: 1000 - # Legal values: 800 1000 -}; - -# Enable low level debugging with LED -# This option enables low level debugging by blink codes -# of the LED on STK5. -# -cdl_option CYGOPT_HAL_ARM_TX53_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: false - # false (unknown) == 0 - # --> 0 -}; - -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the TX53 HAL. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_HAL_ARM_TX53_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 TX53 HAL. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_HAL_ARM_TX53_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Show a splash screen from the FIS partition: 'logo' -# When this option is enabled, RedBoot will look for a flash partition -# named 'logo' and display the contents of this partition as initial -# screen on the LCD -# -cdl_option CYGHWR_MX53_LCD_LOGO { - # ActiveIf constraint: CYGPKG_DEVS_IMX_IPU - # CYGPKG_DEVS_IMX_IPU == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Options for DDR2 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS { - # This option is not active - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # --> 0 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR2_CLK { - # This option is not active - # The parent CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 400 - # value_source default - # Default value: 400 - # Legal values: 216 266 333 400 -}; - -# < -# Options for DDR3 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS { - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # --> 1 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR3_CLK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 333 - # value_source default - # Default value: 333 - # Legal values: 333 -}; - -# < -# Memory layout -# -cdl_component CYGHWR_MEMORY_LAYOUT { - # Calculated value: "arm_tx53_romram" - # Flavor: data - # Current_value: arm_tx53_romram -}; - -# > -# Memory layout linker script fragment -# -cdl_option CYGHWR_MEMORY_LAYOUT_LDI { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# Memory layout header file -# -cdl_option CYGHWR_MEMORY_LAYOUT_H { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# < -# < -# < -# < -# < -# 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # 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_INFRA_EMPTY_DELETE_THRESHOLD - # ActiveIf: CYGPKG_INFRA_DEBUG -}; - -# > -# 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 == 0 - # --> 0 - - # The following properties are affected by this value - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS is not active - - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS is not active - - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS 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 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS 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 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 == 0 - # --> 0 - - # 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 -}; - -# > -# 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 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 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, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Fancy output -# An output module which produces fancy output -# from tracing and assertion events. -# -cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 -}; - -# Threshold for valid number of delete calls -# Some users don't know about the empty delete function and then -# wonder why their C++ classes are leaking memory. If -# INFRA_DEBUG is enabled we keep a counter for the number of -# times delete is called. If it goes above this threshold we throw -# an assertion failure. This should point heavy users of -# delete in the right direction without upsetting those who want -# an empty delete function. -# -cdl_option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD { - # This option is not active - # ActiveIf constraint: CYGPKG_INFRA_DEBUG - # CYGPKG_INFRA_DEBUG == 0 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 -}; - -# 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 1 - # value_source default - # Default value: CYGINT_ISO_EXIT == 0 - # CYGINT_ISO_EXIT == 0 - # --> 1 - # Requires: !CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 0 - # --> 1 -}; - -# 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 - user_value 1 - # value_source user - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_GLOBAL_CFLAGS - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS -}; - -# 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 - user_value 1 - # value_source user - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # --> 1 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 tests/diag_sprintf1 tests/diag_sprintf2" - # Flavor: data - # Current_value: tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2 -}; - -# > -# 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 -}; - -# < -# < -# < -# Redboot ROM monitor -# doc: ref/redboot.html -# This package supports the Redboot [stand-alone debug monitor] -# using eCos as the underlying board support mechanism. -# -cdl_package CYGPKG_REDBOOT { - # 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: CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 - # CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_REDBOOT_ARM_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # component CYGPKG_REDBOOT_HAL_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # option CYGSEM_IO_ETH_DRIVERS_WARN - # ActiveIf: CYGPKG_REDBOOT -}; - -# > -# Include support for ELF file format -# -cdl_component CYGSEM_REDBOOT_ELF { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Use the virtual address in the ELF headers -# The ELF headers contain both a virtual and a physical address -# for where code/data should be loaded. By default the physical -# address is used but sometimes it is necassary to use the -# virtual address because of bugy toolchains -# -cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Methods of loading images using redboot -# -cdl_interface CYGINT_REDBOOT_LOAD_METHOD { - # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled - # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGINT_REDBOOT_LOAD_METHOD -}; - -# Build Redboot ROM ELF image -# This option enables the building of the Redboot ELF image. -# The image may require further relocation or symbol -# stripping before being converted to a binary image. -# This is handled by a rule in the target CDL. -# -cdl_component CYGBLD_BUILD_REDBOOT { - # 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 - # Requires: CYGPKG_INFRA - # CYGPKG_INFRA == current - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0 - # --> 1 - # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_REDBOOT_LOAD_METHOD - # CYGINT_REDBOOT_LOAD_METHOD == 2 - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_HAL_ARM_TX53KARO - # Requires: CYGBLD_BUILD_REDBOOT == 1 - # option CYGBLD_BUILD_REDBOOT_BIN - # ActiveIf: CYGBLD_BUILD_REDBOOT -}; - -# > -# Include GDB support in RedBoot -# RedBoot normally includes support for the GDB debugging -# protocols. This option allows this to be disabled which -# may yield a substantial savings in terms of code and memory -# usage by RedBoot. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB { - # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS - # CYGINT_HAL_DEBUG_GDB_STUBS == 1 - # --> 1 - - # Flavor: bool - user_value 0 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source user - # Default value: 1 - # 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 -}; - -# Threads debugging support -# Enabling this option will include special code in the -# GDB stubs to support debugging of threaded programs. In -# the case of eCos programs, this support allows GDB to -# have complete access to the eCos threads in the -# program. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS { - # ActiveIf constraint: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # 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_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 -}; - -# Customized version string -# Use this option to define a customized version "string" for -# RedBoot. Note: this value is only cosmetic, displayed by the -# "version" command, but is useful for providing site specific -# information about the RedBoot configuration. -# -cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION { - # 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 "Ka-Ro 2010-01-06" - # value_source inferred - # Default value: 0 0 -}; - -# Enable command line editing -# If this option is non-zero, RedBoot will remember the -# last N command lines. These lines may be reused. -# Enabling this history will also enable rudimentary -# editting of the lines themselves. -# -cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES - # ActiveIf: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - # option CYGBLD_REDBOOT_CMD_LINE_HISTORY - # Requires: CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 -}; - -# Enable command line editing using ANSI arrows, etc -# If this option is enabled, RedBoot will accept standard ANSI key -# sequences for cursor movement (along with the emacs style keys). -# -cdl_option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES { - # ActiveIf constraint: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - # CYGNUM_REDBOOT_CMD_LINE_EDITING == 16 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Enable history command and expansion -# Enabling this option will allow RedBoot to provide a -# history command to list previous commands. Also enables -# history expansion via '!' character similar to bash -# shell. -# -cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 - # CYGNUM_REDBOOT_CMD_LINE_EDITING == 16 - # --> 1 -}; - -# Number of unique RAM segments on platform -# Change this option to be the number of memory segments which are -# supported by the platform. If the value is greater than 1, then -# a platform specific function must provide information about the -# additional segments. -# -cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include support gzip/zlib decompression -# -cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB { - # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB - # CYGPKG_COMPRESS_ZLIB == 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 - # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS -}; - -# > -# Size of zlib decompression buffer -# This is the size of the buffer filled with incoming data -# during load before calls are made to the decompressor -# function. For ethernet downloads this can be made bigger -# (at the cost of memory), but for serial downloads on slow -# processors it may be necessary to reduce the size to -# avoid serial overruns. zlib appears to bail out if less -# than five bytes are available initially so this is the -# minimum. -# -cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 64 - # value_source default - # Default value: 64 - # Legal values: 5 to 256 -}; - -# Support compression of Flash images -# This CDL indicates whether flash images can -# be decompressed from gzip/zlib format into RAM. -# -cdl_option CYGPRI_REDBOOT_ZLIB_FLASH { - # ActiveIf constraint: CYGPKG_REDBOOT_FLASH - # CYGPKG_REDBOOT_FLASH == 1 - # --> 1 - # ActiveIf constraint: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGPRI_REDBOOT_ZLIB_FLASH_FORCE == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Include GZIP uncompress command -# Enable this option to include a 'gunzip' command -# to uncompress GZIP compressed data. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_GUNZIP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Turn on CYGPRI_REDBOOT_ZLIB_FLASH -# Force CYGPRI_REDBOOT_ZLIB_FLASH to be chosen -# -cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE { - # 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 - # option CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE -}; - -# < -# Include support for xyzModem downloads -# doc: ref/download-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM { - # 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_REDBOOT_CFLAGS_ADD - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM -}; - -# 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_REDBOOT_CFLAGS_ADD { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM - # CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wno-inline - # value_source default - # Default value: -Wno-inline -}; - -# Allow the load-command write into Flash. -# Write images direct to Flash via the load command. -# We assume anything which is invalid RAM is flash, hence -# the requires statement -# -cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH { - # ActiveIf constraint: CYGPKG_REDBOOT_FLASH - # CYGPKG_REDBOOT_FLASH == 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_REDBOOT_VALIDATE_USER_RAM_LOADS - # CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS == 1 - # --> 1 -}; - -# Include MS Windows CE support -# doc: ref/wince.html -# This option enables MS Windows CE EShell support -# and Windows CE .BIN images support -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 -}; - -# Include support for MXC USB downloads -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include support for i.MX USB OTG downloads -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include POSIX checksum command -# doc: ref/cksum-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory fill command -# doc: ref/mfill-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory compare command -# doc: ref/mcmp-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory copy command -# doc: ref/mcopy-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory dump command -# doc: ref/dump-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include cache command -# doc: ref/cache-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include exec command -# doc: ref/exec-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC { - # 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_REDBOOT_ARM_LINUX_EXEC - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC -}; - -# Include I/O Memory commands 'iopeek' and 'iopoke' -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Granularity of timer/ticks -# This option controls the granularity of the timers. -# Faster CPUs can afford higher granularity (lower values) -# which should give higher network performance since the stack -# is purely polled. -# -cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 250 - # value_source default - # Default value: 250 - # Legal values: 10 25 50 100 250 500 1000 -}; - -# Redboot Networking -# This option includes networking support in RedBoot. -# -cdl_component CYGPKG_REDBOOT_NETWORKING { - # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS - # CYGPKG_IO_ETH_DRIVERS == 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 CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS - # DefaultValue: 0 != CYGPKG_REDBOOT_NETWORKING -}; - -# > -# Print net debug information -# This option is overriden by the configuration stored -# in flash. -# -cdl_option CYGDBG_REDBOOT_NET_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support TFTP for download -# This option enables the use of the TFTP protocol for -# download -# -cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support HTTP for download -# This option enables the use of the HTTP protocol for -# download -# -cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# Default IP address -# This IP address is the default used by RedBoot if -# a BOOTP/DHCP server does not respond. The numbers -# should be separated by *commas*, and not dots. If -# an IP address is configured into the Flash -# configuration, that will be used in preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# > -# Do not try to use BOOTP -# By default Redboot tries to use BOOTP to get an IP -# address. If there's no BOOTP server on your network -# use this option to avoid to wait until the -# timeout. This option is overriden by the -# configuration stored in flash. -# -cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP { - # This option is not active - # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Default bootp server -# This IP address is the default server -# address used by RedBoot if a BOOTP/DHCP -# server does not respond. The numbers should -# be separated by *commas*, and not dots. If -# an IP address is configured into the Flash -# configuration, that will be used in -# preference. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR { - # This option is not active - # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# < -# Use DHCP to get IP information -# Use DHCP protocol to obtain pertinent IP addresses, such -# as the client, server, gateway, etc. -# -cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP { - # 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 CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY - # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP -}; - -# Use a gateway for non-local IP traffic -# Enabling this option will allow the RedBoot networking -# stack to use a [single] gateway to reach a non-local -# IP address. If disabled, RedBoot will only be able to -# reach nodes on the same subnet. -# -cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP - # CYGSEM_REDBOOT_NETWORKING_DHCP == 1 - # --> 1 -}; - -# > -# Default gateway IP address -# This IP address is the default used by RedBoot -# if a BOOTP/DHCP server does not respond. The -# numbers should be separated by *commas*, and -# not dots. If an IP address is configured into -# the Flash configuration, that will be used in -# preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# Default IP address mask -# This IP address mask is the default used by -# RedBoot if a BOOTP/DHCP server does not -# respond. The numbers should be separated by -# *commas*, and not dots. If an IP address is -# configured into the Flash configuration, that -# will be used in preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "255, 255, 255, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# < -# TCP port to listen for incoming connections -# RedBoot will 'listen' on this port for incoming TCP -# connections. This allows outside connections to be made -# to the platform, either for GDB or RedBoot commands. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 9000 - # value_source default - # Default value: 9000 -}; - -# Number of [network] packet buffers -# RedBoot may need to buffer network data to support -# various connections. This option allows control -# over the number of such buffered packets, and in -# turn, controls the amount of memory used by RedBoot -# (which is not available to user applications). -# Each packet buffer takes up about 1514 bytes. -# Note: there is little need to make this larger than -# the default. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 3 to 8 -}; - -# DNS support -# When this option is enabled, RedBoot will be built with -# support for DNS, allowing use of hostnames on the command -# line. -# -cdl_component CYGPKG_REDBOOT_NETWORKING_DNS { - # This option is not active - # ActiveIf constraint: CYGPKG_NS_DNS - # CYGPKG_NS_DNS (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_NS_DNS_BUILD - # CYGPKG_NS_DNS_BUILD (unknown) == 0 - # --> 1 -}; - -# > -# Default DNS IP -# This option sets the IP of the default DNS. The IP can be -# changed at runtime as well. -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0.0.0.0 - # value_source default - # Default value: 0.0.0.0 -}; - -# Timeout in DNS lookup -# This option sets the timeout used when looking up an -# address via the DNS. Default is 10 seconds. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# Support the use of a domain name -# This option controls if Redboot supports domain -# names when performing DNS lookups -# -cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Default DNS domain -# This option sets the default DNS domain name. -# This value will be overwritten by the value in -# flash or a domain returned by DHCP -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Get DNS domain from Flash -# This option enables getting the domain name -# from the flash configuration. This can later be -# overwritten by a value learnt from DHCP -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - # ActiveIf constraint: CYGSEM_REDBOOT_FLASH_CONFIG - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Use DNS domain from DHCP -# This option enables the use of the domain name -# returned by DHCP. -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# BOOTP/DHCP DNS domain buffer size -# This options sets the size of the static -# buffer used by BOOTP/DHCP to store the DNS -# domain name. The domain name will not be -# set if the buffer is too small to hold it. -# -cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 -}; - -# < -# < -# Default network device driver -# This is the name of the default network device to use. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE { - # This option is not active - # ActiveIf constraint: CYGHWR_NET_DRIVERS > 1 - # CYGHWR_NET_DRIVERS == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"\"" - # value_source default - # Default value: "\"\"" -}; - -# Initialize only one net device -# This option tells RedBoot to stop initializing network -# devices when it finds the first device which is -# successfully initialized. The default behavior causes -# all network devices to be initialized. -# -cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE { - # This option is not active - # ActiveIf constraint: CYGHWR_NET_DRIVERS > 1 - # CYGHWR_NET_DRIVERS == 1 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Let RedBoot use any I/O channel for its console. -# If this option is enabled then RedBoot will attempt to use all -# defined serial I/O channels for its console device. Once input -# arrives at one of these channels then the console will use only -# that port. -# -cdl_option CYGPKG_REDBOOT_ANY_CONSOLE { - # 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 -}; - -# Let RedBoot adjust the baud rate of the serial console. -# If this option is enabled then RedBoot will support commands -# to set and query the baud rate on the selected console. -# -cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE { - # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT - # CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Run a platform specific startup function. -# If this option is enabled then RedBoot will execute a platform -# specific startup function before entering into its command line -# processing. This allows the platform to perform any special -# setups before RedBoot actually starts running. Note: the entire -# RedBoot environment will already be initialized at this point. -# -cdl_option CYGSEM_REDBOOT_PLF_STARTUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Run a platform specific ESA validation function. -# If this option is enabled then RedBoot will execute a platform -# specific function to validate an ethernet ESA. This would be -# useful if the address must conform to standards set by the -# hardware manufacturer, etc. -# -cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE { - # 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 - # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 - # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI - # ActiveIf: CYGSEM_REDBOOT_PLF_ESA_VALIDATE -}; - -# Maximum command line length -# This option allows control over how long the CLI command line -# should be. This space will be allocated statically -# rather than from RedBoot's stack. -# -cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # The inferred value should not be edited directly. - inferred_value 1024 - # value_source inferred - # Default value: 256 -}; - -# Command processing idle timeout (ms) -# This option controls the timeout period before the -# command processing is considered 'idle'. Making this -# number smaller will cause idle processing to take place -# more often, etc. The default value of 10ms is a reasonable -# tradeoff between responsiveness and overhead. -# -cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# Validate RAM addresses during load -# This option controls whether or not RedBoot will make -# sure that memory being used by the "load" command is -# in fact in user RAM. Leaving the option enabled makes -# for a safer environment, but this check may not be valid -# on all platforms, thus the ability to disable it. -# ** Disable this only with great care ** -# -cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS { - # 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_REDBOOT_LOAD_INTO_FLASH - # Requires: CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS -}; - -# Allow RedBoot to support FLASH programming -# If this option is enabled then RedBoot will provide commands -# to manage images in FLASH memory. These images can be loaded -# into memory for execution or executed in place. -# -cdl_component CYGPKG_REDBOOT_FLASH { - # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE - # CYGHWR_IO_FLASH_DEVICE == 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 CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: CYGPKG_REDBOOT_FLASH - # option CYGBLD_REDBOOT_LOAD_INTO_FLASH - # ActiveIf: CYGPKG_REDBOOT_FLASH -}; - -# > -# Byte order used to store info in flash. -# This option controls the byte ordering used to store -# the FIS directory info and flash config info. -# -cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value NATURAL - # value_source default - # Default value: NATURAL - # Legal values: "NATURAL" "MSBFIRST" "LSBFIRST" -}; - -# RedBoot Flash Image System support -# doc: ref/flash-image-system.html -# This option enables the Flash Image System commands -# and support within RedBoot. If disabled, simple Flash -# access commands such as "fis write" will still exist. -# This option would be disabled for targets that need simple -# FLASH manipulation, but do not have the need or space for -# complete image management. -# -cdl_option CYGOPT_REDBOOT_FIS { - # 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_REDBOOT_FIS_CONTENTS - # ActiveIf: CYGOPT_REDBOOT_FIS - # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # ActiveIf: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS -}; - -# Max number of chunks of free space to manage -# If this option is defined then "fis free" will -# rely on the FIS directory to determine what space is -# free within the FLASH. This option controls the -# maximum number of free segment which can be handled -# (typically this number is small). If this option is -# not enabled, the the archaic behaviour of actually -# scanning the FLASH for erased sectors (unreliable) -# will be used to determine what's free and what's -# not. -# -cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 32 - # value_source default - # Default value: 1 32 -}; - -# Flash Image System default directory contents -# -cdl_component CYGPKG_REDBOOT_FIS_CONTENTS { - # ActiveIf constraint: CYGOPT_REDBOOT_FIS - # CYGOPT_REDBOOT_FIS == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Flash block containing the Directory -# Which block of flash should hold the directory -# information. Positive numbers are absolute block -# numbers. Negative block numbers count backwards -# from the last block. eg 2 means block 2, -2 -# means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK { - # Flavor: data - # 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_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK -}; - -# Redundant Flash Image System Directory Support -# This option enables the use of a redundant FIS -# directory within RedBoot. If enabled a flash block -# will be reserved for a second copy of the fis -# directory. Doing this allow for power failure safe -# updates of the directory by the application. -# -cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG == 1 - # --> 0 -}; - -# > -# Flash block containing the backup Directory -# Which block of flash should hold the redundant -# directory information. Positive numbers are -# absolute block numbers. Negative block numbers -# count backwards from the last block. eg 2 means -# block 2, -2 means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK { - # This option is not active - # The parent CYGOPT_REDBOOT_REDUNDANT_FIS is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -3 - # value_source default - # Default value: -3 - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK - # CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK == 0 - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK == -1 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK -}; - -# < -# Pseudo-file to describe reserved area -# If an area of FLASH is reserved, it is informative to -# have a fis entry describing it. This option controls -# creation of such an entry by default in the fis init -# command. -# -cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE { - # This option is not active - # ActiveIf constraint: 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# File to describe RedBoot boot image -# Normally a ROM-startup RedBoot image is first in the -# FLASH, and the system boots using that image. This -# option controls creation of an entry describing it in -# the fis init command. It might be disabled if a -# platform has an immutable boot image of its own, where -# we use a POST-startup RedBoot instead, which performs -# less board initialization. -# -cdl_option CYGOPT_REDBOOT_FIS_REDBOOT { - # 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 CYGOPT_REDBOOT_FIS_REDBOOT_POST - # DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT - # option CYGBLD_REDBOOT_MIN_IMAGE_SIZE - # DefaultValue: CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 -}; - -# File to describe RedBoot POST-compatible image -# This option controls creation of an entry describing a -# POST-startup RedBoot image in the fis init command. -# Not all platforms support POST-startup. A platform -# might have both for testing purposes, where the -# eventual user would substitute their own POST code for -# the initial ROM-startup RedBoot, and then jump to the -# POST-compatible RedBoot immediately following. -# -cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT - # CYGOPT_REDBOOT_FIS_REDBOOT == 1 - # --> 0 -}; - -# > -# Offset of POST image from FLASH start -# This option specifies the offset for a POST image from -# the start of FLASH. If unset, then the fis entry -# describing the POST image will be placed where -# convenient. -# -cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET { - # This option is not active - # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET -}; - -# < -# File to describe RedBoot backup image -# This option controls creation of an entry describing a -# backup RedBoot image in the fis init command. -# Conventionally a RAM-startup RedBoot image is kept -# under this name for use in updating the ROM-based -# RedBoot that boots the board. -# -cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include ARM SIB ID in FIS -# If set, this option will cause the last 5 words of -# the FIS to include the special ID needed for the -# flash to be recognized as a reserved area for RedBoot -# by an ARM BootRom monitor. -# -cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Size of FIS directory entry -# The FIS directory is limited to one single flash -# sector. If your flash has tiny sectors, you may wish -# to reduce this value in order to get more slots in -# the FIS directory. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: 256 -}; - -# Number of FIS directory entries -# The FIS directory normally occupies a single flash -# sector. Adjusting this value can allow for more than -# one flash sector to be used, which is useful if your -# sectors are very small. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 -}; - -# Maximum RedBoot image size -# This option controls the maximum length reserved -# for the RedBoot boot image in the FIS table. -# This should be a multiple of the flash's erase -# block size. -# -cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00020000 - # The inferred value should not be edited directly. - inferred_value 0x00040000 - # value_source inferred - # Default value: CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 - # CYGOPT_REDBOOT_FIS_REDBOOT == 1 - # --> 0x00020000 -}; - -# Offset from start of FLASH to RedBoot boot image -# This option controls where the RedBoot boot image is -# located relative to the start of FLASH. -# -cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # --> 0 - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # component CYGPKG_HAL_ARM_TX53_OPTIONS - # Requires: CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 -}; - -# Size of reserved area at start of FLASH -# This option reserves an area at the start of -# FLASH where RedBoot will never interfere; it is -# expected that this area contains -# (non-RedBoot-based) POST code or some other boot -# monitor that executes before RedBoot. -# -cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE { - # Flavor: data - # 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 CYGOPT_REDBOOT_FIS_RESERVED_BASE - # ActiveIf: 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET -}; - -# < -# Keep all RedBoot FLASH data blocks locked. -# When this option is enabled, RedBoot will keep configuration -# data and the FIS directory blocks implicitly locked. While -# this is somewhat safer, it does add overhead during updates. -# -cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL { - # This option is not active - # ActiveIf constraint: CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 - # CYGHWR_IO_FLASH_BLOCK_LOCKING == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Use CRC checksums on FIS images. -# When this option is enabled, RedBoot will use CRC checksums -# when reading and writing flash images. -# -cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK { - # 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 -}; - -# ARM FLASH drivers support SIB flash block structure -# This interface is implemented by a flash driver -# to indicate that it supports the ARM SIB flash -# block structure -# -cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED { - # No options implement this inferface - # ActiveIf constraint: CYGPKG_HAL_ARM - # CYGPKG_HAL_ARM == current - # --> 1 - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGHWR_REDBOOT_ARM_FLASH_SIB - # ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED -}; - -# Use ARM SIB flash block structure -# This option is used to interpret ARM Flash System -# information blocks. -# -cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB { - # This option is not active - # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED - # CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Keep RedBoot configuration data in FLASH -# When this option is enabled, RedBoot will keep configuration -# data in a separate block of FLASH memory. This data will -# include such items as the node IP address or startup scripts. -# -cdl_component CYGSEM_REDBOOT_FLASH_CONFIG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_IO_FLASH != 0 - # CYGPKG_IO_FLASH == current - # --> 1 - - # The following properties are affected by this value - # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "255, 255, 255, 0" - # option CYGPKG_REDBOOT_NETWORKING_DNS_IP - # ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG - # option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN - # ActiveIf: CYGSEM_REDBOOT_FLASH_CONFIG - # option CYGFUN_REDBOOT_BOOT_SCRIPT - # ActiveIf: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG -}; - -# > -# Length of configuration data in FLASH -# This option is used to control the amount of memory and FLASH -# to be used for configuration options (persistent storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4096 - # value_source default - # Default value: 4096 -}; - -# Style of media used for persistent data storage -# Persistent data storage can either be held in 'norma' FLASH -# or some other device (represented by the 'EEPROM' choice). -# The different styles utilize different access methods. -# -cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value FLASH - # value_source default - # Default value: FLASH - # Legal values: "FLASH" "EEPROM" - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # ActiveIf: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK - # DefaultValue: (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") -}; - -# Merged config data and FIS directory -# If this option is set, then the FIS directory and FLASH -# configuration database will be stored in the same physical -# FLASH block. -# -cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG { - # ActiveIf constraint: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # CYGOPT_REDBOOT_FIS == 1 - # CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH - # --> 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 CYGOPT_REDBOOT_REDUNDANT_FIS - # Requires: 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG -}; - -# Which block of flash to use -# Which block of flash should hold the configuration -# information. Positive numbers are absolute block numbers. -# Negative block numbers count backwards from the last block. -# eg 2 means block 2, -2 means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -2 - # value_source default - # Default value: -2 -}; - -# Support simple macros/aliases in FLASH -# This option is used to allow support for simple text-based -# macros (aliases). These aliases are kept in the FLASH -# configuration data (persistent storage). -# -cdl_option CYGSEM_REDBOOT_FLASH_ALIASES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Length of strings in FLASH configuration data -# This option is used to control the amount of memory -# and FLASH to be used for string configuration -# options (persistent storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 -}; - -# Length of configuration script(s) in FLASH -# This option is used to control the amount of memory and -# FLASH to be used for configuration options (persistent -# storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 512 - # The inferred value should not be edited directly. - inferred_value 2048 - # value_source inferred - # Default value: 512 -}; - -# Fallback to read-only FLASH configuration -# This option will cause the configuration information to -# revert to the readonly information stored in the FLASH. -# The option only takes effect after -# 1) the config_ok flag has been set to be true, -# indicating that at one time the copy in RAM was valid; -# and -# 2) the information in RAM has been verified to be invalid -# -cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH - # --> 1 -}; - -# < -# Allow RedBoot to support fileio -# If this option is enabled then RedBoot will provide commands -# to load files from fileio file systems such as JFFS2. -# -cdl_component CYGPKG_REDBOOT_FILEIO { - # This option is not active - # ActiveIf constraint: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO (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_REDBOOT_GETC_BUFFER - # DefaultValue: CYGPKG_REDBOOT_FILEIO ? 4096 : 256 -}; - -# > -# Include an ls command -# If this option is enabled a simple ls command will be -# included in redboot so the contents of a directory -# can be listed -# -cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS { - # This option is not active - # The parent CYGPKG_REDBOOT_FILEIO is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Allow RedBoot to support disks -# If this option is enabled then RedBoot will provide commands -# to load disk files. -# -cdl_component CYGPKG_REDBOOT_DISK { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# > -# Include Redboot commands for disk access -# -cdl_option CYGSEM_REDBOOT_DISK { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGINT_REDBOOT_DISK_DRIVERS != 0 - # CYGINT_REDBOOT_DISK_DRIVERS == 0 - # --> 0 -}; - -# Hardware drivers for disk-type devices -# -cdl_interface CYGINT_REDBOOT_DISK_DRIVERS { - # Implemented by CYGSEM_REDBOOT_DISK_IDE, inactive, enabled - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_DISK - # DefaultValue: CYGINT_REDBOOT_DISK_DRIVERS != 0 -}; - -# Maximum number of supported disks -# This option controls the number of disks supported by -# RedBoot. -# -cdl_option CYGNUM_REDBOOT_MAX_DISKS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 -}; - -# Maximum number of partitions per disk -# This option controls the maximum number of supported -# partitions per disk. -# -cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 -}; - -# Support IDE disks. -# When this option is enabled, RedBoot will support IDE disks. -# -cdl_component CYGSEM_REDBOOT_DISK_IDE { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - # ActiveIf constraint: CYGINT_HAL_PLF_IF_IDE != 0 - # CYGINT_HAL_PLF_IF_IDE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Work with VMware virtual disks -# This option controls the disk driver behavior at -# ide-init -# -cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE { - # This option is not active - # The parent CYGSEM_REDBOOT_DISK_IDE is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Support Linux second extended filesystems. -# When this option is enabled, RedBoot will support EXT2 -# filesystems. -# -cdl_component CYGSEM_REDBOOT_DISK_EXT2FS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support ISO9660 filesystems. -# When this option is enabled, RedBoot will support ISO9660 -# filesystems. -# -cdl_component CYGSEM_REDBOOT_DISK_ISO9660 { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Calculated value: 0 - # Flavor: bool - # Current value: 0 -}; - -# < -# Boot scripting -# doc: ref/persistent-state-flash.html -# This contains options related to RedBoot's boot script -# functionality. -# -cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT { - # There is no associated value. -}; - -# > -# Boot scripting enabled -# This option controls whether RedBoot boot script -# functionality is enabled. -# -cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT { - # ActiveIf constraint: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG - # CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0 - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Use default RedBoot boot script -# If enabled, this option will tell RedBoot to use the -# value of this option as a default boot script. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT { - # 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 0 0 - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGFUN_REDBOOT_BOOT_SCRIPT - # ActiveIf: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG -}; - -# Resolution (in ms) for script timeout value. -# This option controls the resolution of the script -# timeout. The value is specified in milliseconds -# (ms), thus to have the script timeout be defined in -# terms of tenths of seconds, use 100. -# -cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1000 - # The inferred value should not be edited directly. - inferred_value 10 - # value_source inferred - # Default value: 1000 -}; - -# Script default timeout value -# This option is used to set the default timeout for startup -# scripts, when they are enabled. -# -cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 10 -}; - -# < -# Support RTC for time & date functions -# When this option is enabled, RedBoot will support commands to -# query and set the real time clock (time and date) -# -cdl_option CYGSEM_REDBOOT_RTC { - # This option is not active - # ActiveIf constraint: CYGPKG_IO_WALLCLOCK - # CYGPKG_IO_WALLCLOCK (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Behave like a ROM monitor -# Enabling this option will allow RedBoot to provide ROM -# monitor-style services to programs which it executes. -# -cdl_option CYGPRI_REDBOOT_ROM_MONITOR { - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # CYG_HAL_STARTUP == ROMRAM - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_HAL_ROM_MONITOR - # CYGSEM_HAL_ROM_MONITOR == 1 - # --> 1 -}; - -# Allow RedBoot to handle GNUPro application 'syscalls'. -# If this option is enabled then RedBoot will install a -# syscall handler to support debugging of applications -# based on GNUPro newlib/bsp. -# -cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS { - # 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 CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS - # option CYGPKG_HAL_GDB_FILEIO - # ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS -}; - -# > -# Support additional syscalls for 'gprof' profiling -# Support additional syscalls to support a periodic callback -# function for histogram-style profiling, and an enquire/set -# of the tick rate. -# The application must use the GNUPro newlib facilities -# to set this up. -# -cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF { - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - # ActiveIf constraint: 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT - # CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Does the HAL support 'gprof' profiling? -# -cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT { - # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF - # ActiveIf: 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT -}; - -# Do not raise SIGTRAP when program exits -# For some (single shot) newlib based programs, -# exiting and returning a termination status may be -# the normal expected behavior. -# -cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP { - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Use a common buffer for Zlib and FIS -# Use a common memory buffer for both the zlib workspace -# and FIS directory operations. This can save a substantial -# amount of RAM, especially when flash sectors are large. -# -cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS - # CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 1 - # CYGOPT_REDBOOT_FIS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Size of Zlib/FIS common buffer -# Size of common buffer to allocate. Must be at least the -# size of one flash sector. -# -cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE { - # This option is not active - # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x0000C000 - # value_source default - # Default value: 0x0000C000 - # Legal values: 0x4000 to 0x80000000 -}; - -# < -# Buffer size in getc when loading images -# When loading images a buffer is used between redboot and the -# underlying storage medium, eg a filesystem, or a socket etc. -# The size of this buffer can have a big impart on load speed. -# -cdl_option CYGNUM_REDBOOT_GETC_BUFFER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: CYGPKG_REDBOOT_FILEIO ? 4096 : 256 - # CYGPKG_REDBOOT_FILEIO == 0 - # --> 256 -}; - -# < -# Redboot for ARM options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_ARM_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Provide the exec command in RedBoot -# This option contains requirements for booting linux -# from RedBoot. The component is enabled/disabled from -# RedBoots CDL. -# -cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC - # CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# Enable -x switch for exec command. -# This option allows bi-endian platforms to launch kernels -# built for an endianess different than the RedBoot endianess -# -cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Physical base address of linux kernel -# This is the physical address of the base of the -# Linux kernel image. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x70108000 - # value_source default - # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT - # CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # --> 0x70108000 -}; - -# Default physical base address of linux kernel -# This is the physical address of the base of the -# Linux kernel image. This option gets set by the -# platform CDL. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00008000 - # The inferred value should not be edited directly. - inferred_value 0x70108000 - # value_source inferred - # Default value: 0x00008000 - - # The following properties are affected by this value - # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS - # DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT - # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS - # Requires: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 -}; - -# Base address of linux kernel parameter tags -# This is the base address of the area of memory used to -# pass parameters to the Linux kernel. This should be chosen -# to avoid overlap with the kernel and any ramdisk image. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00000100 - # value_source default - # Default value: 0x00000100 -}; - -# < -# < -# Redboot HAL options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_HAL_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. -}; - -# > -# Build Redboot ROM binary image -# This option enables the conversion of the Redboot ELF -# image to a binary image suitable for ROM programming. -# -cdl_option CYGBLD_BUILD_REDBOOT_BIN { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT - # CYGBLD_BUILD_REDBOOT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Redboot HAL variant options -# -cdl_component CYGPKG_REDBOOT_HAL_TX53_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. - # Requires: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # --> 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 CYGBLD_BUILD_REDBOOT - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STRING - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_COMPRESS_ZLIB - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_IO_FLASH - # Requires: CYGPKG_ISOINFRA - # 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_I18N - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STDLIB - # 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP - # CYGINT_ISO_MAIN_STARTUP == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_ENVIRON - # CYGINT_ISO_ENVIRON == 0 - # --> 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_HAL_ARM_TX53KARO - # Requires: CYGINT_ISO_CTYPE - # option CYGFUN_LIBC_STRING_BSD_FUNCS - # Requires: CYGINT_ISO_CTYPE - # package CYGPKG_LIBC_STDLIB - # 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 -}; - -# 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 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES - # CYGINT_ISO_STDIO_FILETYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Stdio standard streams implementations -# -cdl_interface CYGINT_ISO_STDIO_STREAMS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS - # CYGINT_ISO_STDIO_STREAMS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file operations -# -cdl_interface CYGINT_ISO_STDIO_FILEOPS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS - # CYGINT_ISO_STDIO_FILEOPS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file access functionals -# -cdl_interface CYGINT_ISO_STDIO_FILEACCESS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEACCESS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio formatted I/O -# -cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FORMATTED_IO - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio character I/O -# -cdl_interface CYGINT_ISO_STDIO_CHAR_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO - # CYGINT_ISO_STDIO_CHAR_IO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio direct I/O -# -cdl_interface CYGINT_ISO_STDIO_DIRECT_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO - # CYGINT_ISO_STDIO_DIRECT_IO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file positioning -# -cdl_interface CYGINT_ISO_STDIO_FILEPOS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEPOS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio error handling -# -cdl_interface CYGINT_ISO_STDIO_ERROR { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_ERROR - # CYGINT_ISO_STDIO_ERROR == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX fd-related function implementations -# -cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS - # CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0 - # --> 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 -}; - -# 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, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT - # Requires: 1 >= 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, disabled - # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, enabled - # 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 - # option CYGFUN_LIBC_STRING_STRDUP - # ActiveIf: 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 0 - # --> 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 -}; - -# 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 -}; - -# 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 -}; - -# 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, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS - # CYGINT_ISO_STRING_BSD_FUNCS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRING_BSD_FUNCS - # Requires: 1 >= 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGINT_ISO_STRING_STRFUNCS - # component CYGPKG_IO_ETH_DRIVERS_NET - # Requires: CYGINT_ISO_STRING_STRFUNCS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_IO_FLASH - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_LIBC_STDLIB - # 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 -}; - -# fnmatch implementation header -# -cdl_option CYGBLD_ISO_FNMATCH_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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_TYPES - # CYGINT_ISO_POSIX_TIMER_TYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX clock types -# -cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES - # CYGINT_ISO_POSIX_CLOCK_TYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of ISO C types -# -cdl_interface CYGINT_ISO_C_TIME_TYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES - # CYGINT_ISO_C_TIME_TYPES == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_C_TIME_TYPES - # Requires: 1 >= 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX timers -# -cdl_interface CYGINT_ISO_POSIX_TIMERS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMERS - # CYGINT_ISO_POSIX_TIMERS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX clocks -# -cdl_interface CYGINT_ISO_POSIX_CLOCKS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCKS - # CYGINT_ISO_POSIX_CLOCKS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of ISO C clock functions -# -cdl_interface CYGINT_ISO_C_CLOCK_FUNCS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS - # CYGINT_ISO_C_CLOCK_FUNCS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_NUMBERS - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# Number of signal implementations -# -cdl_interface CYGINT_ISO_SIGNAL_IMPL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_IMPL - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_POSIX_REALTIME_SIGNALS - # CYGINT_POSIX_REALTIME_SIGNALS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SETJMP - # CYGINT_ISO_SETJMP == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# sigsetjmp() / siglongjmp() implementations -# -cdl_interface CYGINT_ISO_SIGSETJMP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGSETJMP - # CYGINT_ISO_SIGSETJMP == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_FCNTL - # CYGINT_ISO_FCNTL == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_OPEN - # CYGINT_ISO_OPEN == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_DIRENT - # CYGINT_ISO_DIRENT == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX mutex types implementations -# -cdl_interface CYGINT_ISO_PMUTEXTYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 0 - # --> 1 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_BSDTYPES - # CYGINT_ISO_BSDTYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX scheduler -# -cdl_component CYGPKG_ISO_SCHED { - # There is no associated value. -}; - -# > -# POSIX scheduler implementations -# -cdl_interface CYGINT_ISO_SCHED_IMPL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SCHED_IMPL - # CYGINT_ISO_SCHED_IMPL == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SEMAPHORES - # CYGINT_ISO_SEMAPHORES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX message queues -# -cdl_component CYGPKG_ISO_MQUEUE { - # There is no associated value. -}; - -# > -# Implementations -# -cdl_interface CYGINT_ISO_MQUEUE { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 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 { - # This option is not active - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 0 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0 - # --> 0 0 -}; - -# Maximum number of message priorities -# -cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX { - # This option is not active - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 0 - - # 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_PTHREAD_IMPL - # CYGINT_ISO_PTHREAD_IMPL == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX mutex/cond var implementations -# -cdl_interface CYGINT_ISO_PTHREAD_MUTEX { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_PTHREAD_MUTEX - # CYGINT_ISO_PTHREAD_MUTEX == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# Limits -# -cdl_component CYGPKG_ISO_LIMITS { - # There is no associated value. -}; - -# > -# POSIX pthread limits implementations -# -cdl_interface CYGINT_ISO_POSIX_LIMITS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_POSIX_LIMITS - # CYGINT_ISO_POSIX_LIMITS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_TERMIOS - # CYGINT_ISO_TERMIOS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_OPS - # CYGINT_ISO_POSIX_TIMER_OPS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_SLEEP - # CYGINT_ISO_POSIX_SLEEP == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_SELECT - # CYGINT_ISO_SELECT == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_DNS - # CYGINT_ISO_DNS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Protocol network database implementations -# -cdl_interface CYGINT_ISO_NETDB_PROTO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_NETDB_PROTO - # CYGINT_ISO_NETDB_PROTO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Services network database implementations -# -cdl_interface CYGINT_ISO_NETDB_SERV { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_NETDB_SERV - # CYGINT_ISO_NETDB_SERV == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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: "" -}; - -# < -# < -# Compute CRCs -# doc: ref/services-crc.html -# This package provides support for CRC calculation. Currently -# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by -# Gary S. Brown, and a 16 bit CRC. -# -cdl_package CYGPKG_CRC { - # 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_COMPRESS_ZLIB - # Requires: CYGPKG_CRC -}; - -# > -# POSIX CRC tests -# -cdl_option CYGPKG_CRC_TESTS { - # Calculated value: "tests/crc_test" - # Flavor: data - # Current_value: tests/crc_test -}; - -# < -# Zlib compress and decompress package -# This package provides support for compression and -# decompression. -# -cdl_package CYGPKG_COMPRESS_ZLIB { - # 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_CRC - # CYGPKG_CRC == current - # --> 1 - - # The following properties are affected by this value - # component CYGBLD_BUILD_REDBOOT_WITH_ZLIB - # ActiveIf: CYGPKG_COMPRESS_ZLIB -}; - -# > -# Override memory allocation routines. -# -cdl_interface CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC { - # Implemented by CYGBLD_BUILD_REDBOOT_WITH_ZLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC - # ActiveIf: CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 -}; - -# Should deflate() produce 'gzip' compatible output? -# If this option is set then the output of calling deflate() -# will be wrapped up as a 'gzip' compatible file. -# -cdl_option CYGSEM_COMPRESS_ZLIB_DEFLATE_MAKES_GZIP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Does this library need malloc? -# This pseudo-option will force the memalloc library to be -# required iff the application does not provide it's own -# infrastructure. -# -cdl_option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC { - # This option is not active - # ActiveIf constraint: CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 - # CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 1 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_MEMALLOC - # CYGPKG_MEMALLOC == current - # --> 1 -}; - -# Include stdio-like utility functions -# This option enables the stdio-like zlib utility functions -# (gzread/gzwrite and friends) provided in gzio.c. -# -cdl_option CYGFUN_COMPRESS_ZLIB_GZIO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGPKG_LIBC_STDIO_OPEN ? 1 : 0 - # CYGPKG_LIBC_STDIO_OPEN (unknown) == 0 - # --> 0 - # Requires: CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 0 - # --> 0 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 0 - # --> 0 - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 0 - # --> 0 -}; - -# Zlib compress and decompress 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_COMPRESS_ZLIB_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_COMPRESS_ZLIB_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-D__ECOS__ -DNO_ERRNO_H" - # value_source default - # Default value: "-D__ECOS__ -DNO_ERRNO_H" -}; - -# 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_COMPRESS_ZLIB_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wstrict-prototypes - # value_source default - # Default value: -Wstrict-prototypes -}; - -# 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_COMPRESS_ZLIB_LDFLAGS_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_COMPRESS_ZLIB_LDFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# zlib tests -# -cdl_option CYGPKG_COMPRESS_ZLIB_TESTS { - # Calculated value: "tests/zlib1.c tests/zlib2.c" - # Flavor: data - # Current_value: tests/zlib1.c tests/zlib2.c -}; - -# < -# FLASH device drivers -# doc: ref/flash.html -# This option enables drivers for basic I/O services on -# flash devices. -# -cdl_package CYGPKG_IO_FLASH { - # 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_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGSEM_REDBOOT_FLASH_CONFIG - # DefaultValue: CYGPKG_IO_FLASH != 0 - # package CYGPKG_DEVS_FLASH_ONMXC - # ActiveIf: CYGPKG_IO_FLASH -}; - -# > -# Hardware FLASH device drivers -# This option enables the hardware device drivers -# for the current platform. -# -cdl_interface CYGHWR_IO_FLASH_DEVICE { - # Implemented by CYGPKG_DEVS_FLASH_ONMXC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # component CYGPKG_REDBOOT_FLASH - # ActiveIf: CYGHWR_IO_FLASH_DEVICE -}; - -# Hardware FLASH device drivers are not in RAM -# Use of this interface is deprecated. -# Drivers should make sure that the functions are -# linked to RAM by putting them in .2ram sections. -# -cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM - # CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM - # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM -}; - -# Hardware can support block locking -# This option will be enabled by devices which can support -# locking (write-protection) of individual blocks. -# -cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING { - # 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 - # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL - # ActiveIf: CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 -}; - -# Hardware cannot support direct access to FLASH memory -# This option will be asserted by devices which cannot support -# direct access to the FLASH memory contents (e.g. EEPROM or NAND -# devices). In these cases, the driver must provide an appropriate -# hardware access function. -# -cdl_option CYGSEM_IO_FLASH_READ_INDIRECT { - # 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 - # Requires: !CYGSEM_IO_FLASH_VERIFY_PROGRAM - # CYGSEM_IO_FLASH_VERIFY_PROGRAM == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE - # component CYGHWR_DEVS_FLASH_MMC - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MMC_ESDHC - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MMC_SD - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MXC_NAND - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 -}; - -# Display status messages during flash operations -# Selecting this option will cause the drivers to print status -# messages as various flash operations are undertaken. -# -cdl_option CYGSEM_IO_FLASH_CHATTER { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Verify data programmed to flash -# Selecting this option will cause verification of data -# programmed to flash. -# -cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM { - # 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 - - # The following properties are affected by this value - # option CYGSEM_IO_FLASH_READ_INDIRECT - # Requires: !CYGSEM_IO_FLASH_VERIFY_PROGRAM -}; - -# Platform has flash soft DIP switch write-protect -# Selecting this option will cause the state of a hardware jumper or -# dipswitch to be read by software to determine whether the flash is -# write-protected or not. -# -cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Instantiate in I/O block device API -# Provides a block device accessible using the standard I/O -# API ( cyg_io_read() etc. ) -# -cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE { - # This option is not active - # ActiveIf constraint: CYGPKG_IO - # CYGPKG_IO (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Name of flash device 1 block device -# -cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 { - # This option is not active - # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active - # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/flash1\"" - # value_source default - # Default value: "\"/dev/flash1\"" -}; - -# > -# -cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_1 { - # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1, inactive, enabled - # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1, inactive, disabled - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1 - # CYGINT_IO_FLASH_BLOCK_CFG_1 == 0 - # --> 0 - - # The following properties are affected by this value - # interface CYGINT_IO_FLASH_BLOCK_CFG_1 - # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1 -}; - -# Static configuration -# This configures the flash device 1 block device -# with static base and length -# -cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 { - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Start offset from flash base -# This gives the offset from the base of flash which this -# block device corresponds to. -# -cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# Length -# This gives the length of the region of flash given over -# to this block device. -# -cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# Configuration from FIS -# This configures the flash device 1 block device -# from Redboot FIS -# -cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 { - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Name of FIS entry -# -cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"jffs2\"" - # value_source default - # Default value: "\"jffs2\"" -}; - -# < -# < -# < -# Flash 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_FLASH_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the flash device drivers. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_FLASH_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 flash device drivers. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Flash device driver tests -# This option specifies the set of tests for the flash device drivers. -# -cdl_component CYGPKG_IO_FLASH_TESTS { - # Calculated value: "tests/flash1" - # Flavor: data - # Current_value: tests/flash1 -}; - -# > -# Start offset from flash base -# This gives the offset from the base of flash where tests -# can be run. It is important to set this correctly, as an -# incorrect value could allow the tests to write over critical -# portions of the FLASH device and possibly render the target -# board totally non-functional. -# -cdl_option CYGNUM_IO_FLASH_TEST_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# Length -# This gives the length of the region of flash used for testing. -# -cdl_option CYGNUM_IO_FLASH_TEST_LENGTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# < -# Support FLASH memory on Freescale MXC platforms -# -cdl_package CYGPKG_DEVS_FLASH_ONMXC { - # 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_FLASH - # CYGPKG_IO_FLASH == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# MXC platform MMC card support -# When this option is enabled, it indicates MMC card is -# supported on the MXC platforms -# -cdl_component CYGHWR_DEVS_FLASH_MMC { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) -}; - -# > -# MXC platform MMC card for newer SDHC controllers -# -cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC { - # This option is not active - # The parent CYGHWR_DEVS_FLASH_MMC is disabled - # ActiveIf constraint: CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - # CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX37 (unknown) == 0 - # CYGPKG_HAL_ARM_MX35 (unknown) == 0 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX51 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 -}; - -# MXC platform MMC card for older MMC/SD controllers -# -cdl_option CYGHWR_DEVS_FLASH_MMC_SD { - # This option is not active - # The parent CYGHWR_DEVS_FLASH_MMC is disabled - # ActiveIf constraint: CYGPKG_HAL_ARM_MX31_3STACK || CYGPKG_HAL_ARM_MX31ADS - # CYGPKG_HAL_ARM_MX31_3STACK (unknown) == 0 - # CYGPKG_HAL_ARM_MX31ADS (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: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 -}; - -# < -# MXC platform NOR flash memory support -# When this option is enabled, it indicates NOR flash is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_NOR { - # 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 0 - # value_source inferred - # Default value: 0 - - # The following properties are affected by this value - # option CYGHWR_DEVS_FLASH_IMX_SPI_NOR - # Requires: CYGHWR_DEVS_FLASH_MXC_NOR == 1 - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) -}; - -# MXC platform NAND flash memory support -# When this option is enabled, it indicates NAND flash is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_NAND { - # 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 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH - # ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND - # ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND -}; - -# i.MX platform SPI NOR flash memory support -# When this option is enabled, it indicates SPI NOR flash is -# supported on the i.MX platforms -# -cdl_option CYGHWR_DEVS_FLASH_IMX_SPI_NOR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGHWR_DEVS_FLASH_MXC_NOR == 1 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # --> 0 -}; - -# MXC platform ATA support -# When this option is enabled, it indicates ATA is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_ATA { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Use a flash based Bad Block Table -# -cdl_component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH { - # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# When this option is enabled, the driver will search for a flash -# based bad block table -# -cdl_option CYGHWR_DEVS_FLASH_MXC_BBT_IN_FLASH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# header file defining the NAND BBT descriptor -# defines the name of the header file that describes the BBT layout -# -cdl_component CYGHWR_FLASH_NAND_BBT_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 -}; - -# Number of blocks to reserve for BBT -# Number of blocks to reserve for BBT -# -cdl_option CYGNUM_FLASH_NAND_BBT_BLOCKS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 -}; - -# < -# MXC platform multi flash memory support -# When this option is enabled, it indicates multi flashes are -# supported on the MXC platforms (like NAND and NOR) -# -cdl_option CYGHWR_DEVS_FLASH_MXC_MULTI { - # This option is not active - # ActiveIf constraint: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # CYGHWR_DEVS_FLASH_MMC == 0 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # CYGHWR_DEVS_FLASH_MMC == 0 - # --> 0 - - # 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 -}; - -# MXC platform NAND flash reset workaround support -# When this option is enabled, it indicates 0xFFFF is used for -# the NAND reset command instead of 0xFF. -# -cdl_interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND { - # No options implement this inferface - # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# < -# < -# Dynamic memory allocation -# doc: ref/memalloc.html -# 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 - - # The following properties are affected by this value - # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC - # Requires: CYGPKG_MEMALLOC -}; - -# > -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 0 - # value_source default - # Default value: 0 != CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 - # Requires: CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 -}; - -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (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_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# 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 memmove() and memset() -# This may be used to control whether memset() and memmove() -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGFUN_KERNEL_API_C - # CYGFUN_KERNEL_API_C (unknown) == 0 - # --> 0 -}; - -# 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 -}; - -# Use external implementation of joining multiple heaps -# The default implementation of joining multiple heaps -# is fine for the case where there are multiple disjoint -# memory regions of the same type. However, in a system -# there might be e.g. a small amount of internal SRAM and -# a large amount of external DRAM. The SRAM is faster and -# the DRAM is slower. An application can implement some -# heuristic to choose which pool to allocate from. This -# heuristic can be highly application specific. -# -cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_JOIN_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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# 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 -}; - -# > -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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: "" -}; - -# < -# < -# I2C driver for FSL MXC-based platforms -# -cdl_package CYGPKG_DEVS_MXC_I2C { - # 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 -}; - -# ipu driver for mxc -# -cdl_package CYGPKG_DEVS_IMX_IPU { - # 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 CYGHWR_MX53_LCD_LOGO - # ActiveIf: CYGPKG_DEVS_IMX_IPU -}; - -# > -# IPU version 3EX support -# When this option is enabled, it indicates the IPU version -# is 3EX -# -cdl_option CYGHWR_DEVS_IPU_3_EX { - # 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 -}; - -# IPU version 3D support -# When this option is enabled, it indicates the IPU version -# is 3D -# -cdl_option CYGHWR_DEVS_IPU_3_D { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < - diff --git a/config/TX53-1x31.ecc b/config/TX53-1x31.ecc deleted file mode 100644 index 0d13a546..00000000 --- a/config/TX53-1x31.ecc +++ /dev/null @@ -1,10426 +0,0 @@ -# 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 tx53karo ; - template redboot ; - package -hardware CYGPKG_HAL_ARM current ; - package -hardware CYGPKG_HAL_ARM_MX53 current ; - package -hardware CYGPKG_HAL_ARM_TX53KARO current ; - package -template CYGPKG_HAL current ; - package -template CYGPKG_INFRA current ; - package -template CYGPKG_REDBOOT current ; - package -template CYGPKG_ISOINFRA current ; - package -template CYGPKG_LIBC_STRING current ; - package -template CYGPKG_CRC current ; - package -hardware CYGPKG_IO_ETH_DRIVERS current ; - package -hardware CYGPKG_DEVS_ETH_ARM_TX53 current ; - package -hardware CYGPKG_DEVS_ETH_FEC current ; - package -hardware CYGPKG_COMPRESS_ZLIB current ; - package -hardware CYGPKG_IO_FLASH current ; - package -hardware CYGPKG_DEVS_FLASH_ONMXC current ; - package -template CYGPKG_MEMALLOC current ; - package -template CYGPKG_DEVS_ETH_PHY current ; - package -template CYGPKG_LIBC_I18N current ; - package -template CYGPKG_LIBC_STDLIB current ; - package -template CYGPKG_ERROR current ; - package -hardware CYGPKG_DEVS_MXC_I2C current ; - package -hardware CYGPKG_DEVS_IMX_IPU 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 - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu -}; - -# 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 - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 - # --> 1 - - # 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 "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" - # value_source default - # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" -}; - -# 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 -}; - -# < -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# 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 - # component CYGPKG_REDBOOT_NETWORKING - # ActiveIf: CYGPKG_IO_ETH_DRIVERS - # package CYGPKG_DEVS_ETH_ARM_TX53 - # ActiveIf: CYGPKG_IO_ETH_DRIVERS - # package CYGPKG_DEVS_ETH_FEC - # 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_FEC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE - # ActiveIf: CYGHWR_NET_DRIVERS > 1 - # option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE - # ActiveIf: CYGHWR_NET_DRIVERS > 1 -}; - -# Driver supports multicast addressing -# This interface defines whether or not a driver can handle -# requests for multicast addressing. -# -cdl_interface CYGINT_IO_ETH_MULTICAST { - # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_NET - # CYGPKG_NET (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: 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 { - # This option is not active - # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active - - # 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 { - # This option is not active - # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active - - # 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 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 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 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 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 { - # ActiveIf constraint: !CYGPKG_NET - # CYGPKG_NET (unknown) == 0 - # --> 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_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 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_REDBOOT_NETWORKING - # CYGPKG_REDBOOT_NETWORKING == 1 - # --> 1 -}; - -# 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 { - # 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 { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # 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 (unknown) == 0 - # --> 1 -}; - -# 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, inactive, enabled - # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # 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" -}; - -# < -# Ethernet driver for Ka-Ro electronics TX53 processor module -# -cdl_package CYGPKG_DEVS_ETH_ARM_TX53 { - # 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 -}; - -# > -# FEC ethernet driver required -# -cdl_interface CYGINT_DEVS_ETH_FEC_REQUIRED { - # Implemented by CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # package CYGPKG_DEVS_ETH_FEC - # ActiveIf: CYGINT_DEVS_ETH_FEC_REQUIRED -}; - -# Ka-Ro TX53 ethernet port driver -# This option includes the ethernet device driver for the -# MXC Board port. -# -cdl_component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1 - # --> 1 - # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700 - # CYGHWR_DEVS_ETH_PHY_LAN8700 == 1 - # --> 1 -}; - -# > -# Device name for the ETH0 ethernet driver -# This option sets the name of the ethernet device. -# -cdl_option CYGDAT_DEVS_ETH_ARM_MXCBOARD_ETH0_NAME { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"eth0\"" - # value_source default - # Default value: "\"eth0\"" -}; - -# OUI part of MAC address -# This option sets OUI part (manufacturer ID) of the MAC address -# for validation. -# -cdl_option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI { - # ActiveIf constraint: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{ 0x00, 0x0c, 0xc6 }" - # value_source default - # Default value: "{ 0x00, 0x0c, 0xc6 }" -}; - -# < -# < -# Driver for fast ethernet controller. -# Driver for fast ethernet controller. -# -cdl_package CYGPKG_DEVS_ETH_FEC { - # 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: CYGINT_DEVS_ETH_FEC_REQUIRED - # CYGINT_DEVS_ETH_FEC_REQUIRED == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# MXC FEC ethernet driver build options -# -cdl_component CYGPKG_DEVS_ETH_FEC_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the Cirrus Logic ethernet driver package. -# These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_DEVS_ETH_FEC_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" -}; - -# < -# MXC FEC MII Gasket for RMII mode -# This option enables the use of the MII Gasket for -# RMII mode found in i.MX25 and i.MX53 processors. -# -cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK { - # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Ethernet transceiver (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 -}; - -# > -# Enable driver debugging -# Enables the diagnostic debug messages on the -# console device. -# -cdl_option CYGDBG_DEVS_ETH_PHY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 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 -}; - -# 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 -}; - -# Intel LXT972 -# Include support for Intel LXT972xxx PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_INLXT972 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1890 -# Include support for ICS 1890 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1890 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1892 -# Include support for ICS 1892 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1892 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1893 -# Include support for ICS 1893 and 1893AF PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1893 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Davicom DM9161A -# Include support for the Davicom DM9161A PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_DM9161A { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Micrel KS8721 -# Include support for the Micrel KS8721 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_KS8721 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# SMSC LAN8700 -# Include support for SMSC LAN8700 NetPHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_LAN8700 { - # 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 - # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 - # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700 -}; - -# < -# < -# 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 -}; - -# > -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA != 0 - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 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 (unknown) == 0 - # --> 0 -}; - -# 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 - user_value 0 - # value_source user - # 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 - user_value 1 - # value_source user - # 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 0 - # value_source default - # Default value: 0 != CYGPKG_LIBM - # CYGPKG_LIBM (unknown) == 0 - # --> 0 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM (unknown) == 0 - # --> 0 -}; - -# 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 - user_value 0 - # value_source user - # Default value: 1 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# < -# 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 0 - # value_source default - # Default value: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# 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 0 - # value_source default - # Default value: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0 - # --> 0 - # Requires: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0 - # --> 0 -}; - -# 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 (unknown) == 0 - # --> 0 -}; - -# 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 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # 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 { - # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0 - # --> 1 - # ActiveIf constraint: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG - # CYGPKG_HAL_ARM == current - # 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 0 - # 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 == ROMRAM - # --> 0 - - # 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 disabled - - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 1 - - # The following properties are affected by this value - # package CYGPKG_REDBOOT - # Requires: CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 -}; - -# 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 32768 - # value_source default - # Default value: CYGPKG_KERNEL ? 4096 : 32768 - # CYGPKG_KERNEL (unknown) == 0 - # --> 32768 - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 - # component CYGBLD_BUILD_REDBOOT - # 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 -}; - -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # value_source default - # Default value: COPYBACK - # Legal values: "COPYBACK" "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_ARM_TX53KARO, 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 - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 0 - # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0 - # --> 1 - # Requires: !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS - # CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1 - # --> 1 - - # 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 CYGHWR_HAL_ARM_DUMP_EXCEPTIONS - # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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_ARM_TX53KARO, 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 CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - # 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 - - # The following properties are affected by this value - # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # component CYGBLD_BUILD_REDBOOT - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT -}; - -# 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 == 1 - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 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 CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # option CYGBLD_BUILD_REDBOOT_WITH_THREADS - # 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_ARM_TX53KARO, 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 { - # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE - # ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT -}; - -# 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 - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1 - # --> 0 - - # 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 == 1 - # Flavor: bool - # Current value: 1 - - # 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 == 0 - # CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0 - # Flavor: bool - # Current value: 1 - - # 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 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR - # CYG_HAL_STARTUP == ROMRAM - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # 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 == 1 - # --> 1 - - # 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 { - # This option is not active - # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1 - # --> 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_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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 1 - # value_source default - # Default value: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1 - # --> 1 -}; - -# 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 1 - # 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 == 1 - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 1 - - # 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 -}; - -# < -# 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 TX53 module, 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 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # CYG_HAL_STARTUP == ROMRAM - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) - # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # option CYGPRI_REDBOOT_ROM_MONITOR - # Requires: CYGSEM_HAL_ROM_MONITOR -}; - -# Work with a ROM monitor -# Support can be enabled for different varieties of ROM monitor. -# This support changes various eCos semantics such as the encoding -# of diagnostic output, or the overriding of hardware interrupt -# vectors. -# Firstly there is "Generic" support which prevents the HAL -# from overriding the hardware vectors that it does not use, to -# instead allow an installed ROM monitor to handle them. This is -# the most basic support which is likely to be common to most -# implementations of ROM monitor. -# "GDB_stubs" provides support when GDB stubs are included in -# the ROM monitor or boot ROM. -# -cdl_option CYGSEM_HAL_USE_ROM_MONITOR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 - # CYG_HAL_STARTUP == ROMRAM - # --> 0 0 - # Legal values: "Generic" "GDB_stubs" - # Requires: CYG_HAL_STARTUP == "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 0 - - # The following properties are affected by this value - # 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 -}; - -# < -# 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 - - # The following properties are affected by this value - # component CYGSEM_REDBOOT_DISK_IDE - # ActiveIf: CYGINT_HAL_PLF_IF_IDE != 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 == 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 (unknown) == 0 - # Flavor: data - # Current_value: tests/context tests/basic tests/cache tests/intr -}; - -# > -# 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" : "") -}; - -# < -# ARM architecture -# The ARM 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_ARM { - # 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 CYGDBG_HAL_DIAG_TO_DEBUG_CHAN - # ActiveIf: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG - # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED - # ActiveIf: CYGPKG_HAL_ARM -}; - -# > -# The CPU architecture supports THUMB mode -# -cdl_interface CYGINT_HAL_ARM_THUMB_ARCH { - # 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 CYGHWR_THUMB - # ActiveIf: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # ActiveIf: CYGINT_HAL_ARM_THUMB_ARCH != 0 -}; - -# Enable Thumb instruction set -# Enable use of the Thumb instruction set. -# -cdl_option CYGHWR_THUMB { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # CYGINT_HAL_ARM_THUMB_ARCH == 0 - # --> 0 - - # 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 CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) -}; - -# Enable Thumb interworking compiler option -# This option controls the use of -mthumb-interwork in the -# compiler flags. It defaults enabled in Thumb or ROM monitor -# configurations, but can be overridden for reduced memory -# footprint where interworking is not a requirement. -# -cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # CYGINT_HAL_ARM_THUMB_ARCH == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) - # CYGHWR_THUMB == 0 - # CYGSEM_HAL_ROM_MONITOR == 1 - # --> 1 -}; - -# The platform and architecture supports Big Endian operation -# -cdl_interface CYGINT_HAL_ARM_BIGENDIAN { - # 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 CYGHWR_HAL_ARM_BIGENDIAN - # ActiveIf: CYGINT_HAL_ARM_BIGENDIAN != 0 -}; - -# Use big-endian mode -# Use the CPU in big-endian mode. -# -cdl_option CYGHWR_HAL_ARM_BIGENDIAN { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_BIGENDIAN != 0 - # CYGINT_HAL_ARM_BIGENDIAN == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# The platform uses a processor with an ARM7 core -# -cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with an ARM9 core -# -cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 { - # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with a StrongARM core -# -cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with a XScale core -# -cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# ARM CPU family -# It is possible to optimize code for different -# ARM CPU families. This option selects which CPU to -# optimize for on boards that support multiple CPU types. -# -cdl_option CYGHWR_HAL_ARM_CPU_FAMILY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value ARM9 - # value_source default - # Default value: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" - # CYGINT_HAL_ARM_ARCH_ARM7 == 0 - # CYGINT_HAL_ARM_ARCH_ARM9 == 1 - # CYGINT_HAL_ARM_ARCH_STRONGARM == 0 - # CYGINT_HAL_ARM_ARCH_XSCALE == 0 - # --> ARM9 - # Legal values: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # CYGINT_HAL_ARM_ARCH_ARM7 == 0 - # CYGINT_HAL_ARM_ARCH_ARM9 == 1 - # CYGINT_HAL_ARM_ARCH_STRONGARM == 0 - # CYGINT_HAL_ARM_ARCH_XSCALE == 0 -}; - -# Provide diagnostic dump for exceptions -# Print messages about hardware exceptions, including -# raw exception frame dump and register contents. -# -cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS { - # 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 - # --> 1 -}; - -# Process all exceptions with the eCos application -# Normal RAM-based programs which do not include GDB stubs -# defer processing of the illegal instruction exception to GDB. -# Setting this options allows the program to explicitly handle -# the illegal instruction exception itself. Note: this will -# prevent the use of GDB to debug the application as breakpoints -# will no longer work. -# -cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support GDB thread operations via ICE/Multi-ICE -# Allow GDB to get thread information via the ICE/Multi-ICE -# connection. -# -cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT { - # 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 - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 - # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0 - # --> 0 -}; - -# Support for 'gprof' callbacks -# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot -# to acquire the interrupt-context PC and SP, when this option is -# active. -# -cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS - # CYGSEM_REDBOOT_BSP_SYSCALLS == 0 - # --> 0 - # ActiveIf constraint: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Accept exceptions and irq's occurring in user mode -# For standalone Redboot based programs running in user mode. -# -cdl_option CYGOPT_HAL_ARM_WITH_USER_MODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Preserve svc spsr before returning to svc mode -# This option secures exception and breakpoint processing -# triggered during execution of application specific SWI -# handlers. -# -cdl_option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Linker script -# -cdl_option CYGBLD_LINKER_SCRIPT { - # Calculated value: "src/arm.ld" - # Flavor: data - # Current_value: src/arm.ld -}; - -# Implementations of hal_arm_mem_real_region_top() -# -cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Freescale SoC architecture -# This HAL variant package provides generic -# support for the Freescale SoC. It is also -# necessary to select a specific target platform HAL -# package. -# -cdl_package CYGPKG_HAL_ARM_MX53 { - # 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 CYGOPT_HAL_ARM_MXC_FEC_MIIGSK - # ActiveIf: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # option CYGHWR_DEVS_FLASH_MMC_ESDHC - # ActiveIf: CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - # CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 || CYGPKG_HAL_ARM_MX53 -}; - -# > -# Processor clock rate -# The processor can run at various frequencies. -# These values are expressed in KHz. Note that there are -# several steppings of the rate to run at different -# maximum frequencies. Check the specs to make sure that your -# particular processor can run at the rate you select here. -# -cdl_option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK { - # This option is not active - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" - # CYG_HAL_STARTUP == ROMRAM - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 150000 - # value_source default - # Default value: CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT ? - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT : 150000 - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0 - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0 - # --> 150000 - # Legal values: 150000 200000 -}; - -# Real-time clock constants -# -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 -# This option selects the heartbeat rate for the real-time clock. -# The rate is specified in ticks per second. Change this value -# with caution - too high and your system will become saturated -# just handling clock interrupts, too low and some operations -# such as thread scheduling may become sluggish. -# -cdl_option CYGNUM_HAL_RTC_DENOMINATOR { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 - - # The following properties are affected by this value - # option CYGNUM_HAL_RTC_PERIOD - # Calculated: (3686400/CYGNUM_HAL_RTC_DENOMINATOR) -}; - -# Real-time clock period -# -cdl_option CYGNUM_HAL_RTC_PERIOD { - # Calculated value: (3686400/CYGNUM_HAL_RTC_DENOMINATOR) - # CYGNUM_HAL_RTC_DENOMINATOR == 100 - # Flavor: data - # Current_value: 36864 -}; - -# < -# UART1 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART1 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART2 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART2 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART3 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART3 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART4 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART4 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART5 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART5 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Ka-Ro TX53 module -# This HAL platform package provides generic -# support for the Ka-Ro electronics TX53 module. -# -cdl_package CYGPKG_HAL_ARM_TX53KARO { - # 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: CYGINT_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 - # Requires: CYGBLD_BUILD_REDBOOT == 1 - # CYGBLD_BUILD_REDBOOT == 1 - # --> 1 -}; - -# > -# Startup type -# The only startup type allowed is ROMRAM, since this will allow -# the program to exist in ROM, but be copied to RAM during startup -# which is required to boot from NAND flash. -# -cdl_component CYG_HAL_STARTUP { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value ROMRAM - # value_source default - # Default value: ROMRAM - # Legal values: "ROMRAM" "RAM" - - # The following properties are affected by this value - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGSEM_HAL_USE_ROM_MONITOR - # DefaultValue: CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 - # option CYGSEM_HAL_USE_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "RAM" - # option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK - # ActiveIf: CYG_HAL_STARTUP == "ROM" - # 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 - # option CYGBLD_BUILD_REDBOOT_WITH_THREADS - # ActiveIf: CYG_HAL_STARTUP != "RAM" - # option CYGPRI_REDBOOT_ROM_MONITOR - # ActiveIf: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGPRI_REDBOOT_ROM_MONITOR - # ActiveIf: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" -}; - -# Diagnostic serial port baud rate -# This option selects the baud rate used for the console port. -# Note: this should match the value chosen for the GDB port if the -# console and GDB port are the same. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 115200 - # value_source default - # Default value: 115200 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# GDB serial port baud rate -# This option selects the baud rate used for the GDB port. -# Note: this should match the value chosen for the console port if the -# console and GDB port are the same. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 115200 - # value_source default - # Default value: 115200 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# Number of communication channels on the TX53 -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS { - # Calculated value: 5 - # Flavor: data - # Current_value: 5 - - # 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_DEFAULT - # 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 -}; - -# Debug serial port -# The TX53 provides access to five serial ports. This option -# chooses which port will be used to connect to a host -# running GDB. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL { - # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE - # CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 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_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 -}; - -# Default console channel. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT { - # Calculated value: 0 - # Flavor: data - # Current_value: 0 - # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 - - # The following properties are affected by this value - # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL - # DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT -}; - -# Console serial port -# The TX53 provides access to three serial ports. This option -# chooses which port will be used for console output. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL { - # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE - # CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT - # CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT == 0 - # --> 0 - # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 -}; - -# Ka-Ro electronics TX53 module 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_ARM_TX53_OPTIONS { - # There is no associated value. - # Requires: CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 -}; - -# > -# SDRAM DDR type -# This option specifies the SDRAM type of the TX53 module. -# Valid options are '2' for DDR2 and '3' for DDR3. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_TYPE { - # Flavor: data - user_value 3 - # value_source user - # Default value: 2 - # Legal values: 2 3 - - # The following properties are affected by this value - # component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 -}; - -# SDRAM size -# This option specifies the SDRAM size of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_SIZE { - # Flavor: data - user_value 0x40000000 - # value_source user - # Default value: 0x20000000 - # Legal values: 0x40000000 0x20000000 -}; - -# CPU clock -# This option specifies the CPU clock in MHz of the TX51 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_CPU_CLK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1000 - # value_source default - # Default value: 1000 - # Legal values: 800 1000 -}; - -# Enable low level debugging with LED -# This option enables low level debugging by blink codes -# of the LED on STK5. -# -cdl_option CYGOPT_HAL_ARM_TX53_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: false - # false (unknown) == 0 - # --> 0 -}; - -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the TX53 HAL. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_HAL_ARM_TX53_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 TX53 HAL. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_HAL_ARM_TX53_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Show a splash screen from the FIS partition: 'logo' -# When this option is enabled, RedBoot will look for a flash partition -# named 'logo' and display the contents of this partition as initial -# screen on the LCD -# -cdl_option CYGHWR_MX53_LCD_LOGO { - # ActiveIf constraint: CYGPKG_DEVS_IMX_IPU - # CYGPKG_DEVS_IMX_IPU == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Options for DDR2 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS { - # This option is not active - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # --> 0 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR2_CLK { - # This option is not active - # The parent CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 400 - # value_source default - # Default value: 400 - # Legal values: 216 266 333 400 -}; - -# < -# Options for DDR3 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS { - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # --> 1 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR3_CLK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 333 - # value_source default - # Default value: 333 - # Legal values: 333 -}; - -# < -# Memory layout -# -cdl_component CYGHWR_MEMORY_LAYOUT { - # Calculated value: "arm_tx53_romram" - # Flavor: data - # Current_value: arm_tx53_romram -}; - -# > -# Memory layout linker script fragment -# -cdl_option CYGHWR_MEMORY_LAYOUT_LDI { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# Memory layout header file -# -cdl_option CYGHWR_MEMORY_LAYOUT_H { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# < -# < -# < -# < -# < -# 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # 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_INFRA_EMPTY_DELETE_THRESHOLD - # ActiveIf: CYGPKG_INFRA_DEBUG -}; - -# > -# 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 == 0 - # --> 0 - - # The following properties are affected by this value - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS is not active - - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS is not active - - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS 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 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS 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 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 == 0 - # --> 0 - - # 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 -}; - -# > -# 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 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 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, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Fancy output -# An output module which produces fancy output -# from tracing and assertion events. -# -cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 -}; - -# Threshold for valid number of delete calls -# Some users don't know about the empty delete function and then -# wonder why their C++ classes are leaking memory. If -# INFRA_DEBUG is enabled we keep a counter for the number of -# times delete is called. If it goes above this threshold we throw -# an assertion failure. This should point heavy users of -# delete in the right direction without upsetting those who want -# an empty delete function. -# -cdl_option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD { - # This option is not active - # ActiveIf constraint: CYGPKG_INFRA_DEBUG - # CYGPKG_INFRA_DEBUG == 0 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 -}; - -# 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 1 - # value_source default - # Default value: CYGINT_ISO_EXIT == 0 - # CYGINT_ISO_EXIT == 0 - # --> 1 - # Requires: !CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 0 - # --> 1 -}; - -# 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 - user_value 1 - # value_source user - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_GLOBAL_CFLAGS - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS -}; - -# 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 - user_value 1 - # value_source user - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # --> 1 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 tests/diag_sprintf1 tests/diag_sprintf2" - # Flavor: data - # Current_value: tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2 -}; - -# > -# 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 -}; - -# < -# < -# < -# Redboot ROM monitor -# doc: ref/redboot.html -# This package supports the Redboot [stand-alone debug monitor] -# using eCos as the underlying board support mechanism. -# -cdl_package CYGPKG_REDBOOT { - # 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: CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 - # CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_REDBOOT_ARM_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # component CYGPKG_REDBOOT_HAL_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # option CYGSEM_IO_ETH_DRIVERS_WARN - # ActiveIf: CYGPKG_REDBOOT -}; - -# > -# Include support for ELF file format -# -cdl_component CYGSEM_REDBOOT_ELF { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Use the virtual address in the ELF headers -# The ELF headers contain both a virtual and a physical address -# for where code/data should be loaded. By default the physical -# address is used but sometimes it is necassary to use the -# virtual address because of bugy toolchains -# -cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Methods of loading images using redboot -# -cdl_interface CYGINT_REDBOOT_LOAD_METHOD { - # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled - # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGINT_REDBOOT_LOAD_METHOD -}; - -# Build Redboot ROM ELF image -# This option enables the building of the Redboot ELF image. -# The image may require further relocation or symbol -# stripping before being converted to a binary image. -# This is handled by a rule in the target CDL. -# -cdl_component CYGBLD_BUILD_REDBOOT { - # 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 - # Requires: CYGPKG_INFRA - # CYGPKG_INFRA == current - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0 - # --> 1 - # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_REDBOOT_LOAD_METHOD - # CYGINT_REDBOOT_LOAD_METHOD == 2 - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_HAL_ARM_TX53KARO - # Requires: CYGBLD_BUILD_REDBOOT == 1 - # option CYGBLD_BUILD_REDBOOT_BIN - # ActiveIf: CYGBLD_BUILD_REDBOOT -}; - -# > -# Include GDB support in RedBoot -# RedBoot normally includes support for the GDB debugging -# protocols. This option allows this to be disabled which -# may yield a substantial savings in terms of code and memory -# usage by RedBoot. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB { - # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS - # CYGINT_HAL_DEBUG_GDB_STUBS == 1 - # --> 1 - - # Flavor: bool - user_value 0 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source user - # Default value: 1 - # 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 -}; - -# Threads debugging support -# Enabling this option will include special code in the -# GDB stubs to support debugging of threaded programs. In -# the case of eCos programs, this support allows GDB to -# have complete access to the eCos threads in the -# program. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS { - # ActiveIf constraint: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # 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_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 -}; - -# Customized version string -# Use this option to define a customized version "string" for -# RedBoot. Note: this value is only cosmetic, displayed by the -# "version" command, but is useful for providing site specific -# information about the RedBoot configuration. -# -cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION { - # 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 "Ka-Ro 2010-01-06" - # value_source inferred - # Default value: 0 0 -}; - -# Enable command line editing -# If this option is non-zero, RedBoot will remember the -# last N command lines. These lines may be reused. -# Enabling this history will also enable rudimentary -# editting of the lines themselves. -# -cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES - # ActiveIf: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - # option CYGBLD_REDBOOT_CMD_LINE_HISTORY - # Requires: CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 -}; - -# Enable command line editing using ANSI arrows, etc -# If this option is enabled, RedBoot will accept standard ANSI key -# sequences for cursor movement (along with the emacs style keys). -# -cdl_option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES { - # ActiveIf constraint: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - # CYGNUM_REDBOOT_CMD_LINE_EDITING == 16 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Enable history command and expansion -# Enabling this option will allow RedBoot to provide a -# history command to list previous commands. Also enables -# history expansion via '!' character similar to bash -# shell. -# -cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 - # CYGNUM_REDBOOT_CMD_LINE_EDITING == 16 - # --> 1 -}; - -# Number of unique RAM segments on platform -# Change this option to be the number of memory segments which are -# supported by the platform. If the value is greater than 1, then -# a platform specific function must provide information about the -# additional segments. -# -cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include support gzip/zlib decompression -# -cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB { - # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB - # CYGPKG_COMPRESS_ZLIB == 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 - # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS -}; - -# > -# Size of zlib decompression buffer -# This is the size of the buffer filled with incoming data -# during load before calls are made to the decompressor -# function. For ethernet downloads this can be made bigger -# (at the cost of memory), but for serial downloads on slow -# processors it may be necessary to reduce the size to -# avoid serial overruns. zlib appears to bail out if less -# than five bytes are available initially so this is the -# minimum. -# -cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 64 - # value_source default - # Default value: 64 - # Legal values: 5 to 256 -}; - -# Support compression of Flash images -# This CDL indicates whether flash images can -# be decompressed from gzip/zlib format into RAM. -# -cdl_option CYGPRI_REDBOOT_ZLIB_FLASH { - # ActiveIf constraint: CYGPKG_REDBOOT_FLASH - # CYGPKG_REDBOOT_FLASH == 1 - # --> 1 - # ActiveIf constraint: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGPRI_REDBOOT_ZLIB_FLASH_FORCE == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Include GZIP uncompress command -# Enable this option to include a 'gunzip' command -# to uncompress GZIP compressed data. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_GUNZIP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Turn on CYGPRI_REDBOOT_ZLIB_FLASH -# Force CYGPRI_REDBOOT_ZLIB_FLASH to be chosen -# -cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE { - # 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 - # option CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE -}; - -# < -# Include support for xyzModem downloads -# doc: ref/download-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM { - # 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_REDBOOT_CFLAGS_ADD - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM -}; - -# 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_REDBOOT_CFLAGS_ADD { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM - # CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wno-inline - # value_source default - # Default value: -Wno-inline -}; - -# Allow the load-command write into Flash. -# Write images direct to Flash via the load command. -# We assume anything which is invalid RAM is flash, hence -# the requires statement -# -cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH { - # ActiveIf constraint: CYGPKG_REDBOOT_FLASH - # CYGPKG_REDBOOT_FLASH == 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_REDBOOT_VALIDATE_USER_RAM_LOADS - # CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS == 1 - # --> 1 -}; - -# Include MS Windows CE support -# doc: ref/wince.html -# This option enables MS Windows CE EShell support -# and Windows CE .BIN images support -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 -}; - -# Include support for MXC USB downloads -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include support for i.MX USB OTG downloads -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include POSIX checksum command -# doc: ref/cksum-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory fill command -# doc: ref/mfill-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory compare command -# doc: ref/mcmp-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory copy command -# doc: ref/mcopy-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory dump command -# doc: ref/dump-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include cache command -# doc: ref/cache-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include exec command -# doc: ref/exec-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC { - # 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_REDBOOT_ARM_LINUX_EXEC - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC -}; - -# Include I/O Memory commands 'iopeek' and 'iopoke' -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Granularity of timer/ticks -# This option controls the granularity of the timers. -# Faster CPUs can afford higher granularity (lower values) -# which should give higher network performance since the stack -# is purely polled. -# -cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 250 - # value_source default - # Default value: 250 - # Legal values: 10 25 50 100 250 500 1000 -}; - -# Redboot Networking -# This option includes networking support in RedBoot. -# -cdl_component CYGPKG_REDBOOT_NETWORKING { - # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS - # CYGPKG_IO_ETH_DRIVERS == 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 CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS - # DefaultValue: 0 != CYGPKG_REDBOOT_NETWORKING -}; - -# > -# Print net debug information -# This option is overriden by the configuration stored -# in flash. -# -cdl_option CYGDBG_REDBOOT_NET_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support TFTP for download -# This option enables the use of the TFTP protocol for -# download -# -cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support HTTP for download -# This option enables the use of the HTTP protocol for -# download -# -cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# Default IP address -# This IP address is the default used by RedBoot if -# a BOOTP/DHCP server does not respond. The numbers -# should be separated by *commas*, and not dots. If -# an IP address is configured into the Flash -# configuration, that will be used in preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# > -# Do not try to use BOOTP -# By default Redboot tries to use BOOTP to get an IP -# address. If there's no BOOTP server on your network -# use this option to avoid to wait until the -# timeout. This option is overriden by the -# configuration stored in flash. -# -cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP { - # This option is not active - # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Default bootp server -# This IP address is the default server -# address used by RedBoot if a BOOTP/DHCP -# server does not respond. The numbers should -# be separated by *commas*, and not dots. If -# an IP address is configured into the Flash -# configuration, that will be used in -# preference. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR { - # This option is not active - # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# < -# Use DHCP to get IP information -# Use DHCP protocol to obtain pertinent IP addresses, such -# as the client, server, gateway, etc. -# -cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP { - # 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 CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY - # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP -}; - -# Use a gateway for non-local IP traffic -# Enabling this option will allow the RedBoot networking -# stack to use a [single] gateway to reach a non-local -# IP address. If disabled, RedBoot will only be able to -# reach nodes on the same subnet. -# -cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP - # CYGSEM_REDBOOT_NETWORKING_DHCP == 1 - # --> 1 -}; - -# > -# Default gateway IP address -# This IP address is the default used by RedBoot -# if a BOOTP/DHCP server does not respond. The -# numbers should be separated by *commas*, and -# not dots. If an IP address is configured into -# the Flash configuration, that will be used in -# preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# Default IP address mask -# This IP address mask is the default used by -# RedBoot if a BOOTP/DHCP server does not -# respond. The numbers should be separated by -# *commas*, and not dots. If an IP address is -# configured into the Flash configuration, that -# will be used in preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "255, 255, 255, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# < -# TCP port to listen for incoming connections -# RedBoot will 'listen' on this port for incoming TCP -# connections. This allows outside connections to be made -# to the platform, either for GDB or RedBoot commands. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 9000 - # value_source default - # Default value: 9000 -}; - -# Number of [network] packet buffers -# RedBoot may need to buffer network data to support -# various connections. This option allows control -# over the number of such buffered packets, and in -# turn, controls the amount of memory used by RedBoot -# (which is not available to user applications). -# Each packet buffer takes up about 1514 bytes. -# Note: there is little need to make this larger than -# the default. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 3 to 8 -}; - -# DNS support -# When this option is enabled, RedBoot will be built with -# support for DNS, allowing use of hostnames on the command -# line. -# -cdl_component CYGPKG_REDBOOT_NETWORKING_DNS { - # This option is not active - # ActiveIf constraint: CYGPKG_NS_DNS - # CYGPKG_NS_DNS (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_NS_DNS_BUILD - # CYGPKG_NS_DNS_BUILD (unknown) == 0 - # --> 1 -}; - -# > -# Default DNS IP -# This option sets the IP of the default DNS. The IP can be -# changed at runtime as well. -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0.0.0.0 - # value_source default - # Default value: 0.0.0.0 -}; - -# Timeout in DNS lookup -# This option sets the timeout used when looking up an -# address via the DNS. Default is 10 seconds. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# Support the use of a domain name -# This option controls if Redboot supports domain -# names when performing DNS lookups -# -cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Default DNS domain -# This option sets the default DNS domain name. -# This value will be overwritten by the value in -# flash or a domain returned by DHCP -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Get DNS domain from Flash -# This option enables getting the domain name -# from the flash configuration. This can later be -# overwritten by a value learnt from DHCP -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - # ActiveIf constraint: CYGSEM_REDBOOT_FLASH_CONFIG - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Use DNS domain from DHCP -# This option enables the use of the domain name -# returned by DHCP. -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# BOOTP/DHCP DNS domain buffer size -# This options sets the size of the static -# buffer used by BOOTP/DHCP to store the DNS -# domain name. The domain name will not be -# set if the buffer is too small to hold it. -# -cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 -}; - -# < -# < -# Default network device driver -# This is the name of the default network device to use. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE { - # This option is not active - # ActiveIf constraint: CYGHWR_NET_DRIVERS > 1 - # CYGHWR_NET_DRIVERS == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"\"" - # value_source default - # Default value: "\"\"" -}; - -# Initialize only one net device -# This option tells RedBoot to stop initializing network -# devices when it finds the first device which is -# successfully initialized. The default behavior causes -# all network devices to be initialized. -# -cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE { - # This option is not active - # ActiveIf constraint: CYGHWR_NET_DRIVERS > 1 - # CYGHWR_NET_DRIVERS == 1 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Let RedBoot use any I/O channel for its console. -# If this option is enabled then RedBoot will attempt to use all -# defined serial I/O channels for its console device. Once input -# arrives at one of these channels then the console will use only -# that port. -# -cdl_option CYGPKG_REDBOOT_ANY_CONSOLE { - # 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 -}; - -# Let RedBoot adjust the baud rate of the serial console. -# If this option is enabled then RedBoot will support commands -# to set and query the baud rate on the selected console. -# -cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE { - # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT - # CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Run a platform specific startup function. -# If this option is enabled then RedBoot will execute a platform -# specific startup function before entering into its command line -# processing. This allows the platform to perform any special -# setups before RedBoot actually starts running. Note: the entire -# RedBoot environment will already be initialized at this point. -# -cdl_option CYGSEM_REDBOOT_PLF_STARTUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Run a platform specific ESA validation function. -# If this option is enabled then RedBoot will execute a platform -# specific function to validate an ethernet ESA. This would be -# useful if the address must conform to standards set by the -# hardware manufacturer, etc. -# -cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE { - # 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 - # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 - # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI - # ActiveIf: CYGSEM_REDBOOT_PLF_ESA_VALIDATE -}; - -# Maximum command line length -# This option allows control over how long the CLI command line -# should be. This space will be allocated statically -# rather than from RedBoot's stack. -# -cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # The inferred value should not be edited directly. - inferred_value 1024 - # value_source inferred - # Default value: 256 -}; - -# Command processing idle timeout (ms) -# This option controls the timeout period before the -# command processing is considered 'idle'. Making this -# number smaller will cause idle processing to take place -# more often, etc. The default value of 10ms is a reasonable -# tradeoff between responsiveness and overhead. -# -cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# Validate RAM addresses during load -# This option controls whether or not RedBoot will make -# sure that memory being used by the "load" command is -# in fact in user RAM. Leaving the option enabled makes -# for a safer environment, but this check may not be valid -# on all platforms, thus the ability to disable it. -# ** Disable this only with great care ** -# -cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS { - # 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_REDBOOT_LOAD_INTO_FLASH - # Requires: CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS -}; - -# Allow RedBoot to support FLASH programming -# If this option is enabled then RedBoot will provide commands -# to manage images in FLASH memory. These images can be loaded -# into memory for execution or executed in place. -# -cdl_component CYGPKG_REDBOOT_FLASH { - # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE - # CYGHWR_IO_FLASH_DEVICE == 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 CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: CYGPKG_REDBOOT_FLASH - # option CYGBLD_REDBOOT_LOAD_INTO_FLASH - # ActiveIf: CYGPKG_REDBOOT_FLASH -}; - -# > -# Byte order used to store info in flash. -# This option controls the byte ordering used to store -# the FIS directory info and flash config info. -# -cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value NATURAL - # value_source default - # Default value: NATURAL - # Legal values: "NATURAL" "MSBFIRST" "LSBFIRST" -}; - -# RedBoot Flash Image System support -# doc: ref/flash-image-system.html -# This option enables the Flash Image System commands -# and support within RedBoot. If disabled, simple Flash -# access commands such as "fis write" will still exist. -# This option would be disabled for targets that need simple -# FLASH manipulation, but do not have the need or space for -# complete image management. -# -cdl_option CYGOPT_REDBOOT_FIS { - # 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_REDBOOT_FIS_CONTENTS - # ActiveIf: CYGOPT_REDBOOT_FIS - # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # ActiveIf: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS -}; - -# Max number of chunks of free space to manage -# If this option is defined then "fis free" will -# rely on the FIS directory to determine what space is -# free within the FLASH. This option controls the -# maximum number of free segment which can be handled -# (typically this number is small). If this option is -# not enabled, the the archaic behaviour of actually -# scanning the FLASH for erased sectors (unreliable) -# will be used to determine what's free and what's -# not. -# -cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 32 - # value_source default - # Default value: 1 32 -}; - -# Flash Image System default directory contents -# -cdl_component CYGPKG_REDBOOT_FIS_CONTENTS { - # ActiveIf constraint: CYGOPT_REDBOOT_FIS - # CYGOPT_REDBOOT_FIS == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Flash block containing the Directory -# Which block of flash should hold the directory -# information. Positive numbers are absolute block -# numbers. Negative block numbers count backwards -# from the last block. eg 2 means block 2, -2 -# means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK { - # Flavor: data - # 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_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK -}; - -# Redundant Flash Image System Directory Support -# This option enables the use of a redundant FIS -# directory within RedBoot. If enabled a flash block -# will be reserved for a second copy of the fis -# directory. Doing this allow for power failure safe -# updates of the directory by the application. -# -cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG == 1 - # --> 0 -}; - -# > -# Flash block containing the backup Directory -# Which block of flash should hold the redundant -# directory information. Positive numbers are -# absolute block numbers. Negative block numbers -# count backwards from the last block. eg 2 means -# block 2, -2 means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK { - # This option is not active - # The parent CYGOPT_REDBOOT_REDUNDANT_FIS is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -3 - # value_source default - # Default value: -3 - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK - # CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK == 0 - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK == -1 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK -}; - -# < -# Pseudo-file to describe reserved area -# If an area of FLASH is reserved, it is informative to -# have a fis entry describing it. This option controls -# creation of such an entry by default in the fis init -# command. -# -cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE { - # This option is not active - # ActiveIf constraint: 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# File to describe RedBoot boot image -# Normally a ROM-startup RedBoot image is first in the -# FLASH, and the system boots using that image. This -# option controls creation of an entry describing it in -# the fis init command. It might be disabled if a -# platform has an immutable boot image of its own, where -# we use a POST-startup RedBoot instead, which performs -# less board initialization. -# -cdl_option CYGOPT_REDBOOT_FIS_REDBOOT { - # 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 CYGOPT_REDBOOT_FIS_REDBOOT_POST - # DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT - # option CYGBLD_REDBOOT_MIN_IMAGE_SIZE - # DefaultValue: CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 -}; - -# File to describe RedBoot POST-compatible image -# This option controls creation of an entry describing a -# POST-startup RedBoot image in the fis init command. -# Not all platforms support POST-startup. A platform -# might have both for testing purposes, where the -# eventual user would substitute their own POST code for -# the initial ROM-startup RedBoot, and then jump to the -# POST-compatible RedBoot immediately following. -# -cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT - # CYGOPT_REDBOOT_FIS_REDBOOT == 1 - # --> 0 -}; - -# > -# Offset of POST image from FLASH start -# This option specifies the offset for a POST image from -# the start of FLASH. If unset, then the fis entry -# describing the POST image will be placed where -# convenient. -# -cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET { - # This option is not active - # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET -}; - -# < -# File to describe RedBoot backup image -# This option controls creation of an entry describing a -# backup RedBoot image in the fis init command. -# Conventionally a RAM-startup RedBoot image is kept -# under this name for use in updating the ROM-based -# RedBoot that boots the board. -# -cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include ARM SIB ID in FIS -# If set, this option will cause the last 5 words of -# the FIS to include the special ID needed for the -# flash to be recognized as a reserved area for RedBoot -# by an ARM BootRom monitor. -# -cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Size of FIS directory entry -# The FIS directory is limited to one single flash -# sector. If your flash has tiny sectors, you may wish -# to reduce this value in order to get more slots in -# the FIS directory. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: 256 -}; - -# Number of FIS directory entries -# The FIS directory normally occupies a single flash -# sector. Adjusting this value can allow for more than -# one flash sector to be used, which is useful if your -# sectors are very small. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 -}; - -# Maximum RedBoot image size -# This option controls the maximum length reserved -# for the RedBoot boot image in the FIS table. -# This should be a multiple of the flash's erase -# block size. -# -cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00020000 - # The inferred value should not be edited directly. - inferred_value 0x00040000 - # value_source inferred - # Default value: CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 - # CYGOPT_REDBOOT_FIS_REDBOOT == 1 - # --> 0x00020000 -}; - -# Offset from start of FLASH to RedBoot boot image -# This option controls where the RedBoot boot image is -# located relative to the start of FLASH. -# -cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # --> 0 - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # component CYGPKG_HAL_ARM_TX53_OPTIONS - # Requires: CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 -}; - -# Size of reserved area at start of FLASH -# This option reserves an area at the start of -# FLASH where RedBoot will never interfere; it is -# expected that this area contains -# (non-RedBoot-based) POST code or some other boot -# monitor that executes before RedBoot. -# -cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE { - # Flavor: data - # 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 CYGOPT_REDBOOT_FIS_RESERVED_BASE - # ActiveIf: 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET -}; - -# < -# Keep all RedBoot FLASH data blocks locked. -# When this option is enabled, RedBoot will keep configuration -# data and the FIS directory blocks implicitly locked. While -# this is somewhat safer, it does add overhead during updates. -# -cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL { - # This option is not active - # ActiveIf constraint: CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 - # CYGHWR_IO_FLASH_BLOCK_LOCKING == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Use CRC checksums on FIS images. -# When this option is enabled, RedBoot will use CRC checksums -# when reading and writing flash images. -# -cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK { - # 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 -}; - -# ARM FLASH drivers support SIB flash block structure -# This interface is implemented by a flash driver -# to indicate that it supports the ARM SIB flash -# block structure -# -cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED { - # No options implement this inferface - # ActiveIf constraint: CYGPKG_HAL_ARM - # CYGPKG_HAL_ARM == current - # --> 1 - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGHWR_REDBOOT_ARM_FLASH_SIB - # ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED -}; - -# Use ARM SIB flash block structure -# This option is used to interpret ARM Flash System -# information blocks. -# -cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB { - # This option is not active - # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED - # CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Keep RedBoot configuration data in FLASH -# When this option is enabled, RedBoot will keep configuration -# data in a separate block of FLASH memory. This data will -# include such items as the node IP address or startup scripts. -# -cdl_component CYGSEM_REDBOOT_FLASH_CONFIG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_IO_FLASH != 0 - # CYGPKG_IO_FLASH == current - # --> 1 - - # The following properties are affected by this value - # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "255, 255, 255, 0" - # option CYGPKG_REDBOOT_NETWORKING_DNS_IP - # ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG - # option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN - # ActiveIf: CYGSEM_REDBOOT_FLASH_CONFIG - # option CYGFUN_REDBOOT_BOOT_SCRIPT - # ActiveIf: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG -}; - -# > -# Length of configuration data in FLASH -# This option is used to control the amount of memory and FLASH -# to be used for configuration options (persistent storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4096 - # value_source default - # Default value: 4096 -}; - -# Style of media used for persistent data storage -# Persistent data storage can either be held in 'norma' FLASH -# or some other device (represented by the 'EEPROM' choice). -# The different styles utilize different access methods. -# -cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value FLASH - # value_source default - # Default value: FLASH - # Legal values: "FLASH" "EEPROM" - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # ActiveIf: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK - # DefaultValue: (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") -}; - -# Merged config data and FIS directory -# If this option is set, then the FIS directory and FLASH -# configuration database will be stored in the same physical -# FLASH block. -# -cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG { - # ActiveIf constraint: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # CYGOPT_REDBOOT_FIS == 1 - # CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH - # --> 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 CYGOPT_REDBOOT_REDUNDANT_FIS - # Requires: 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG -}; - -# Which block of flash to use -# Which block of flash should hold the configuration -# information. Positive numbers are absolute block numbers. -# Negative block numbers count backwards from the last block. -# eg 2 means block 2, -2 means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -2 - # value_source default - # Default value: -2 -}; - -# Support simple macros/aliases in FLASH -# This option is used to allow support for simple text-based -# macros (aliases). These aliases are kept in the FLASH -# configuration data (persistent storage). -# -cdl_option CYGSEM_REDBOOT_FLASH_ALIASES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Length of strings in FLASH configuration data -# This option is used to control the amount of memory -# and FLASH to be used for string configuration -# options (persistent storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 -}; - -# Length of configuration script(s) in FLASH -# This option is used to control the amount of memory and -# FLASH to be used for configuration options (persistent -# storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 512 - # The inferred value should not be edited directly. - inferred_value 2048 - # value_source inferred - # Default value: 512 -}; - -# Fallback to read-only FLASH configuration -# This option will cause the configuration information to -# revert to the readonly information stored in the FLASH. -# The option only takes effect after -# 1) the config_ok flag has been set to be true, -# indicating that at one time the copy in RAM was valid; -# and -# 2) the information in RAM has been verified to be invalid -# -cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH - # --> 1 -}; - -# < -# Allow RedBoot to support fileio -# If this option is enabled then RedBoot will provide commands -# to load files from fileio file systems such as JFFS2. -# -cdl_component CYGPKG_REDBOOT_FILEIO { - # This option is not active - # ActiveIf constraint: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO (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_REDBOOT_GETC_BUFFER - # DefaultValue: CYGPKG_REDBOOT_FILEIO ? 4096 : 256 -}; - -# > -# Include an ls command -# If this option is enabled a simple ls command will be -# included in redboot so the contents of a directory -# can be listed -# -cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS { - # This option is not active - # The parent CYGPKG_REDBOOT_FILEIO is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Allow RedBoot to support disks -# If this option is enabled then RedBoot will provide commands -# to load disk files. -# -cdl_component CYGPKG_REDBOOT_DISK { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# > -# Include Redboot commands for disk access -# -cdl_option CYGSEM_REDBOOT_DISK { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGINT_REDBOOT_DISK_DRIVERS != 0 - # CYGINT_REDBOOT_DISK_DRIVERS == 0 - # --> 0 -}; - -# Hardware drivers for disk-type devices -# -cdl_interface CYGINT_REDBOOT_DISK_DRIVERS { - # Implemented by CYGSEM_REDBOOT_DISK_IDE, inactive, enabled - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_DISK - # DefaultValue: CYGINT_REDBOOT_DISK_DRIVERS != 0 -}; - -# Maximum number of supported disks -# This option controls the number of disks supported by -# RedBoot. -# -cdl_option CYGNUM_REDBOOT_MAX_DISKS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 -}; - -# Maximum number of partitions per disk -# This option controls the maximum number of supported -# partitions per disk. -# -cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 -}; - -# Support IDE disks. -# When this option is enabled, RedBoot will support IDE disks. -# -cdl_component CYGSEM_REDBOOT_DISK_IDE { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - # ActiveIf constraint: CYGINT_HAL_PLF_IF_IDE != 0 - # CYGINT_HAL_PLF_IF_IDE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Work with VMware virtual disks -# This option controls the disk driver behavior at -# ide-init -# -cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE { - # This option is not active - # The parent CYGSEM_REDBOOT_DISK_IDE is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Support Linux second extended filesystems. -# When this option is enabled, RedBoot will support EXT2 -# filesystems. -# -cdl_component CYGSEM_REDBOOT_DISK_EXT2FS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support ISO9660 filesystems. -# When this option is enabled, RedBoot will support ISO9660 -# filesystems. -# -cdl_component CYGSEM_REDBOOT_DISK_ISO9660 { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Calculated value: 0 - # Flavor: bool - # Current value: 0 -}; - -# < -# Boot scripting -# doc: ref/persistent-state-flash.html -# This contains options related to RedBoot's boot script -# functionality. -# -cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT { - # There is no associated value. -}; - -# > -# Boot scripting enabled -# This option controls whether RedBoot boot script -# functionality is enabled. -# -cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT { - # ActiveIf constraint: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG - # CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0 - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Use default RedBoot boot script -# If enabled, this option will tell RedBoot to use the -# value of this option as a default boot script. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT { - # 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 0 0 - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGFUN_REDBOOT_BOOT_SCRIPT - # ActiveIf: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG -}; - -# Resolution (in ms) for script timeout value. -# This option controls the resolution of the script -# timeout. The value is specified in milliseconds -# (ms), thus to have the script timeout be defined in -# terms of tenths of seconds, use 100. -# -cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1000 - # The inferred value should not be edited directly. - inferred_value 10 - # value_source inferred - # Default value: 1000 -}; - -# Script default timeout value -# This option is used to set the default timeout for startup -# scripts, when they are enabled. -# -cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 10 -}; - -# < -# Support RTC for time & date functions -# When this option is enabled, RedBoot will support commands to -# query and set the real time clock (time and date) -# -cdl_option CYGSEM_REDBOOT_RTC { - # This option is not active - # ActiveIf constraint: CYGPKG_IO_WALLCLOCK - # CYGPKG_IO_WALLCLOCK (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Behave like a ROM monitor -# Enabling this option will allow RedBoot to provide ROM -# monitor-style services to programs which it executes. -# -cdl_option CYGPRI_REDBOOT_ROM_MONITOR { - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # CYG_HAL_STARTUP == ROMRAM - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_HAL_ROM_MONITOR - # CYGSEM_HAL_ROM_MONITOR == 1 - # --> 1 -}; - -# Allow RedBoot to handle GNUPro application 'syscalls'. -# If this option is enabled then RedBoot will install a -# syscall handler to support debugging of applications -# based on GNUPro newlib/bsp. -# -cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS { - # 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 CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS - # option CYGPKG_HAL_GDB_FILEIO - # ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS -}; - -# > -# Support additional syscalls for 'gprof' profiling -# Support additional syscalls to support a periodic callback -# function for histogram-style profiling, and an enquire/set -# of the tick rate. -# The application must use the GNUPro newlib facilities -# to set this up. -# -cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF { - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - # ActiveIf constraint: 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT - # CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Does the HAL support 'gprof' profiling? -# -cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT { - # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF - # ActiveIf: 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT -}; - -# Do not raise SIGTRAP when program exits -# For some (single shot) newlib based programs, -# exiting and returning a termination status may be -# the normal expected behavior. -# -cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP { - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Use a common buffer for Zlib and FIS -# Use a common memory buffer for both the zlib workspace -# and FIS directory operations. This can save a substantial -# amount of RAM, especially when flash sectors are large. -# -cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS - # CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 1 - # CYGOPT_REDBOOT_FIS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Size of Zlib/FIS common buffer -# Size of common buffer to allocate. Must be at least the -# size of one flash sector. -# -cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE { - # This option is not active - # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x0000C000 - # value_source default - # Default value: 0x0000C000 - # Legal values: 0x4000 to 0x80000000 -}; - -# < -# Buffer size in getc when loading images -# When loading images a buffer is used between redboot and the -# underlying storage medium, eg a filesystem, or a socket etc. -# The size of this buffer can have a big impart on load speed. -# -cdl_option CYGNUM_REDBOOT_GETC_BUFFER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: CYGPKG_REDBOOT_FILEIO ? 4096 : 256 - # CYGPKG_REDBOOT_FILEIO == 0 - # --> 256 -}; - -# < -# Redboot for ARM options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_ARM_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Provide the exec command in RedBoot -# This option contains requirements for booting linux -# from RedBoot. The component is enabled/disabled from -# RedBoots CDL. -# -cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC - # CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# Enable -x switch for exec command. -# This option allows bi-endian platforms to launch kernels -# built for an endianess different than the RedBoot endianess -# -cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Physical base address of linux kernel -# This is the physical address of the base of the -# Linux kernel image. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x70108000 - # value_source default - # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT - # CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # --> 0x70108000 -}; - -# Default physical base address of linux kernel -# This is the physical address of the base of the -# Linux kernel image. This option gets set by the -# platform CDL. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00008000 - # The inferred value should not be edited directly. - inferred_value 0x70108000 - # value_source inferred - # Default value: 0x00008000 - - # The following properties are affected by this value - # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS - # DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT - # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS - # Requires: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 -}; - -# Base address of linux kernel parameter tags -# This is the base address of the area of memory used to -# pass parameters to the Linux kernel. This should be chosen -# to avoid overlap with the kernel and any ramdisk image. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00000100 - # value_source default - # Default value: 0x00000100 -}; - -# < -# < -# Redboot HAL options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_HAL_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. -}; - -# > -# Build Redboot ROM binary image -# This option enables the conversion of the Redboot ELF -# image to a binary image suitable for ROM programming. -# -cdl_option CYGBLD_BUILD_REDBOOT_BIN { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT - # CYGBLD_BUILD_REDBOOT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Redboot HAL variant options -# -cdl_component CYGPKG_REDBOOT_HAL_TX53_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. - # Requires: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # --> 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 CYGBLD_BUILD_REDBOOT - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STRING - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_COMPRESS_ZLIB - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_IO_FLASH - # Requires: CYGPKG_ISOINFRA - # 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_I18N - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STDLIB - # 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP - # CYGINT_ISO_MAIN_STARTUP == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_ENVIRON - # CYGINT_ISO_ENVIRON == 0 - # --> 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_HAL_ARM_TX53KARO - # Requires: CYGINT_ISO_CTYPE - # option CYGFUN_LIBC_STRING_BSD_FUNCS - # Requires: CYGINT_ISO_CTYPE - # package CYGPKG_LIBC_STDLIB - # 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 -}; - -# 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 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES - # CYGINT_ISO_STDIO_FILETYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Stdio standard streams implementations -# -cdl_interface CYGINT_ISO_STDIO_STREAMS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS - # CYGINT_ISO_STDIO_STREAMS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file operations -# -cdl_interface CYGINT_ISO_STDIO_FILEOPS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS - # CYGINT_ISO_STDIO_FILEOPS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file access functionals -# -cdl_interface CYGINT_ISO_STDIO_FILEACCESS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEACCESS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio formatted I/O -# -cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FORMATTED_IO - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio character I/O -# -cdl_interface CYGINT_ISO_STDIO_CHAR_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO - # CYGINT_ISO_STDIO_CHAR_IO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio direct I/O -# -cdl_interface CYGINT_ISO_STDIO_DIRECT_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO - # CYGINT_ISO_STDIO_DIRECT_IO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file positioning -# -cdl_interface CYGINT_ISO_STDIO_FILEPOS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEPOS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio error handling -# -cdl_interface CYGINT_ISO_STDIO_ERROR { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_ERROR - # CYGINT_ISO_STDIO_ERROR == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX fd-related function implementations -# -cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS - # CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0 - # --> 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 -}; - -# 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, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT - # Requires: 1 >= 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, disabled - # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, enabled - # 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 - # option CYGFUN_LIBC_STRING_STRDUP - # ActiveIf: 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 0 - # --> 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 -}; - -# 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 -}; - -# 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 -}; - -# 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, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS - # CYGINT_ISO_STRING_BSD_FUNCS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRING_BSD_FUNCS - # Requires: 1 >= 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGINT_ISO_STRING_STRFUNCS - # component CYGPKG_IO_ETH_DRIVERS_NET - # Requires: CYGINT_ISO_STRING_STRFUNCS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_IO_FLASH - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_LIBC_STDLIB - # 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 -}; - -# fnmatch implementation header -# -cdl_option CYGBLD_ISO_FNMATCH_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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_TYPES - # CYGINT_ISO_POSIX_TIMER_TYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX clock types -# -cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES - # CYGINT_ISO_POSIX_CLOCK_TYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of ISO C types -# -cdl_interface CYGINT_ISO_C_TIME_TYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES - # CYGINT_ISO_C_TIME_TYPES == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_C_TIME_TYPES - # Requires: 1 >= 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX timers -# -cdl_interface CYGINT_ISO_POSIX_TIMERS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMERS - # CYGINT_ISO_POSIX_TIMERS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX clocks -# -cdl_interface CYGINT_ISO_POSIX_CLOCKS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCKS - # CYGINT_ISO_POSIX_CLOCKS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of ISO C clock functions -# -cdl_interface CYGINT_ISO_C_CLOCK_FUNCS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS - # CYGINT_ISO_C_CLOCK_FUNCS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_NUMBERS - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# Number of signal implementations -# -cdl_interface CYGINT_ISO_SIGNAL_IMPL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_IMPL - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_POSIX_REALTIME_SIGNALS - # CYGINT_POSIX_REALTIME_SIGNALS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SETJMP - # CYGINT_ISO_SETJMP == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# sigsetjmp() / siglongjmp() implementations -# -cdl_interface CYGINT_ISO_SIGSETJMP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGSETJMP - # CYGINT_ISO_SIGSETJMP == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_FCNTL - # CYGINT_ISO_FCNTL == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_OPEN - # CYGINT_ISO_OPEN == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_DIRENT - # CYGINT_ISO_DIRENT == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX mutex types implementations -# -cdl_interface CYGINT_ISO_PMUTEXTYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 0 - # --> 1 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_BSDTYPES - # CYGINT_ISO_BSDTYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX scheduler -# -cdl_component CYGPKG_ISO_SCHED { - # There is no associated value. -}; - -# > -# POSIX scheduler implementations -# -cdl_interface CYGINT_ISO_SCHED_IMPL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SCHED_IMPL - # CYGINT_ISO_SCHED_IMPL == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SEMAPHORES - # CYGINT_ISO_SEMAPHORES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX message queues -# -cdl_component CYGPKG_ISO_MQUEUE { - # There is no associated value. -}; - -# > -# Implementations -# -cdl_interface CYGINT_ISO_MQUEUE { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 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 { - # This option is not active - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 0 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0 - # --> 0 0 -}; - -# Maximum number of message priorities -# -cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX { - # This option is not active - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 0 - - # 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_PTHREAD_IMPL - # CYGINT_ISO_PTHREAD_IMPL == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX mutex/cond var implementations -# -cdl_interface CYGINT_ISO_PTHREAD_MUTEX { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_PTHREAD_MUTEX - # CYGINT_ISO_PTHREAD_MUTEX == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# Limits -# -cdl_component CYGPKG_ISO_LIMITS { - # There is no associated value. -}; - -# > -# POSIX pthread limits implementations -# -cdl_interface CYGINT_ISO_POSIX_LIMITS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_POSIX_LIMITS - # CYGINT_ISO_POSIX_LIMITS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_TERMIOS - # CYGINT_ISO_TERMIOS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_OPS - # CYGINT_ISO_POSIX_TIMER_OPS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_SLEEP - # CYGINT_ISO_POSIX_SLEEP == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_SELECT - # CYGINT_ISO_SELECT == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_DNS - # CYGINT_ISO_DNS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Protocol network database implementations -# -cdl_interface CYGINT_ISO_NETDB_PROTO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_NETDB_PROTO - # CYGINT_ISO_NETDB_PROTO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Services network database implementations -# -cdl_interface CYGINT_ISO_NETDB_SERV { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_NETDB_SERV - # CYGINT_ISO_NETDB_SERV == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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: "" -}; - -# < -# < -# Compute CRCs -# doc: ref/services-crc.html -# This package provides support for CRC calculation. Currently -# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by -# Gary S. Brown, and a 16 bit CRC. -# -cdl_package CYGPKG_CRC { - # 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_COMPRESS_ZLIB - # Requires: CYGPKG_CRC -}; - -# > -# POSIX CRC tests -# -cdl_option CYGPKG_CRC_TESTS { - # Calculated value: "tests/crc_test" - # Flavor: data - # Current_value: tests/crc_test -}; - -# < -# Zlib compress and decompress package -# This package provides support for compression and -# decompression. -# -cdl_package CYGPKG_COMPRESS_ZLIB { - # 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_CRC - # CYGPKG_CRC == current - # --> 1 - - # The following properties are affected by this value - # component CYGBLD_BUILD_REDBOOT_WITH_ZLIB - # ActiveIf: CYGPKG_COMPRESS_ZLIB -}; - -# > -# Override memory allocation routines. -# -cdl_interface CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC { - # Implemented by CYGBLD_BUILD_REDBOOT_WITH_ZLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC - # ActiveIf: CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 -}; - -# Should deflate() produce 'gzip' compatible output? -# If this option is set then the output of calling deflate() -# will be wrapped up as a 'gzip' compatible file. -# -cdl_option CYGSEM_COMPRESS_ZLIB_DEFLATE_MAKES_GZIP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Does this library need malloc? -# This pseudo-option will force the memalloc library to be -# required iff the application does not provide it's own -# infrastructure. -# -cdl_option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC { - # This option is not active - # ActiveIf constraint: CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 - # CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 1 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_MEMALLOC - # CYGPKG_MEMALLOC == current - # --> 1 -}; - -# Include stdio-like utility functions -# This option enables the stdio-like zlib utility functions -# (gzread/gzwrite and friends) provided in gzio.c. -# -cdl_option CYGFUN_COMPRESS_ZLIB_GZIO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGPKG_LIBC_STDIO_OPEN ? 1 : 0 - # CYGPKG_LIBC_STDIO_OPEN (unknown) == 0 - # --> 0 - # Requires: CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 0 - # --> 0 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 0 - # --> 0 - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 0 - # --> 0 -}; - -# Zlib compress and decompress 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_COMPRESS_ZLIB_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_COMPRESS_ZLIB_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-D__ECOS__ -DNO_ERRNO_H" - # value_source default - # Default value: "-D__ECOS__ -DNO_ERRNO_H" -}; - -# 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_COMPRESS_ZLIB_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wstrict-prototypes - # value_source default - # Default value: -Wstrict-prototypes -}; - -# 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_COMPRESS_ZLIB_LDFLAGS_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_COMPRESS_ZLIB_LDFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# zlib tests -# -cdl_option CYGPKG_COMPRESS_ZLIB_TESTS { - # Calculated value: "tests/zlib1.c tests/zlib2.c" - # Flavor: data - # Current_value: tests/zlib1.c tests/zlib2.c -}; - -# < -# FLASH device drivers -# doc: ref/flash.html -# This option enables drivers for basic I/O services on -# flash devices. -# -cdl_package CYGPKG_IO_FLASH { - # 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_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGSEM_REDBOOT_FLASH_CONFIG - # DefaultValue: CYGPKG_IO_FLASH != 0 - # package CYGPKG_DEVS_FLASH_ONMXC - # ActiveIf: CYGPKG_IO_FLASH -}; - -# > -# Hardware FLASH device drivers -# This option enables the hardware device drivers -# for the current platform. -# -cdl_interface CYGHWR_IO_FLASH_DEVICE { - # Implemented by CYGPKG_DEVS_FLASH_ONMXC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # component CYGPKG_REDBOOT_FLASH - # ActiveIf: CYGHWR_IO_FLASH_DEVICE -}; - -# Hardware FLASH device drivers are not in RAM -# Use of this interface is deprecated. -# Drivers should make sure that the functions are -# linked to RAM by putting them in .2ram sections. -# -cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM - # CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM - # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM -}; - -# Hardware can support block locking -# This option will be enabled by devices which can support -# locking (write-protection) of individual blocks. -# -cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING { - # 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 - # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL - # ActiveIf: CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 -}; - -# Hardware cannot support direct access to FLASH memory -# This option will be asserted by devices which cannot support -# direct access to the FLASH memory contents (e.g. EEPROM or NAND -# devices). In these cases, the driver must provide an appropriate -# hardware access function. -# -cdl_option CYGSEM_IO_FLASH_READ_INDIRECT { - # 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 - # Requires: !CYGSEM_IO_FLASH_VERIFY_PROGRAM - # CYGSEM_IO_FLASH_VERIFY_PROGRAM == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE - # component CYGHWR_DEVS_FLASH_MMC - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MMC_ESDHC - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MMC_SD - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MXC_NAND - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 -}; - -# Display status messages during flash operations -# Selecting this option will cause the drivers to print status -# messages as various flash operations are undertaken. -# -cdl_option CYGSEM_IO_FLASH_CHATTER { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Verify data programmed to flash -# Selecting this option will cause verification of data -# programmed to flash. -# -cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM { - # 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 - - # The following properties are affected by this value - # option CYGSEM_IO_FLASH_READ_INDIRECT - # Requires: !CYGSEM_IO_FLASH_VERIFY_PROGRAM -}; - -# Platform has flash soft DIP switch write-protect -# Selecting this option will cause the state of a hardware jumper or -# dipswitch to be read by software to determine whether the flash is -# write-protected or not. -# -cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Instantiate in I/O block device API -# Provides a block device accessible using the standard I/O -# API ( cyg_io_read() etc. ) -# -cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE { - # This option is not active - # ActiveIf constraint: CYGPKG_IO - # CYGPKG_IO (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Name of flash device 1 block device -# -cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 { - # This option is not active - # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active - # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/flash1\"" - # value_source default - # Default value: "\"/dev/flash1\"" -}; - -# > -# -cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_1 { - # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1, inactive, enabled - # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1, inactive, disabled - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1 - # CYGINT_IO_FLASH_BLOCK_CFG_1 == 0 - # --> 0 - - # The following properties are affected by this value - # interface CYGINT_IO_FLASH_BLOCK_CFG_1 - # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1 -}; - -# Static configuration -# This configures the flash device 1 block device -# with static base and length -# -cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 { - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Start offset from flash base -# This gives the offset from the base of flash which this -# block device corresponds to. -# -cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# Length -# This gives the length of the region of flash given over -# to this block device. -# -cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# Configuration from FIS -# This configures the flash device 1 block device -# from Redboot FIS -# -cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 { - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Name of FIS entry -# -cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"jffs2\"" - # value_source default - # Default value: "\"jffs2\"" -}; - -# < -# < -# < -# Flash 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_FLASH_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the flash device drivers. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_FLASH_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 flash device drivers. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Flash device driver tests -# This option specifies the set of tests for the flash device drivers. -# -cdl_component CYGPKG_IO_FLASH_TESTS { - # Calculated value: "tests/flash1" - # Flavor: data - # Current_value: tests/flash1 -}; - -# > -# Start offset from flash base -# This gives the offset from the base of flash where tests -# can be run. It is important to set this correctly, as an -# incorrect value could allow the tests to write over critical -# portions of the FLASH device and possibly render the target -# board totally non-functional. -# -cdl_option CYGNUM_IO_FLASH_TEST_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# Length -# This gives the length of the region of flash used for testing. -# -cdl_option CYGNUM_IO_FLASH_TEST_LENGTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# < -# Support FLASH memory on Freescale MXC platforms -# -cdl_package CYGPKG_DEVS_FLASH_ONMXC { - # 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_FLASH - # CYGPKG_IO_FLASH == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# MXC platform MMC card support -# When this option is enabled, it indicates MMC card is -# supported on the MXC platforms -# -cdl_component CYGHWR_DEVS_FLASH_MMC { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) -}; - -# > -# MXC platform MMC card for newer SDHC controllers -# -cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC { - # This option is not active - # The parent CYGHWR_DEVS_FLASH_MMC is disabled - # ActiveIf constraint: CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - # CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX37 (unknown) == 0 - # CYGPKG_HAL_ARM_MX35 (unknown) == 0 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX51 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 -}; - -# MXC platform MMC card for older MMC/SD controllers -# -cdl_option CYGHWR_DEVS_FLASH_MMC_SD { - # This option is not active - # The parent CYGHWR_DEVS_FLASH_MMC is disabled - # ActiveIf constraint: CYGPKG_HAL_ARM_MX31_3STACK || CYGPKG_HAL_ARM_MX31ADS - # CYGPKG_HAL_ARM_MX31_3STACK (unknown) == 0 - # CYGPKG_HAL_ARM_MX31ADS (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: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 -}; - -# < -# MXC platform NOR flash memory support -# When this option is enabled, it indicates NOR flash is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_NOR { - # 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 0 - # value_source inferred - # Default value: 0 - - # The following properties are affected by this value - # option CYGHWR_DEVS_FLASH_IMX_SPI_NOR - # Requires: CYGHWR_DEVS_FLASH_MXC_NOR == 1 - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) -}; - -# MXC platform NAND flash memory support -# When this option is enabled, it indicates NAND flash is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_NAND { - # 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 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH - # ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND - # ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND -}; - -# i.MX platform SPI NOR flash memory support -# When this option is enabled, it indicates SPI NOR flash is -# supported on the i.MX platforms -# -cdl_option CYGHWR_DEVS_FLASH_IMX_SPI_NOR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGHWR_DEVS_FLASH_MXC_NOR == 1 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # --> 0 -}; - -# MXC platform ATA support -# When this option is enabled, it indicates ATA is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_ATA { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Use a flash based Bad Block Table -# -cdl_component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH { - # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# When this option is enabled, the driver will search for a flash -# based bad block table -# -cdl_option CYGHWR_DEVS_FLASH_MXC_BBT_IN_FLASH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# header file defining the NAND BBT descriptor -# defines the name of the header file that describes the BBT layout -# -cdl_component CYGHWR_FLASH_NAND_BBT_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 -}; - -# Number of blocks to reserve for BBT -# Number of blocks to reserve for BBT -# -cdl_option CYGNUM_FLASH_NAND_BBT_BLOCKS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 -}; - -# < -# MXC platform multi flash memory support -# When this option is enabled, it indicates multi flashes are -# supported on the MXC platforms (like NAND and NOR) -# -cdl_option CYGHWR_DEVS_FLASH_MXC_MULTI { - # This option is not active - # ActiveIf constraint: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # CYGHWR_DEVS_FLASH_MMC == 0 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # CYGHWR_DEVS_FLASH_MMC == 0 - # --> 0 - - # 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 -}; - -# MXC platform NAND flash reset workaround support -# When this option is enabled, it indicates 0xFFFF is used for -# the NAND reset command instead of 0xFF. -# -cdl_interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND { - # No options implement this inferface - # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# < -# < -# Dynamic memory allocation -# doc: ref/memalloc.html -# 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 - - # The following properties are affected by this value - # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC - # Requires: CYGPKG_MEMALLOC -}; - -# > -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 0 - # value_source default - # Default value: 0 != CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 - # Requires: CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 -}; - -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (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_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# 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 memmove() and memset() -# This may be used to control whether memset() and memmove() -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGFUN_KERNEL_API_C - # CYGFUN_KERNEL_API_C (unknown) == 0 - # --> 0 -}; - -# 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 -}; - -# Use external implementation of joining multiple heaps -# The default implementation of joining multiple heaps -# is fine for the case where there are multiple disjoint -# memory regions of the same type. However, in a system -# there might be e.g. a small amount of internal SRAM and -# a large amount of external DRAM. The SRAM is faster and -# the DRAM is slower. An application can implement some -# heuristic to choose which pool to allocate from. This -# heuristic can be highly application specific. -# -cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_JOIN_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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# 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 -}; - -# > -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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: "" -}; - -# < -# < -# I2C driver for FSL MXC-based platforms -# -cdl_package CYGPKG_DEVS_MXC_I2C { - # 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 -}; - -# ipu driver for mxc -# -cdl_package CYGPKG_DEVS_IMX_IPU { - # 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 CYGHWR_MX53_LCD_LOGO - # ActiveIf: CYGPKG_DEVS_IMX_IPU -}; - -# > -# IPU version 3EX support -# When this option is enabled, it indicates the IPU version -# is 3EX -# -cdl_option CYGHWR_DEVS_IPU_3_EX { - # 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 -}; - -# IPU version 3D support -# When this option is enabled, it indicates the IPU version -# is 3D -# -cdl_option CYGHWR_DEVS_IPU_3_D { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < - diff --git a/config/TX53-8020.ecc b/config/TX53-8020.ecc deleted file mode 100644 index caa80f5c..00000000 --- a/config/TX53-8020.ecc +++ /dev/null @@ -1,10426 +0,0 @@ -# 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 tx53karo ; - template redboot ; - package -hardware CYGPKG_HAL_ARM current ; - package -hardware CYGPKG_HAL_ARM_MX53 current ; - package -hardware CYGPKG_HAL_ARM_TX53KARO current ; - package -template CYGPKG_HAL current ; - package -template CYGPKG_INFRA current ; - package -template CYGPKG_REDBOOT current ; - package -template CYGPKG_ISOINFRA current ; - package -template CYGPKG_LIBC_STRING current ; - package -template CYGPKG_CRC current ; - package -hardware CYGPKG_IO_ETH_DRIVERS current ; - package -hardware CYGPKG_DEVS_ETH_ARM_TX53 current ; - package -hardware CYGPKG_DEVS_ETH_FEC current ; - package -hardware CYGPKG_COMPRESS_ZLIB current ; - package -hardware CYGPKG_IO_FLASH current ; - package -hardware CYGPKG_DEVS_FLASH_ONMXC current ; - package -template CYGPKG_MEMALLOC current ; - package -template CYGPKG_DEVS_ETH_PHY current ; - package -template CYGPKG_LIBC_I18N current ; - package -template CYGPKG_LIBC_STDLIB current ; - package -template CYGPKG_ERROR current ; - package -hardware CYGPKG_DEVS_MXC_I2C current ; - package -hardware CYGPKG_DEVS_IMX_IPU 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 - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu -}; - -# 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 - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 - # --> 1 - - # 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 "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" - # value_source default - # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" -}; - -# 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 -}; - -# < -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# 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 - # component CYGPKG_REDBOOT_NETWORKING - # ActiveIf: CYGPKG_IO_ETH_DRIVERS - # package CYGPKG_DEVS_ETH_ARM_TX53 - # ActiveIf: CYGPKG_IO_ETH_DRIVERS - # package CYGPKG_DEVS_ETH_FEC - # 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_FEC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE - # ActiveIf: CYGHWR_NET_DRIVERS > 1 - # option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE - # ActiveIf: CYGHWR_NET_DRIVERS > 1 -}; - -# Driver supports multicast addressing -# This interface defines whether or not a driver can handle -# requests for multicast addressing. -# -cdl_interface CYGINT_IO_ETH_MULTICAST { - # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_NET - # CYGPKG_NET (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: 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 { - # This option is not active - # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active - - # 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 { - # This option is not active - # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active - - # 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 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 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 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 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 { - # ActiveIf constraint: !CYGPKG_NET - # CYGPKG_NET (unknown) == 0 - # --> 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_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 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_REDBOOT_NETWORKING - # CYGPKG_REDBOOT_NETWORKING == 1 - # --> 1 -}; - -# 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 { - # 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 { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # 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 (unknown) == 0 - # --> 1 -}; - -# 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, inactive, enabled - # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # 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" -}; - -# < -# Ethernet driver for Ka-Ro electronics TX53 processor module -# -cdl_package CYGPKG_DEVS_ETH_ARM_TX53 { - # 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 -}; - -# > -# FEC ethernet driver required -# -cdl_interface CYGINT_DEVS_ETH_FEC_REQUIRED { - # Implemented by CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # package CYGPKG_DEVS_ETH_FEC - # ActiveIf: CYGINT_DEVS_ETH_FEC_REQUIRED -}; - -# Ka-Ro TX53 ethernet port driver -# This option includes the ethernet device driver for the -# MXC Board port. -# -cdl_component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1 - # --> 1 - # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700 - # CYGHWR_DEVS_ETH_PHY_LAN8700 == 1 - # --> 1 -}; - -# > -# Device name for the ETH0 ethernet driver -# This option sets the name of the ethernet device. -# -cdl_option CYGDAT_DEVS_ETH_ARM_MXCBOARD_ETH0_NAME { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"eth0\"" - # value_source default - # Default value: "\"eth0\"" -}; - -# OUI part of MAC address -# This option sets OUI part (manufacturer ID) of the MAC address -# for validation. -# -cdl_option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI { - # ActiveIf constraint: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{ 0x00, 0x0c, 0xc6 }" - # value_source default - # Default value: "{ 0x00, 0x0c, 0xc6 }" -}; - -# < -# < -# Driver for fast ethernet controller. -# Driver for fast ethernet controller. -# -cdl_package CYGPKG_DEVS_ETH_FEC { - # 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: CYGINT_DEVS_ETH_FEC_REQUIRED - # CYGINT_DEVS_ETH_FEC_REQUIRED == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# MXC FEC ethernet driver build options -# -cdl_component CYGPKG_DEVS_ETH_FEC_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the Cirrus Logic ethernet driver package. -# These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_DEVS_ETH_FEC_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" -}; - -# < -# MXC FEC MII Gasket for RMII mode -# This option enables the use of the MII Gasket for -# RMII mode found in i.MX25 and i.MX53 processors. -# -cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK { - # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Ethernet transceiver (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 -}; - -# > -# Enable driver debugging -# Enables the diagnostic debug messages on the -# console device. -# -cdl_option CYGDBG_DEVS_ETH_PHY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 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 -}; - -# 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 -}; - -# Intel LXT972 -# Include support for Intel LXT972xxx PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_INLXT972 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1890 -# Include support for ICS 1890 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1890 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1892 -# Include support for ICS 1892 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1892 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1893 -# Include support for ICS 1893 and 1893AF PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1893 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Davicom DM9161A -# Include support for the Davicom DM9161A PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_DM9161A { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Micrel KS8721 -# Include support for the Micrel KS8721 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_KS8721 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# SMSC LAN8700 -# Include support for SMSC LAN8700 NetPHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_LAN8700 { - # 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 - # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 - # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700 -}; - -# < -# < -# 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 -}; - -# > -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA != 0 - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 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 (unknown) == 0 - # --> 0 -}; - -# 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 - user_value 0 - # value_source user - # 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 - user_value 1 - # value_source user - # 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 0 - # value_source default - # Default value: 0 != CYGPKG_LIBM - # CYGPKG_LIBM (unknown) == 0 - # --> 0 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM (unknown) == 0 - # --> 0 -}; - -# 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 - user_value 0 - # value_source user - # Default value: 1 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# < -# 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 0 - # value_source default - # Default value: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# 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 0 - # value_source default - # Default value: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0 - # --> 0 - # Requires: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0 - # --> 0 -}; - -# 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 (unknown) == 0 - # --> 0 -}; - -# 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 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # 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 { - # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0 - # --> 1 - # ActiveIf constraint: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG - # CYGPKG_HAL_ARM == current - # 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 0 - # 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 == ROMRAM - # --> 0 - - # 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 disabled - - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 1 - - # The following properties are affected by this value - # package CYGPKG_REDBOOT - # Requires: CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 -}; - -# 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 32768 - # value_source default - # Default value: CYGPKG_KERNEL ? 4096 : 32768 - # CYGPKG_KERNEL (unknown) == 0 - # --> 32768 - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 - # component CYGBLD_BUILD_REDBOOT - # 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 -}; - -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # value_source default - # Default value: COPYBACK - # Legal values: "COPYBACK" "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_ARM_TX53KARO, 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 - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 0 - # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0 - # --> 1 - # Requires: !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS - # CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1 - # --> 1 - - # 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 CYGHWR_HAL_ARM_DUMP_EXCEPTIONS - # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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_ARM_TX53KARO, 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 CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - # 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 - - # The following properties are affected by this value - # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # component CYGBLD_BUILD_REDBOOT - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT -}; - -# 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 == 1 - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 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 CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # option CYGBLD_BUILD_REDBOOT_WITH_THREADS - # 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_ARM_TX53KARO, 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 { - # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE - # ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT -}; - -# 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 - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1 - # --> 0 - - # 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 == 1 - # Flavor: bool - # Current value: 1 - - # 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 == 0 - # CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0 - # Flavor: bool - # Current value: 1 - - # 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 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR - # CYG_HAL_STARTUP == ROMRAM - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # 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 == 1 - # --> 1 - - # 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 { - # This option is not active - # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1 - # --> 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_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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 1 - # value_source default - # Default value: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1 - # --> 1 -}; - -# 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 1 - # 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 == 1 - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 1 - - # 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 -}; - -# < -# 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 TX53 module, 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 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # CYG_HAL_STARTUP == ROMRAM - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) - # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # option CYGPRI_REDBOOT_ROM_MONITOR - # Requires: CYGSEM_HAL_ROM_MONITOR -}; - -# Work with a ROM monitor -# Support can be enabled for different varieties of ROM monitor. -# This support changes various eCos semantics such as the encoding -# of diagnostic output, or the overriding of hardware interrupt -# vectors. -# Firstly there is "Generic" support which prevents the HAL -# from overriding the hardware vectors that it does not use, to -# instead allow an installed ROM monitor to handle them. This is -# the most basic support which is likely to be common to most -# implementations of ROM monitor. -# "GDB_stubs" provides support when GDB stubs are included in -# the ROM monitor or boot ROM. -# -cdl_option CYGSEM_HAL_USE_ROM_MONITOR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 - # CYG_HAL_STARTUP == ROMRAM - # --> 0 0 - # Legal values: "Generic" "GDB_stubs" - # Requires: CYG_HAL_STARTUP == "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 0 - - # The following properties are affected by this value - # 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 -}; - -# < -# 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 - - # The following properties are affected by this value - # component CYGSEM_REDBOOT_DISK_IDE - # ActiveIf: CYGINT_HAL_PLF_IF_IDE != 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 == 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 (unknown) == 0 - # Flavor: data - # Current_value: tests/context tests/basic tests/cache tests/intr -}; - -# > -# 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" : "") -}; - -# < -# ARM architecture -# The ARM 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_ARM { - # 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 CYGDBG_HAL_DIAG_TO_DEBUG_CHAN - # ActiveIf: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG - # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED - # ActiveIf: CYGPKG_HAL_ARM -}; - -# > -# The CPU architecture supports THUMB mode -# -cdl_interface CYGINT_HAL_ARM_THUMB_ARCH { - # 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 CYGHWR_THUMB - # ActiveIf: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # ActiveIf: CYGINT_HAL_ARM_THUMB_ARCH != 0 -}; - -# Enable Thumb instruction set -# Enable use of the Thumb instruction set. -# -cdl_option CYGHWR_THUMB { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # CYGINT_HAL_ARM_THUMB_ARCH == 0 - # --> 0 - - # 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 CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) -}; - -# Enable Thumb interworking compiler option -# This option controls the use of -mthumb-interwork in the -# compiler flags. It defaults enabled in Thumb or ROM monitor -# configurations, but can be overridden for reduced memory -# footprint where interworking is not a requirement. -# -cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # CYGINT_HAL_ARM_THUMB_ARCH == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) - # CYGHWR_THUMB == 0 - # CYGSEM_HAL_ROM_MONITOR == 1 - # --> 1 -}; - -# The platform and architecture supports Big Endian operation -# -cdl_interface CYGINT_HAL_ARM_BIGENDIAN { - # 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 CYGHWR_HAL_ARM_BIGENDIAN - # ActiveIf: CYGINT_HAL_ARM_BIGENDIAN != 0 -}; - -# Use big-endian mode -# Use the CPU in big-endian mode. -# -cdl_option CYGHWR_HAL_ARM_BIGENDIAN { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_BIGENDIAN != 0 - # CYGINT_HAL_ARM_BIGENDIAN == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# The platform uses a processor with an ARM7 core -# -cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with an ARM9 core -# -cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 { - # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with a StrongARM core -# -cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with a XScale core -# -cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# ARM CPU family -# It is possible to optimize code for different -# ARM CPU families. This option selects which CPU to -# optimize for on boards that support multiple CPU types. -# -cdl_option CYGHWR_HAL_ARM_CPU_FAMILY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value ARM9 - # value_source default - # Default value: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" - # CYGINT_HAL_ARM_ARCH_ARM7 == 0 - # CYGINT_HAL_ARM_ARCH_ARM9 == 1 - # CYGINT_HAL_ARM_ARCH_STRONGARM == 0 - # CYGINT_HAL_ARM_ARCH_XSCALE == 0 - # --> ARM9 - # Legal values: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # CYGINT_HAL_ARM_ARCH_ARM7 == 0 - # CYGINT_HAL_ARM_ARCH_ARM9 == 1 - # CYGINT_HAL_ARM_ARCH_STRONGARM == 0 - # CYGINT_HAL_ARM_ARCH_XSCALE == 0 -}; - -# Provide diagnostic dump for exceptions -# Print messages about hardware exceptions, including -# raw exception frame dump and register contents. -# -cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS { - # 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 - # --> 1 -}; - -# Process all exceptions with the eCos application -# Normal RAM-based programs which do not include GDB stubs -# defer processing of the illegal instruction exception to GDB. -# Setting this options allows the program to explicitly handle -# the illegal instruction exception itself. Note: this will -# prevent the use of GDB to debug the application as breakpoints -# will no longer work. -# -cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support GDB thread operations via ICE/Multi-ICE -# Allow GDB to get thread information via the ICE/Multi-ICE -# connection. -# -cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT { - # 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 - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 - # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0 - # --> 0 -}; - -# Support for 'gprof' callbacks -# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot -# to acquire the interrupt-context PC and SP, when this option is -# active. -# -cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS - # CYGSEM_REDBOOT_BSP_SYSCALLS == 0 - # --> 0 - # ActiveIf constraint: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Accept exceptions and irq's occurring in user mode -# For standalone Redboot based programs running in user mode. -# -cdl_option CYGOPT_HAL_ARM_WITH_USER_MODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Preserve svc spsr before returning to svc mode -# This option secures exception and breakpoint processing -# triggered during execution of application specific SWI -# handlers. -# -cdl_option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Linker script -# -cdl_option CYGBLD_LINKER_SCRIPT { - # Calculated value: "src/arm.ld" - # Flavor: data - # Current_value: src/arm.ld -}; - -# Implementations of hal_arm_mem_real_region_top() -# -cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Freescale SoC architecture -# This HAL variant package provides generic -# support for the Freescale SoC. It is also -# necessary to select a specific target platform HAL -# package. -# -cdl_package CYGPKG_HAL_ARM_MX53 { - # 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 CYGOPT_HAL_ARM_MXC_FEC_MIIGSK - # ActiveIf: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # option CYGHWR_DEVS_FLASH_MMC_ESDHC - # ActiveIf: CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - # CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 || CYGPKG_HAL_ARM_MX53 -}; - -# > -# Processor clock rate -# The processor can run at various frequencies. -# These values are expressed in KHz. Note that there are -# several steppings of the rate to run at different -# maximum frequencies. Check the specs to make sure that your -# particular processor can run at the rate you select here. -# -cdl_option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK { - # This option is not active - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" - # CYG_HAL_STARTUP == ROMRAM - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 150000 - # value_source default - # Default value: CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT ? - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT : 150000 - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0 - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0 - # --> 150000 - # Legal values: 150000 200000 -}; - -# Real-time clock constants -# -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 -# This option selects the heartbeat rate for the real-time clock. -# The rate is specified in ticks per second. Change this value -# with caution - too high and your system will become saturated -# just handling clock interrupts, too low and some operations -# such as thread scheduling may become sluggish. -# -cdl_option CYGNUM_HAL_RTC_DENOMINATOR { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 - - # The following properties are affected by this value - # option CYGNUM_HAL_RTC_PERIOD - # Calculated: (3686400/CYGNUM_HAL_RTC_DENOMINATOR) -}; - -# Real-time clock period -# -cdl_option CYGNUM_HAL_RTC_PERIOD { - # Calculated value: (3686400/CYGNUM_HAL_RTC_DENOMINATOR) - # CYGNUM_HAL_RTC_DENOMINATOR == 100 - # Flavor: data - # Current_value: 36864 -}; - -# < -# UART1 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART1 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART2 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART2 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART3 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART3 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART4 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART4 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART5 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART5 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Ka-Ro TX53 module -# This HAL platform package provides generic -# support for the Ka-Ro electronics TX53 module. -# -cdl_package CYGPKG_HAL_ARM_TX53KARO { - # 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: CYGINT_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 - # Requires: CYGBLD_BUILD_REDBOOT == 1 - # CYGBLD_BUILD_REDBOOT == 1 - # --> 1 -}; - -# > -# Startup type -# The only startup type allowed is ROMRAM, since this will allow -# the program to exist in ROM, but be copied to RAM during startup -# which is required to boot from NAND flash. -# -cdl_component CYG_HAL_STARTUP { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value ROMRAM - # value_source default - # Default value: ROMRAM - # Legal values: "ROMRAM" "RAM" - - # The following properties are affected by this value - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGSEM_HAL_USE_ROM_MONITOR - # DefaultValue: CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 - # option CYGSEM_HAL_USE_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "RAM" - # option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK - # ActiveIf: CYG_HAL_STARTUP == "ROM" - # 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 - # option CYGBLD_BUILD_REDBOOT_WITH_THREADS - # ActiveIf: CYG_HAL_STARTUP != "RAM" - # option CYGPRI_REDBOOT_ROM_MONITOR - # ActiveIf: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGPRI_REDBOOT_ROM_MONITOR - # ActiveIf: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" -}; - -# Diagnostic serial port baud rate -# This option selects the baud rate used for the console port. -# Note: this should match the value chosen for the GDB port if the -# console and GDB port are the same. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 115200 - # value_source default - # Default value: 115200 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# GDB serial port baud rate -# This option selects the baud rate used for the GDB port. -# Note: this should match the value chosen for the console port if the -# console and GDB port are the same. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 115200 - # value_source default - # Default value: 115200 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# Number of communication channels on the TX53 -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS { - # Calculated value: 5 - # Flavor: data - # Current_value: 5 - - # 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_DEFAULT - # 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 -}; - -# Debug serial port -# The TX53 provides access to five serial ports. This option -# chooses which port will be used to connect to a host -# running GDB. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL { - # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE - # CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 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_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 -}; - -# Default console channel. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT { - # Calculated value: 0 - # Flavor: data - # Current_value: 0 - # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 - - # The following properties are affected by this value - # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL - # DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT -}; - -# Console serial port -# The TX53 provides access to three serial ports. This option -# chooses which port will be used for console output. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL { - # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE - # CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT - # CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT == 0 - # --> 0 - # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 -}; - -# Ka-Ro electronics TX53 module 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_ARM_TX53_OPTIONS { - # There is no associated value. - # Requires: CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 -}; - -# > -# SDRAM DDR type -# This option specifies the SDRAM type of the TX53 module. -# Valid options are '2' for DDR2 and '3' for DDR3. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_TYPE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 2 - # value_source default - # Default value: 2 - # Legal values: 2 3 - - # The following properties are affected by this value - # component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 -}; - -# SDRAM size -# This option specifies the SDRAM size of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x20000000 - # value_source default - # Default value: 0x20000000 - # Legal values: 0x40000000 0x20000000 -}; - -# CPU clock -# This option specifies the CPU clock in MHz of the TX51 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_CPU_CLK { - # Flavor: data - user_value 800 - # value_source user - # Default value: 1000 - # Legal values: 800 1000 -}; - -# Enable low level debugging with LED -# This option enables low level debugging by blink codes -# of the LED on STK5. -# -cdl_option CYGOPT_HAL_ARM_TX53_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: false - # false (unknown) == 0 - # --> 0 -}; - -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the TX53 HAL. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_HAL_ARM_TX53_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 TX53 HAL. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_HAL_ARM_TX53_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Show a splash screen from the FIS partition: 'logo' -# When this option is enabled, RedBoot will look for a flash partition -# named 'logo' and display the contents of this partition as initial -# screen on the LCD -# -cdl_option CYGHWR_MX53_LCD_LOGO { - # ActiveIf constraint: CYGPKG_DEVS_IMX_IPU - # CYGPKG_DEVS_IMX_IPU == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Options for DDR2 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS { - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # --> 1 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR2_CLK { - # Flavor: data - user_value 333 - # value_source user - # Default value: 400 - # Legal values: 216 266 333 400 -}; - -# < -# Options for DDR3 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS { - # This option is not active - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # --> 0 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR3_CLK { - # This option is not active - # The parent CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 333 - # value_source default - # Default value: 333 - # Legal values: 333 -}; - -# < -# Memory layout -# -cdl_component CYGHWR_MEMORY_LAYOUT { - # Calculated value: "arm_tx53_romram" - # Flavor: data - # Current_value: arm_tx53_romram -}; - -# > -# Memory layout linker script fragment -# -cdl_option CYGHWR_MEMORY_LAYOUT_LDI { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# Memory layout header file -# -cdl_option CYGHWR_MEMORY_LAYOUT_H { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# < -# < -# < -# < -# < -# 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # 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_INFRA_EMPTY_DELETE_THRESHOLD - # ActiveIf: CYGPKG_INFRA_DEBUG -}; - -# > -# 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 == 0 - # --> 0 - - # The following properties are affected by this value - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS is not active - - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS is not active - - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS 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 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS 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 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 == 0 - # --> 0 - - # 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 -}; - -# > -# 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 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 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, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Fancy output -# An output module which produces fancy output -# from tracing and assertion events. -# -cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 -}; - -# Threshold for valid number of delete calls -# Some users don't know about the empty delete function and then -# wonder why their C++ classes are leaking memory. If -# INFRA_DEBUG is enabled we keep a counter for the number of -# times delete is called. If it goes above this threshold we throw -# an assertion failure. This should point heavy users of -# delete in the right direction without upsetting those who want -# an empty delete function. -# -cdl_option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD { - # This option is not active - # ActiveIf constraint: CYGPKG_INFRA_DEBUG - # CYGPKG_INFRA_DEBUG == 0 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 -}; - -# 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 1 - # value_source default - # Default value: CYGINT_ISO_EXIT == 0 - # CYGINT_ISO_EXIT == 0 - # --> 1 - # Requires: !CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 0 - # --> 1 -}; - -# 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 - user_value 1 - # value_source user - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_GLOBAL_CFLAGS - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS -}; - -# 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 - user_value 1 - # value_source user - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # --> 1 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 tests/diag_sprintf1 tests/diag_sprintf2" - # Flavor: data - # Current_value: tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2 -}; - -# > -# 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 -}; - -# < -# < -# < -# Redboot ROM monitor -# doc: ref/redboot.html -# This package supports the Redboot [stand-alone debug monitor] -# using eCos as the underlying board support mechanism. -# -cdl_package CYGPKG_REDBOOT { - # 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: CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 - # CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_REDBOOT_ARM_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # component CYGPKG_REDBOOT_HAL_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # option CYGSEM_IO_ETH_DRIVERS_WARN - # ActiveIf: CYGPKG_REDBOOT -}; - -# > -# Include support for ELF file format -# -cdl_component CYGSEM_REDBOOT_ELF { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Use the virtual address in the ELF headers -# The ELF headers contain both a virtual and a physical address -# for where code/data should be loaded. By default the physical -# address is used but sometimes it is necassary to use the -# virtual address because of bugy toolchains -# -cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Methods of loading images using redboot -# -cdl_interface CYGINT_REDBOOT_LOAD_METHOD { - # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled - # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGINT_REDBOOT_LOAD_METHOD -}; - -# Build Redboot ROM ELF image -# This option enables the building of the Redboot ELF image. -# The image may require further relocation or symbol -# stripping before being converted to a binary image. -# This is handled by a rule in the target CDL. -# -cdl_component CYGBLD_BUILD_REDBOOT { - # 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 - # Requires: CYGPKG_INFRA - # CYGPKG_INFRA == current - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0 - # --> 1 - # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_REDBOOT_LOAD_METHOD - # CYGINT_REDBOOT_LOAD_METHOD == 2 - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_HAL_ARM_TX53KARO - # Requires: CYGBLD_BUILD_REDBOOT == 1 - # option CYGBLD_BUILD_REDBOOT_BIN - # ActiveIf: CYGBLD_BUILD_REDBOOT -}; - -# > -# Include GDB support in RedBoot -# RedBoot normally includes support for the GDB debugging -# protocols. This option allows this to be disabled which -# may yield a substantial savings in terms of code and memory -# usage by RedBoot. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB { - # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS - # CYGINT_HAL_DEBUG_GDB_STUBS == 1 - # --> 1 - - # Flavor: bool - user_value 0 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source user - # Default value: 1 - # 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 -}; - -# Threads debugging support -# Enabling this option will include special code in the -# GDB stubs to support debugging of threaded programs. In -# the case of eCos programs, this support allows GDB to -# have complete access to the eCos threads in the -# program. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS { - # ActiveIf constraint: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # 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_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 -}; - -# Customized version string -# Use this option to define a customized version "string" for -# RedBoot. Note: this value is only cosmetic, displayed by the -# "version" command, but is useful for providing site specific -# information about the RedBoot configuration. -# -cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION { - # 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 "Ka-Ro 2010-01-06" - # value_source inferred - # Default value: 0 0 -}; - -# Enable command line editing -# If this option is non-zero, RedBoot will remember the -# last N command lines. These lines may be reused. -# Enabling this history will also enable rudimentary -# editting of the lines themselves. -# -cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES - # ActiveIf: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - # option CYGBLD_REDBOOT_CMD_LINE_HISTORY - # Requires: CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 -}; - -# Enable command line editing using ANSI arrows, etc -# If this option is enabled, RedBoot will accept standard ANSI key -# sequences for cursor movement (along with the emacs style keys). -# -cdl_option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES { - # ActiveIf constraint: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - # CYGNUM_REDBOOT_CMD_LINE_EDITING == 16 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Enable history command and expansion -# Enabling this option will allow RedBoot to provide a -# history command to list previous commands. Also enables -# history expansion via '!' character similar to bash -# shell. -# -cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 - # CYGNUM_REDBOOT_CMD_LINE_EDITING == 16 - # --> 1 -}; - -# Number of unique RAM segments on platform -# Change this option to be the number of memory segments which are -# supported by the platform. If the value is greater than 1, then -# a platform specific function must provide information about the -# additional segments. -# -cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include support gzip/zlib decompression -# -cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB { - # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB - # CYGPKG_COMPRESS_ZLIB == 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 - # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS -}; - -# > -# Size of zlib decompression buffer -# This is the size of the buffer filled with incoming data -# during load before calls are made to the decompressor -# function. For ethernet downloads this can be made bigger -# (at the cost of memory), but for serial downloads on slow -# processors it may be necessary to reduce the size to -# avoid serial overruns. zlib appears to bail out if less -# than five bytes are available initially so this is the -# minimum. -# -cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 64 - # value_source default - # Default value: 64 - # Legal values: 5 to 256 -}; - -# Support compression of Flash images -# This CDL indicates whether flash images can -# be decompressed from gzip/zlib format into RAM. -# -cdl_option CYGPRI_REDBOOT_ZLIB_FLASH { - # ActiveIf constraint: CYGPKG_REDBOOT_FLASH - # CYGPKG_REDBOOT_FLASH == 1 - # --> 1 - # ActiveIf constraint: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGPRI_REDBOOT_ZLIB_FLASH_FORCE == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Include GZIP uncompress command -# Enable this option to include a 'gunzip' command -# to uncompress GZIP compressed data. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_GUNZIP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Turn on CYGPRI_REDBOOT_ZLIB_FLASH -# Force CYGPRI_REDBOOT_ZLIB_FLASH to be chosen -# -cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE { - # 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 - # option CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE -}; - -# < -# Include support for xyzModem downloads -# doc: ref/download-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM { - # 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_REDBOOT_CFLAGS_ADD - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM -}; - -# 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_REDBOOT_CFLAGS_ADD { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM - # CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wno-inline - # value_source default - # Default value: -Wno-inline -}; - -# Allow the load-command write into Flash. -# Write images direct to Flash via the load command. -# We assume anything which is invalid RAM is flash, hence -# the requires statement -# -cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH { - # ActiveIf constraint: CYGPKG_REDBOOT_FLASH - # CYGPKG_REDBOOT_FLASH == 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_REDBOOT_VALIDATE_USER_RAM_LOADS - # CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS == 1 - # --> 1 -}; - -# Include MS Windows CE support -# doc: ref/wince.html -# This option enables MS Windows CE EShell support -# and Windows CE .BIN images support -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 -}; - -# Include support for MXC USB downloads -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include support for i.MX USB OTG downloads -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include POSIX checksum command -# doc: ref/cksum-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory fill command -# doc: ref/mfill-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory compare command -# doc: ref/mcmp-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory copy command -# doc: ref/mcopy-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory dump command -# doc: ref/dump-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include cache command -# doc: ref/cache-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include exec command -# doc: ref/exec-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC { - # 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_REDBOOT_ARM_LINUX_EXEC - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC -}; - -# Include I/O Memory commands 'iopeek' and 'iopoke' -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Granularity of timer/ticks -# This option controls the granularity of the timers. -# Faster CPUs can afford higher granularity (lower values) -# which should give higher network performance since the stack -# is purely polled. -# -cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 250 - # value_source default - # Default value: 250 - # Legal values: 10 25 50 100 250 500 1000 -}; - -# Redboot Networking -# This option includes networking support in RedBoot. -# -cdl_component CYGPKG_REDBOOT_NETWORKING { - # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS - # CYGPKG_IO_ETH_DRIVERS == 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 CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS - # DefaultValue: 0 != CYGPKG_REDBOOT_NETWORKING -}; - -# > -# Print net debug information -# This option is overriden by the configuration stored -# in flash. -# -cdl_option CYGDBG_REDBOOT_NET_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support TFTP for download -# This option enables the use of the TFTP protocol for -# download -# -cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support HTTP for download -# This option enables the use of the HTTP protocol for -# download -# -cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# Default IP address -# This IP address is the default used by RedBoot if -# a BOOTP/DHCP server does not respond. The numbers -# should be separated by *commas*, and not dots. If -# an IP address is configured into the Flash -# configuration, that will be used in preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# > -# Do not try to use BOOTP -# By default Redboot tries to use BOOTP to get an IP -# address. If there's no BOOTP server on your network -# use this option to avoid to wait until the -# timeout. This option is overriden by the -# configuration stored in flash. -# -cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP { - # This option is not active - # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Default bootp server -# This IP address is the default server -# address used by RedBoot if a BOOTP/DHCP -# server does not respond. The numbers should -# be separated by *commas*, and not dots. If -# an IP address is configured into the Flash -# configuration, that will be used in -# preference. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR { - # This option is not active - # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# < -# Use DHCP to get IP information -# Use DHCP protocol to obtain pertinent IP addresses, such -# as the client, server, gateway, etc. -# -cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP { - # 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 CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY - # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP -}; - -# Use a gateway for non-local IP traffic -# Enabling this option will allow the RedBoot networking -# stack to use a [single] gateway to reach a non-local -# IP address. If disabled, RedBoot will only be able to -# reach nodes on the same subnet. -# -cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP - # CYGSEM_REDBOOT_NETWORKING_DHCP == 1 - # --> 1 -}; - -# > -# Default gateway IP address -# This IP address is the default used by RedBoot -# if a BOOTP/DHCP server does not respond. The -# numbers should be separated by *commas*, and -# not dots. If an IP address is configured into -# the Flash configuration, that will be used in -# preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# Default IP address mask -# This IP address mask is the default used by -# RedBoot if a BOOTP/DHCP server does not -# respond. The numbers should be separated by -# *commas*, and not dots. If an IP address is -# configured into the Flash configuration, that -# will be used in preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "255, 255, 255, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# < -# TCP port to listen for incoming connections -# RedBoot will 'listen' on this port for incoming TCP -# connections. This allows outside connections to be made -# to the platform, either for GDB or RedBoot commands. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 9000 - # value_source default - # Default value: 9000 -}; - -# Number of [network] packet buffers -# RedBoot may need to buffer network data to support -# various connections. This option allows control -# over the number of such buffered packets, and in -# turn, controls the amount of memory used by RedBoot -# (which is not available to user applications). -# Each packet buffer takes up about 1514 bytes. -# Note: there is little need to make this larger than -# the default. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 3 to 8 -}; - -# DNS support -# When this option is enabled, RedBoot will be built with -# support for DNS, allowing use of hostnames on the command -# line. -# -cdl_component CYGPKG_REDBOOT_NETWORKING_DNS { - # This option is not active - # ActiveIf constraint: CYGPKG_NS_DNS - # CYGPKG_NS_DNS (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_NS_DNS_BUILD - # CYGPKG_NS_DNS_BUILD (unknown) == 0 - # --> 1 -}; - -# > -# Default DNS IP -# This option sets the IP of the default DNS. The IP can be -# changed at runtime as well. -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0.0.0.0 - # value_source default - # Default value: 0.0.0.0 -}; - -# Timeout in DNS lookup -# This option sets the timeout used when looking up an -# address via the DNS. Default is 10 seconds. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# Support the use of a domain name -# This option controls if Redboot supports domain -# names when performing DNS lookups -# -cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Default DNS domain -# This option sets the default DNS domain name. -# This value will be overwritten by the value in -# flash or a domain returned by DHCP -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Get DNS domain from Flash -# This option enables getting the domain name -# from the flash configuration. This can later be -# overwritten by a value learnt from DHCP -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - # ActiveIf constraint: CYGSEM_REDBOOT_FLASH_CONFIG - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Use DNS domain from DHCP -# This option enables the use of the domain name -# returned by DHCP. -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# BOOTP/DHCP DNS domain buffer size -# This options sets the size of the static -# buffer used by BOOTP/DHCP to store the DNS -# domain name. The domain name will not be -# set if the buffer is too small to hold it. -# -cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 -}; - -# < -# < -# Default network device driver -# This is the name of the default network device to use. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE { - # This option is not active - # ActiveIf constraint: CYGHWR_NET_DRIVERS > 1 - # CYGHWR_NET_DRIVERS == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"\"" - # value_source default - # Default value: "\"\"" -}; - -# Initialize only one net device -# This option tells RedBoot to stop initializing network -# devices when it finds the first device which is -# successfully initialized. The default behavior causes -# all network devices to be initialized. -# -cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE { - # This option is not active - # ActiveIf constraint: CYGHWR_NET_DRIVERS > 1 - # CYGHWR_NET_DRIVERS == 1 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Let RedBoot use any I/O channel for its console. -# If this option is enabled then RedBoot will attempt to use all -# defined serial I/O channels for its console device. Once input -# arrives at one of these channels then the console will use only -# that port. -# -cdl_option CYGPKG_REDBOOT_ANY_CONSOLE { - # 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 -}; - -# Let RedBoot adjust the baud rate of the serial console. -# If this option is enabled then RedBoot will support commands -# to set and query the baud rate on the selected console. -# -cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE { - # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT - # CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Run a platform specific startup function. -# If this option is enabled then RedBoot will execute a platform -# specific startup function before entering into its command line -# processing. This allows the platform to perform any special -# setups before RedBoot actually starts running. Note: the entire -# RedBoot environment will already be initialized at this point. -# -cdl_option CYGSEM_REDBOOT_PLF_STARTUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Run a platform specific ESA validation function. -# If this option is enabled then RedBoot will execute a platform -# specific function to validate an ethernet ESA. This would be -# useful if the address must conform to standards set by the -# hardware manufacturer, etc. -# -cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE { - # 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 - # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 - # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI - # ActiveIf: CYGSEM_REDBOOT_PLF_ESA_VALIDATE -}; - -# Maximum command line length -# This option allows control over how long the CLI command line -# should be. This space will be allocated statically -# rather than from RedBoot's stack. -# -cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # The inferred value should not be edited directly. - inferred_value 1024 - # value_source inferred - # Default value: 256 -}; - -# Command processing idle timeout (ms) -# This option controls the timeout period before the -# command processing is considered 'idle'. Making this -# number smaller will cause idle processing to take place -# more often, etc. The default value of 10ms is a reasonable -# tradeoff between responsiveness and overhead. -# -cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# Validate RAM addresses during load -# This option controls whether or not RedBoot will make -# sure that memory being used by the "load" command is -# in fact in user RAM. Leaving the option enabled makes -# for a safer environment, but this check may not be valid -# on all platforms, thus the ability to disable it. -# ** Disable this only with great care ** -# -cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS { - # 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_REDBOOT_LOAD_INTO_FLASH - # Requires: CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS -}; - -# Allow RedBoot to support FLASH programming -# If this option is enabled then RedBoot will provide commands -# to manage images in FLASH memory. These images can be loaded -# into memory for execution or executed in place. -# -cdl_component CYGPKG_REDBOOT_FLASH { - # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE - # CYGHWR_IO_FLASH_DEVICE == 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 CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: CYGPKG_REDBOOT_FLASH - # option CYGBLD_REDBOOT_LOAD_INTO_FLASH - # ActiveIf: CYGPKG_REDBOOT_FLASH -}; - -# > -# Byte order used to store info in flash. -# This option controls the byte ordering used to store -# the FIS directory info and flash config info. -# -cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value NATURAL - # value_source default - # Default value: NATURAL - # Legal values: "NATURAL" "MSBFIRST" "LSBFIRST" -}; - -# RedBoot Flash Image System support -# doc: ref/flash-image-system.html -# This option enables the Flash Image System commands -# and support within RedBoot. If disabled, simple Flash -# access commands such as "fis write" will still exist. -# This option would be disabled for targets that need simple -# FLASH manipulation, but do not have the need or space for -# complete image management. -# -cdl_option CYGOPT_REDBOOT_FIS { - # 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_REDBOOT_FIS_CONTENTS - # ActiveIf: CYGOPT_REDBOOT_FIS - # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # ActiveIf: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS -}; - -# Max number of chunks of free space to manage -# If this option is defined then "fis free" will -# rely on the FIS directory to determine what space is -# free within the FLASH. This option controls the -# maximum number of free segment which can be handled -# (typically this number is small). If this option is -# not enabled, the the archaic behaviour of actually -# scanning the FLASH for erased sectors (unreliable) -# will be used to determine what's free and what's -# not. -# -cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 32 - # value_source default - # Default value: 1 32 -}; - -# Flash Image System default directory contents -# -cdl_component CYGPKG_REDBOOT_FIS_CONTENTS { - # ActiveIf constraint: CYGOPT_REDBOOT_FIS - # CYGOPT_REDBOOT_FIS == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Flash block containing the Directory -# Which block of flash should hold the directory -# information. Positive numbers are absolute block -# numbers. Negative block numbers count backwards -# from the last block. eg 2 means block 2, -2 -# means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK { - # Flavor: data - # 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_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK -}; - -# Redundant Flash Image System Directory Support -# This option enables the use of a redundant FIS -# directory within RedBoot. If enabled a flash block -# will be reserved for a second copy of the fis -# directory. Doing this allow for power failure safe -# updates of the directory by the application. -# -cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG == 1 - # --> 0 -}; - -# > -# Flash block containing the backup Directory -# Which block of flash should hold the redundant -# directory information. Positive numbers are -# absolute block numbers. Negative block numbers -# count backwards from the last block. eg 2 means -# block 2, -2 means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK { - # This option is not active - # The parent CYGOPT_REDBOOT_REDUNDANT_FIS is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -3 - # value_source default - # Default value: -3 - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK - # CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK == 0 - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK == -1 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK -}; - -# < -# Pseudo-file to describe reserved area -# If an area of FLASH is reserved, it is informative to -# have a fis entry describing it. This option controls -# creation of such an entry by default in the fis init -# command. -# -cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE { - # This option is not active - # ActiveIf constraint: 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# File to describe RedBoot boot image -# Normally a ROM-startup RedBoot image is first in the -# FLASH, and the system boots using that image. This -# option controls creation of an entry describing it in -# the fis init command. It might be disabled if a -# platform has an immutable boot image of its own, where -# we use a POST-startup RedBoot instead, which performs -# less board initialization. -# -cdl_option CYGOPT_REDBOOT_FIS_REDBOOT { - # 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 CYGOPT_REDBOOT_FIS_REDBOOT_POST - # DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT - # option CYGBLD_REDBOOT_MIN_IMAGE_SIZE - # DefaultValue: CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 -}; - -# File to describe RedBoot POST-compatible image -# This option controls creation of an entry describing a -# POST-startup RedBoot image in the fis init command. -# Not all platforms support POST-startup. A platform -# might have both for testing purposes, where the -# eventual user would substitute their own POST code for -# the initial ROM-startup RedBoot, and then jump to the -# POST-compatible RedBoot immediately following. -# -cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT - # CYGOPT_REDBOOT_FIS_REDBOOT == 1 - # --> 0 -}; - -# > -# Offset of POST image from FLASH start -# This option specifies the offset for a POST image from -# the start of FLASH. If unset, then the fis entry -# describing the POST image will be placed where -# convenient. -# -cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET { - # This option is not active - # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET -}; - -# < -# File to describe RedBoot backup image -# This option controls creation of an entry describing a -# backup RedBoot image in the fis init command. -# Conventionally a RAM-startup RedBoot image is kept -# under this name for use in updating the ROM-based -# RedBoot that boots the board. -# -cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include ARM SIB ID in FIS -# If set, this option will cause the last 5 words of -# the FIS to include the special ID needed for the -# flash to be recognized as a reserved area for RedBoot -# by an ARM BootRom monitor. -# -cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Size of FIS directory entry -# The FIS directory is limited to one single flash -# sector. If your flash has tiny sectors, you may wish -# to reduce this value in order to get more slots in -# the FIS directory. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: 256 -}; - -# Number of FIS directory entries -# The FIS directory normally occupies a single flash -# sector. Adjusting this value can allow for more than -# one flash sector to be used, which is useful if your -# sectors are very small. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 -}; - -# Maximum RedBoot image size -# This option controls the maximum length reserved -# for the RedBoot boot image in the FIS table. -# This should be a multiple of the flash's erase -# block size. -# -cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00020000 - # The inferred value should not be edited directly. - inferred_value 0x00040000 - # value_source inferred - # Default value: CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 - # CYGOPT_REDBOOT_FIS_REDBOOT == 1 - # --> 0x00020000 -}; - -# Offset from start of FLASH to RedBoot boot image -# This option controls where the RedBoot boot image is -# located relative to the start of FLASH. -# -cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # --> 0 - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # component CYGPKG_HAL_ARM_TX53_OPTIONS - # Requires: CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 -}; - -# Size of reserved area at start of FLASH -# This option reserves an area at the start of -# FLASH where RedBoot will never interfere; it is -# expected that this area contains -# (non-RedBoot-based) POST code or some other boot -# monitor that executes before RedBoot. -# -cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE { - # Flavor: data - # 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 CYGOPT_REDBOOT_FIS_RESERVED_BASE - # ActiveIf: 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET -}; - -# < -# Keep all RedBoot FLASH data blocks locked. -# When this option is enabled, RedBoot will keep configuration -# data and the FIS directory blocks implicitly locked. While -# this is somewhat safer, it does add overhead during updates. -# -cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL { - # This option is not active - # ActiveIf constraint: CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 - # CYGHWR_IO_FLASH_BLOCK_LOCKING == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Use CRC checksums on FIS images. -# When this option is enabled, RedBoot will use CRC checksums -# when reading and writing flash images. -# -cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK { - # 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 -}; - -# ARM FLASH drivers support SIB flash block structure -# This interface is implemented by a flash driver -# to indicate that it supports the ARM SIB flash -# block structure -# -cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED { - # No options implement this inferface - # ActiveIf constraint: CYGPKG_HAL_ARM - # CYGPKG_HAL_ARM == current - # --> 1 - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGHWR_REDBOOT_ARM_FLASH_SIB - # ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED -}; - -# Use ARM SIB flash block structure -# This option is used to interpret ARM Flash System -# information blocks. -# -cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB { - # This option is not active - # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED - # CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Keep RedBoot configuration data in FLASH -# When this option is enabled, RedBoot will keep configuration -# data in a separate block of FLASH memory. This data will -# include such items as the node IP address or startup scripts. -# -cdl_component CYGSEM_REDBOOT_FLASH_CONFIG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_IO_FLASH != 0 - # CYGPKG_IO_FLASH == current - # --> 1 - - # The following properties are affected by this value - # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "255, 255, 255, 0" - # option CYGPKG_REDBOOT_NETWORKING_DNS_IP - # ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG - # option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN - # ActiveIf: CYGSEM_REDBOOT_FLASH_CONFIG - # option CYGFUN_REDBOOT_BOOT_SCRIPT - # ActiveIf: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG -}; - -# > -# Length of configuration data in FLASH -# This option is used to control the amount of memory and FLASH -# to be used for configuration options (persistent storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4096 - # value_source default - # Default value: 4096 -}; - -# Style of media used for persistent data storage -# Persistent data storage can either be held in 'norma' FLASH -# or some other device (represented by the 'EEPROM' choice). -# The different styles utilize different access methods. -# -cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value FLASH - # value_source default - # Default value: FLASH - # Legal values: "FLASH" "EEPROM" - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # ActiveIf: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK - # DefaultValue: (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") -}; - -# Merged config data and FIS directory -# If this option is set, then the FIS directory and FLASH -# configuration database will be stored in the same physical -# FLASH block. -# -cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG { - # ActiveIf constraint: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # CYGOPT_REDBOOT_FIS == 1 - # CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH - # --> 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 CYGOPT_REDBOOT_REDUNDANT_FIS - # Requires: 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG -}; - -# Which block of flash to use -# Which block of flash should hold the configuration -# information. Positive numbers are absolute block numbers. -# Negative block numbers count backwards from the last block. -# eg 2 means block 2, -2 means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -2 - # value_source default - # Default value: -2 -}; - -# Support simple macros/aliases in FLASH -# This option is used to allow support for simple text-based -# macros (aliases). These aliases are kept in the FLASH -# configuration data (persistent storage). -# -cdl_option CYGSEM_REDBOOT_FLASH_ALIASES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Length of strings in FLASH configuration data -# This option is used to control the amount of memory -# and FLASH to be used for string configuration -# options (persistent storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 -}; - -# Length of configuration script(s) in FLASH -# This option is used to control the amount of memory and -# FLASH to be used for configuration options (persistent -# storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 512 - # The inferred value should not be edited directly. - inferred_value 2048 - # value_source inferred - # Default value: 512 -}; - -# Fallback to read-only FLASH configuration -# This option will cause the configuration information to -# revert to the readonly information stored in the FLASH. -# The option only takes effect after -# 1) the config_ok flag has been set to be true, -# indicating that at one time the copy in RAM was valid; -# and -# 2) the information in RAM has been verified to be invalid -# -cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH - # --> 1 -}; - -# < -# Allow RedBoot to support fileio -# If this option is enabled then RedBoot will provide commands -# to load files from fileio file systems such as JFFS2. -# -cdl_component CYGPKG_REDBOOT_FILEIO { - # This option is not active - # ActiveIf constraint: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO (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_REDBOOT_GETC_BUFFER - # DefaultValue: CYGPKG_REDBOOT_FILEIO ? 4096 : 256 -}; - -# > -# Include an ls command -# If this option is enabled a simple ls command will be -# included in redboot so the contents of a directory -# can be listed -# -cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS { - # This option is not active - # The parent CYGPKG_REDBOOT_FILEIO is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Allow RedBoot to support disks -# If this option is enabled then RedBoot will provide commands -# to load disk files. -# -cdl_component CYGPKG_REDBOOT_DISK { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# > -# Include Redboot commands for disk access -# -cdl_option CYGSEM_REDBOOT_DISK { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGINT_REDBOOT_DISK_DRIVERS != 0 - # CYGINT_REDBOOT_DISK_DRIVERS == 0 - # --> 0 -}; - -# Hardware drivers for disk-type devices -# -cdl_interface CYGINT_REDBOOT_DISK_DRIVERS { - # Implemented by CYGSEM_REDBOOT_DISK_IDE, inactive, enabled - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_DISK - # DefaultValue: CYGINT_REDBOOT_DISK_DRIVERS != 0 -}; - -# Maximum number of supported disks -# This option controls the number of disks supported by -# RedBoot. -# -cdl_option CYGNUM_REDBOOT_MAX_DISKS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 -}; - -# Maximum number of partitions per disk -# This option controls the maximum number of supported -# partitions per disk. -# -cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 -}; - -# Support IDE disks. -# When this option is enabled, RedBoot will support IDE disks. -# -cdl_component CYGSEM_REDBOOT_DISK_IDE { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - # ActiveIf constraint: CYGINT_HAL_PLF_IF_IDE != 0 - # CYGINT_HAL_PLF_IF_IDE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Work with VMware virtual disks -# This option controls the disk driver behavior at -# ide-init -# -cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE { - # This option is not active - # The parent CYGSEM_REDBOOT_DISK_IDE is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Support Linux second extended filesystems. -# When this option is enabled, RedBoot will support EXT2 -# filesystems. -# -cdl_component CYGSEM_REDBOOT_DISK_EXT2FS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support ISO9660 filesystems. -# When this option is enabled, RedBoot will support ISO9660 -# filesystems. -# -cdl_component CYGSEM_REDBOOT_DISK_ISO9660 { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Calculated value: 0 - # Flavor: bool - # Current value: 0 -}; - -# < -# Boot scripting -# doc: ref/persistent-state-flash.html -# This contains options related to RedBoot's boot script -# functionality. -# -cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT { - # There is no associated value. -}; - -# > -# Boot scripting enabled -# This option controls whether RedBoot boot script -# functionality is enabled. -# -cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT { - # ActiveIf constraint: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG - # CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0 - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Use default RedBoot boot script -# If enabled, this option will tell RedBoot to use the -# value of this option as a default boot script. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT { - # 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 0 0 - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGFUN_REDBOOT_BOOT_SCRIPT - # ActiveIf: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG -}; - -# Resolution (in ms) for script timeout value. -# This option controls the resolution of the script -# timeout. The value is specified in milliseconds -# (ms), thus to have the script timeout be defined in -# terms of tenths of seconds, use 100. -# -cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1000 - # The inferred value should not be edited directly. - inferred_value 10 - # value_source inferred - # Default value: 1000 -}; - -# Script default timeout value -# This option is used to set the default timeout for startup -# scripts, when they are enabled. -# -cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 10 -}; - -# < -# Support RTC for time & date functions -# When this option is enabled, RedBoot will support commands to -# query and set the real time clock (time and date) -# -cdl_option CYGSEM_REDBOOT_RTC { - # This option is not active - # ActiveIf constraint: CYGPKG_IO_WALLCLOCK - # CYGPKG_IO_WALLCLOCK (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Behave like a ROM monitor -# Enabling this option will allow RedBoot to provide ROM -# monitor-style services to programs which it executes. -# -cdl_option CYGPRI_REDBOOT_ROM_MONITOR { - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # CYG_HAL_STARTUP == ROMRAM - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_HAL_ROM_MONITOR - # CYGSEM_HAL_ROM_MONITOR == 1 - # --> 1 -}; - -# Allow RedBoot to handle GNUPro application 'syscalls'. -# If this option is enabled then RedBoot will install a -# syscall handler to support debugging of applications -# based on GNUPro newlib/bsp. -# -cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS { - # 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 CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS - # option CYGPKG_HAL_GDB_FILEIO - # ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS -}; - -# > -# Support additional syscalls for 'gprof' profiling -# Support additional syscalls to support a periodic callback -# function for histogram-style profiling, and an enquire/set -# of the tick rate. -# The application must use the GNUPro newlib facilities -# to set this up. -# -cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF { - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - # ActiveIf constraint: 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT - # CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Does the HAL support 'gprof' profiling? -# -cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT { - # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF - # ActiveIf: 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT -}; - -# Do not raise SIGTRAP when program exits -# For some (single shot) newlib based programs, -# exiting and returning a termination status may be -# the normal expected behavior. -# -cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP { - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Use a common buffer for Zlib and FIS -# Use a common memory buffer for both the zlib workspace -# and FIS directory operations. This can save a substantial -# amount of RAM, especially when flash sectors are large. -# -cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS - # CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 1 - # CYGOPT_REDBOOT_FIS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Size of Zlib/FIS common buffer -# Size of common buffer to allocate. Must be at least the -# size of one flash sector. -# -cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE { - # This option is not active - # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x0000C000 - # value_source default - # Default value: 0x0000C000 - # Legal values: 0x4000 to 0x80000000 -}; - -# < -# Buffer size in getc when loading images -# When loading images a buffer is used between redboot and the -# underlying storage medium, eg a filesystem, or a socket etc. -# The size of this buffer can have a big impart on load speed. -# -cdl_option CYGNUM_REDBOOT_GETC_BUFFER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: CYGPKG_REDBOOT_FILEIO ? 4096 : 256 - # CYGPKG_REDBOOT_FILEIO == 0 - # --> 256 -}; - -# < -# Redboot for ARM options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_ARM_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Provide the exec command in RedBoot -# This option contains requirements for booting linux -# from RedBoot. The component is enabled/disabled from -# RedBoots CDL. -# -cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC - # CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# Enable -x switch for exec command. -# This option allows bi-endian platforms to launch kernels -# built for an endianess different than the RedBoot endianess -# -cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Physical base address of linux kernel -# This is the physical address of the base of the -# Linux kernel image. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x70108000 - # value_source default - # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT - # CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # --> 0x70108000 -}; - -# Default physical base address of linux kernel -# This is the physical address of the base of the -# Linux kernel image. This option gets set by the -# platform CDL. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00008000 - # The inferred value should not be edited directly. - inferred_value 0x70108000 - # value_source inferred - # Default value: 0x00008000 - - # The following properties are affected by this value - # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS - # DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT - # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS - # Requires: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 -}; - -# Base address of linux kernel parameter tags -# This is the base address of the area of memory used to -# pass parameters to the Linux kernel. This should be chosen -# to avoid overlap with the kernel and any ramdisk image. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00000100 - # value_source default - # Default value: 0x00000100 -}; - -# < -# < -# Redboot HAL options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_HAL_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. -}; - -# > -# Build Redboot ROM binary image -# This option enables the conversion of the Redboot ELF -# image to a binary image suitable for ROM programming. -# -cdl_option CYGBLD_BUILD_REDBOOT_BIN { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT - # CYGBLD_BUILD_REDBOOT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Redboot HAL variant options -# -cdl_component CYGPKG_REDBOOT_HAL_TX53_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. - # Requires: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # --> 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 CYGBLD_BUILD_REDBOOT - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STRING - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_COMPRESS_ZLIB - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_IO_FLASH - # Requires: CYGPKG_ISOINFRA - # 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_I18N - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STDLIB - # 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP - # CYGINT_ISO_MAIN_STARTUP == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_ENVIRON - # CYGINT_ISO_ENVIRON == 0 - # --> 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_HAL_ARM_TX53KARO - # Requires: CYGINT_ISO_CTYPE - # option CYGFUN_LIBC_STRING_BSD_FUNCS - # Requires: CYGINT_ISO_CTYPE - # package CYGPKG_LIBC_STDLIB - # 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 -}; - -# 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 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES - # CYGINT_ISO_STDIO_FILETYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Stdio standard streams implementations -# -cdl_interface CYGINT_ISO_STDIO_STREAMS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS - # CYGINT_ISO_STDIO_STREAMS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file operations -# -cdl_interface CYGINT_ISO_STDIO_FILEOPS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS - # CYGINT_ISO_STDIO_FILEOPS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file access functionals -# -cdl_interface CYGINT_ISO_STDIO_FILEACCESS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEACCESS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio formatted I/O -# -cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FORMATTED_IO - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio character I/O -# -cdl_interface CYGINT_ISO_STDIO_CHAR_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO - # CYGINT_ISO_STDIO_CHAR_IO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio direct I/O -# -cdl_interface CYGINT_ISO_STDIO_DIRECT_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO - # CYGINT_ISO_STDIO_DIRECT_IO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file positioning -# -cdl_interface CYGINT_ISO_STDIO_FILEPOS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEPOS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio error handling -# -cdl_interface CYGINT_ISO_STDIO_ERROR { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_ERROR - # CYGINT_ISO_STDIO_ERROR == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX fd-related function implementations -# -cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS - # CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0 - # --> 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 -}; - -# 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, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT - # Requires: 1 >= 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, disabled - # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, enabled - # 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 - # option CYGFUN_LIBC_STRING_STRDUP - # ActiveIf: 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 0 - # --> 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 -}; - -# 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 -}; - -# 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 -}; - -# 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, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS - # CYGINT_ISO_STRING_BSD_FUNCS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRING_BSD_FUNCS - # Requires: 1 >= 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGINT_ISO_STRING_STRFUNCS - # component CYGPKG_IO_ETH_DRIVERS_NET - # Requires: CYGINT_ISO_STRING_STRFUNCS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_IO_FLASH - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_LIBC_STDLIB - # 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 -}; - -# fnmatch implementation header -# -cdl_option CYGBLD_ISO_FNMATCH_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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_TYPES - # CYGINT_ISO_POSIX_TIMER_TYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX clock types -# -cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES - # CYGINT_ISO_POSIX_CLOCK_TYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of ISO C types -# -cdl_interface CYGINT_ISO_C_TIME_TYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES - # CYGINT_ISO_C_TIME_TYPES == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_C_TIME_TYPES - # Requires: 1 >= 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX timers -# -cdl_interface CYGINT_ISO_POSIX_TIMERS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMERS - # CYGINT_ISO_POSIX_TIMERS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX clocks -# -cdl_interface CYGINT_ISO_POSIX_CLOCKS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCKS - # CYGINT_ISO_POSIX_CLOCKS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of ISO C clock functions -# -cdl_interface CYGINT_ISO_C_CLOCK_FUNCS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS - # CYGINT_ISO_C_CLOCK_FUNCS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_NUMBERS - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# Number of signal implementations -# -cdl_interface CYGINT_ISO_SIGNAL_IMPL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_IMPL - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_POSIX_REALTIME_SIGNALS - # CYGINT_POSIX_REALTIME_SIGNALS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SETJMP - # CYGINT_ISO_SETJMP == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# sigsetjmp() / siglongjmp() implementations -# -cdl_interface CYGINT_ISO_SIGSETJMP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGSETJMP - # CYGINT_ISO_SIGSETJMP == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_FCNTL - # CYGINT_ISO_FCNTL == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_OPEN - # CYGINT_ISO_OPEN == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_DIRENT - # CYGINT_ISO_DIRENT == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX mutex types implementations -# -cdl_interface CYGINT_ISO_PMUTEXTYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 0 - # --> 1 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_BSDTYPES - # CYGINT_ISO_BSDTYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX scheduler -# -cdl_component CYGPKG_ISO_SCHED { - # There is no associated value. -}; - -# > -# POSIX scheduler implementations -# -cdl_interface CYGINT_ISO_SCHED_IMPL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SCHED_IMPL - # CYGINT_ISO_SCHED_IMPL == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SEMAPHORES - # CYGINT_ISO_SEMAPHORES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX message queues -# -cdl_component CYGPKG_ISO_MQUEUE { - # There is no associated value. -}; - -# > -# Implementations -# -cdl_interface CYGINT_ISO_MQUEUE { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 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 { - # This option is not active - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 0 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0 - # --> 0 0 -}; - -# Maximum number of message priorities -# -cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX { - # This option is not active - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 0 - - # 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_PTHREAD_IMPL - # CYGINT_ISO_PTHREAD_IMPL == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX mutex/cond var implementations -# -cdl_interface CYGINT_ISO_PTHREAD_MUTEX { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_PTHREAD_MUTEX - # CYGINT_ISO_PTHREAD_MUTEX == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# Limits -# -cdl_component CYGPKG_ISO_LIMITS { - # There is no associated value. -}; - -# > -# POSIX pthread limits implementations -# -cdl_interface CYGINT_ISO_POSIX_LIMITS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_POSIX_LIMITS - # CYGINT_ISO_POSIX_LIMITS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_TERMIOS - # CYGINT_ISO_TERMIOS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_OPS - # CYGINT_ISO_POSIX_TIMER_OPS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_SLEEP - # CYGINT_ISO_POSIX_SLEEP == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_SELECT - # CYGINT_ISO_SELECT == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_DNS - # CYGINT_ISO_DNS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Protocol network database implementations -# -cdl_interface CYGINT_ISO_NETDB_PROTO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_NETDB_PROTO - # CYGINT_ISO_NETDB_PROTO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Services network database implementations -# -cdl_interface CYGINT_ISO_NETDB_SERV { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_NETDB_SERV - # CYGINT_ISO_NETDB_SERV == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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: "" -}; - -# < -# < -# Compute CRCs -# doc: ref/services-crc.html -# This package provides support for CRC calculation. Currently -# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by -# Gary S. Brown, and a 16 bit CRC. -# -cdl_package CYGPKG_CRC { - # 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_COMPRESS_ZLIB - # Requires: CYGPKG_CRC -}; - -# > -# POSIX CRC tests -# -cdl_option CYGPKG_CRC_TESTS { - # Calculated value: "tests/crc_test" - # Flavor: data - # Current_value: tests/crc_test -}; - -# < -# Zlib compress and decompress package -# This package provides support for compression and -# decompression. -# -cdl_package CYGPKG_COMPRESS_ZLIB { - # 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_CRC - # CYGPKG_CRC == current - # --> 1 - - # The following properties are affected by this value - # component CYGBLD_BUILD_REDBOOT_WITH_ZLIB - # ActiveIf: CYGPKG_COMPRESS_ZLIB -}; - -# > -# Override memory allocation routines. -# -cdl_interface CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC { - # Implemented by CYGBLD_BUILD_REDBOOT_WITH_ZLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC - # ActiveIf: CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 -}; - -# Should deflate() produce 'gzip' compatible output? -# If this option is set then the output of calling deflate() -# will be wrapped up as a 'gzip' compatible file. -# -cdl_option CYGSEM_COMPRESS_ZLIB_DEFLATE_MAKES_GZIP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Does this library need malloc? -# This pseudo-option will force the memalloc library to be -# required iff the application does not provide it's own -# infrastructure. -# -cdl_option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC { - # This option is not active - # ActiveIf constraint: CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 - # CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 1 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_MEMALLOC - # CYGPKG_MEMALLOC == current - # --> 1 -}; - -# Include stdio-like utility functions -# This option enables the stdio-like zlib utility functions -# (gzread/gzwrite and friends) provided in gzio.c. -# -cdl_option CYGFUN_COMPRESS_ZLIB_GZIO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGPKG_LIBC_STDIO_OPEN ? 1 : 0 - # CYGPKG_LIBC_STDIO_OPEN (unknown) == 0 - # --> 0 - # Requires: CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 0 - # --> 0 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 0 - # --> 0 - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 0 - # --> 0 -}; - -# Zlib compress and decompress 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_COMPRESS_ZLIB_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_COMPRESS_ZLIB_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-D__ECOS__ -DNO_ERRNO_H" - # value_source default - # Default value: "-D__ECOS__ -DNO_ERRNO_H" -}; - -# 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_COMPRESS_ZLIB_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wstrict-prototypes - # value_source default - # Default value: -Wstrict-prototypes -}; - -# 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_COMPRESS_ZLIB_LDFLAGS_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_COMPRESS_ZLIB_LDFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# zlib tests -# -cdl_option CYGPKG_COMPRESS_ZLIB_TESTS { - # Calculated value: "tests/zlib1.c tests/zlib2.c" - # Flavor: data - # Current_value: tests/zlib1.c tests/zlib2.c -}; - -# < -# FLASH device drivers -# doc: ref/flash.html -# This option enables drivers for basic I/O services on -# flash devices. -# -cdl_package CYGPKG_IO_FLASH { - # 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_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGSEM_REDBOOT_FLASH_CONFIG - # DefaultValue: CYGPKG_IO_FLASH != 0 - # package CYGPKG_DEVS_FLASH_ONMXC - # ActiveIf: CYGPKG_IO_FLASH -}; - -# > -# Hardware FLASH device drivers -# This option enables the hardware device drivers -# for the current platform. -# -cdl_interface CYGHWR_IO_FLASH_DEVICE { - # Implemented by CYGPKG_DEVS_FLASH_ONMXC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # component CYGPKG_REDBOOT_FLASH - # ActiveIf: CYGHWR_IO_FLASH_DEVICE -}; - -# Hardware FLASH device drivers are not in RAM -# Use of this interface is deprecated. -# Drivers should make sure that the functions are -# linked to RAM by putting them in .2ram sections. -# -cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM - # CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM - # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM -}; - -# Hardware can support block locking -# This option will be enabled by devices which can support -# locking (write-protection) of individual blocks. -# -cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING { - # 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 - # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL - # ActiveIf: CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 -}; - -# Hardware cannot support direct access to FLASH memory -# This option will be asserted by devices which cannot support -# direct access to the FLASH memory contents (e.g. EEPROM or NAND -# devices). In these cases, the driver must provide an appropriate -# hardware access function. -# -cdl_option CYGSEM_IO_FLASH_READ_INDIRECT { - # 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 - # Requires: !CYGSEM_IO_FLASH_VERIFY_PROGRAM - # CYGSEM_IO_FLASH_VERIFY_PROGRAM == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE - # component CYGHWR_DEVS_FLASH_MMC - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MMC_ESDHC - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MMC_SD - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MXC_NAND - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 -}; - -# Display status messages during flash operations -# Selecting this option will cause the drivers to print status -# messages as various flash operations are undertaken. -# -cdl_option CYGSEM_IO_FLASH_CHATTER { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Verify data programmed to flash -# Selecting this option will cause verification of data -# programmed to flash. -# -cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM { - # 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 - - # The following properties are affected by this value - # option CYGSEM_IO_FLASH_READ_INDIRECT - # Requires: !CYGSEM_IO_FLASH_VERIFY_PROGRAM -}; - -# Platform has flash soft DIP switch write-protect -# Selecting this option will cause the state of a hardware jumper or -# dipswitch to be read by software to determine whether the flash is -# write-protected or not. -# -cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Instantiate in I/O block device API -# Provides a block device accessible using the standard I/O -# API ( cyg_io_read() etc. ) -# -cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE { - # This option is not active - # ActiveIf constraint: CYGPKG_IO - # CYGPKG_IO (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Name of flash device 1 block device -# -cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 { - # This option is not active - # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active - # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/flash1\"" - # value_source default - # Default value: "\"/dev/flash1\"" -}; - -# > -# -cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_1 { - # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1, inactive, enabled - # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1, inactive, disabled - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1 - # CYGINT_IO_FLASH_BLOCK_CFG_1 == 0 - # --> 0 - - # The following properties are affected by this value - # interface CYGINT_IO_FLASH_BLOCK_CFG_1 - # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1 -}; - -# Static configuration -# This configures the flash device 1 block device -# with static base and length -# -cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 { - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Start offset from flash base -# This gives the offset from the base of flash which this -# block device corresponds to. -# -cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# Length -# This gives the length of the region of flash given over -# to this block device. -# -cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# Configuration from FIS -# This configures the flash device 1 block device -# from Redboot FIS -# -cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 { - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Name of FIS entry -# -cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"jffs2\"" - # value_source default - # Default value: "\"jffs2\"" -}; - -# < -# < -# < -# Flash 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_FLASH_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the flash device drivers. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_FLASH_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 flash device drivers. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Flash device driver tests -# This option specifies the set of tests for the flash device drivers. -# -cdl_component CYGPKG_IO_FLASH_TESTS { - # Calculated value: "tests/flash1" - # Flavor: data - # Current_value: tests/flash1 -}; - -# > -# Start offset from flash base -# This gives the offset from the base of flash where tests -# can be run. It is important to set this correctly, as an -# incorrect value could allow the tests to write over critical -# portions of the FLASH device and possibly render the target -# board totally non-functional. -# -cdl_option CYGNUM_IO_FLASH_TEST_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# Length -# This gives the length of the region of flash used for testing. -# -cdl_option CYGNUM_IO_FLASH_TEST_LENGTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# < -# Support FLASH memory on Freescale MXC platforms -# -cdl_package CYGPKG_DEVS_FLASH_ONMXC { - # 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_FLASH - # CYGPKG_IO_FLASH == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# MXC platform MMC card support -# When this option is enabled, it indicates MMC card is -# supported on the MXC platforms -# -cdl_component CYGHWR_DEVS_FLASH_MMC { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) -}; - -# > -# MXC platform MMC card for newer SDHC controllers -# -cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC { - # This option is not active - # The parent CYGHWR_DEVS_FLASH_MMC is disabled - # ActiveIf constraint: CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - # CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX37 (unknown) == 0 - # CYGPKG_HAL_ARM_MX35 (unknown) == 0 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX51 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 -}; - -# MXC platform MMC card for older MMC/SD controllers -# -cdl_option CYGHWR_DEVS_FLASH_MMC_SD { - # This option is not active - # The parent CYGHWR_DEVS_FLASH_MMC is disabled - # ActiveIf constraint: CYGPKG_HAL_ARM_MX31_3STACK || CYGPKG_HAL_ARM_MX31ADS - # CYGPKG_HAL_ARM_MX31_3STACK (unknown) == 0 - # CYGPKG_HAL_ARM_MX31ADS (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: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 -}; - -# < -# MXC platform NOR flash memory support -# When this option is enabled, it indicates NOR flash is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_NOR { - # 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 0 - # value_source inferred - # Default value: 0 - - # The following properties are affected by this value - # option CYGHWR_DEVS_FLASH_IMX_SPI_NOR - # Requires: CYGHWR_DEVS_FLASH_MXC_NOR == 1 - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) -}; - -# MXC platform NAND flash memory support -# When this option is enabled, it indicates NAND flash is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_NAND { - # 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 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH - # ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND - # ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND -}; - -# i.MX platform SPI NOR flash memory support -# When this option is enabled, it indicates SPI NOR flash is -# supported on the i.MX platforms -# -cdl_option CYGHWR_DEVS_FLASH_IMX_SPI_NOR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGHWR_DEVS_FLASH_MXC_NOR == 1 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # --> 0 -}; - -# MXC platform ATA support -# When this option is enabled, it indicates ATA is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_ATA { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Use a flash based Bad Block Table -# -cdl_component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH { - # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# When this option is enabled, the driver will search for a flash -# based bad block table -# -cdl_option CYGHWR_DEVS_FLASH_MXC_BBT_IN_FLASH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# header file defining the NAND BBT descriptor -# defines the name of the header file that describes the BBT layout -# -cdl_component CYGHWR_FLASH_NAND_BBT_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 -}; - -# Number of blocks to reserve for BBT -# Number of blocks to reserve for BBT -# -cdl_option CYGNUM_FLASH_NAND_BBT_BLOCKS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 -}; - -# < -# MXC platform multi flash memory support -# When this option is enabled, it indicates multi flashes are -# supported on the MXC platforms (like NAND and NOR) -# -cdl_option CYGHWR_DEVS_FLASH_MXC_MULTI { - # This option is not active - # ActiveIf constraint: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # CYGHWR_DEVS_FLASH_MMC == 0 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # CYGHWR_DEVS_FLASH_MMC == 0 - # --> 0 - - # 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 -}; - -# MXC platform NAND flash reset workaround support -# When this option is enabled, it indicates 0xFFFF is used for -# the NAND reset command instead of 0xFF. -# -cdl_interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND { - # No options implement this inferface - # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# < -# < -# Dynamic memory allocation -# doc: ref/memalloc.html -# 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 - - # The following properties are affected by this value - # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC - # Requires: CYGPKG_MEMALLOC -}; - -# > -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 0 - # value_source default - # Default value: 0 != CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 - # Requires: CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 -}; - -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (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_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# 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 memmove() and memset() -# This may be used to control whether memset() and memmove() -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGFUN_KERNEL_API_C - # CYGFUN_KERNEL_API_C (unknown) == 0 - # --> 0 -}; - -# 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 -}; - -# Use external implementation of joining multiple heaps -# The default implementation of joining multiple heaps -# is fine for the case where there are multiple disjoint -# memory regions of the same type. However, in a system -# there might be e.g. a small amount of internal SRAM and -# a large amount of external DRAM. The SRAM is faster and -# the DRAM is slower. An application can implement some -# heuristic to choose which pool to allocate from. This -# heuristic can be highly application specific. -# -cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_JOIN_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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# 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 -}; - -# > -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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: "" -}; - -# < -# < -# I2C driver for FSL MXC-based platforms -# -cdl_package CYGPKG_DEVS_MXC_I2C { - # 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 -}; - -# ipu driver for mxc -# -cdl_package CYGPKG_DEVS_IMX_IPU { - # 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 CYGHWR_MX53_LCD_LOGO - # ActiveIf: CYGPKG_DEVS_IMX_IPU -}; - -# > -# IPU version 3EX support -# When this option is enabled, it indicates the IPU version -# is 3EX -# -cdl_option CYGHWR_DEVS_IPU_3_EX { - # 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 -}; - -# IPU version 3D support -# When this option is enabled, it indicates the IPU version -# is 3D -# -cdl_option CYGHWR_DEVS_IPU_3_D { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < - diff --git a/config/TX53-8x30.ecc b/config/TX53-8x30.ecc deleted file mode 100644 index 9cc35613..00000000 --- a/config/TX53-8x30.ecc +++ /dev/null @@ -1,10426 +0,0 @@ -# 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 tx53karo ; - template redboot ; - package -hardware CYGPKG_HAL_ARM current ; - package -hardware CYGPKG_HAL_ARM_MX53 current ; - package -hardware CYGPKG_HAL_ARM_TX53KARO current ; - package -template CYGPKG_HAL current ; - package -template CYGPKG_INFRA current ; - package -template CYGPKG_REDBOOT current ; - package -template CYGPKG_ISOINFRA current ; - package -template CYGPKG_LIBC_STRING current ; - package -template CYGPKG_CRC current ; - package -hardware CYGPKG_IO_ETH_DRIVERS current ; - package -hardware CYGPKG_DEVS_ETH_ARM_TX53 current ; - package -hardware CYGPKG_DEVS_ETH_FEC current ; - package -hardware CYGPKG_COMPRESS_ZLIB current ; - package -hardware CYGPKG_IO_FLASH current ; - package -hardware CYGPKG_DEVS_FLASH_ONMXC current ; - package -template CYGPKG_MEMALLOC current ; - package -template CYGPKG_DEVS_ETH_PHY current ; - package -template CYGPKG_LIBC_I18N current ; - package -template CYGPKG_LIBC_STDLIB current ; - package -template CYGPKG_ERROR current ; - package -hardware CYGPKG_DEVS_MXC_I2C current ; - package -hardware CYGPKG_DEVS_IMX_IPU 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 - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu -}; - -# 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 - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 - # --> 1 - - # 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 "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" - # value_source default - # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" -}; - -# 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 -}; - -# < -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# 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 - # component CYGPKG_REDBOOT_NETWORKING - # ActiveIf: CYGPKG_IO_ETH_DRIVERS - # package CYGPKG_DEVS_ETH_ARM_TX53 - # ActiveIf: CYGPKG_IO_ETH_DRIVERS - # package CYGPKG_DEVS_ETH_FEC - # 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_FEC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE - # ActiveIf: CYGHWR_NET_DRIVERS > 1 - # option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE - # ActiveIf: CYGHWR_NET_DRIVERS > 1 -}; - -# Driver supports multicast addressing -# This interface defines whether or not a driver can handle -# requests for multicast addressing. -# -cdl_interface CYGINT_IO_ETH_MULTICAST { - # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_NET - # CYGPKG_NET (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: 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 { - # This option is not active - # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active - - # 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 { - # This option is not active - # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active - - # 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 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 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 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 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 { - # ActiveIf constraint: !CYGPKG_NET - # CYGPKG_NET (unknown) == 0 - # --> 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_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 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_REDBOOT_NETWORKING - # CYGPKG_REDBOOT_NETWORKING == 1 - # --> 1 -}; - -# 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 { - # 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 { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # 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 (unknown) == 0 - # --> 1 -}; - -# 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, inactive, enabled - # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # 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" -}; - -# < -# Ethernet driver for Ka-Ro electronics TX53 processor module -# -cdl_package CYGPKG_DEVS_ETH_ARM_TX53 { - # 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 -}; - -# > -# FEC ethernet driver required -# -cdl_interface CYGINT_DEVS_ETH_FEC_REQUIRED { - # Implemented by CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # package CYGPKG_DEVS_ETH_FEC - # ActiveIf: CYGINT_DEVS_ETH_FEC_REQUIRED -}; - -# Ka-Ro TX53 ethernet port driver -# This option includes the ethernet device driver for the -# MXC Board port. -# -cdl_component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1 - # --> 1 - # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700 - # CYGHWR_DEVS_ETH_PHY_LAN8700 == 1 - # --> 1 -}; - -# > -# Device name for the ETH0 ethernet driver -# This option sets the name of the ethernet device. -# -cdl_option CYGDAT_DEVS_ETH_ARM_MXCBOARD_ETH0_NAME { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"eth0\"" - # value_source default - # Default value: "\"eth0\"" -}; - -# OUI part of MAC address -# This option sets OUI part (manufacturer ID) of the MAC address -# for validation. -# -cdl_option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI { - # ActiveIf constraint: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{ 0x00, 0x0c, 0xc6 }" - # value_source default - # Default value: "{ 0x00, 0x0c, 0xc6 }" -}; - -# < -# < -# Driver for fast ethernet controller. -# Driver for fast ethernet controller. -# -cdl_package CYGPKG_DEVS_ETH_FEC { - # 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: CYGINT_DEVS_ETH_FEC_REQUIRED - # CYGINT_DEVS_ETH_FEC_REQUIRED == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# MXC FEC ethernet driver build options -# -cdl_component CYGPKG_DEVS_ETH_FEC_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the Cirrus Logic ethernet driver package. -# These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_DEVS_ETH_FEC_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" -}; - -# < -# MXC FEC MII Gasket for RMII mode -# This option enables the use of the MII Gasket for -# RMII mode found in i.MX25 and i.MX53 processors. -# -cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK { - # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Ethernet transceiver (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 -}; - -# > -# Enable driver debugging -# Enables the diagnostic debug messages on the -# console device. -# -cdl_option CYGDBG_DEVS_ETH_PHY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 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 -}; - -# 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 -}; - -# Intel LXT972 -# Include support for Intel LXT972xxx PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_INLXT972 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1890 -# Include support for ICS 1890 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1890 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1892 -# Include support for ICS 1892 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1892 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1893 -# Include support for ICS 1893 and 1893AF PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1893 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Davicom DM9161A -# Include support for the Davicom DM9161A PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_DM9161A { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Micrel KS8721 -# Include support for the Micrel KS8721 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_KS8721 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# SMSC LAN8700 -# Include support for SMSC LAN8700 NetPHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_LAN8700 { - # 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 - # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 - # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700 -}; - -# < -# < -# 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 -}; - -# > -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA != 0 - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 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 (unknown) == 0 - # --> 0 -}; - -# 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 - user_value 0 - # value_source user - # 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 - user_value 1 - # value_source user - # 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 0 - # value_source default - # Default value: 0 != CYGPKG_LIBM - # CYGPKG_LIBM (unknown) == 0 - # --> 0 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM (unknown) == 0 - # --> 0 -}; - -# 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 - user_value 0 - # value_source user - # Default value: 1 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# < -# 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 0 - # value_source default - # Default value: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# 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 0 - # value_source default - # Default value: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0 - # --> 0 - # Requires: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0 - # --> 0 -}; - -# 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 (unknown) == 0 - # --> 0 -}; - -# 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 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # 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 { - # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0 - # --> 1 - # ActiveIf constraint: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG - # CYGPKG_HAL_ARM == current - # 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 0 - # 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 == ROMRAM - # --> 0 - - # 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 disabled - - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 1 - - # The following properties are affected by this value - # package CYGPKG_REDBOOT - # Requires: CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 -}; - -# 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 32768 - # value_source default - # Default value: CYGPKG_KERNEL ? 4096 : 32768 - # CYGPKG_KERNEL (unknown) == 0 - # --> 32768 - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 - # component CYGBLD_BUILD_REDBOOT - # 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 -}; - -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # value_source default - # Default value: COPYBACK - # Legal values: "COPYBACK" "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_ARM_TX53KARO, 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 - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 0 - # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0 - # --> 1 - # Requires: !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS - # CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1 - # --> 1 - - # 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 CYGHWR_HAL_ARM_DUMP_EXCEPTIONS - # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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_ARM_TX53KARO, 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 CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - # 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 - - # The following properties are affected by this value - # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # component CYGBLD_BUILD_REDBOOT - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT -}; - -# 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 == 1 - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 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 CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # option CYGBLD_BUILD_REDBOOT_WITH_THREADS - # 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_ARM_TX53KARO, 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 { - # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE - # ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT -}; - -# 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 - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1 - # --> 0 - - # 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 == 1 - # Flavor: bool - # Current value: 1 - - # 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 == 0 - # CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0 - # Flavor: bool - # Current value: 1 - - # 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 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR - # CYG_HAL_STARTUP == ROMRAM - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # 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 == 1 - # --> 1 - - # 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 { - # This option is not active - # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1 - # --> 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_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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 1 - # value_source default - # Default value: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1 - # --> 1 -}; - -# 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 1 - # 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 == 1 - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 1 - - # 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 -}; - -# < -# 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 TX53 module, 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 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # CYG_HAL_STARTUP == ROMRAM - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) - # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # option CYGPRI_REDBOOT_ROM_MONITOR - # Requires: CYGSEM_HAL_ROM_MONITOR -}; - -# Work with a ROM monitor -# Support can be enabled for different varieties of ROM monitor. -# This support changes various eCos semantics such as the encoding -# of diagnostic output, or the overriding of hardware interrupt -# vectors. -# Firstly there is "Generic" support which prevents the HAL -# from overriding the hardware vectors that it does not use, to -# instead allow an installed ROM monitor to handle them. This is -# the most basic support which is likely to be common to most -# implementations of ROM monitor. -# "GDB_stubs" provides support when GDB stubs are included in -# the ROM monitor or boot ROM. -# -cdl_option CYGSEM_HAL_USE_ROM_MONITOR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 - # CYG_HAL_STARTUP == ROMRAM - # --> 0 0 - # Legal values: "Generic" "GDB_stubs" - # Requires: CYG_HAL_STARTUP == "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 0 - - # The following properties are affected by this value - # 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 -}; - -# < -# 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 - - # The following properties are affected by this value - # component CYGSEM_REDBOOT_DISK_IDE - # ActiveIf: CYGINT_HAL_PLF_IF_IDE != 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 == 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 (unknown) == 0 - # Flavor: data - # Current_value: tests/context tests/basic tests/cache tests/intr -}; - -# > -# 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" : "") -}; - -# < -# ARM architecture -# The ARM 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_ARM { - # 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 CYGDBG_HAL_DIAG_TO_DEBUG_CHAN - # ActiveIf: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG - # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED - # ActiveIf: CYGPKG_HAL_ARM -}; - -# > -# The CPU architecture supports THUMB mode -# -cdl_interface CYGINT_HAL_ARM_THUMB_ARCH { - # 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 CYGHWR_THUMB - # ActiveIf: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # ActiveIf: CYGINT_HAL_ARM_THUMB_ARCH != 0 -}; - -# Enable Thumb instruction set -# Enable use of the Thumb instruction set. -# -cdl_option CYGHWR_THUMB { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # CYGINT_HAL_ARM_THUMB_ARCH == 0 - # --> 0 - - # 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 CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) -}; - -# Enable Thumb interworking compiler option -# This option controls the use of -mthumb-interwork in the -# compiler flags. It defaults enabled in Thumb or ROM monitor -# configurations, but can be overridden for reduced memory -# footprint where interworking is not a requirement. -# -cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # CYGINT_HAL_ARM_THUMB_ARCH == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) - # CYGHWR_THUMB == 0 - # CYGSEM_HAL_ROM_MONITOR == 1 - # --> 1 -}; - -# The platform and architecture supports Big Endian operation -# -cdl_interface CYGINT_HAL_ARM_BIGENDIAN { - # 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 CYGHWR_HAL_ARM_BIGENDIAN - # ActiveIf: CYGINT_HAL_ARM_BIGENDIAN != 0 -}; - -# Use big-endian mode -# Use the CPU in big-endian mode. -# -cdl_option CYGHWR_HAL_ARM_BIGENDIAN { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_BIGENDIAN != 0 - # CYGINT_HAL_ARM_BIGENDIAN == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# The platform uses a processor with an ARM7 core -# -cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with an ARM9 core -# -cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 { - # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with a StrongARM core -# -cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with a XScale core -# -cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# ARM CPU family -# It is possible to optimize code for different -# ARM CPU families. This option selects which CPU to -# optimize for on boards that support multiple CPU types. -# -cdl_option CYGHWR_HAL_ARM_CPU_FAMILY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value ARM9 - # value_source default - # Default value: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" - # CYGINT_HAL_ARM_ARCH_ARM7 == 0 - # CYGINT_HAL_ARM_ARCH_ARM9 == 1 - # CYGINT_HAL_ARM_ARCH_STRONGARM == 0 - # CYGINT_HAL_ARM_ARCH_XSCALE == 0 - # --> ARM9 - # Legal values: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # CYGINT_HAL_ARM_ARCH_ARM7 == 0 - # CYGINT_HAL_ARM_ARCH_ARM9 == 1 - # CYGINT_HAL_ARM_ARCH_STRONGARM == 0 - # CYGINT_HAL_ARM_ARCH_XSCALE == 0 -}; - -# Provide diagnostic dump for exceptions -# Print messages about hardware exceptions, including -# raw exception frame dump and register contents. -# -cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS { - # 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 - # --> 1 -}; - -# Process all exceptions with the eCos application -# Normal RAM-based programs which do not include GDB stubs -# defer processing of the illegal instruction exception to GDB. -# Setting this options allows the program to explicitly handle -# the illegal instruction exception itself. Note: this will -# prevent the use of GDB to debug the application as breakpoints -# will no longer work. -# -cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support GDB thread operations via ICE/Multi-ICE -# Allow GDB to get thread information via the ICE/Multi-ICE -# connection. -# -cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT { - # 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 - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 - # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0 - # --> 0 -}; - -# Support for 'gprof' callbacks -# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot -# to acquire the interrupt-context PC and SP, when this option is -# active. -# -cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS - # CYGSEM_REDBOOT_BSP_SYSCALLS == 0 - # --> 0 - # ActiveIf constraint: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Accept exceptions and irq's occurring in user mode -# For standalone Redboot based programs running in user mode. -# -cdl_option CYGOPT_HAL_ARM_WITH_USER_MODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Preserve svc spsr before returning to svc mode -# This option secures exception and breakpoint processing -# triggered during execution of application specific SWI -# handlers. -# -cdl_option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Linker script -# -cdl_option CYGBLD_LINKER_SCRIPT { - # Calculated value: "src/arm.ld" - # Flavor: data - # Current_value: src/arm.ld -}; - -# Implementations of hal_arm_mem_real_region_top() -# -cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Freescale SoC architecture -# This HAL variant package provides generic -# support for the Freescale SoC. It is also -# necessary to select a specific target platform HAL -# package. -# -cdl_package CYGPKG_HAL_ARM_MX53 { - # 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 CYGOPT_HAL_ARM_MXC_FEC_MIIGSK - # ActiveIf: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # option CYGHWR_DEVS_FLASH_MMC_ESDHC - # ActiveIf: CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - # CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 || CYGPKG_HAL_ARM_MX53 -}; - -# > -# Processor clock rate -# The processor can run at various frequencies. -# These values are expressed in KHz. Note that there are -# several steppings of the rate to run at different -# maximum frequencies. Check the specs to make sure that your -# particular processor can run at the rate you select here. -# -cdl_option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK { - # This option is not active - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" - # CYG_HAL_STARTUP == ROMRAM - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 150000 - # value_source default - # Default value: CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT ? - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT : 150000 - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0 - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0 - # --> 150000 - # Legal values: 150000 200000 -}; - -# Real-time clock constants -# -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 -# This option selects the heartbeat rate for the real-time clock. -# The rate is specified in ticks per second. Change this value -# with caution - too high and your system will become saturated -# just handling clock interrupts, too low and some operations -# such as thread scheduling may become sluggish. -# -cdl_option CYGNUM_HAL_RTC_DENOMINATOR { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 - - # The following properties are affected by this value - # option CYGNUM_HAL_RTC_PERIOD - # Calculated: (3686400/CYGNUM_HAL_RTC_DENOMINATOR) -}; - -# Real-time clock period -# -cdl_option CYGNUM_HAL_RTC_PERIOD { - # Calculated value: (3686400/CYGNUM_HAL_RTC_DENOMINATOR) - # CYGNUM_HAL_RTC_DENOMINATOR == 100 - # Flavor: data - # Current_value: 36864 -}; - -# < -# UART1 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART1 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART2 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART2 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART3 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART3 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART4 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART4 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART5 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART5 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Ka-Ro TX53 module -# This HAL platform package provides generic -# support for the Ka-Ro electronics TX53 module. -# -cdl_package CYGPKG_HAL_ARM_TX53KARO { - # 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: CYGINT_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 - # Requires: CYGBLD_BUILD_REDBOOT == 1 - # CYGBLD_BUILD_REDBOOT == 1 - # --> 1 -}; - -# > -# Startup type -# The only startup type allowed is ROMRAM, since this will allow -# the program to exist in ROM, but be copied to RAM during startup -# which is required to boot from NAND flash. -# -cdl_component CYG_HAL_STARTUP { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value ROMRAM - # value_source default - # Default value: ROMRAM - # Legal values: "ROMRAM" "RAM" - - # The following properties are affected by this value - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGSEM_HAL_USE_ROM_MONITOR - # DefaultValue: CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 - # option CYGSEM_HAL_USE_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "RAM" - # option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK - # ActiveIf: CYG_HAL_STARTUP == "ROM" - # 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 - # option CYGBLD_BUILD_REDBOOT_WITH_THREADS - # ActiveIf: CYG_HAL_STARTUP != "RAM" - # option CYGPRI_REDBOOT_ROM_MONITOR - # ActiveIf: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGPRI_REDBOOT_ROM_MONITOR - # ActiveIf: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" -}; - -# Diagnostic serial port baud rate -# This option selects the baud rate used for the console port. -# Note: this should match the value chosen for the GDB port if the -# console and GDB port are the same. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 115200 - # value_source default - # Default value: 115200 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# GDB serial port baud rate -# This option selects the baud rate used for the GDB port. -# Note: this should match the value chosen for the console port if the -# console and GDB port are the same. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 115200 - # value_source default - # Default value: 115200 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# Number of communication channels on the TX53 -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS { - # Calculated value: 5 - # Flavor: data - # Current_value: 5 - - # 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_DEFAULT - # 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 -}; - -# Debug serial port -# The TX53 provides access to five serial ports. This option -# chooses which port will be used to connect to a host -# running GDB. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL { - # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE - # CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 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_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 -}; - -# Default console channel. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT { - # Calculated value: 0 - # Flavor: data - # Current_value: 0 - # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 - - # The following properties are affected by this value - # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL - # DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT -}; - -# Console serial port -# The TX53 provides access to three serial ports. This option -# chooses which port will be used for console output. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL { - # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE - # CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT - # CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT == 0 - # --> 0 - # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 -}; - -# Ka-Ro electronics TX53 module 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_ARM_TX53_OPTIONS { - # There is no associated value. - # Requires: CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 -}; - -# > -# SDRAM DDR type -# This option specifies the SDRAM type of the TX53 module. -# Valid options are '2' for DDR2 and '3' for DDR3. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_TYPE { - # Flavor: data - user_value 3 - # value_source user - # Default value: 2 - # Legal values: 2 3 - - # The following properties are affected by this value - # component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 -}; - -# SDRAM size -# This option specifies the SDRAM size of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x20000000 - # value_source default - # Default value: 0x20000000 - # Legal values: 0x40000000 0x20000000 -}; - -# CPU clock -# This option specifies the CPU clock in MHz of the TX51 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_CPU_CLK { - # Flavor: data - user_value 800 - # value_source user - # Default value: 1000 - # Legal values: 800 1000 -}; - -# Enable low level debugging with LED -# This option enables low level debugging by blink codes -# of the LED on STK5. -# -cdl_option CYGOPT_HAL_ARM_TX53_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: false - # false (unknown) == 0 - # --> 0 -}; - -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the TX53 HAL. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_HAL_ARM_TX53_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 TX53 HAL. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_HAL_ARM_TX53_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Show a splash screen from the FIS partition: 'logo' -# When this option is enabled, RedBoot will look for a flash partition -# named 'logo' and display the contents of this partition as initial -# screen on the LCD -# -cdl_option CYGHWR_MX53_LCD_LOGO { - # ActiveIf constraint: CYGPKG_DEVS_IMX_IPU - # CYGPKG_DEVS_IMX_IPU == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Options for DDR2 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS { - # This option is not active - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # --> 0 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR2_CLK { - # This option is not active - # The parent CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 400 - # value_source default - # Default value: 400 - # Legal values: 216 266 333 400 -}; - -# < -# Options for DDR3 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS { - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # --> 1 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR3_CLK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 333 - # value_source default - # Default value: 333 - # Legal values: 333 -}; - -# < -# Memory layout -# -cdl_component CYGHWR_MEMORY_LAYOUT { - # Calculated value: "arm_tx53_romram" - # Flavor: data - # Current_value: arm_tx53_romram -}; - -# > -# Memory layout linker script fragment -# -cdl_option CYGHWR_MEMORY_LAYOUT_LDI { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# Memory layout header file -# -cdl_option CYGHWR_MEMORY_LAYOUT_H { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# < -# < -# < -# < -# < -# 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # 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_INFRA_EMPTY_DELETE_THRESHOLD - # ActiveIf: CYGPKG_INFRA_DEBUG -}; - -# > -# 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 == 0 - # --> 0 - - # The following properties are affected by this value - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS is not active - - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS is not active - - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS 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 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS 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 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 == 0 - # --> 0 - - # 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 -}; - -# > -# 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 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 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, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Fancy output -# An output module which produces fancy output -# from tracing and assertion events. -# -cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 -}; - -# Threshold for valid number of delete calls -# Some users don't know about the empty delete function and then -# wonder why their C++ classes are leaking memory. If -# INFRA_DEBUG is enabled we keep a counter for the number of -# times delete is called. If it goes above this threshold we throw -# an assertion failure. This should point heavy users of -# delete in the right direction without upsetting those who want -# an empty delete function. -# -cdl_option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD { - # This option is not active - # ActiveIf constraint: CYGPKG_INFRA_DEBUG - # CYGPKG_INFRA_DEBUG == 0 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 -}; - -# 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 1 - # value_source default - # Default value: CYGINT_ISO_EXIT == 0 - # CYGINT_ISO_EXIT == 0 - # --> 1 - # Requires: !CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 0 - # --> 1 -}; - -# 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 - user_value 1 - # value_source user - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_GLOBAL_CFLAGS - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS -}; - -# 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 - user_value 1 - # value_source user - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # --> 1 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 tests/diag_sprintf1 tests/diag_sprintf2" - # Flavor: data - # Current_value: tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2 -}; - -# > -# 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 -}; - -# < -# < -# < -# Redboot ROM monitor -# doc: ref/redboot.html -# This package supports the Redboot [stand-alone debug monitor] -# using eCos as the underlying board support mechanism. -# -cdl_package CYGPKG_REDBOOT { - # 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: CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 - # CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_REDBOOT_ARM_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # component CYGPKG_REDBOOT_HAL_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # option CYGSEM_IO_ETH_DRIVERS_WARN - # ActiveIf: CYGPKG_REDBOOT -}; - -# > -# Include support for ELF file format -# -cdl_component CYGSEM_REDBOOT_ELF { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Use the virtual address in the ELF headers -# The ELF headers contain both a virtual and a physical address -# for where code/data should be loaded. By default the physical -# address is used but sometimes it is necassary to use the -# virtual address because of bugy toolchains -# -cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Methods of loading images using redboot -# -cdl_interface CYGINT_REDBOOT_LOAD_METHOD { - # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled - # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGINT_REDBOOT_LOAD_METHOD -}; - -# Build Redboot ROM ELF image -# This option enables the building of the Redboot ELF image. -# The image may require further relocation or symbol -# stripping before being converted to a binary image. -# This is handled by a rule in the target CDL. -# -cdl_component CYGBLD_BUILD_REDBOOT { - # 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 - # Requires: CYGPKG_INFRA - # CYGPKG_INFRA == current - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0 - # --> 1 - # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_REDBOOT_LOAD_METHOD - # CYGINT_REDBOOT_LOAD_METHOD == 2 - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_HAL_ARM_TX53KARO - # Requires: CYGBLD_BUILD_REDBOOT == 1 - # option CYGBLD_BUILD_REDBOOT_BIN - # ActiveIf: CYGBLD_BUILD_REDBOOT -}; - -# > -# Include GDB support in RedBoot -# RedBoot normally includes support for the GDB debugging -# protocols. This option allows this to be disabled which -# may yield a substantial savings in terms of code and memory -# usage by RedBoot. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB { - # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS - # CYGINT_HAL_DEBUG_GDB_STUBS == 1 - # --> 1 - - # Flavor: bool - user_value 0 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source user - # Default value: 1 - # 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 -}; - -# Threads debugging support -# Enabling this option will include special code in the -# GDB stubs to support debugging of threaded programs. In -# the case of eCos programs, this support allows GDB to -# have complete access to the eCos threads in the -# program. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS { - # ActiveIf constraint: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # 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_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 -}; - -# Customized version string -# Use this option to define a customized version "string" for -# RedBoot. Note: this value is only cosmetic, displayed by the -# "version" command, but is useful for providing site specific -# information about the RedBoot configuration. -# -cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION { - # 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 "Ka-Ro 2010-01-06" - # value_source inferred - # Default value: 0 0 -}; - -# Enable command line editing -# If this option is non-zero, RedBoot will remember the -# last N command lines. These lines may be reused. -# Enabling this history will also enable rudimentary -# editting of the lines themselves. -# -cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES - # ActiveIf: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - # option CYGBLD_REDBOOT_CMD_LINE_HISTORY - # Requires: CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 -}; - -# Enable command line editing using ANSI arrows, etc -# If this option is enabled, RedBoot will accept standard ANSI key -# sequences for cursor movement (along with the emacs style keys). -# -cdl_option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES { - # ActiveIf constraint: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - # CYGNUM_REDBOOT_CMD_LINE_EDITING == 16 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Enable history command and expansion -# Enabling this option will allow RedBoot to provide a -# history command to list previous commands. Also enables -# history expansion via '!' character similar to bash -# shell. -# -cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 - # CYGNUM_REDBOOT_CMD_LINE_EDITING == 16 - # --> 1 -}; - -# Number of unique RAM segments on platform -# Change this option to be the number of memory segments which are -# supported by the platform. If the value is greater than 1, then -# a platform specific function must provide information about the -# additional segments. -# -cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include support gzip/zlib decompression -# -cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB { - # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB - # CYGPKG_COMPRESS_ZLIB == 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 - # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS -}; - -# > -# Size of zlib decompression buffer -# This is the size of the buffer filled with incoming data -# during load before calls are made to the decompressor -# function. For ethernet downloads this can be made bigger -# (at the cost of memory), but for serial downloads on slow -# processors it may be necessary to reduce the size to -# avoid serial overruns. zlib appears to bail out if less -# than five bytes are available initially so this is the -# minimum. -# -cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 64 - # value_source default - # Default value: 64 - # Legal values: 5 to 256 -}; - -# Support compression of Flash images -# This CDL indicates whether flash images can -# be decompressed from gzip/zlib format into RAM. -# -cdl_option CYGPRI_REDBOOT_ZLIB_FLASH { - # ActiveIf constraint: CYGPKG_REDBOOT_FLASH - # CYGPKG_REDBOOT_FLASH == 1 - # --> 1 - # ActiveIf constraint: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGPRI_REDBOOT_ZLIB_FLASH_FORCE == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Include GZIP uncompress command -# Enable this option to include a 'gunzip' command -# to uncompress GZIP compressed data. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_GUNZIP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Turn on CYGPRI_REDBOOT_ZLIB_FLASH -# Force CYGPRI_REDBOOT_ZLIB_FLASH to be chosen -# -cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE { - # 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 - # option CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE -}; - -# < -# Include support for xyzModem downloads -# doc: ref/download-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM { - # 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_REDBOOT_CFLAGS_ADD - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM -}; - -# 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_REDBOOT_CFLAGS_ADD { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM - # CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wno-inline - # value_source default - # Default value: -Wno-inline -}; - -# Allow the load-command write into Flash. -# Write images direct to Flash via the load command. -# We assume anything which is invalid RAM is flash, hence -# the requires statement -# -cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH { - # ActiveIf constraint: CYGPKG_REDBOOT_FLASH - # CYGPKG_REDBOOT_FLASH == 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_REDBOOT_VALIDATE_USER_RAM_LOADS - # CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS == 1 - # --> 1 -}; - -# Include MS Windows CE support -# doc: ref/wince.html -# This option enables MS Windows CE EShell support -# and Windows CE .BIN images support -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 -}; - -# Include support for MXC USB downloads -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include support for i.MX USB OTG downloads -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include POSIX checksum command -# doc: ref/cksum-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory fill command -# doc: ref/mfill-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory compare command -# doc: ref/mcmp-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory copy command -# doc: ref/mcopy-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory dump command -# doc: ref/dump-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include cache command -# doc: ref/cache-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include exec command -# doc: ref/exec-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC { - # 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_REDBOOT_ARM_LINUX_EXEC - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC -}; - -# Include I/O Memory commands 'iopeek' and 'iopoke' -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Granularity of timer/ticks -# This option controls the granularity of the timers. -# Faster CPUs can afford higher granularity (lower values) -# which should give higher network performance since the stack -# is purely polled. -# -cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 250 - # value_source default - # Default value: 250 - # Legal values: 10 25 50 100 250 500 1000 -}; - -# Redboot Networking -# This option includes networking support in RedBoot. -# -cdl_component CYGPKG_REDBOOT_NETWORKING { - # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS - # CYGPKG_IO_ETH_DRIVERS == 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 CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS - # DefaultValue: 0 != CYGPKG_REDBOOT_NETWORKING -}; - -# > -# Print net debug information -# This option is overriden by the configuration stored -# in flash. -# -cdl_option CYGDBG_REDBOOT_NET_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support TFTP for download -# This option enables the use of the TFTP protocol for -# download -# -cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support HTTP for download -# This option enables the use of the HTTP protocol for -# download -# -cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# Default IP address -# This IP address is the default used by RedBoot if -# a BOOTP/DHCP server does not respond. The numbers -# should be separated by *commas*, and not dots. If -# an IP address is configured into the Flash -# configuration, that will be used in preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# > -# Do not try to use BOOTP -# By default Redboot tries to use BOOTP to get an IP -# address. If there's no BOOTP server on your network -# use this option to avoid to wait until the -# timeout. This option is overriden by the -# configuration stored in flash. -# -cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP { - # This option is not active - # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Default bootp server -# This IP address is the default server -# address used by RedBoot if a BOOTP/DHCP -# server does not respond. The numbers should -# be separated by *commas*, and not dots. If -# an IP address is configured into the Flash -# configuration, that will be used in -# preference. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR { - # This option is not active - # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# < -# Use DHCP to get IP information -# Use DHCP protocol to obtain pertinent IP addresses, such -# as the client, server, gateway, etc. -# -cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP { - # 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 CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY - # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP -}; - -# Use a gateway for non-local IP traffic -# Enabling this option will allow the RedBoot networking -# stack to use a [single] gateway to reach a non-local -# IP address. If disabled, RedBoot will only be able to -# reach nodes on the same subnet. -# -cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP - # CYGSEM_REDBOOT_NETWORKING_DHCP == 1 - # --> 1 -}; - -# > -# Default gateway IP address -# This IP address is the default used by RedBoot -# if a BOOTP/DHCP server does not respond. The -# numbers should be separated by *commas*, and -# not dots. If an IP address is configured into -# the Flash configuration, that will be used in -# preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# Default IP address mask -# This IP address mask is the default used by -# RedBoot if a BOOTP/DHCP server does not -# respond. The numbers should be separated by -# *commas*, and not dots. If an IP address is -# configured into the Flash configuration, that -# will be used in preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "255, 255, 255, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# < -# TCP port to listen for incoming connections -# RedBoot will 'listen' on this port for incoming TCP -# connections. This allows outside connections to be made -# to the platform, either for GDB or RedBoot commands. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 9000 - # value_source default - # Default value: 9000 -}; - -# Number of [network] packet buffers -# RedBoot may need to buffer network data to support -# various connections. This option allows control -# over the number of such buffered packets, and in -# turn, controls the amount of memory used by RedBoot -# (which is not available to user applications). -# Each packet buffer takes up about 1514 bytes. -# Note: there is little need to make this larger than -# the default. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 3 to 8 -}; - -# DNS support -# When this option is enabled, RedBoot will be built with -# support for DNS, allowing use of hostnames on the command -# line. -# -cdl_component CYGPKG_REDBOOT_NETWORKING_DNS { - # This option is not active - # ActiveIf constraint: CYGPKG_NS_DNS - # CYGPKG_NS_DNS (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_NS_DNS_BUILD - # CYGPKG_NS_DNS_BUILD (unknown) == 0 - # --> 1 -}; - -# > -# Default DNS IP -# This option sets the IP of the default DNS. The IP can be -# changed at runtime as well. -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0.0.0.0 - # value_source default - # Default value: 0.0.0.0 -}; - -# Timeout in DNS lookup -# This option sets the timeout used when looking up an -# address via the DNS. Default is 10 seconds. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# Support the use of a domain name -# This option controls if Redboot supports domain -# names when performing DNS lookups -# -cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Default DNS domain -# This option sets the default DNS domain name. -# This value will be overwritten by the value in -# flash or a domain returned by DHCP -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Get DNS domain from Flash -# This option enables getting the domain name -# from the flash configuration. This can later be -# overwritten by a value learnt from DHCP -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - # ActiveIf constraint: CYGSEM_REDBOOT_FLASH_CONFIG - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Use DNS domain from DHCP -# This option enables the use of the domain name -# returned by DHCP. -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# BOOTP/DHCP DNS domain buffer size -# This options sets the size of the static -# buffer used by BOOTP/DHCP to store the DNS -# domain name. The domain name will not be -# set if the buffer is too small to hold it. -# -cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 -}; - -# < -# < -# Default network device driver -# This is the name of the default network device to use. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE { - # This option is not active - # ActiveIf constraint: CYGHWR_NET_DRIVERS > 1 - # CYGHWR_NET_DRIVERS == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"\"" - # value_source default - # Default value: "\"\"" -}; - -# Initialize only one net device -# This option tells RedBoot to stop initializing network -# devices when it finds the first device which is -# successfully initialized. The default behavior causes -# all network devices to be initialized. -# -cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE { - # This option is not active - # ActiveIf constraint: CYGHWR_NET_DRIVERS > 1 - # CYGHWR_NET_DRIVERS == 1 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Let RedBoot use any I/O channel for its console. -# If this option is enabled then RedBoot will attempt to use all -# defined serial I/O channels for its console device. Once input -# arrives at one of these channels then the console will use only -# that port. -# -cdl_option CYGPKG_REDBOOT_ANY_CONSOLE { - # 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 -}; - -# Let RedBoot adjust the baud rate of the serial console. -# If this option is enabled then RedBoot will support commands -# to set and query the baud rate on the selected console. -# -cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE { - # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT - # CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Run a platform specific startup function. -# If this option is enabled then RedBoot will execute a platform -# specific startup function before entering into its command line -# processing. This allows the platform to perform any special -# setups before RedBoot actually starts running. Note: the entire -# RedBoot environment will already be initialized at this point. -# -cdl_option CYGSEM_REDBOOT_PLF_STARTUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Run a platform specific ESA validation function. -# If this option is enabled then RedBoot will execute a platform -# specific function to validate an ethernet ESA. This would be -# useful if the address must conform to standards set by the -# hardware manufacturer, etc. -# -cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE { - # 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 - # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 - # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI - # ActiveIf: CYGSEM_REDBOOT_PLF_ESA_VALIDATE -}; - -# Maximum command line length -# This option allows control over how long the CLI command line -# should be. This space will be allocated statically -# rather than from RedBoot's stack. -# -cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # The inferred value should not be edited directly. - inferred_value 1024 - # value_source inferred - # Default value: 256 -}; - -# Command processing idle timeout (ms) -# This option controls the timeout period before the -# command processing is considered 'idle'. Making this -# number smaller will cause idle processing to take place -# more often, etc. The default value of 10ms is a reasonable -# tradeoff between responsiveness and overhead. -# -cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# Validate RAM addresses during load -# This option controls whether or not RedBoot will make -# sure that memory being used by the "load" command is -# in fact in user RAM. Leaving the option enabled makes -# for a safer environment, but this check may not be valid -# on all platforms, thus the ability to disable it. -# ** Disable this only with great care ** -# -cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS { - # 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_REDBOOT_LOAD_INTO_FLASH - # Requires: CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS -}; - -# Allow RedBoot to support FLASH programming -# If this option is enabled then RedBoot will provide commands -# to manage images in FLASH memory. These images can be loaded -# into memory for execution or executed in place. -# -cdl_component CYGPKG_REDBOOT_FLASH { - # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE - # CYGHWR_IO_FLASH_DEVICE == 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 CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: CYGPKG_REDBOOT_FLASH - # option CYGBLD_REDBOOT_LOAD_INTO_FLASH - # ActiveIf: CYGPKG_REDBOOT_FLASH -}; - -# > -# Byte order used to store info in flash. -# This option controls the byte ordering used to store -# the FIS directory info and flash config info. -# -cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value NATURAL - # value_source default - # Default value: NATURAL - # Legal values: "NATURAL" "MSBFIRST" "LSBFIRST" -}; - -# RedBoot Flash Image System support -# doc: ref/flash-image-system.html -# This option enables the Flash Image System commands -# and support within RedBoot. If disabled, simple Flash -# access commands such as "fis write" will still exist. -# This option would be disabled for targets that need simple -# FLASH manipulation, but do not have the need or space for -# complete image management. -# -cdl_option CYGOPT_REDBOOT_FIS { - # 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_REDBOOT_FIS_CONTENTS - # ActiveIf: CYGOPT_REDBOOT_FIS - # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # ActiveIf: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS -}; - -# Max number of chunks of free space to manage -# If this option is defined then "fis free" will -# rely on the FIS directory to determine what space is -# free within the FLASH. This option controls the -# maximum number of free segment which can be handled -# (typically this number is small). If this option is -# not enabled, the the archaic behaviour of actually -# scanning the FLASH for erased sectors (unreliable) -# will be used to determine what's free and what's -# not. -# -cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 32 - # value_source default - # Default value: 1 32 -}; - -# Flash Image System default directory contents -# -cdl_component CYGPKG_REDBOOT_FIS_CONTENTS { - # ActiveIf constraint: CYGOPT_REDBOOT_FIS - # CYGOPT_REDBOOT_FIS == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Flash block containing the Directory -# Which block of flash should hold the directory -# information. Positive numbers are absolute block -# numbers. Negative block numbers count backwards -# from the last block. eg 2 means block 2, -2 -# means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK { - # Flavor: data - # 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_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK -}; - -# Redundant Flash Image System Directory Support -# This option enables the use of a redundant FIS -# directory within RedBoot. If enabled a flash block -# will be reserved for a second copy of the fis -# directory. Doing this allow for power failure safe -# updates of the directory by the application. -# -cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG == 1 - # --> 0 -}; - -# > -# Flash block containing the backup Directory -# Which block of flash should hold the redundant -# directory information. Positive numbers are -# absolute block numbers. Negative block numbers -# count backwards from the last block. eg 2 means -# block 2, -2 means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK { - # This option is not active - # The parent CYGOPT_REDBOOT_REDUNDANT_FIS is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -3 - # value_source default - # Default value: -3 - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK - # CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK == 0 - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK == -1 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK -}; - -# < -# Pseudo-file to describe reserved area -# If an area of FLASH is reserved, it is informative to -# have a fis entry describing it. This option controls -# creation of such an entry by default in the fis init -# command. -# -cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE { - # This option is not active - # ActiveIf constraint: 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# File to describe RedBoot boot image -# Normally a ROM-startup RedBoot image is first in the -# FLASH, and the system boots using that image. This -# option controls creation of an entry describing it in -# the fis init command. It might be disabled if a -# platform has an immutable boot image of its own, where -# we use a POST-startup RedBoot instead, which performs -# less board initialization. -# -cdl_option CYGOPT_REDBOOT_FIS_REDBOOT { - # 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 CYGOPT_REDBOOT_FIS_REDBOOT_POST - # DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT - # option CYGBLD_REDBOOT_MIN_IMAGE_SIZE - # DefaultValue: CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 -}; - -# File to describe RedBoot POST-compatible image -# This option controls creation of an entry describing a -# POST-startup RedBoot image in the fis init command. -# Not all platforms support POST-startup. A platform -# might have both for testing purposes, where the -# eventual user would substitute their own POST code for -# the initial ROM-startup RedBoot, and then jump to the -# POST-compatible RedBoot immediately following. -# -cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT - # CYGOPT_REDBOOT_FIS_REDBOOT == 1 - # --> 0 -}; - -# > -# Offset of POST image from FLASH start -# This option specifies the offset for a POST image from -# the start of FLASH. If unset, then the fis entry -# describing the POST image will be placed where -# convenient. -# -cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET { - # This option is not active - # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET -}; - -# < -# File to describe RedBoot backup image -# This option controls creation of an entry describing a -# backup RedBoot image in the fis init command. -# Conventionally a RAM-startup RedBoot image is kept -# under this name for use in updating the ROM-based -# RedBoot that boots the board. -# -cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include ARM SIB ID in FIS -# If set, this option will cause the last 5 words of -# the FIS to include the special ID needed for the -# flash to be recognized as a reserved area for RedBoot -# by an ARM BootRom monitor. -# -cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Size of FIS directory entry -# The FIS directory is limited to one single flash -# sector. If your flash has tiny sectors, you may wish -# to reduce this value in order to get more slots in -# the FIS directory. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: 256 -}; - -# Number of FIS directory entries -# The FIS directory normally occupies a single flash -# sector. Adjusting this value can allow for more than -# one flash sector to be used, which is useful if your -# sectors are very small. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 -}; - -# Maximum RedBoot image size -# This option controls the maximum length reserved -# for the RedBoot boot image in the FIS table. -# This should be a multiple of the flash's erase -# block size. -# -cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00020000 - # The inferred value should not be edited directly. - inferred_value 0x00040000 - # value_source inferred - # Default value: CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 - # CYGOPT_REDBOOT_FIS_REDBOOT == 1 - # --> 0x00020000 -}; - -# Offset from start of FLASH to RedBoot boot image -# This option controls where the RedBoot boot image is -# located relative to the start of FLASH. -# -cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # --> 0 - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # component CYGPKG_HAL_ARM_TX53_OPTIONS - # Requires: CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 -}; - -# Size of reserved area at start of FLASH -# This option reserves an area at the start of -# FLASH where RedBoot will never interfere; it is -# expected that this area contains -# (non-RedBoot-based) POST code or some other boot -# monitor that executes before RedBoot. -# -cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE { - # Flavor: data - # 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 CYGOPT_REDBOOT_FIS_RESERVED_BASE - # ActiveIf: 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET -}; - -# < -# Keep all RedBoot FLASH data blocks locked. -# When this option is enabled, RedBoot will keep configuration -# data and the FIS directory blocks implicitly locked. While -# this is somewhat safer, it does add overhead during updates. -# -cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL { - # This option is not active - # ActiveIf constraint: CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 - # CYGHWR_IO_FLASH_BLOCK_LOCKING == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Use CRC checksums on FIS images. -# When this option is enabled, RedBoot will use CRC checksums -# when reading and writing flash images. -# -cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK { - # 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 -}; - -# ARM FLASH drivers support SIB flash block structure -# This interface is implemented by a flash driver -# to indicate that it supports the ARM SIB flash -# block structure -# -cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED { - # No options implement this inferface - # ActiveIf constraint: CYGPKG_HAL_ARM - # CYGPKG_HAL_ARM == current - # --> 1 - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGHWR_REDBOOT_ARM_FLASH_SIB - # ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED -}; - -# Use ARM SIB flash block structure -# This option is used to interpret ARM Flash System -# information blocks. -# -cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB { - # This option is not active - # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED - # CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Keep RedBoot configuration data in FLASH -# When this option is enabled, RedBoot will keep configuration -# data in a separate block of FLASH memory. This data will -# include such items as the node IP address or startup scripts. -# -cdl_component CYGSEM_REDBOOT_FLASH_CONFIG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_IO_FLASH != 0 - # CYGPKG_IO_FLASH == current - # --> 1 - - # The following properties are affected by this value - # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "255, 255, 255, 0" - # option CYGPKG_REDBOOT_NETWORKING_DNS_IP - # ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG - # option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN - # ActiveIf: CYGSEM_REDBOOT_FLASH_CONFIG - # option CYGFUN_REDBOOT_BOOT_SCRIPT - # ActiveIf: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG -}; - -# > -# Length of configuration data in FLASH -# This option is used to control the amount of memory and FLASH -# to be used for configuration options (persistent storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4096 - # value_source default - # Default value: 4096 -}; - -# Style of media used for persistent data storage -# Persistent data storage can either be held in 'norma' FLASH -# or some other device (represented by the 'EEPROM' choice). -# The different styles utilize different access methods. -# -cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value FLASH - # value_source default - # Default value: FLASH - # Legal values: "FLASH" "EEPROM" - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # ActiveIf: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK - # DefaultValue: (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") -}; - -# Merged config data and FIS directory -# If this option is set, then the FIS directory and FLASH -# configuration database will be stored in the same physical -# FLASH block. -# -cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG { - # ActiveIf constraint: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # CYGOPT_REDBOOT_FIS == 1 - # CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH - # --> 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 CYGOPT_REDBOOT_REDUNDANT_FIS - # Requires: 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG -}; - -# Which block of flash to use -# Which block of flash should hold the configuration -# information. Positive numbers are absolute block numbers. -# Negative block numbers count backwards from the last block. -# eg 2 means block 2, -2 means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -2 - # value_source default - # Default value: -2 -}; - -# Support simple macros/aliases in FLASH -# This option is used to allow support for simple text-based -# macros (aliases). These aliases are kept in the FLASH -# configuration data (persistent storage). -# -cdl_option CYGSEM_REDBOOT_FLASH_ALIASES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Length of strings in FLASH configuration data -# This option is used to control the amount of memory -# and FLASH to be used for string configuration -# options (persistent storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 -}; - -# Length of configuration script(s) in FLASH -# This option is used to control the amount of memory and -# FLASH to be used for configuration options (persistent -# storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 512 - # The inferred value should not be edited directly. - inferred_value 2048 - # value_source inferred - # Default value: 512 -}; - -# Fallback to read-only FLASH configuration -# This option will cause the configuration information to -# revert to the readonly information stored in the FLASH. -# The option only takes effect after -# 1) the config_ok flag has been set to be true, -# indicating that at one time the copy in RAM was valid; -# and -# 2) the information in RAM has been verified to be invalid -# -cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH - # --> 1 -}; - -# < -# Allow RedBoot to support fileio -# If this option is enabled then RedBoot will provide commands -# to load files from fileio file systems such as JFFS2. -# -cdl_component CYGPKG_REDBOOT_FILEIO { - # This option is not active - # ActiveIf constraint: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO (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_REDBOOT_GETC_BUFFER - # DefaultValue: CYGPKG_REDBOOT_FILEIO ? 4096 : 256 -}; - -# > -# Include an ls command -# If this option is enabled a simple ls command will be -# included in redboot so the contents of a directory -# can be listed -# -cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS { - # This option is not active - # The parent CYGPKG_REDBOOT_FILEIO is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Allow RedBoot to support disks -# If this option is enabled then RedBoot will provide commands -# to load disk files. -# -cdl_component CYGPKG_REDBOOT_DISK { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# > -# Include Redboot commands for disk access -# -cdl_option CYGSEM_REDBOOT_DISK { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGINT_REDBOOT_DISK_DRIVERS != 0 - # CYGINT_REDBOOT_DISK_DRIVERS == 0 - # --> 0 -}; - -# Hardware drivers for disk-type devices -# -cdl_interface CYGINT_REDBOOT_DISK_DRIVERS { - # Implemented by CYGSEM_REDBOOT_DISK_IDE, inactive, enabled - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_DISK - # DefaultValue: CYGINT_REDBOOT_DISK_DRIVERS != 0 -}; - -# Maximum number of supported disks -# This option controls the number of disks supported by -# RedBoot. -# -cdl_option CYGNUM_REDBOOT_MAX_DISKS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 -}; - -# Maximum number of partitions per disk -# This option controls the maximum number of supported -# partitions per disk. -# -cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 -}; - -# Support IDE disks. -# When this option is enabled, RedBoot will support IDE disks. -# -cdl_component CYGSEM_REDBOOT_DISK_IDE { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - # ActiveIf constraint: CYGINT_HAL_PLF_IF_IDE != 0 - # CYGINT_HAL_PLF_IF_IDE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Work with VMware virtual disks -# This option controls the disk driver behavior at -# ide-init -# -cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE { - # This option is not active - # The parent CYGSEM_REDBOOT_DISK_IDE is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Support Linux second extended filesystems. -# When this option is enabled, RedBoot will support EXT2 -# filesystems. -# -cdl_component CYGSEM_REDBOOT_DISK_EXT2FS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support ISO9660 filesystems. -# When this option is enabled, RedBoot will support ISO9660 -# filesystems. -# -cdl_component CYGSEM_REDBOOT_DISK_ISO9660 { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Calculated value: 0 - # Flavor: bool - # Current value: 0 -}; - -# < -# Boot scripting -# doc: ref/persistent-state-flash.html -# This contains options related to RedBoot's boot script -# functionality. -# -cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT { - # There is no associated value. -}; - -# > -# Boot scripting enabled -# This option controls whether RedBoot boot script -# functionality is enabled. -# -cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT { - # ActiveIf constraint: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG - # CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0 - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Use default RedBoot boot script -# If enabled, this option will tell RedBoot to use the -# value of this option as a default boot script. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT { - # 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 0 0 - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGFUN_REDBOOT_BOOT_SCRIPT - # ActiveIf: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG -}; - -# Resolution (in ms) for script timeout value. -# This option controls the resolution of the script -# timeout. The value is specified in milliseconds -# (ms), thus to have the script timeout be defined in -# terms of tenths of seconds, use 100. -# -cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1000 - # The inferred value should not be edited directly. - inferred_value 10 - # value_source inferred - # Default value: 1000 -}; - -# Script default timeout value -# This option is used to set the default timeout for startup -# scripts, when they are enabled. -# -cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 10 -}; - -# < -# Support RTC for time & date functions -# When this option is enabled, RedBoot will support commands to -# query and set the real time clock (time and date) -# -cdl_option CYGSEM_REDBOOT_RTC { - # This option is not active - # ActiveIf constraint: CYGPKG_IO_WALLCLOCK - # CYGPKG_IO_WALLCLOCK (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Behave like a ROM monitor -# Enabling this option will allow RedBoot to provide ROM -# monitor-style services to programs which it executes. -# -cdl_option CYGPRI_REDBOOT_ROM_MONITOR { - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # CYG_HAL_STARTUP == ROMRAM - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_HAL_ROM_MONITOR - # CYGSEM_HAL_ROM_MONITOR == 1 - # --> 1 -}; - -# Allow RedBoot to handle GNUPro application 'syscalls'. -# If this option is enabled then RedBoot will install a -# syscall handler to support debugging of applications -# based on GNUPro newlib/bsp. -# -cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS { - # 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 CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS - # option CYGPKG_HAL_GDB_FILEIO - # ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS -}; - -# > -# Support additional syscalls for 'gprof' profiling -# Support additional syscalls to support a periodic callback -# function for histogram-style profiling, and an enquire/set -# of the tick rate. -# The application must use the GNUPro newlib facilities -# to set this up. -# -cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF { - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - # ActiveIf constraint: 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT - # CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Does the HAL support 'gprof' profiling? -# -cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT { - # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF - # ActiveIf: 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT -}; - -# Do not raise SIGTRAP when program exits -# For some (single shot) newlib based programs, -# exiting and returning a termination status may be -# the normal expected behavior. -# -cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP { - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Use a common buffer for Zlib and FIS -# Use a common memory buffer for both the zlib workspace -# and FIS directory operations. This can save a substantial -# amount of RAM, especially when flash sectors are large. -# -cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS - # CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 1 - # CYGOPT_REDBOOT_FIS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Size of Zlib/FIS common buffer -# Size of common buffer to allocate. Must be at least the -# size of one flash sector. -# -cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE { - # This option is not active - # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x0000C000 - # value_source default - # Default value: 0x0000C000 - # Legal values: 0x4000 to 0x80000000 -}; - -# < -# Buffer size in getc when loading images -# When loading images a buffer is used between redboot and the -# underlying storage medium, eg a filesystem, or a socket etc. -# The size of this buffer can have a big impart on load speed. -# -cdl_option CYGNUM_REDBOOT_GETC_BUFFER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: CYGPKG_REDBOOT_FILEIO ? 4096 : 256 - # CYGPKG_REDBOOT_FILEIO == 0 - # --> 256 -}; - -# < -# Redboot for ARM options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_ARM_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Provide the exec command in RedBoot -# This option contains requirements for booting linux -# from RedBoot. The component is enabled/disabled from -# RedBoots CDL. -# -cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC - # CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# Enable -x switch for exec command. -# This option allows bi-endian platforms to launch kernels -# built for an endianess different than the RedBoot endianess -# -cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Physical base address of linux kernel -# This is the physical address of the base of the -# Linux kernel image. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x70108000 - # value_source default - # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT - # CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # --> 0x70108000 -}; - -# Default physical base address of linux kernel -# This is the physical address of the base of the -# Linux kernel image. This option gets set by the -# platform CDL. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00008000 - # The inferred value should not be edited directly. - inferred_value 0x70108000 - # value_source inferred - # Default value: 0x00008000 - - # The following properties are affected by this value - # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS - # DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT - # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS - # Requires: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 -}; - -# Base address of linux kernel parameter tags -# This is the base address of the area of memory used to -# pass parameters to the Linux kernel. This should be chosen -# to avoid overlap with the kernel and any ramdisk image. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00000100 - # value_source default - # Default value: 0x00000100 -}; - -# < -# < -# Redboot HAL options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_HAL_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. -}; - -# > -# Build Redboot ROM binary image -# This option enables the conversion of the Redboot ELF -# image to a binary image suitable for ROM programming. -# -cdl_option CYGBLD_BUILD_REDBOOT_BIN { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT - # CYGBLD_BUILD_REDBOOT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Redboot HAL variant options -# -cdl_component CYGPKG_REDBOOT_HAL_TX53_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. - # Requires: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # --> 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 CYGBLD_BUILD_REDBOOT - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STRING - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_COMPRESS_ZLIB - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_IO_FLASH - # Requires: CYGPKG_ISOINFRA - # 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_I18N - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STDLIB - # 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP - # CYGINT_ISO_MAIN_STARTUP == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_ENVIRON - # CYGINT_ISO_ENVIRON == 0 - # --> 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_HAL_ARM_TX53KARO - # Requires: CYGINT_ISO_CTYPE - # option CYGFUN_LIBC_STRING_BSD_FUNCS - # Requires: CYGINT_ISO_CTYPE - # package CYGPKG_LIBC_STDLIB - # 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 -}; - -# 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 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES - # CYGINT_ISO_STDIO_FILETYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Stdio standard streams implementations -# -cdl_interface CYGINT_ISO_STDIO_STREAMS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS - # CYGINT_ISO_STDIO_STREAMS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file operations -# -cdl_interface CYGINT_ISO_STDIO_FILEOPS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS - # CYGINT_ISO_STDIO_FILEOPS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file access functionals -# -cdl_interface CYGINT_ISO_STDIO_FILEACCESS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEACCESS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio formatted I/O -# -cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FORMATTED_IO - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio character I/O -# -cdl_interface CYGINT_ISO_STDIO_CHAR_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO - # CYGINT_ISO_STDIO_CHAR_IO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio direct I/O -# -cdl_interface CYGINT_ISO_STDIO_DIRECT_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO - # CYGINT_ISO_STDIO_DIRECT_IO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file positioning -# -cdl_interface CYGINT_ISO_STDIO_FILEPOS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEPOS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio error handling -# -cdl_interface CYGINT_ISO_STDIO_ERROR { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_ERROR - # CYGINT_ISO_STDIO_ERROR == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX fd-related function implementations -# -cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS - # CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0 - # --> 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 -}; - -# 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, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT - # Requires: 1 >= 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, disabled - # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, enabled - # 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 - # option CYGFUN_LIBC_STRING_STRDUP - # ActiveIf: 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 0 - # --> 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 -}; - -# 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 -}; - -# 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 -}; - -# 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, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS - # CYGINT_ISO_STRING_BSD_FUNCS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRING_BSD_FUNCS - # Requires: 1 >= 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGINT_ISO_STRING_STRFUNCS - # component CYGPKG_IO_ETH_DRIVERS_NET - # Requires: CYGINT_ISO_STRING_STRFUNCS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_IO_FLASH - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_LIBC_STDLIB - # 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 -}; - -# fnmatch implementation header -# -cdl_option CYGBLD_ISO_FNMATCH_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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_TYPES - # CYGINT_ISO_POSIX_TIMER_TYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX clock types -# -cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES - # CYGINT_ISO_POSIX_CLOCK_TYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of ISO C types -# -cdl_interface CYGINT_ISO_C_TIME_TYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES - # CYGINT_ISO_C_TIME_TYPES == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_C_TIME_TYPES - # Requires: 1 >= 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX timers -# -cdl_interface CYGINT_ISO_POSIX_TIMERS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMERS - # CYGINT_ISO_POSIX_TIMERS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX clocks -# -cdl_interface CYGINT_ISO_POSIX_CLOCKS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCKS - # CYGINT_ISO_POSIX_CLOCKS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of ISO C clock functions -# -cdl_interface CYGINT_ISO_C_CLOCK_FUNCS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS - # CYGINT_ISO_C_CLOCK_FUNCS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_NUMBERS - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# Number of signal implementations -# -cdl_interface CYGINT_ISO_SIGNAL_IMPL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_IMPL - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_POSIX_REALTIME_SIGNALS - # CYGINT_POSIX_REALTIME_SIGNALS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SETJMP - # CYGINT_ISO_SETJMP == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# sigsetjmp() / siglongjmp() implementations -# -cdl_interface CYGINT_ISO_SIGSETJMP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGSETJMP - # CYGINT_ISO_SIGSETJMP == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_FCNTL - # CYGINT_ISO_FCNTL == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_OPEN - # CYGINT_ISO_OPEN == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_DIRENT - # CYGINT_ISO_DIRENT == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX mutex types implementations -# -cdl_interface CYGINT_ISO_PMUTEXTYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 0 - # --> 1 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_BSDTYPES - # CYGINT_ISO_BSDTYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX scheduler -# -cdl_component CYGPKG_ISO_SCHED { - # There is no associated value. -}; - -# > -# POSIX scheduler implementations -# -cdl_interface CYGINT_ISO_SCHED_IMPL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SCHED_IMPL - # CYGINT_ISO_SCHED_IMPL == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SEMAPHORES - # CYGINT_ISO_SEMAPHORES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX message queues -# -cdl_component CYGPKG_ISO_MQUEUE { - # There is no associated value. -}; - -# > -# Implementations -# -cdl_interface CYGINT_ISO_MQUEUE { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 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 { - # This option is not active - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 0 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0 - # --> 0 0 -}; - -# Maximum number of message priorities -# -cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX { - # This option is not active - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 0 - - # 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_PTHREAD_IMPL - # CYGINT_ISO_PTHREAD_IMPL == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX mutex/cond var implementations -# -cdl_interface CYGINT_ISO_PTHREAD_MUTEX { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_PTHREAD_MUTEX - # CYGINT_ISO_PTHREAD_MUTEX == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# Limits -# -cdl_component CYGPKG_ISO_LIMITS { - # There is no associated value. -}; - -# > -# POSIX pthread limits implementations -# -cdl_interface CYGINT_ISO_POSIX_LIMITS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_POSIX_LIMITS - # CYGINT_ISO_POSIX_LIMITS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_TERMIOS - # CYGINT_ISO_TERMIOS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_OPS - # CYGINT_ISO_POSIX_TIMER_OPS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_SLEEP - # CYGINT_ISO_POSIX_SLEEP == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_SELECT - # CYGINT_ISO_SELECT == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_DNS - # CYGINT_ISO_DNS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Protocol network database implementations -# -cdl_interface CYGINT_ISO_NETDB_PROTO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_NETDB_PROTO - # CYGINT_ISO_NETDB_PROTO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Services network database implementations -# -cdl_interface CYGINT_ISO_NETDB_SERV { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_NETDB_SERV - # CYGINT_ISO_NETDB_SERV == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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: "" -}; - -# < -# < -# Compute CRCs -# doc: ref/services-crc.html -# This package provides support for CRC calculation. Currently -# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by -# Gary S. Brown, and a 16 bit CRC. -# -cdl_package CYGPKG_CRC { - # 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_COMPRESS_ZLIB - # Requires: CYGPKG_CRC -}; - -# > -# POSIX CRC tests -# -cdl_option CYGPKG_CRC_TESTS { - # Calculated value: "tests/crc_test" - # Flavor: data - # Current_value: tests/crc_test -}; - -# < -# Zlib compress and decompress package -# This package provides support for compression and -# decompression. -# -cdl_package CYGPKG_COMPRESS_ZLIB { - # 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_CRC - # CYGPKG_CRC == current - # --> 1 - - # The following properties are affected by this value - # component CYGBLD_BUILD_REDBOOT_WITH_ZLIB - # ActiveIf: CYGPKG_COMPRESS_ZLIB -}; - -# > -# Override memory allocation routines. -# -cdl_interface CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC { - # Implemented by CYGBLD_BUILD_REDBOOT_WITH_ZLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC - # ActiveIf: CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 -}; - -# Should deflate() produce 'gzip' compatible output? -# If this option is set then the output of calling deflate() -# will be wrapped up as a 'gzip' compatible file. -# -cdl_option CYGSEM_COMPRESS_ZLIB_DEFLATE_MAKES_GZIP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Does this library need malloc? -# This pseudo-option will force the memalloc library to be -# required iff the application does not provide it's own -# infrastructure. -# -cdl_option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC { - # This option is not active - # ActiveIf constraint: CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 - # CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 1 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_MEMALLOC - # CYGPKG_MEMALLOC == current - # --> 1 -}; - -# Include stdio-like utility functions -# This option enables the stdio-like zlib utility functions -# (gzread/gzwrite and friends) provided in gzio.c. -# -cdl_option CYGFUN_COMPRESS_ZLIB_GZIO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGPKG_LIBC_STDIO_OPEN ? 1 : 0 - # CYGPKG_LIBC_STDIO_OPEN (unknown) == 0 - # --> 0 - # Requires: CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 0 - # --> 0 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 0 - # --> 0 - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 0 - # --> 0 -}; - -# Zlib compress and decompress 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_COMPRESS_ZLIB_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_COMPRESS_ZLIB_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-D__ECOS__ -DNO_ERRNO_H" - # value_source default - # Default value: "-D__ECOS__ -DNO_ERRNO_H" -}; - -# 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_COMPRESS_ZLIB_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wstrict-prototypes - # value_source default - # Default value: -Wstrict-prototypes -}; - -# 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_COMPRESS_ZLIB_LDFLAGS_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_COMPRESS_ZLIB_LDFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# zlib tests -# -cdl_option CYGPKG_COMPRESS_ZLIB_TESTS { - # Calculated value: "tests/zlib1.c tests/zlib2.c" - # Flavor: data - # Current_value: tests/zlib1.c tests/zlib2.c -}; - -# < -# FLASH device drivers -# doc: ref/flash.html -# This option enables drivers for basic I/O services on -# flash devices. -# -cdl_package CYGPKG_IO_FLASH { - # 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_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGSEM_REDBOOT_FLASH_CONFIG - # DefaultValue: CYGPKG_IO_FLASH != 0 - # package CYGPKG_DEVS_FLASH_ONMXC - # ActiveIf: CYGPKG_IO_FLASH -}; - -# > -# Hardware FLASH device drivers -# This option enables the hardware device drivers -# for the current platform. -# -cdl_interface CYGHWR_IO_FLASH_DEVICE { - # Implemented by CYGPKG_DEVS_FLASH_ONMXC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # component CYGPKG_REDBOOT_FLASH - # ActiveIf: CYGHWR_IO_FLASH_DEVICE -}; - -# Hardware FLASH device drivers are not in RAM -# Use of this interface is deprecated. -# Drivers should make sure that the functions are -# linked to RAM by putting them in .2ram sections. -# -cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM - # CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM - # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM -}; - -# Hardware can support block locking -# This option will be enabled by devices which can support -# locking (write-protection) of individual blocks. -# -cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING { - # 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 - # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL - # ActiveIf: CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 -}; - -# Hardware cannot support direct access to FLASH memory -# This option will be asserted by devices which cannot support -# direct access to the FLASH memory contents (e.g. EEPROM or NAND -# devices). In these cases, the driver must provide an appropriate -# hardware access function. -# -cdl_option CYGSEM_IO_FLASH_READ_INDIRECT { - # 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 - # Requires: !CYGSEM_IO_FLASH_VERIFY_PROGRAM - # CYGSEM_IO_FLASH_VERIFY_PROGRAM == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE - # component CYGHWR_DEVS_FLASH_MMC - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MMC_ESDHC - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MMC_SD - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MXC_NAND - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 -}; - -# Display status messages during flash operations -# Selecting this option will cause the drivers to print status -# messages as various flash operations are undertaken. -# -cdl_option CYGSEM_IO_FLASH_CHATTER { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Verify data programmed to flash -# Selecting this option will cause verification of data -# programmed to flash. -# -cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM { - # 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 - - # The following properties are affected by this value - # option CYGSEM_IO_FLASH_READ_INDIRECT - # Requires: !CYGSEM_IO_FLASH_VERIFY_PROGRAM -}; - -# Platform has flash soft DIP switch write-protect -# Selecting this option will cause the state of a hardware jumper or -# dipswitch to be read by software to determine whether the flash is -# write-protected or not. -# -cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Instantiate in I/O block device API -# Provides a block device accessible using the standard I/O -# API ( cyg_io_read() etc. ) -# -cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE { - # This option is not active - # ActiveIf constraint: CYGPKG_IO - # CYGPKG_IO (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Name of flash device 1 block device -# -cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 { - # This option is not active - # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active - # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/flash1\"" - # value_source default - # Default value: "\"/dev/flash1\"" -}; - -# > -# -cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_1 { - # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1, inactive, enabled - # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1, inactive, disabled - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1 - # CYGINT_IO_FLASH_BLOCK_CFG_1 == 0 - # --> 0 - - # The following properties are affected by this value - # interface CYGINT_IO_FLASH_BLOCK_CFG_1 - # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1 -}; - -# Static configuration -# This configures the flash device 1 block device -# with static base and length -# -cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 { - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Start offset from flash base -# This gives the offset from the base of flash which this -# block device corresponds to. -# -cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# Length -# This gives the length of the region of flash given over -# to this block device. -# -cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# Configuration from FIS -# This configures the flash device 1 block device -# from Redboot FIS -# -cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 { - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Name of FIS entry -# -cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"jffs2\"" - # value_source default - # Default value: "\"jffs2\"" -}; - -# < -# < -# < -# Flash 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_FLASH_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the flash device drivers. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_FLASH_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 flash device drivers. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Flash device driver tests -# This option specifies the set of tests for the flash device drivers. -# -cdl_component CYGPKG_IO_FLASH_TESTS { - # Calculated value: "tests/flash1" - # Flavor: data - # Current_value: tests/flash1 -}; - -# > -# Start offset from flash base -# This gives the offset from the base of flash where tests -# can be run. It is important to set this correctly, as an -# incorrect value could allow the tests to write over critical -# portions of the FLASH device and possibly render the target -# board totally non-functional. -# -cdl_option CYGNUM_IO_FLASH_TEST_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# Length -# This gives the length of the region of flash used for testing. -# -cdl_option CYGNUM_IO_FLASH_TEST_LENGTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# < -# Support FLASH memory on Freescale MXC platforms -# -cdl_package CYGPKG_DEVS_FLASH_ONMXC { - # 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_FLASH - # CYGPKG_IO_FLASH == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# MXC platform MMC card support -# When this option is enabled, it indicates MMC card is -# supported on the MXC platforms -# -cdl_component CYGHWR_DEVS_FLASH_MMC { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) -}; - -# > -# MXC platform MMC card for newer SDHC controllers -# -cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC { - # This option is not active - # The parent CYGHWR_DEVS_FLASH_MMC is disabled - # ActiveIf constraint: CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - # CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX37 (unknown) == 0 - # CYGPKG_HAL_ARM_MX35 (unknown) == 0 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX51 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 -}; - -# MXC platform MMC card for older MMC/SD controllers -# -cdl_option CYGHWR_DEVS_FLASH_MMC_SD { - # This option is not active - # The parent CYGHWR_DEVS_FLASH_MMC is disabled - # ActiveIf constraint: CYGPKG_HAL_ARM_MX31_3STACK || CYGPKG_HAL_ARM_MX31ADS - # CYGPKG_HAL_ARM_MX31_3STACK (unknown) == 0 - # CYGPKG_HAL_ARM_MX31ADS (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: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 -}; - -# < -# MXC platform NOR flash memory support -# When this option is enabled, it indicates NOR flash is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_NOR { - # 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 0 - # value_source inferred - # Default value: 0 - - # The following properties are affected by this value - # option CYGHWR_DEVS_FLASH_IMX_SPI_NOR - # Requires: CYGHWR_DEVS_FLASH_MXC_NOR == 1 - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) -}; - -# MXC platform NAND flash memory support -# When this option is enabled, it indicates NAND flash is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_NAND { - # 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 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH - # ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND - # ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND -}; - -# i.MX platform SPI NOR flash memory support -# When this option is enabled, it indicates SPI NOR flash is -# supported on the i.MX platforms -# -cdl_option CYGHWR_DEVS_FLASH_IMX_SPI_NOR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGHWR_DEVS_FLASH_MXC_NOR == 1 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # --> 0 -}; - -# MXC platform ATA support -# When this option is enabled, it indicates ATA is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_ATA { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Use a flash based Bad Block Table -# -cdl_component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH { - # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# When this option is enabled, the driver will search for a flash -# based bad block table -# -cdl_option CYGHWR_DEVS_FLASH_MXC_BBT_IN_FLASH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# header file defining the NAND BBT descriptor -# defines the name of the header file that describes the BBT layout -# -cdl_component CYGHWR_FLASH_NAND_BBT_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 -}; - -# Number of blocks to reserve for BBT -# Number of blocks to reserve for BBT -# -cdl_option CYGNUM_FLASH_NAND_BBT_BLOCKS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 -}; - -# < -# MXC platform multi flash memory support -# When this option is enabled, it indicates multi flashes are -# supported on the MXC platforms (like NAND and NOR) -# -cdl_option CYGHWR_DEVS_FLASH_MXC_MULTI { - # This option is not active - # ActiveIf constraint: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # CYGHWR_DEVS_FLASH_MMC == 0 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # CYGHWR_DEVS_FLASH_MMC == 0 - # --> 0 - - # 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 -}; - -# MXC platform NAND flash reset workaround support -# When this option is enabled, it indicates 0xFFFF is used for -# the NAND reset command instead of 0xFF. -# -cdl_interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND { - # No options implement this inferface - # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# < -# < -# Dynamic memory allocation -# doc: ref/memalloc.html -# 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 - - # The following properties are affected by this value - # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC - # Requires: CYGPKG_MEMALLOC -}; - -# > -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 0 - # value_source default - # Default value: 0 != CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 - # Requires: CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 -}; - -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (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_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# 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 memmove() and memset() -# This may be used to control whether memset() and memmove() -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGFUN_KERNEL_API_C - # CYGFUN_KERNEL_API_C (unknown) == 0 - # --> 0 -}; - -# 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 -}; - -# Use external implementation of joining multiple heaps -# The default implementation of joining multiple heaps -# is fine for the case where there are multiple disjoint -# memory regions of the same type. However, in a system -# there might be e.g. a small amount of internal SRAM and -# a large amount of external DRAM. The SRAM is faster and -# the DRAM is slower. An application can implement some -# heuristic to choose which pool to allocate from. This -# heuristic can be highly application specific. -# -cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_JOIN_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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# 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 -}; - -# > -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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: "" -}; - -# < -# < -# I2C driver for FSL MXC-based platforms -# -cdl_package CYGPKG_DEVS_MXC_I2C { - # 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 -}; - -# ipu driver for mxc -# -cdl_package CYGPKG_DEVS_IMX_IPU { - # 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 CYGHWR_MX53_LCD_LOGO - # ActiveIf: CYGPKG_DEVS_IMX_IPU -}; - -# > -# IPU version 3EX support -# When this option is enabled, it indicates the IPU version -# is 3EX -# -cdl_option CYGHWR_DEVS_IPU_3_EX { - # 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 -}; - -# IPU version 3D support -# When this option is enabled, it indicates the IPU version -# is 3D -# -cdl_option CYGHWR_DEVS_IPU_3_D { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < - diff --git a/config/TX53-8x31.ecc b/config/TX53-8x31.ecc deleted file mode 100644 index 7b83ce56..00000000 --- a/config/TX53-8x31.ecc +++ /dev/null @@ -1,10425 +0,0 @@ -# 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 tx53karo ; - template redboot ; - package -hardware CYGPKG_HAL_ARM current ; - package -hardware CYGPKG_HAL_ARM_MX53 current ; - package -hardware CYGPKG_HAL_ARM_TX53KARO current ; - package -template CYGPKG_HAL current ; - package -template CYGPKG_INFRA current ; - package -template CYGPKG_REDBOOT current ; - package -template CYGPKG_ISOINFRA current ; - package -template CYGPKG_LIBC_STRING current ; - package -template CYGPKG_CRC current ; - package -hardware CYGPKG_IO_ETH_DRIVERS current ; - package -hardware CYGPKG_DEVS_ETH_ARM_TX53 current ; - package -hardware CYGPKG_DEVS_ETH_FEC current ; - package -hardware CYGPKG_COMPRESS_ZLIB current ; - package -hardware CYGPKG_IO_FLASH current ; - package -hardware CYGPKG_DEVS_FLASH_ONMXC current ; - package -template CYGPKG_MEMALLOC current ; - package -template CYGPKG_DEVS_ETH_PHY current ; - package -template CYGPKG_LIBC_I18N current ; - package -template CYGPKG_LIBC_STDLIB current ; - package -template CYGPKG_ERROR current ; - package -hardware CYGPKG_DEVS_MXC_I2C current ; - package -hardware CYGPKG_DEVS_IMX_IPU 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 - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu -}; - -# 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 - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 - # --> 1 - - # 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 "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" - # value_source default - # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" -}; - -# 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 -}; - -# < -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# 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 - # component CYGPKG_REDBOOT_NETWORKING - # ActiveIf: CYGPKG_IO_ETH_DRIVERS - # package CYGPKG_DEVS_ETH_ARM_TX53 - # ActiveIf: CYGPKG_IO_ETH_DRIVERS - # package CYGPKG_DEVS_ETH_FEC - # 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_FEC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE - # ActiveIf: CYGHWR_NET_DRIVERS > 1 - # option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE - # ActiveIf: CYGHWR_NET_DRIVERS > 1 -}; - -# Driver supports multicast addressing -# This interface defines whether or not a driver can handle -# requests for multicast addressing. -# -cdl_interface CYGINT_IO_ETH_MULTICAST { - # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_NET - # CYGPKG_NET (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: 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 { - # This option is not active - # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active - - # 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 { - # This option is not active - # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active - - # 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 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 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 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 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 { - # ActiveIf constraint: !CYGPKG_NET - # CYGPKG_NET (unknown) == 0 - # --> 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_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 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_REDBOOT_NETWORKING - # CYGPKG_REDBOOT_NETWORKING == 1 - # --> 1 -}; - -# 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 { - # 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 { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # 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 (unknown) == 0 - # --> 1 -}; - -# 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, inactive, enabled - # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # 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" -}; - -# < -# Ethernet driver for Ka-Ro electronics TX53 processor module -# -cdl_package CYGPKG_DEVS_ETH_ARM_TX53 { - # 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 -}; - -# > -# FEC ethernet driver required -# -cdl_interface CYGINT_DEVS_ETH_FEC_REQUIRED { - # Implemented by CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # package CYGPKG_DEVS_ETH_FEC - # ActiveIf: CYGINT_DEVS_ETH_FEC_REQUIRED -}; - -# Ka-Ro TX53 ethernet port driver -# This option includes the ethernet device driver for the -# MXC Board port. -# -cdl_component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1 - # --> 1 - # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700 - # CYGHWR_DEVS_ETH_PHY_LAN8700 == 1 - # --> 1 -}; - -# > -# Device name for the ETH0 ethernet driver -# This option sets the name of the ethernet device. -# -cdl_option CYGDAT_DEVS_ETH_ARM_MXCBOARD_ETH0_NAME { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"eth0\"" - # value_source default - # Default value: "\"eth0\"" -}; - -# OUI part of MAC address -# This option sets OUI part (manufacturer ID) of the MAC address -# for validation. -# -cdl_option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI { - # ActiveIf constraint: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # CYGSEM_REDBOOT_PLF_ESA_VALIDATE == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{ 0x00, 0x0c, 0xc6 }" - # value_source default - # Default value: "{ 0x00, 0x0c, 0xc6 }" -}; - -# < -# < -# Driver for fast ethernet controller. -# Driver for fast ethernet controller. -# -cdl_package CYGPKG_DEVS_ETH_FEC { - # 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: CYGINT_DEVS_ETH_FEC_REQUIRED - # CYGINT_DEVS_ETH_FEC_REQUIRED == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# MXC FEC ethernet driver build options -# -cdl_component CYGPKG_DEVS_ETH_FEC_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the Cirrus Logic ethernet driver package. -# These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_DEVS_ETH_FEC_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" -}; - -# < -# MXC FEC MII Gasket for RMII mode -# This option enables the use of the MII Gasket for -# RMII mode found in i.MX25 and i.MX53 processors. -# -cdl_option CYGOPT_HAL_ARM_MXC_FEC_MIIGSK { - # ActiveIf constraint: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Ethernet transceiver (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 -}; - -# > -# Enable driver debugging -# Enables the diagnostic debug messages on the -# console device. -# -cdl_option CYGDBG_DEVS_ETH_PHY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 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 -}; - -# 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 -}; - -# Intel LXT972 -# Include support for Intel LXT972xxx PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_INLXT972 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1890 -# Include support for ICS 1890 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1890 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1892 -# Include support for ICS 1892 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1892 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# ICS 1893 -# Include support for ICS 1893 and 1893AF PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_ICS1893 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Davicom DM9161A -# Include support for the Davicom DM9161A PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_DM9161A { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Micrel KS8721 -# Include support for the Micrel KS8721 PHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_KS8721 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# SMSC LAN8700 -# Include support for SMSC LAN8700 NetPHY -# -cdl_option CYGHWR_DEVS_ETH_PHY_LAN8700 { - # 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 - # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 - # Requires: CYGHWR_DEVS_ETH_PHY_LAN8700 -}; - -# < -# < -# 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 -}; - -# > -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA != 0 - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 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 (unknown) == 0 - # --> 0 -}; - -# 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 - user_value 0 - # value_source user - # 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 - user_value 1 - # value_source user - # 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 0 - # value_source default - # Default value: 0 != CYGPKG_LIBM - # CYGPKG_LIBM (unknown) == 0 - # --> 0 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM (unknown) == 0 - # --> 0 -}; - -# 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 - user_value 0 - # value_source user - # Default value: 1 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# < -# 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 0 - # value_source default - # Default value: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# 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 0 - # value_source default - # Default value: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0 - # --> 0 - # Requires: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0 - # --> 0 -}; - -# 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 (unknown) == 0 - # --> 0 -}; - -# 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 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # 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 { - # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0 - # --> 1 - # ActiveIf constraint: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG - # CYGPKG_HAL_ARM == current - # 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 0 - # 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 == ROMRAM - # --> 0 - - # 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 disabled - - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 1 - - # The following properties are affected by this value - # package CYGPKG_REDBOOT - # Requires: CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 -}; - -# 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 32768 - # value_source default - # Default value: CYGPKG_KERNEL ? 4096 : 32768 - # CYGPKG_KERNEL (unknown) == 0 - # --> 32768 - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 - # component CYGBLD_BUILD_REDBOOT - # 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 -}; - -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # value_source default - # Default value: COPYBACK - # Legal values: "COPYBACK" "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_ARM_TX53KARO, 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 - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 0 - # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0 - # --> 1 - # Requires: !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS - # CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1 - # --> 1 - - # 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 CYGHWR_HAL_ARM_DUMP_EXCEPTIONS - # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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_ARM_TX53KARO, 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 CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # option CYGBLD_BUILD_REDBOOT_WITH_GDB - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - # 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 - - # The following properties are affected by this value - # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # component CYGBLD_BUILD_REDBOOT - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT -}; - -# 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 == 1 - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 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 CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # option CYGBLD_BUILD_REDBOOT_WITH_THREADS - # 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_ARM_TX53KARO, 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 { - # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE - # ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT -}; - -# 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 - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1 - # --> 0 - - # 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 == 1 - # Flavor: bool - # Current value: 1 - - # 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 == 0 - # CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0 - # Flavor: bool - # Current value: 1 - - # 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 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR - # CYG_HAL_STARTUP == ROMRAM - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # 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 == 1 - # --> 1 - - # 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 { - # This option is not active - # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1 - # --> 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_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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 1 - # value_source default - # Default value: CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE - # CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1 - # --> 1 -}; - -# 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 == 1 - # CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0 - # --> 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 1 - # 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 == 1 - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 1 - - # 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 -}; - -# < -# 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 TX53 module, 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 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # CYG_HAL_STARTUP == ROMRAM - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) - # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # option CYGPRI_REDBOOT_ROM_MONITOR - # Requires: CYGSEM_HAL_ROM_MONITOR -}; - -# Work with a ROM monitor -# Support can be enabled for different varieties of ROM monitor. -# This support changes various eCos semantics such as the encoding -# of diagnostic output, or the overriding of hardware interrupt -# vectors. -# Firstly there is "Generic" support which prevents the HAL -# from overriding the hardware vectors that it does not use, to -# instead allow an installed ROM monitor to handle them. This is -# the most basic support which is likely to be common to most -# implementations of ROM monitor. -# "GDB_stubs" provides support when GDB stubs are included in -# the ROM monitor or boot ROM. -# -cdl_option CYGSEM_HAL_USE_ROM_MONITOR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 - # CYG_HAL_STARTUP == ROMRAM - # --> 0 0 - # Legal values: "Generic" "GDB_stubs" - # Requires: CYG_HAL_STARTUP == "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 0 - - # The following properties are affected by this value - # 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 -}; - -# < -# 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 - - # The following properties are affected by this value - # component CYGSEM_REDBOOT_DISK_IDE - # ActiveIf: CYGINT_HAL_PLF_IF_IDE != 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 == 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 (unknown) == 0 - # Flavor: data - # Current_value: tests/context tests/basic tests/cache tests/intr -}; - -# > -# 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" : "") -}; - -# < -# ARM architecture -# The ARM 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_ARM { - # 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 CYGDBG_HAL_DIAG_TO_DEBUG_CHAN - # ActiveIf: CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG - # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED - # ActiveIf: CYGPKG_HAL_ARM -}; - -# > -# The CPU architecture supports THUMB mode -# -cdl_interface CYGINT_HAL_ARM_THUMB_ARCH { - # 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 CYGHWR_THUMB - # ActiveIf: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # ActiveIf: CYGINT_HAL_ARM_THUMB_ARCH != 0 -}; - -# Enable Thumb instruction set -# Enable use of the Thumb instruction set. -# -cdl_option CYGHWR_THUMB { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # CYGINT_HAL_ARM_THUMB_ARCH == 0 - # --> 0 - - # 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 CYGBLD_ARM_ENABLE_THUMB_INTERWORK - # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) -}; - -# Enable Thumb interworking compiler option -# This option controls the use of -mthumb-interwork in the -# compiler flags. It defaults enabled in Thumb or ROM monitor -# configurations, but can be overridden for reduced memory -# footprint where interworking is not a requirement. -# -cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_THUMB_ARCH != 0 - # CYGINT_HAL_ARM_THUMB_ARCH == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) - # CYGHWR_THUMB == 0 - # CYGSEM_HAL_ROM_MONITOR == 1 - # --> 1 -}; - -# The platform and architecture supports Big Endian operation -# -cdl_interface CYGINT_HAL_ARM_BIGENDIAN { - # 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 CYGHWR_HAL_ARM_BIGENDIAN - # ActiveIf: CYGINT_HAL_ARM_BIGENDIAN != 0 -}; - -# Use big-endian mode -# Use the CPU in big-endian mode. -# -cdl_option CYGHWR_HAL_ARM_BIGENDIAN { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_ARM_BIGENDIAN != 0 - # CYGINT_HAL_ARM_BIGENDIAN == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# The platform uses a processor with an ARM7 core -# -cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with an ARM9 core -# -cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 { - # Implemented by CYGPKG_HAL_ARM_MX53, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with a StrongARM core -# -cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# The platform uses a processor with a XScale core -# -cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE { - # 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 CYGHWR_HAL_ARM_CPU_FAMILY - # LegalValues: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # option CYGHWR_HAL_ARM_CPU_FAMILY - # DefaultValue: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" -}; - -# ARM CPU family -# It is possible to optimize code for different -# ARM CPU families. This option selects which CPU to -# optimize for on boards that support multiple CPU types. -# -cdl_option CYGHWR_HAL_ARM_CPU_FAMILY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value ARM9 - # value_source default - # Default value: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : - # "unknown" - # CYGINT_HAL_ARM_ARCH_ARM7 == 0 - # CYGINT_HAL_ARM_ARCH_ARM9 == 1 - # CYGINT_HAL_ARM_ARCH_STRONGARM == 0 - # CYGINT_HAL_ARM_ARCH_XSCALE == 0 - # --> ARM9 - # Legal values: (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : "" - # (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : "" - # (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : "" - # (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : "" - # "" - # CYGINT_HAL_ARM_ARCH_ARM7 == 0 - # CYGINT_HAL_ARM_ARCH_ARM9 == 1 - # CYGINT_HAL_ARM_ARCH_STRONGARM == 0 - # CYGINT_HAL_ARM_ARCH_XSCALE == 0 -}; - -# Provide diagnostic dump for exceptions -# Print messages about hardware exceptions, including -# raw exception frame dump and register contents. -# -cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS { - # 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 - # --> 1 -}; - -# Process all exceptions with the eCos application -# Normal RAM-based programs which do not include GDB stubs -# defer processing of the illegal instruction exception to GDB. -# Setting this options allows the program to explicitly handle -# the illegal instruction exception itself. Note: this will -# prevent the use of GDB to debug the application as breakpoints -# will no longer work. -# -cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support GDB thread operations via ICE/Multi-ICE -# Allow GDB to get thread information via the ICE/Multi-ICE -# connection. -# -cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT { - # 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 - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 - # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0 - # --> 0 -}; - -# Support for 'gprof' callbacks -# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot -# to acquire the interrupt-context PC and SP, when this option is -# active. -# -cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS - # CYGSEM_REDBOOT_BSP_SYSCALLS == 0 - # --> 0 - # ActiveIf constraint: CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Accept exceptions and irq's occurring in user mode -# For standalone Redboot based programs running in user mode. -# -cdl_option CYGOPT_HAL_ARM_WITH_USER_MODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Preserve svc spsr before returning to svc mode -# This option secures exception and breakpoint processing -# triggered during execution of application specific SWI -# handlers. -# -cdl_option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Linker script -# -cdl_option CYGBLD_LINKER_SCRIPT { - # Calculated value: "src/arm.ld" - # Flavor: data - # Current_value: src/arm.ld -}; - -# Implementations of hal_arm_mem_real_region_top() -# -cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Freescale SoC architecture -# This HAL variant package provides generic -# support for the Freescale SoC. It is also -# necessary to select a specific target platform HAL -# package. -# -cdl_package CYGPKG_HAL_ARM_MX53 { - # 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 CYGOPT_HAL_ARM_MXC_FEC_MIIGSK - # ActiveIf: CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX53 - # option CYGHWR_DEVS_FLASH_MMC_ESDHC - # ActiveIf: CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - # CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 || CYGPKG_HAL_ARM_MX53 -}; - -# > -# Processor clock rate -# The processor can run at various frequencies. -# These values are expressed in KHz. Note that there are -# several steppings of the rate to run at different -# maximum frequencies. Check the specs to make sure that your -# particular processor can run at the rate you select here. -# -cdl_option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK { - # This option is not active - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" - # CYG_HAL_STARTUP == ROMRAM - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 150000 - # value_source default - # Default value: CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT ? - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT : 150000 - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0 - # CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0 - # --> 150000 - # Legal values: 150000 200000 -}; - -# Real-time clock constants -# -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 -# This option selects the heartbeat rate for the real-time clock. -# The rate is specified in ticks per second. Change this value -# with caution - too high and your system will become saturated -# just handling clock interrupts, too low and some operations -# such as thread scheduling may become sluggish. -# -cdl_option CYGNUM_HAL_RTC_DENOMINATOR { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 - - # The following properties are affected by this value - # option CYGNUM_HAL_RTC_PERIOD - # Calculated: (3686400/CYGNUM_HAL_RTC_DENOMINATOR) -}; - -# Real-time clock period -# -cdl_option CYGNUM_HAL_RTC_PERIOD { - # Calculated value: (3686400/CYGNUM_HAL_RTC_DENOMINATOR) - # CYGNUM_HAL_RTC_DENOMINATOR == 100 - # Flavor: data - # Current_value: 36864 -}; - -# < -# UART1 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART1 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART2 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART2 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART3 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART3 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART4 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART4 { - # Implemented by CYGPKG_HAL_ARM_TX53KARO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# UART5 available as diagnostic/debug channel -# The chip has multiple serial channels which may be -# used for different things on different platforms. This -# interface allows a platform to indicate that the specified -# serial port can be used as a diagnostic and/or debug channel. -# -cdl_interface CYGHWR_HAL_ARM_SOC_UART5 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Ka-Ro TX53 module -# This HAL platform package provides generic -# support for the Ka-Ro electronics TX53 module. -# -cdl_package CYGPKG_HAL_ARM_TX53KARO { - # 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: CYGINT_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 - # Requires: CYGBLD_BUILD_REDBOOT == 1 - # CYGBLD_BUILD_REDBOOT == 1 - # --> 1 -}; - -# > -# Startup type -# The only startup type allowed is ROMRAM, since this will allow -# the program to exist in ROM, but be copied to RAM during startup -# which is required to boot from NAND flash. -# -cdl_component CYG_HAL_STARTUP { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value ROMRAM - # value_source default - # Default value: ROMRAM - # Legal values: "ROMRAM" "RAM" - - # The following properties are affected by this value - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGSEM_HAL_USE_ROM_MONITOR - # DefaultValue: CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 - # option CYGSEM_HAL_USE_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "RAM" - # option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK - # ActiveIf: CYG_HAL_STARTUP == "ROM" - # 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 - # option CYGBLD_BUILD_REDBOOT_WITH_THREADS - # ActiveIf: CYG_HAL_STARTUP != "RAM" - # option CYGPRI_REDBOOT_ROM_MONITOR - # ActiveIf: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # option CYGPRI_REDBOOT_ROM_MONITOR - # ActiveIf: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" -}; - -# Diagnostic serial port baud rate -# This option selects the baud rate used for the console port. -# Note: this should match the value chosen for the GDB port if the -# console and GDB port are the same. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 115200 - # value_source default - # Default value: 115200 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# GDB serial port baud rate -# This option selects the baud rate used for the GDB port. -# Note: this should match the value chosen for the console port if the -# console and GDB port are the same. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 115200 - # value_source default - # Default value: 115200 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# Number of communication channels on the TX53 -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS { - # Calculated value: 5 - # Flavor: data - # Current_value: 5 - - # 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_DEFAULT - # 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 -}; - -# Debug serial port -# The TX53 provides access to five serial ports. This option -# chooses which port will be used to connect to a host -# running GDB. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL { - # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE - # CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 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_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 -}; - -# Default console channel. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT { - # Calculated value: 0 - # Flavor: data - # Current_value: 0 - # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 - - # The following properties are affected by this value - # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL - # DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT -}; - -# Console serial port -# The TX53 provides access to three serial ports. This option -# chooses which port will be used for console output. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL { - # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE - # CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT - # CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT == 0 - # --> 0 - # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1 - # CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 5 -}; - -# Ka-Ro electronics TX53 module 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_ARM_TX53_OPTIONS { - # There is no associated value. - # Requires: CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 -}; - -# > -# SDRAM DDR type -# This option specifies the SDRAM type of the TX53 module. -# Valid options are '2' for DDR2 and '3' for DDR3. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_TYPE { - # Flavor: data - user_value 3 - # value_source user - # Default value: 2 - # Legal values: 2 3 - - # The following properties are affected by this value - # component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 -}; - -# SDRAM size -# This option specifies the SDRAM size of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_SIZE { - # Flavor: data - user_value 0x40000000 - # value_source user - # Default value: 0x20000000 - # Legal values: 0x40000000 0x20000000 -}; - -# CPU clock -# This option specifies the CPU clock in MHz of the TX51 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_CPU_CLK { - # Flavor: data - user_value 800 - # value_source user - # Default value: 1000 - # Legal values: 800 1000 -}; - -# Enable low level debugging with LED -# This option enables low level debugging by blink codes -# of the LED on STK5. -# -cdl_option CYGOPT_HAL_ARM_TX53_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: false - # false (unknown) == 0 - # --> 0 -}; - -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the TX53 HAL. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_HAL_ARM_TX53_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 TX53 HAL. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_HAL_ARM_TX53_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Show a splash screen from the FIS partition: 'logo' -# When this option is enabled, RedBoot will look for a flash partition -# named 'logo' and display the contents of this partition as initial -# screen on the LCD -# -cdl_option CYGHWR_MX53_LCD_LOGO { - # ActiveIf constraint: CYGPKG_DEVS_IMX_IPU - # CYGPKG_DEVS_IMX_IPU == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Options for DDR2 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS { - # This option is not active - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # --> 0 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR2_CLK { - # This option is not active - # The parent CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 400 - # value_source default - # Default value: 400 - # Legal values: 216 266 333 400 -}; - -# < -# Options for DDR3 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS { - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # --> 1 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR3_CLK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 333 - # value_source default - # Default value: 333 - # Legal values: 333 -}; - -# < -# Memory layout -# -cdl_component CYGHWR_MEMORY_LAYOUT { - # Calculated value: "arm_tx53_romram" - # Flavor: data - # Current_value: arm_tx53_romram -}; - -# > -# Memory layout linker script fragment -# -cdl_option CYGHWR_MEMORY_LAYOUT_LDI { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# Memory layout header file -# -cdl_option CYGHWR_MEMORY_LAYOUT_H { - # Calculated value: "" - # Flavor: data - # Current_value: -}; - -# < -# < -# < -# < -# < -# 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # 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_INFRA_EMPTY_DELETE_THRESHOLD - # ActiveIf: CYGPKG_INFRA_DEBUG -}; - -# > -# 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 == 0 - # --> 0 - - # The following properties are affected by this value - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS is not active - - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS is not active - - # 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS 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 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 { - # This option is not active - # The parent CYGDBG_USE_ASSERTS 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 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 == 0 - # --> 0 - - # 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 -}; - -# > -# 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 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 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, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled - # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Fancy output -# An output module which produces fancy output -# from tracing and assertion events. -# -cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 - # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER 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 { - # This option is not active - # The parent CYGPKG_INFRA_DEBUG is disabled - - # 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 -}; - -# Threshold for valid number of delete calls -# Some users don't know about the empty delete function and then -# wonder why their C++ classes are leaking memory. If -# INFRA_DEBUG is enabled we keep a counter for the number of -# times delete is called. If it goes above this threshold we throw -# an assertion failure. This should point heavy users of -# delete in the right direction without upsetting those who want -# an empty delete function. -# -cdl_option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD { - # This option is not active - # ActiveIf constraint: CYGPKG_INFRA_DEBUG - # CYGPKG_INFRA_DEBUG == 0 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 -}; - -# 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 1 - # value_source default - # Default value: CYGINT_ISO_EXIT == 0 - # CYGINT_ISO_EXIT == 0 - # --> 1 - # Requires: !CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 0 - # --> 1 -}; - -# 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 - user_value 1 - # value_source user - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_GLOBAL_CFLAGS - # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS -}; - -# 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 - user_value 1 - # value_source user - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # --> 1 -}; - -# 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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 tests/diag_sprintf1 tests/diag_sprintf2" - # Flavor: data - # Current_value: tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2 -}; - -# > -# 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 -}; - -# < -# < -# < -# Redboot ROM monitor -# doc: ref/redboot.html -# This package supports the Redboot [stand-alone debug monitor] -# using eCos as the underlying board support mechanism. -# -cdl_package CYGPKG_REDBOOT { - # 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: CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 - # CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_REDBOOT_ARM_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # component CYGPKG_REDBOOT_HAL_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS - # ActiveIf: CYGPKG_REDBOOT - # option CYGSEM_IO_ETH_DRIVERS_WARN - # ActiveIf: CYGPKG_REDBOOT -}; - -# > -# Include support for ELF file format -# -cdl_component CYGSEM_REDBOOT_ELF { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Use the virtual address in the ELF headers -# The ELF headers contain both a virtual and a physical address -# for where code/data should be loaded. By default the physical -# address is used but sometimes it is necassary to use the -# virtual address because of bugy toolchains -# -cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Methods of loading images using redboot -# -cdl_interface CYGINT_REDBOOT_LOAD_METHOD { - # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled - # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGINT_REDBOOT_LOAD_METHOD -}; - -# Build Redboot ROM ELF image -# This option enables the building of the Redboot ELF image. -# The image may require further relocation or symbol -# stripping before being converted to a binary image. -# This is handled by a rule in the target CDL. -# -cdl_component CYGBLD_BUILD_REDBOOT { - # 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 - # Requires: CYGPKG_INFRA - # CYGPKG_INFRA == current - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0 - # --> 1 - # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_REDBOOT_LOAD_METHOD - # CYGINT_REDBOOT_LOAD_METHOD == 2 - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_HAL_ARM_TX53KARO - # Requires: CYGBLD_BUILD_REDBOOT == 1 - # option CYGBLD_BUILD_REDBOOT_BIN - # ActiveIf: CYGBLD_BUILD_REDBOOT -}; - -# > -# Include GDB support in RedBoot -# RedBoot normally includes support for the GDB debugging -# protocols. This option allows this to be disabled which -# may yield a substantial savings in terms of code and memory -# usage by RedBoot. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB { - # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS - # CYGINT_HAL_DEBUG_GDB_STUBS == 1 - # --> 1 - - # Flavor: bool - user_value 0 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source user - # Default value: 1 - # 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 -}; - -# Threads debugging support -# Enabling this option will include special code in the -# GDB stubs to support debugging of threaded programs. In -# the case of eCos programs, this support allows GDB to -# have complete access to the eCos threads in the -# program. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS { - # ActiveIf constraint: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # 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_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 -}; - -# Customized version string -# Use this option to define a customized version "string" for -# RedBoot. Note: this value is only cosmetic, displayed by the -# "version" command, but is useful for providing site specific -# information about the RedBoot configuration. -# -cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION { - # 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 "Ka-Ro 2010-01-06" - # value_source inferred - # Default value: 0 0 -}; - -# Enable command line editing -# If this option is non-zero, RedBoot will remember the -# last N command lines. These lines may be reused. -# Enabling this history will also enable rudimentary -# editting of the lines themselves. -# -cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES - # ActiveIf: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - # option CYGBLD_REDBOOT_CMD_LINE_HISTORY - # Requires: CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 -}; - -# Enable command line editing using ANSI arrows, etc -# If this option is enabled, RedBoot will accept standard ANSI key -# sequences for cursor movement (along with the emacs style keys). -# -cdl_option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES { - # ActiveIf constraint: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0 - # CYGNUM_REDBOOT_CMD_LINE_EDITING == 16 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Enable history command and expansion -# Enabling this option will allow RedBoot to provide a -# history command to list previous commands. Also enables -# history expansion via '!' character similar to bash -# shell. -# -cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 - # CYGNUM_REDBOOT_CMD_LINE_EDITING == 16 - # --> 1 -}; - -# Number of unique RAM segments on platform -# Change this option to be the number of memory segments which are -# supported by the platform. If the value is greater than 1, then -# a platform specific function must provide information about the -# additional segments. -# -cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include support gzip/zlib decompression -# -cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB { - # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB - # CYGPKG_COMPRESS_ZLIB == 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 - # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS -}; - -# > -# Size of zlib decompression buffer -# This is the size of the buffer filled with incoming data -# during load before calls are made to the decompressor -# function. For ethernet downloads this can be made bigger -# (at the cost of memory), but for serial downloads on slow -# processors it may be necessary to reduce the size to -# avoid serial overruns. zlib appears to bail out if less -# than five bytes are available initially so this is the -# minimum. -# -cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 64 - # value_source default - # Default value: 64 - # Legal values: 5 to 256 -}; - -# Support compression of Flash images -# This CDL indicates whether flash images can -# be decompressed from gzip/zlib format into RAM. -# -cdl_option CYGPRI_REDBOOT_ZLIB_FLASH { - # ActiveIf constraint: CYGPKG_REDBOOT_FLASH - # CYGPKG_REDBOOT_FLASH == 1 - # --> 1 - # ActiveIf constraint: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGPRI_REDBOOT_ZLIB_FLASH_FORCE == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Include GZIP uncompress command -# Enable this option to include a 'gunzip' command -# to uncompress GZIP compressed data. -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_GUNZIP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Turn on CYGPRI_REDBOOT_ZLIB_FLASH -# Force CYGPRI_REDBOOT_ZLIB_FLASH to be chosen -# -cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE { - # 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 - # option CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE -}; - -# < -# Include support for xyzModem downloads -# doc: ref/download-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM { - # 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_REDBOOT_CFLAGS_ADD - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM -}; - -# 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_REDBOOT_CFLAGS_ADD { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM - # CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wno-inline - # value_source default - # Default value: -Wno-inline -}; - -# Allow the load-command write into Flash. -# Write images direct to Flash via the load command. -# We assume anything which is invalid RAM is flash, hence -# the requires statement -# -cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH { - # ActiveIf constraint: CYGPKG_REDBOOT_FLASH - # CYGPKG_REDBOOT_FLASH == 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_REDBOOT_VALIDATE_USER_RAM_LOADS - # CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS == 1 - # --> 1 -}; - -# Include MS Windows CE support -# doc: ref/wince.html -# This option enables MS Windows CE EShell support -# and Windows CE .BIN images support -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 -}; - -# Include support for MXC USB downloads -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include support for i.MX USB OTG downloads -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include POSIX checksum command -# doc: ref/cksum-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory fill command -# doc: ref/mfill-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory compare command -# doc: ref/mcmp-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory copy command -# doc: ref/mcopy-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include memory dump command -# doc: ref/dump-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include cache command -# doc: ref/cache-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Include exec command -# doc: ref/exec-command.html -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC { - # 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_REDBOOT_ARM_LINUX_EXEC - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC -}; - -# Include I/O Memory commands 'iopeek' and 'iopoke' -# -cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Granularity of timer/ticks -# This option controls the granularity of the timers. -# Faster CPUs can afford higher granularity (lower values) -# which should give higher network performance since the stack -# is purely polled. -# -cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 250 - # value_source default - # Default value: 250 - # Legal values: 10 25 50 100 250 500 1000 -}; - -# Redboot Networking -# This option includes networking support in RedBoot. -# -cdl_component CYGPKG_REDBOOT_NETWORKING { - # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS - # CYGPKG_IO_ETH_DRIVERS == 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 CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS - # DefaultValue: 0 != CYGPKG_REDBOOT_NETWORKING -}; - -# > -# Print net debug information -# This option is overriden by the configuration stored -# in flash. -# -cdl_option CYGDBG_REDBOOT_NET_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support TFTP for download -# This option enables the use of the TFTP protocol for -# download -# -cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support HTTP for download -# This option enables the use of the HTTP protocol for -# download -# -cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# Default IP address -# This IP address is the default used by RedBoot if -# a BOOTP/DHCP server does not respond. The numbers -# should be separated by *commas*, and not dots. If -# an IP address is configured into the Flash -# configuration, that will be used in preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# > -# Do not try to use BOOTP -# By default Redboot tries to use BOOTP to get an IP -# address. If there's no BOOTP server on your network -# use this option to avoid to wait until the -# timeout. This option is overriden by the -# configuration stored in flash. -# -cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP { - # This option is not active - # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Default bootp server -# This IP address is the default server -# address used by RedBoot if a BOOTP/DHCP -# server does not respond. The numbers should -# be separated by *commas*, and not dots. If -# an IP address is configured into the Flash -# configuration, that will be used in -# preference. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR { - # This option is not active - # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# < -# Use DHCP to get IP information -# Use DHCP protocol to obtain pertinent IP addresses, such -# as the client, server, gateway, etc. -# -cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP { - # 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 CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY - # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP -}; - -# Use a gateway for non-local IP traffic -# Enabling this option will allow the RedBoot networking -# stack to use a [single] gateway to reach a non-local -# IP address. If disabled, RedBoot will only be able to -# reach nodes on the same subnet. -# -cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP - # CYGSEM_REDBOOT_NETWORKING_DHCP == 1 - # --> 1 -}; - -# > -# Default gateway IP address -# This IP address is the default used by RedBoot -# if a BOOTP/DHCP server does not respond. The -# numbers should be separated by *commas*, and -# not dots. If an IP address is configured into -# the Flash configuration, that will be used in -# preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# Default IP address mask -# This IP address mask is the default used by -# RedBoot if a BOOTP/DHCP server does not -# respond. The numbers should be separated by -# *commas*, and not dots. If an IP address is -# configured into the Flash configuration, that -# will be used in preference. -# -cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "255, 255, 255, 0" - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 0 -}; - -# < -# TCP port to listen for incoming connections -# RedBoot will 'listen' on this port for incoming TCP -# connections. This allows outside connections to be made -# to the platform, either for GDB or RedBoot commands. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 9000 - # value_source default - # Default value: 9000 -}; - -# Number of [network] packet buffers -# RedBoot may need to buffer network data to support -# various connections. This option allows control -# over the number of such buffered packets, and in -# turn, controls the amount of memory used by RedBoot -# (which is not available to user applications). -# Each packet buffer takes up about 1514 bytes. -# Note: there is little need to make this larger than -# the default. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 3 to 8 -}; - -# DNS support -# When this option is enabled, RedBoot will be built with -# support for DNS, allowing use of hostnames on the command -# line. -# -cdl_component CYGPKG_REDBOOT_NETWORKING_DNS { - # This option is not active - # ActiveIf constraint: CYGPKG_NS_DNS - # CYGPKG_NS_DNS (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_NS_DNS_BUILD - # CYGPKG_NS_DNS_BUILD (unknown) == 0 - # --> 1 -}; - -# > -# Default DNS IP -# This option sets the IP of the default DNS. The IP can be -# changed at runtime as well. -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0.0.0.0 - # value_source default - # Default value: 0.0.0.0 -}; - -# Timeout in DNS lookup -# This option sets the timeout used when looking up an -# address via the DNS. Default is 10 seconds. -# -cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# Support the use of a domain name -# This option controls if Redboot supports domain -# names when performing DNS lookups -# -cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Default DNS domain -# This option sets the default DNS domain name. -# This value will be overwritten by the value in -# flash or a domain returned by DHCP -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Get DNS domain from Flash -# This option enables getting the domain name -# from the flash configuration. This can later be -# overwritten by a value learnt from DHCP -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - # ActiveIf constraint: CYGSEM_REDBOOT_FLASH_CONFIG - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Use DNS domain from DHCP -# This option enables the use of the domain name -# returned by DHCP. -# -cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# BOOTP/DHCP DNS domain buffer size -# This options sets the size of the static -# buffer used by BOOTP/DHCP to store the DNS -# domain name. The domain name will not be -# set if the buffer is too small to hold it. -# -cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE { - # This option is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active - # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 -}; - -# < -# < -# Default network device driver -# This is the name of the default network device to use. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE { - # This option is not active - # ActiveIf constraint: CYGHWR_NET_DRIVERS > 1 - # CYGHWR_NET_DRIVERS == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"\"" - # value_source default - # Default value: "\"\"" -}; - -# Initialize only one net device -# This option tells RedBoot to stop initializing network -# devices when it finds the first device which is -# successfully initialized. The default behavior causes -# all network devices to be initialized. -# -cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE { - # This option is not active - # ActiveIf constraint: CYGHWR_NET_DRIVERS > 1 - # CYGHWR_NET_DRIVERS == 1 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Let RedBoot use any I/O channel for its console. -# If this option is enabled then RedBoot will attempt to use all -# defined serial I/O channels for its console device. Once input -# arrives at one of these channels then the console will use only -# that port. -# -cdl_option CYGPKG_REDBOOT_ANY_CONSOLE { - # 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 -}; - -# Let RedBoot adjust the baud rate of the serial console. -# If this option is enabled then RedBoot will support commands -# to set and query the baud rate on the selected console. -# -cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE { - # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT - # CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Run a platform specific startup function. -# If this option is enabled then RedBoot will execute a platform -# specific startup function before entering into its command line -# processing. This allows the platform to perform any special -# setups before RedBoot actually starts running. Note: the entire -# RedBoot environment will already be initialized at this point. -# -cdl_option CYGSEM_REDBOOT_PLF_STARTUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Run a platform specific ESA validation function. -# If this option is enabled then RedBoot will execute a platform -# specific function to validate an ethernet ESA. This would be -# useful if the address must conform to standards set by the -# hardware manufacturer, etc. -# -cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE { - # 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 - # component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 - # Requires: CYGSEM_REDBOOT_PLF_ESA_VALIDATE - # option CYGDAT_DEVS_ETH_ARM_TX53KARO_OUI - # ActiveIf: CYGSEM_REDBOOT_PLF_ESA_VALIDATE -}; - -# Maximum command line length -# This option allows control over how long the CLI command line -# should be. This space will be allocated statically -# rather than from RedBoot's stack. -# -cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # The inferred value should not be edited directly. - inferred_value 1024 - # value_source inferred - # Default value: 256 -}; - -# Command processing idle timeout (ms) -# This option controls the timeout period before the -# command processing is considered 'idle'. Making this -# number smaller will cause idle processing to take place -# more often, etc. The default value of 10ms is a reasonable -# tradeoff between responsiveness and overhead. -# -cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# Validate RAM addresses during load -# This option controls whether or not RedBoot will make -# sure that memory being used by the "load" command is -# in fact in user RAM. Leaving the option enabled makes -# for a safer environment, but this check may not be valid -# on all platforms, thus the ability to disable it. -# ** Disable this only with great care ** -# -cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS { - # 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_REDBOOT_LOAD_INTO_FLASH - # Requires: CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS -}; - -# Allow RedBoot to support FLASH programming -# If this option is enabled then RedBoot will provide commands -# to manage images in FLASH memory. These images can be loaded -# into memory for execution or executed in place. -# -cdl_component CYGPKG_REDBOOT_FLASH { - # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE - # CYGHWR_IO_FLASH_DEVICE == 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 CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: CYGPKG_REDBOOT_FLASH - # option CYGBLD_REDBOOT_LOAD_INTO_FLASH - # ActiveIf: CYGPKG_REDBOOT_FLASH -}; - -# > -# Byte order used to store info in flash. -# This option controls the byte ordering used to store -# the FIS directory info and flash config info. -# -cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value NATURAL - # value_source default - # Default value: NATURAL - # Legal values: "NATURAL" "MSBFIRST" "LSBFIRST" -}; - -# RedBoot Flash Image System support -# doc: ref/flash-image-system.html -# This option enables the Flash Image System commands -# and support within RedBoot. If disabled, simple Flash -# access commands such as "fis write" will still exist. -# This option would be disabled for targets that need simple -# FLASH manipulation, but do not have the need or space for -# complete image management. -# -cdl_option CYGOPT_REDBOOT_FIS { - # 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_REDBOOT_FIS_CONTENTS - # ActiveIf: CYGOPT_REDBOOT_FIS - # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # ActiveIf: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER - # ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS -}; - -# Max number of chunks of free space to manage -# If this option is defined then "fis free" will -# rely on the FIS directory to determine what space is -# free within the FLASH. This option controls the -# maximum number of free segment which can be handled -# (typically this number is small). If this option is -# not enabled, the the archaic behaviour of actually -# scanning the FLASH for erased sectors (unreliable) -# will be used to determine what's free and what's -# not. -# -cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 32 - # value_source default - # Default value: 1 32 -}; - -# Flash Image System default directory contents -# -cdl_component CYGPKG_REDBOOT_FIS_CONTENTS { - # ActiveIf constraint: CYGOPT_REDBOOT_FIS - # CYGOPT_REDBOOT_FIS == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Flash block containing the Directory -# Which block of flash should hold the directory -# information. Positive numbers are absolute block -# numbers. Negative block numbers count backwards -# from the last block. eg 2 means block 2, -2 -# means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK { - # Flavor: data - # 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_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK -}; - -# Redundant Flash Image System Directory Support -# This option enables the use of a redundant FIS -# directory within RedBoot. If enabled a flash block -# will be reserved for a second copy of the fis -# directory. Doing this allow for power failure safe -# updates of the directory by the application. -# -cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG == 1 - # --> 0 -}; - -# > -# Flash block containing the backup Directory -# Which block of flash should hold the redundant -# directory information. Positive numbers are -# absolute block numbers. Negative block numbers -# count backwards from the last block. eg 2 means -# block 2, -2 means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK { - # This option is not active - # The parent CYGOPT_REDBOOT_REDUNDANT_FIS is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -3 - # value_source default - # Default value: -3 - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK - # CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK == 0 - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK == -1 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK - # Requires: CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK != - # CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK -}; - -# < -# Pseudo-file to describe reserved area -# If an area of FLASH is reserved, it is informative to -# have a fis entry describing it. This option controls -# creation of such an entry by default in the fis init -# command. -# -cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE { - # This option is not active - # ActiveIf constraint: 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# File to describe RedBoot boot image -# Normally a ROM-startup RedBoot image is first in the -# FLASH, and the system boots using that image. This -# option controls creation of an entry describing it in -# the fis init command. It might be disabled if a -# platform has an immutable boot image of its own, where -# we use a POST-startup RedBoot instead, which performs -# less board initialization. -# -cdl_option CYGOPT_REDBOOT_FIS_REDBOOT { - # 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 CYGOPT_REDBOOT_FIS_REDBOOT_POST - # DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT - # option CYGBLD_REDBOOT_MIN_IMAGE_SIZE - # DefaultValue: CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 -}; - -# File to describe RedBoot POST-compatible image -# This option controls creation of an entry describing a -# POST-startup RedBoot image in the fis init command. -# Not all platforms support POST-startup. A platform -# might have both for testing purposes, where the -# eventual user would substitute their own POST code for -# the initial ROM-startup RedBoot, and then jump to the -# POST-compatible RedBoot immediately following. -# -cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT - # CYGOPT_REDBOOT_FIS_REDBOOT == 1 - # --> 0 -}; - -# > -# Offset of POST image from FLASH start -# This option specifies the offset for a POST image from -# the start of FLASH. If unset, then the fis entry -# describing the POST image will be placed where -# convenient. -# -cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET { - # This option is not active - # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET -}; - -# < -# File to describe RedBoot backup image -# This option controls creation of an entry describing a -# backup RedBoot image in the fis init command. -# Conventionally a RAM-startup RedBoot image is kept -# under this name for use in updating the ROM-based -# RedBoot that boots the board. -# -cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Include ARM SIB ID in FIS -# If set, this option will cause the last 5 words of -# the FIS to include the special ID needed for the -# flash to be recognized as a reserved area for RedBoot -# by an ARM BootRom monitor. -# -cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Size of FIS directory entry -# The FIS directory is limited to one single flash -# sector. If your flash has tiny sectors, you may wish -# to reduce this value in order to get more slots in -# the FIS directory. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: 256 -}; - -# Number of FIS directory entries -# The FIS directory normally occupies a single flash -# sector. Adjusting this value can allow for more than -# one flash sector to be used, which is useful if your -# sectors are very small. -# -cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 -}; - -# Maximum RedBoot image size -# This option controls the maximum length reserved -# for the RedBoot boot image in the FIS table. -# This should be a multiple of the flash's erase -# block size. -# -cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00020000 - # The inferred value should not be edited directly. - inferred_value 0x00040000 - # value_source inferred - # Default value: CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 - # CYGOPT_REDBOOT_FIS_REDBOOT == 1 - # --> 0x00020000 -}; - -# Offset from start of FLASH to RedBoot boot image -# This option controls where the RedBoot boot image is -# located relative to the start of FLASH. -# -cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # --> 0 - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0 - # CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET - # Requires: CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # component CYGPKG_HAL_ARM_TX53_OPTIONS - # Requires: CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0 -}; - -# Size of reserved area at start of FLASH -# This option reserves an area at the start of -# FLASH where RedBoot will never interfere; it is -# expected that this area contains -# (non-RedBoot-based) POST code or some other boot -# monitor that executes before RedBoot. -# -cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE { - # Flavor: data - # 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 CYGOPT_REDBOOT_FIS_RESERVED_BASE - # ActiveIf: 0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE - # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET - # Requires: CYGNUM_REDBOOT_FLASH_RESERVED_BASE <= CYGBLD_REDBOOT_FLASH_BOOT_OFFSET -}; - -# < -# Keep all RedBoot FLASH data blocks locked. -# When this option is enabled, RedBoot will keep configuration -# data and the FIS directory blocks implicitly locked. While -# this is somewhat safer, it does add overhead during updates. -# -cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL { - # This option is not active - # ActiveIf constraint: CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 - # CYGHWR_IO_FLASH_BLOCK_LOCKING == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Use CRC checksums on FIS images. -# When this option is enabled, RedBoot will use CRC checksums -# when reading and writing flash images. -# -cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK { - # 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 -}; - -# ARM FLASH drivers support SIB flash block structure -# This interface is implemented by a flash driver -# to indicate that it supports the ARM SIB flash -# block structure -# -cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED { - # No options implement this inferface - # ActiveIf constraint: CYGPKG_HAL_ARM - # CYGPKG_HAL_ARM == current - # --> 1 - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGHWR_REDBOOT_ARM_FLASH_SIB - # ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED -}; - -# Use ARM SIB flash block structure -# This option is used to interpret ARM Flash System -# information blocks. -# -cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB { - # This option is not active - # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED - # CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Keep RedBoot configuration data in FLASH -# When this option is enabled, RedBoot will keep configuration -# data in a separate block of FLASH memory. This data will -# include such items as the node IP address or startup scripts. -# -cdl_component CYGSEM_REDBOOT_FLASH_CONFIG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_IO_FLASH != 0 - # CYGPKG_IO_FLASH == current - # --> 1 - - # The following properties are affected by this value - # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "0, 0, 0, 0" - # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK - # DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 : "255, 255, 255, 0" - # option CYGPKG_REDBOOT_NETWORKING_DNS_IP - # ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG - # option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN - # ActiveIf: CYGSEM_REDBOOT_FLASH_CONFIG - # option CYGFUN_REDBOOT_BOOT_SCRIPT - # ActiveIf: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG -}; - -# > -# Length of configuration data in FLASH -# This option is used to control the amount of memory and FLASH -# to be used for configuration options (persistent storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4096 - # value_source default - # Default value: 4096 -}; - -# Style of media used for persistent data storage -# Persistent data storage can either be held in 'norma' FLASH -# or some other device (represented by the 'EEPROM' choice). -# The different styles utilize different access methods. -# -cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value FLASH - # value_source default - # Default value: FLASH - # Legal values: "FLASH" "EEPROM" - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG - # ActiveIf: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK - # DefaultValue: (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") -}; - -# Merged config data and FIS directory -# If this option is set, then the FIS directory and FLASH -# configuration database will be stored in the same physical -# FLASH block. -# -cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG { - # ActiveIf constraint: CYGOPT_REDBOOT_FIS && (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # CYGOPT_REDBOOT_FIS == 1 - # CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH - # --> 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 CYGOPT_REDBOOT_REDUNDANT_FIS - # Requires: 0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG -}; - -# Which block of flash to use -# Which block of flash should hold the configuration -# information. Positive numbers are absolute block numbers. -# Negative block numbers count backwards from the last block. -# eg 2 means block 2, -2 means the last but one block. -# -cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -2 - # value_source default - # Default value: -2 -}; - -# Support simple macros/aliases in FLASH -# This option is used to allow support for simple text-based -# macros (aliases). These aliases are kept in the FLASH -# configuration data (persistent storage). -# -cdl_option CYGSEM_REDBOOT_FLASH_ALIASES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Length of strings in FLASH configuration data -# This option is used to control the amount of memory -# and FLASH to be used for string configuration -# options (persistent storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 -}; - -# Length of configuration script(s) in FLASH -# This option is used to control the amount of memory and -# FLASH to be used for configuration options (persistent -# storage). -# -cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 512 - # The inferred value should not be edited directly. - inferred_value 2048 - # value_source inferred - # Default value: 512 -}; - -# Fallback to read-only FLASH configuration -# This option will cause the configuration information to -# revert to the readonly information stored in the FLASH. -# The option only takes effect after -# 1) the config_ok flag has been set to be true, -# indicating that at one time the copy in RAM was valid; -# and -# 2) the information in RAM has been verified to be invalid -# -cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") - # CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH - # --> 1 -}; - -# < -# Allow RedBoot to support fileio -# If this option is enabled then RedBoot will provide commands -# to load files from fileio file systems such as JFFS2. -# -cdl_component CYGPKG_REDBOOT_FILEIO { - # This option is not active - # ActiveIf constraint: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO (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_REDBOOT_GETC_BUFFER - # DefaultValue: CYGPKG_REDBOOT_FILEIO ? 4096 : 256 -}; - -# > -# Include an ls command -# If this option is enabled a simple ls command will be -# included in redboot so the contents of a directory -# can be listed -# -cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS { - # This option is not active - # The parent CYGPKG_REDBOOT_FILEIO is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Allow RedBoot to support disks -# If this option is enabled then RedBoot will provide commands -# to load disk files. -# -cdl_component CYGPKG_REDBOOT_DISK { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# > -# Include Redboot commands for disk access -# -cdl_option CYGSEM_REDBOOT_DISK { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGINT_REDBOOT_DISK_DRIVERS != 0 - # CYGINT_REDBOOT_DISK_DRIVERS == 0 - # --> 0 -}; - -# Hardware drivers for disk-type devices -# -cdl_interface CYGINT_REDBOOT_DISK_DRIVERS { - # Implemented by CYGSEM_REDBOOT_DISK_IDE, inactive, enabled - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_DISK - # DefaultValue: CYGINT_REDBOOT_DISK_DRIVERS != 0 -}; - -# Maximum number of supported disks -# This option controls the number of disks supported by -# RedBoot. -# -cdl_option CYGNUM_REDBOOT_MAX_DISKS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 -}; - -# Maximum number of partitions per disk -# This option controls the maximum number of supported -# partitions per disk. -# -cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 -}; - -# Support IDE disks. -# When this option is enabled, RedBoot will support IDE disks. -# -cdl_component CYGSEM_REDBOOT_DISK_IDE { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - # ActiveIf constraint: CYGINT_HAL_PLF_IF_IDE != 0 - # CYGINT_HAL_PLF_IF_IDE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Work with VMware virtual disks -# This option controls the disk driver behavior at -# ide-init -# -cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE { - # This option is not active - # The parent CYGSEM_REDBOOT_DISK_IDE is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Support Linux second extended filesystems. -# When this option is enabled, RedBoot will support EXT2 -# filesystems. -# -cdl_component CYGSEM_REDBOOT_DISK_EXT2FS { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support ISO9660 filesystems. -# When this option is enabled, RedBoot will support ISO9660 -# filesystems. -# -cdl_component CYGSEM_REDBOOT_DISK_ISO9660 { - # This option is not active - # The parent CYGPKG_REDBOOT_DISK is disabled - - # Calculated value: 0 - # Flavor: bool - # Current value: 0 -}; - -# < -# Boot scripting -# doc: ref/persistent-state-flash.html -# This contains options related to RedBoot's boot script -# functionality. -# -cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT { - # There is no associated value. -}; - -# > -# Boot scripting enabled -# This option controls whether RedBoot boot script -# functionality is enabled. -# -cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT { - # ActiveIf constraint: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG - # CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0 - # CYGSEM_REDBOOT_FLASH_CONFIG == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Use default RedBoot boot script -# If enabled, this option will tell RedBoot to use the -# value of this option as a default boot script. -# -cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT { - # 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 0 0 - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGFUN_REDBOOT_BOOT_SCRIPT - # ActiveIf: CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT || CYGSEM_REDBOOT_FLASH_CONFIG -}; - -# Resolution (in ms) for script timeout value. -# This option controls the resolution of the script -# timeout. The value is specified in milliseconds -# (ms), thus to have the script timeout be defined in -# terms of tenths of seconds, use 100. -# -cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1000 - # The inferred value should not be edited directly. - inferred_value 10 - # value_source inferred - # Default value: 1000 -}; - -# Script default timeout value -# This option is used to set the default timeout for startup -# scripts, when they are enabled. -# -cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # The inferred value should not be edited directly. - inferred_value 1 - # value_source inferred - # Default value: 10 -}; - -# < -# Support RTC for time & date functions -# When this option is enabled, RedBoot will support commands to -# query and set the real time clock (time and date) -# -cdl_option CYGSEM_REDBOOT_RTC { - # This option is not active - # ActiveIf constraint: CYGPKG_IO_WALLCLOCK - # CYGPKG_IO_WALLCLOCK (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Behave like a ROM monitor -# Enabling this option will allow RedBoot to provide ROM -# monitor-style services to programs which it executes. -# -cdl_option CYGPRI_REDBOOT_ROM_MONITOR { - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" - # CYG_HAL_STARTUP == ROMRAM - # CYG_HAL_STARTUP == ROMRAM - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_HAL_ROM_MONITOR - # CYGSEM_HAL_ROM_MONITOR == 1 - # --> 1 -}; - -# Allow RedBoot to handle GNUPro application 'syscalls'. -# If this option is enabled then RedBoot will install a -# syscall handler to support debugging of applications -# based on GNUPro newlib/bsp. -# -cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS { - # 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 CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT - # ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS - # option CYGPKG_HAL_GDB_FILEIO - # ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS -}; - -# > -# Support additional syscalls for 'gprof' profiling -# Support additional syscalls to support a periodic callback -# function for histogram-style profiling, and an enquire/set -# of the tick rate. -# The application must use the GNUPro newlib facilities -# to set this up. -# -cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF { - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - # ActiveIf constraint: 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT - # CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Does the HAL support 'gprof' profiling? -# -cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT { - # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF - # ActiveIf: 0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT -}; - -# Do not raise SIGTRAP when program exits -# For some (single shot) newlib based programs, -# exiting and returning a termination status may be -# the normal expected behavior. -# -cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP { - # This option is not active - # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Use a common buffer for Zlib and FIS -# Use a common memory buffer for both the zlib workspace -# and FIS directory operations. This can save a substantial -# amount of RAM, especially when flash sectors are large. -# -cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_ZLIB && CYGOPT_REDBOOT_FIS - # CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 1 - # CYGOPT_REDBOOT_FIS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Size of Zlib/FIS common buffer -# Size of common buffer to allocate. Must be at least the -# size of one flash sector. -# -cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE { - # This option is not active - # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x0000C000 - # value_source default - # Default value: 0x0000C000 - # Legal values: 0x4000 to 0x80000000 -}; - -# < -# Buffer size in getc when loading images -# When loading images a buffer is used between redboot and the -# underlying storage medium, eg a filesystem, or a socket etc. -# The size of this buffer can have a big impart on load speed. -# -cdl_option CYGNUM_REDBOOT_GETC_BUFFER { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: CYGPKG_REDBOOT_FILEIO ? 4096 : 256 - # CYGPKG_REDBOOT_FILEIO == 0 - # --> 256 -}; - -# < -# Redboot for ARM options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_ARM_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Provide the exec command in RedBoot -# This option contains requirements for booting linux -# from RedBoot. The component is enabled/disabled from -# RedBoots CDL. -# -cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC - # CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# Enable -x switch for exec command. -# This option allows bi-endian platforms to launch kernels -# built for an endianess different than the RedBoot endianess -# -cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Physical base address of linux kernel -# This is the physical address of the base of the -# Linux kernel image. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x70108000 - # value_source default - # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT - # CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # --> 0x70108000 -}; - -# Default physical base address of linux kernel -# This is the physical address of the base of the -# Linux kernel image. This option gets set by the -# platform CDL. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00008000 - # The inferred value should not be edited directly. - inferred_value 0x70108000 - # value_source inferred - # Default value: 0x00008000 - - # The following properties are affected by this value - # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS - # DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT - # component CYGPKG_REDBOOT_HAL_TX53_OPTIONS - # Requires: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 -}; - -# Base address of linux kernel parameter tags -# This is the base address of the area of memory used to -# pass parameters to the Linux kernel. This should be chosen -# to avoid overlap with the kernel and any ramdisk image. -# -cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00000100 - # value_source default - # Default value: 0x00000100 -}; - -# < -# < -# Redboot HAL options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_HAL_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. -}; - -# > -# Build Redboot ROM binary image -# This option enables the conversion of the Redboot ELF -# image to a binary image suitable for ROM programming. -# -cdl_option CYGBLD_BUILD_REDBOOT_BIN { - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT - # CYGBLD_BUILD_REDBOOT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Redboot HAL variant options -# -cdl_component CYGPKG_REDBOOT_HAL_TX53_OPTIONS { - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT == current - # --> 1 - - # There is no associated value. - # Requires: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x70108000 - # --> 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 CYGBLD_BUILD_REDBOOT - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STRING - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_COMPRESS_ZLIB - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_IO_FLASH - # Requires: CYGPKG_ISOINFRA - # 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_I18N - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STDLIB - # 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP - # CYGINT_ISO_MAIN_STARTUP == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_ENVIRON - # CYGINT_ISO_ENVIRON == 0 - # --> 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_HAL_ARM_TX53KARO - # Requires: CYGINT_ISO_CTYPE - # option CYGFUN_LIBC_STRING_BSD_FUNCS - # Requires: CYGINT_ISO_CTYPE - # package CYGPKG_LIBC_STDLIB - # 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 -}; - -# 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 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES - # CYGINT_ISO_STDIO_FILETYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Stdio standard streams implementations -# -cdl_interface CYGINT_ISO_STDIO_STREAMS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS - # CYGINT_ISO_STDIO_STREAMS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file operations -# -cdl_interface CYGINT_ISO_STDIO_FILEOPS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS - # CYGINT_ISO_STDIO_FILEOPS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file access functionals -# -cdl_interface CYGINT_ISO_STDIO_FILEACCESS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEACCESS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio formatted I/O -# -cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FORMATTED_IO - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio character I/O -# -cdl_interface CYGINT_ISO_STDIO_CHAR_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO - # CYGINT_ISO_STDIO_CHAR_IO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio direct I/O -# -cdl_interface CYGINT_ISO_STDIO_DIRECT_IO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO - # CYGINT_ISO_STDIO_DIRECT_IO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio file positioning -# -cdl_interface CYGINT_ISO_STDIO_FILEPOS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEPOS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of stdio error handling -# -cdl_interface CYGINT_ISO_STDIO_ERROR { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_ERROR - # CYGINT_ISO_STDIO_ERROR == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX fd-related function implementations -# -cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS - # CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0 - # --> 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 -}; - -# 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, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT - # Requires: 1 >= 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, disabled - # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, enabled - # 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 - # option CYGFUN_LIBC_STRING_STRDUP - # ActiveIf: 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 0 - # --> 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 -}; - -# 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 -}; - -# 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 -}; - -# 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, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS - # CYGINT_ISO_STRING_BSD_FUNCS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRING_BSD_FUNCS - # Requires: 1 >= 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 - # component CYGBLD_BUILD_REDBOOT - # 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 - # component CYGBLD_BUILD_REDBOOT - # Requires: CYGINT_ISO_STRING_STRFUNCS - # component CYGPKG_IO_ETH_DRIVERS_NET - # Requires: CYGINT_ISO_STRING_STRFUNCS - # option CYGFUN_COMPRESS_ZLIB_GZIO - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_IO_FLASH - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_LIBC_STDLIB - # 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 -}; - -# fnmatch implementation header -# -cdl_option CYGBLD_ISO_FNMATCH_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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_TYPES - # CYGINT_ISO_POSIX_TIMER_TYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX clock types -# -cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES - # CYGINT_ISO_POSIX_CLOCK_TYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of ISO C types -# -cdl_interface CYGINT_ISO_C_TIME_TYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES - # CYGINT_ISO_C_TIME_TYPES == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_C_TIME_TYPES - # Requires: 1 >= 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX timers -# -cdl_interface CYGINT_ISO_POSIX_TIMERS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMERS - # CYGINT_ISO_POSIX_TIMERS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of POSIX clocks -# -cdl_interface CYGINT_ISO_POSIX_CLOCKS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCKS - # CYGINT_ISO_POSIX_CLOCKS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Number of implementations of ISO C clock functions -# -cdl_interface CYGINT_ISO_C_CLOCK_FUNCS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS - # CYGINT_ISO_C_CLOCK_FUNCS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_NUMBERS - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# Number of signal implementations -# -cdl_interface CYGINT_ISO_SIGNAL_IMPL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_IMPL - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_POSIX_REALTIME_SIGNALS - # CYGINT_POSIX_REALTIME_SIGNALS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SETJMP - # CYGINT_ISO_SETJMP == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# sigsetjmp() / siglongjmp() implementations -# -cdl_interface CYGINT_ISO_SIGSETJMP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SIGSETJMP - # CYGINT_ISO_SIGSETJMP == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_FCNTL - # CYGINT_ISO_FCNTL == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_OPEN - # CYGINT_ISO_OPEN == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_DIRENT - # CYGINT_ISO_DIRENT == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX mutex types implementations -# -cdl_interface CYGINT_ISO_PMUTEXTYPES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 0 - # --> 1 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_BSDTYPES - # CYGINT_ISO_BSDTYPES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX scheduler -# -cdl_component CYGPKG_ISO_SCHED { - # There is no associated value. -}; - -# > -# POSIX scheduler implementations -# -cdl_interface CYGINT_ISO_SCHED_IMPL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SCHED_IMPL - # CYGINT_ISO_SCHED_IMPL == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_SEMAPHORES - # CYGINT_ISO_SEMAPHORES == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX message queues -# -cdl_component CYGPKG_ISO_MQUEUE { - # There is no associated value. -}; - -# > -# Implementations -# -cdl_interface CYGINT_ISO_MQUEUE { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 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 { - # This option is not active - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 0 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0 - # --> 0 0 -}; - -# Maximum number of message priorities -# -cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX { - # This option is not active - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 0 - # --> 0 - - # 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_PTHREAD_IMPL - # CYGINT_ISO_PTHREAD_IMPL == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# POSIX mutex/cond var implementations -# -cdl_interface CYGINT_ISO_PTHREAD_MUTEX { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_PTHREAD_MUTEX - # CYGINT_ISO_PTHREAD_MUTEX == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# Limits -# -cdl_component CYGPKG_ISO_LIMITS { - # There is no associated value. -}; - -# > -# POSIX pthread limits implementations -# -cdl_interface CYGINT_ISO_POSIX_LIMITS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_POSIX_LIMITS - # CYGINT_ISO_POSIX_LIMITS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 - # value_source default - # Default value: 0 0 -}; - -# 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_TERMIOS - # CYGINT_ISO_TERMIOS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_TIMER_OPS - # CYGINT_ISO_POSIX_TIMER_OPS == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POSIX_SLEEP - # CYGINT_ISO_POSIX_SLEEP == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_SELECT - # CYGINT_ISO_SELECT == 0 - # --> 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 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_DNS - # CYGINT_ISO_DNS == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Protocol network database implementations -# -cdl_interface CYGINT_ISO_NETDB_PROTO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_NETDB_PROTO - # CYGINT_ISO_NETDB_PROTO == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# Services network database implementations -# -cdl_interface CYGINT_ISO_NETDB_SERV { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - # Requires: 1 >= CYGINT_ISO_NETDB_SERV - # CYGINT_ISO_NETDB_SERV == 0 - # --> 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 - # value_source default - # Default value: 0 0 -}; - -# < -# 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: "" -}; - -# < -# < -# Compute CRCs -# doc: ref/services-crc.html -# This package provides support for CRC calculation. Currently -# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by -# Gary S. Brown, and a 16 bit CRC. -# -cdl_package CYGPKG_CRC { - # 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_COMPRESS_ZLIB - # Requires: CYGPKG_CRC -}; - -# > -# POSIX CRC tests -# -cdl_option CYGPKG_CRC_TESTS { - # Calculated value: "tests/crc_test" - # Flavor: data - # Current_value: tests/crc_test -}; - -# < -# Zlib compress and decompress package -# This package provides support for compression and -# decompression. -# -cdl_package CYGPKG_COMPRESS_ZLIB { - # 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_CRC - # CYGPKG_CRC == current - # --> 1 - - # The following properties are affected by this value - # component CYGBLD_BUILD_REDBOOT_WITH_ZLIB - # ActiveIf: CYGPKG_COMPRESS_ZLIB -}; - -# > -# Override memory allocation routines. -# -cdl_interface CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC { - # Implemented by CYGBLD_BUILD_REDBOOT_WITH_ZLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC - # ActiveIf: CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 -}; - -# Should deflate() produce 'gzip' compatible output? -# If this option is set then the output of calling deflate() -# will be wrapped up as a 'gzip' compatible file. -# -cdl_option CYGSEM_COMPRESS_ZLIB_DEFLATE_MAKES_GZIP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Does this library need malloc? -# This pseudo-option will force the memalloc library to be -# required iff the application does not provide it's own -# infrastructure. -# -cdl_option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC { - # This option is not active - # ActiveIf constraint: CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 - # CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 1 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_MEMALLOC - # CYGPKG_MEMALLOC == current - # --> 1 -}; - -# Include stdio-like utility functions -# This option enables the stdio-like zlib utility functions -# (gzread/gzwrite and friends) provided in gzio.c. -# -cdl_option CYGFUN_COMPRESS_ZLIB_GZIO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGPKG_LIBC_STDIO_OPEN ? 1 : 0 - # CYGPKG_LIBC_STDIO_OPEN (unknown) == 0 - # --> 0 - # Requires: CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 0 - # --> 0 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 0 - # --> 0 - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 0 - # --> 0 -}; - -# Zlib compress and decompress 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_COMPRESS_ZLIB_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_COMPRESS_ZLIB_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-D__ECOS__ -DNO_ERRNO_H" - # value_source default - # Default value: "-D__ECOS__ -DNO_ERRNO_H" -}; - -# 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_COMPRESS_ZLIB_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wstrict-prototypes - # value_source default - # Default value: -Wstrict-prototypes -}; - -# 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_COMPRESS_ZLIB_LDFLAGS_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_COMPRESS_ZLIB_LDFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# zlib tests -# -cdl_option CYGPKG_COMPRESS_ZLIB_TESTS { - # Calculated value: "tests/zlib1.c tests/zlib2.c" - # Flavor: data - # Current_value: tests/zlib1.c tests/zlib2.c -}; - -# < -# FLASH device drivers -# doc: ref/flash.html -# This option enables drivers for basic I/O services on -# flash devices. -# -cdl_package CYGPKG_IO_FLASH { - # 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_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGSEM_REDBOOT_FLASH_CONFIG - # DefaultValue: CYGPKG_IO_FLASH != 0 - # package CYGPKG_DEVS_FLASH_ONMXC - # ActiveIf: CYGPKG_IO_FLASH -}; - -# > -# Hardware FLASH device drivers -# This option enables the hardware device drivers -# for the current platform. -# -cdl_interface CYGHWR_IO_FLASH_DEVICE { - # Implemented by CYGPKG_DEVS_FLASH_ONMXC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # component CYGPKG_REDBOOT_FLASH - # ActiveIf: CYGHWR_IO_FLASH_DEVICE -}; - -# Hardware FLASH device drivers are not in RAM -# Use of this interface is deprecated. -# Drivers should make sure that the functions are -# linked to RAM by putting them in .2ram sections. -# -cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM - # CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM - # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM -}; - -# Hardware can support block locking -# This option will be enabled by devices which can support -# locking (write-protection) of individual blocks. -# -cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING { - # 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 - # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL - # ActiveIf: CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 -}; - -# Hardware cannot support direct access to FLASH memory -# This option will be asserted by devices which cannot support -# direct access to the FLASH memory contents (e.g. EEPROM or NAND -# devices). In these cases, the driver must provide an appropriate -# hardware access function. -# -cdl_option CYGSEM_IO_FLASH_READ_INDIRECT { - # 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 - # Requires: !CYGSEM_IO_FLASH_VERIFY_PROGRAM - # CYGSEM_IO_FLASH_VERIFY_PROGRAM == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGPRI_REDBOOT_ZLIB_FLASH - # ActiveIf: (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE - # component CYGHWR_DEVS_FLASH_MMC - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MMC_ESDHC - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MMC_SD - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # option CYGHWR_DEVS_FLASH_MXC_NAND - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 -}; - -# Display status messages during flash operations -# Selecting this option will cause the drivers to print status -# messages as various flash operations are undertaken. -# -cdl_option CYGSEM_IO_FLASH_CHATTER { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Verify data programmed to flash -# Selecting this option will cause verification of data -# programmed to flash. -# -cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM { - # 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 - - # The following properties are affected by this value - # option CYGSEM_IO_FLASH_READ_INDIRECT - # Requires: !CYGSEM_IO_FLASH_VERIFY_PROGRAM -}; - -# Platform has flash soft DIP switch write-protect -# Selecting this option will cause the state of a hardware jumper or -# dipswitch to be read by software to determine whether the flash is -# write-protected or not. -# -cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Instantiate in I/O block device API -# Provides a block device accessible using the standard I/O -# API ( cyg_io_read() etc. ) -# -cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE { - # This option is not active - # ActiveIf constraint: CYGPKG_IO - # CYGPKG_IO (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Name of flash device 1 block device -# -cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 { - # This option is not active - # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active - # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/flash1\"" - # value_source default - # Default value: "\"/dev/flash1\"" -}; - -# > -# -cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_1 { - # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1, inactive, enabled - # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1, inactive, disabled - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1 - # CYGINT_IO_FLASH_BLOCK_CFG_1 == 0 - # --> 0 - - # The following properties are affected by this value - # interface CYGINT_IO_FLASH_BLOCK_CFG_1 - # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1 -}; - -# Static configuration -# This configures the flash device 1 block device -# with static base and length -# -cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 { - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Start offset from flash base -# This gives the offset from the base of flash which this -# block device corresponds to. -# -cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# Length -# This gives the length of the region of flash given over -# to this block device. -# -cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# Configuration from FIS -# This configures the flash device 1 block device -# from Redboot FIS -# -cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 { - # This option is not active - # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Name of FIS entry -# -cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_1 { - # This option is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is not active - # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"jffs2\"" - # value_source default - # Default value: "\"jffs2\"" -}; - -# < -# < -# < -# Flash 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_FLASH_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the flash device drivers. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_FLASH_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 flash device drivers. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Flash device driver tests -# This option specifies the set of tests for the flash device drivers. -# -cdl_component CYGPKG_IO_FLASH_TESTS { - # Calculated value: "tests/flash1" - # Flavor: data - # Current_value: tests/flash1 -}; - -# > -# Start offset from flash base -# This gives the offset from the base of flash where tests -# can be run. It is important to set this correctly, as an -# incorrect value could allow the tests to write over critical -# portions of the FLASH device and possibly render the target -# board totally non-functional. -# -cdl_option CYGNUM_IO_FLASH_TEST_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# Length -# This gives the length of the region of flash used for testing. -# -cdl_option CYGNUM_IO_FLASH_TEST_LENGTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# < -# Support FLASH memory on Freescale MXC platforms -# -cdl_package CYGPKG_DEVS_FLASH_ONMXC { - # 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_FLASH - # CYGPKG_IO_FLASH == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# MXC platform MMC card support -# When this option is enabled, it indicates MMC card is -# supported on the MXC platforms -# -cdl_component CYGHWR_DEVS_FLASH_MMC { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) -}; - -# > -# MXC platform MMC card for newer SDHC controllers -# -cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC { - # This option is not active - # The parent CYGHWR_DEVS_FLASH_MMC is disabled - # ActiveIf constraint: CYGPKG_HAL_ARM_MX37 || CYGPKG_HAL_ARM_MX35 || - # CYGPKG_HAL_ARM_MX25 || CYGPKG_HAL_ARM_MX51 || CYGPKG_HAL_ARM_MX53 - # CYGPKG_HAL_ARM_MX37 (unknown) == 0 - # CYGPKG_HAL_ARM_MX35 (unknown) == 0 - # CYGPKG_HAL_ARM_MX25 (unknown) == 0 - # CYGPKG_HAL_ARM_MX51 (unknown) == 0 - # CYGPKG_HAL_ARM_MX53 == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 -}; - -# MXC platform MMC card for older MMC/SD controllers -# -cdl_option CYGHWR_DEVS_FLASH_MMC_SD { - # This option is not active - # The parent CYGHWR_DEVS_FLASH_MMC is disabled - # ActiveIf constraint: CYGPKG_HAL_ARM_MX31_3STACK || CYGPKG_HAL_ARM_MX31ADS - # CYGPKG_HAL_ARM_MX31_3STACK (unknown) == 0 - # CYGPKG_HAL_ARM_MX31ADS (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: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 -}; - -# < -# MXC platform NOR flash memory support -# When this option is enabled, it indicates NOR flash is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_NOR { - # 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 0 - # value_source inferred - # Default value: 0 - - # The following properties are affected by this value - # option CYGHWR_DEVS_FLASH_IMX_SPI_NOR - # Requires: CYGHWR_DEVS_FLASH_MXC_NOR == 1 - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) -}; - -# MXC platform NAND flash memory support -# When this option is enabled, it indicates NAND flash is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_NAND { - # 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 - # Requires: CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # CYGSEM_IO_FLASH_READ_INDIRECT == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH - # ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # option CYGHWR_DEVS_FLASH_MXC_MULTI - # ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND - # ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND -}; - -# i.MX platform SPI NOR flash memory support -# When this option is enabled, it indicates SPI NOR flash is -# supported on the i.MX platforms -# -cdl_option CYGHWR_DEVS_FLASH_IMX_SPI_NOR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGHWR_DEVS_FLASH_MXC_NOR == 1 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # --> 0 -}; - -# MXC platform ATA support -# When this option is enabled, it indicates ATA is -# supported on the MXC platforms -# -cdl_option CYGHWR_DEVS_FLASH_MXC_ATA { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Use a flash based Bad Block Table -# -cdl_component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH { - # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# When this option is enabled, the driver will search for a flash -# based bad block table -# -cdl_option CYGHWR_DEVS_FLASH_MXC_BBT_IN_FLASH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# header file defining the NAND BBT descriptor -# defines the name of the header file that describes the BBT layout -# -cdl_component CYGHWR_FLASH_NAND_BBT_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 -}; - -# Number of blocks to reserve for BBT -# Number of blocks to reserve for BBT -# -cdl_option CYGNUM_FLASH_NAND_BBT_BLOCKS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 -}; - -# < -# MXC platform multi flash memory support -# When this option is enabled, it indicates multi flashes are -# supported on the MXC platforms (like NAND and NOR) -# -cdl_option CYGHWR_DEVS_FLASH_MXC_MULTI { - # This option is not active - # ActiveIf constraint: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) || - # (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) || - # (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC) - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # CYGHWR_DEVS_FLASH_MMC == 0 - # CYGHWR_DEVS_FLASH_MXC_NOR == 0 - # CYGHWR_DEVS_FLASH_MMC == 0 - # --> 0 - - # 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 -}; - -# MXC platform NAND flash reset workaround support -# When this option is enabled, it indicates 0xFFFF is used for -# the NAND reset command instead of 0xFF. -# -cdl_interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND { - # No options implement this inferface - # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND - # CYGHWR_DEVS_FLASH_MXC_NAND == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# < -# < -# Dynamic memory allocation -# doc: ref/memalloc.html -# 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 - - # The following properties are affected by this value - # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC - # Requires: CYGPKG_MEMALLOC -}; - -# > -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 0 - # value_source default - # Default value: 0 != CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 - # Requires: CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 -}; - -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (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_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# 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 memmove() and memset() -# This may be used to control whether memset() and memmove() -# 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # 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 { - # This option is not active - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGFUN_KERNEL_API_C - # CYGFUN_KERNEL_API_C (unknown) == 0 - # --> 0 -}; - -# 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 -}; - -# Use external implementation of joining multiple heaps -# The default implementation of joining multiple heaps -# is fine for the case where there are multiple disjoint -# memory regions of the same type. However, in a system -# there might be e.g. a small amount of internal SRAM and -# a large amount of external DRAM. The SRAM is faster and -# the DRAM is slower. An application can implement some -# heuristic to choose which pool to allocate from. This -# heuristic can be highly application specific. -# -cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_JOIN_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 "-fno-rtti -Woverloaded-virtual" - # value_source default - # Default value: "-fno-rtti -Woverloaded-virtual" -}; - -# 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 -Wno-pointer-sign - # value_source default - # Default value: -Wno-pointer-sign -}; - -# 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 -}; - -# < -# < -# 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 -}; - -# > -# 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 - # The inferred value should not be edited directly. - inferred_value 0 - # value_source inferred - # Default value: 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 -}; - -# 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: "" -}; - -# < -# < -# I2C driver for FSL MXC-based platforms -# -cdl_package CYGPKG_DEVS_MXC_I2C { - # 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 -}; - -# ipu driver for mxc -# -cdl_package CYGPKG_DEVS_IMX_IPU { - # 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 CYGHWR_MX53_LCD_LOGO - # ActiveIf: CYGPKG_DEVS_IMX_IPU -}; - -# > -# IPU version 3EX support -# When this option is enabled, it indicates the IPU version -# is 3EX -# -cdl_option CYGHWR_DEVS_IPU_3_EX { - # 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 -}; - -# IPU version 3D support -# When this option is enabled, it indicates the IPU version -# is 3D -# -cdl_option CYGHWR_DEVS_IPU_3_D { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < - diff --git a/config/TX53-1020.ecc b/config/TX53-xx30.ecc similarity index 99% rename from config/TX53-1020.ecc rename to config/TX53-xx30.ecc index 5bfbb595..610d8bb7 100644 --- a/config/TX53-1020.ecc +++ b/config/TX53-xx30.ecc @@ -76,9 +76,12 @@ cdl_component CYGBLD_GLOBAL_OPTIONS { # cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # Flavor: data - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu + # No user value, uncomment the following line to provide one. + # user_value arm-cortexa8-linux-gnueabi + # value_source default + # Default value: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # CYGBLD_ARM_EABI == 1 + # --> arm-cortexa8-linux-gnueabi }; # Global compiler flags @@ -88,11 +91,14 @@ cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # cdl_option CYGBLD_GLOBAL_CFLAGS { # Flavor: data - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # No user value, uncomment the following line to provide one. + # user_value "-mabi=aapcs-linux -msoft-float -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # value_source default + # Default value: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGHWR_THUMB == 0 + # CYGBLD_ARM_ENABLE_THUMB_INTERWORK == 0 + # CYGBLD_ARM_EABI == 1 + # --> "-mabi=aapcs-linux -msoft-float -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 # --> 1 @@ -2799,6 +2805,25 @@ cdl_option CYGHWR_THUMB { # The following properties are affected by this value # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" +}; + +# Enable EABI +# Use EABI tool-chain to compile eCos. +# +cdl_option CYGBLD_ARM_EABI { + # 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_GLOBAL_COMMAND_PREFIX + # DefaultValue: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # Enable Thumb interworking compiler option @@ -2821,6 +2846,10 @@ cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { # CYGHWR_THUMB == 0 # CYGSEM_HAL_ROM_MONITOR == 1 # --> 1 + + # The following properties are affected by this value + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # The platform and architecture supports Big Endian operation @@ -3423,25 +3452,6 @@ cdl_component CYGPKG_HAL_ARM_TX53_OPTIONS { }; # > -# SDRAM DDR type -# This option specifies the SDRAM type of the TX53 module. -# Valid options are '2' for DDR2 and '3' for DDR3. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_TYPE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 2 - # value_source default - # Default value: 2 - # Legal values: 2 3 - - # The following properties are affected by this value - # component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 -}; - # SDRAM size # This option specifies the SDRAM size of the TX53 module. # @@ -3459,9 +3469,8 @@ cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_SIZE { # cdl_option CYGNUM_HAL_ARM_TX53_CPU_CLK { # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1000 - # value_source default + user_value 800 + # value_source user # Default value: 1000 # Legal values: 800 1000 }; @@ -3523,57 +3532,6 @@ cdl_option CYGHWR_MX53_LCD_LOGO { # Default value: 0 }; -# < -# Options for DDR2 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS { - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # --> 1 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR2_CLK { - # Flavor: data - user_value 333 - # value_source user - # Default value: 400 - # Legal values: 216 266 333 400 -}; - -# < -# Options for DDR3 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS { - # This option is not active - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # --> 0 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR3_CLK { - # This option is not active - # The parent CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 333 - # value_source default - # Default value: 333 - # Legal values: 333 -}; - # < # Memory layout # @@ -4258,7 +4216,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -msoft-float -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 # The following properties are affected by this value @@ -4278,7 +4236,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_PIPE { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -msoft-float -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 }; @@ -10360,9 +10318,9 @@ cdl_option CYGPKG_ERROR_CFLAGS_ADD { cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "" + # user_value -Wno-pointer-sign # value_source default - # Default value: "" + # Default value: -Wno-pointer-sign }; # < diff --git a/config/TX53-8021.ecc b/config/TX53-xx31.ecc similarity index 99% rename from config/TX53-8021.ecc rename to config/TX53-xx31.ecc index 22cece0f..315c0f83 100644 --- a/config/TX53-8021.ecc +++ b/config/TX53-xx31.ecc @@ -76,9 +76,12 @@ cdl_component CYGBLD_GLOBAL_OPTIONS { # cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # Flavor: data - user_value arm-cortexa8-linux-gnu - # value_source user - # Default value: arm-926ejs-linux-gnu + # No user value, uncomment the following line to provide one. + # user_value arm-cortexa8-linux-gnueabi + # value_source default + # Default value: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # CYGBLD_ARM_EABI == 1 + # --> arm-cortexa8-linux-gnueabi }; # Global compiler flags @@ -88,11 +91,14 @@ cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { # cdl_option CYGBLD_GLOBAL_CFLAGS { # Flavor: data - user_value "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # The inferred value should not be edited directly. - inferred_value "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" - # value_source user - # Default value: "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # No user value, uncomment the following line to provide one. + # user_value "-mabi=aapcs-linux -msoft-float -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # value_source default + # Default value: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGHWR_THUMB == 0 + # CYGBLD_ARM_ENABLE_THUMB_INTERWORK == 0 + # CYGBLD_ARM_EABI == 1 + # --> "-mabi=aapcs-linux -msoft-float -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # Requires: CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS # CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS == 1 # --> 1 @@ -2799,6 +2805,25 @@ cdl_option CYGHWR_THUMB { # The following properties are affected by this value # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK # DefaultValue: (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" +}; + +# Enable EABI +# Use EABI tool-chain to compile eCos. +# +cdl_option CYGBLD_ARM_EABI { + # 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_GLOBAL_COMMAND_PREFIX + # DefaultValue: "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # Enable Thumb interworking compiler option @@ -2821,6 +2846,10 @@ cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK { # CYGHWR_THUMB == 0 # CYGSEM_HAL_ROM_MONITOR == 1 # --> 1 + + # The following properties are affected by this value + # option CYGBLD_GLOBAL_CFLAGS + # DefaultValue: (CYGHWR_THUMB ? "-mthumb " : "") . (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" }; # The platform and architecture supports Big Endian operation @@ -3423,25 +3452,6 @@ cdl_component CYGPKG_HAL_ARM_TX53_OPTIONS { }; # > -# SDRAM DDR type -# This option specifies the SDRAM type of the TX53 module. -# Valid options are '2' for DDR2 and '3' for DDR3. -# -cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_TYPE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 2 - # value_source default - # Default value: 2 - # Legal values: 2 3 - - # The following properties are affected by this value - # component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS - # ActiveIf: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 -}; - # SDRAM size # This option specifies the SDRAM size of the TX53 module. # @@ -3521,58 +3531,6 @@ cdl_option CYGHWR_MX53_LCD_LOGO { # Default value: 0 }; -# < -# Options for DDR2 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS { - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # --> 1 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR2_CLK { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 400 - # value_source default - # Default value: 400 - # Legal values: 216 266 333 400 -}; - -# < -# Options for DDR3 SDRAM -# -cdl_component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS { - # This option is not active - # ActiveIf constraint: CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 - # CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 - # --> 0 - - # There is no associated value. -}; - -# > -# SDRAM clock -# This option specifies the SDRAM clock im MHz of the TX53 module. -# -cdl_option CYGNUM_HAL_ARM_TX53_DDR3_CLK { - # This option is not active - # The parent CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 333 - # value_source default - # Default value: 333 - # Legal values: 333 -}; - # < # Memory layout # @@ -4257,7 +4215,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -msoft-float -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 # The following properties are affected by this value @@ -4277,7 +4235,7 @@ cdl_option CYGBLD_INFRA_CFLAGS_PIPE { # value_source user # Default value: 0 # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-march=armv7-a -mfpu=fpa -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Wno-inline -Wundef -O2 -g -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" + # CYGBLD_GLOBAL_CFLAGS == "-mabi=aapcs-linux -msoft-float -march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" # --> 1 }; @@ -10359,9 +10317,9 @@ cdl_option CYGPKG_ERROR_CFLAGS_ADD { cdl_option CYGPKG_ERROR_CFLAGS_REMOVE { # Flavor: data # No user value, uncomment the following line to provide one. - # user_value "" + # user_value -Wno-pointer-sign # value_source default - # Default value: "" + # Default value: -Wno-pointer-sign }; # < diff --git a/packages/error/v2_0/cdl/error.cdl b/packages/error/v2_0/cdl/error.cdl index a706b659..e8836b65 100644 --- a/packages/error/v2_0/cdl/error.cdl +++ b/packages/error/v2_0/cdl/error.cdl @@ -144,7 +144,7 @@ cdl_package CYGPKG_ERROR { display "Suppressed compiler flags" flavor data no_define - default_value { "" } + default_value { "-Wno-pointer-sign" } description " This option modifies the set of compiler flags for building the error package. These flags are removed from diff --git a/packages/hal/arm/arch/v2_0/cdl/hal_arm.cdl b/packages/hal/arm/arch/v2_0/cdl/hal_arm.cdl index acfb9e34..99ffe6ad 100644 --- a/packages/hal/arm/arch/v2_0/cdl/hal_arm.cdl +++ b/packages/hal/arm/arch/v2_0/cdl/hal_arm.cdl @@ -105,6 +105,15 @@ cdl_package CYGPKG_HAL_ARM { Enable use of the Thumb instruction set." } + cdl_option CYGBLD_ARM_EABI { + display "Enable EABI" + default_value 1 + description " + Use EABI tool-chain to compile eCos." + + compile arm_eabi.c + } + # Note that when building a ROM monitor we include Thumb # interworking in order to support Thumb applications running # under a ARM ROM monitor. diff --git a/packages/hal/arm/arch/v2_0/src/arm.ld b/packages/hal/arm/arch/v2_0/src/arm.ld index 38f9d636..649828a2 100644 --- a/packages/hal/arm/arch/v2_0/src/arm.ld +++ b/packages/hal/arm/arch/v2_0/src/arm.ld @@ -38,6 +38,7 @@ //============================================================================= #include +#include STARTUP(vectors.o) ENTRY(reset_vector) @@ -160,6 +161,14 @@ OUTPUT_FORMAT(elf32-bigarm) . = . + 8; \ } > _region_ = 0 +#ifdef CYGBLD_ARM_EABI +#define __CTORS init_array +#define __DTORS fini_array +#else +#define __CTORS ctors +#define __DTORS dtors +#endif + #define SECTION_RELOCS(_region_, _vma_, _lma_) \ .rel.text : \ { \ @@ -199,10 +208,10 @@ OUTPUT_FORMAT(elf32-bigarm) } > _region_ \ .rel.got : { *(.rel.got) } > _region_ \ .rela.got : { *(.rela.got) } > _region_ \ - .rel.ctors : { *(.rel.ctors) } > _region_ \ - .rela.ctors : { *(.rela.ctors) } > _region_ \ - .rel.dtors : { *(.rel.dtors) } > _region_ \ - .rela.dtors : { *(.rela.dtors) } > _region_ \ + .rel.__CTORS : { *(.rel.__CTORS) } > _region_ \ + .rela.__CTORS : { *(.rela.__CTORS) } > _region_ \ + .rel.__DTORS : { *(.rel.__DTORS) } > _region_ \ + .rela.__DTORS : { *(.rela.__DTORS) } > _region_ \ .rel.init : { *(.rel.init) } > _region_ \ .rela.init : { *(.rela.init) } > _region_ \ .rel.fini : { *(.rel.fini) } > _region_ \ @@ -238,8 +247,8 @@ OUTPUT_FORMAT(elf32-bigarm) . = ALIGN (4); \ KEEP(*( SORT (.ecos.table.*))) ; \ . = ALIGN (4); \ - __CTOR_LIST__ = ABSOLUTE (.); KEEP (*(SORT (.ctors*))) __CTOR_END__ = ABSOLUTE (.); \ - __DTOR_LIST__ = ABSOLUTE (.); KEEP (*(SORT (.dtors*))) __DTOR_END__ = ABSOLUTE (.); \ + __CTOR_LIST__ = ABSOLUTE (.); KEEP (*(SORT (.__CTORS*))) __CTOR_END__ = ABSOLUTE (.); \ + __DTOR_LIST__ = ABSOLUTE (.); KEEP (*(SORT (.__DTORS*))) __DTOR_END__ = ABSOLUTE (.); \ *(.dynamic) *(.sdata*) *(.gnu.linkonce.s.*) \ . = ALIGN (4); *(.2ram.*) } \ > _region_ \ diff --git a/packages/hal/arm/arch/v2_0/src/arm_eabi.c b/packages/hal/arm/arch/v2_0/src/arm_eabi.c new file mode 100644 index 00000000..334ae33a --- /dev/null +++ b/packages/hal/arm/arch/v2_0/src/arm_eabi.c @@ -0,0 +1,12 @@ +#include +#include + +_Unwind_Reason_Code __aeabi_unwind_cpp_pr0(_Unwind_State state, + _Unwind_Control_Block *ucbp, + _Unwind_Context *context) +{ + diag_printf("EXCEPTION CAUGHT\n"); + while (1); + return _URC_FAILURE; +} + diff --git a/packages/hal/arm/mx25/karo/v1_0/cdl/hal_arm_tx25.cdl b/packages/hal/arm/mx25/karo/v1_0/cdl/hal_arm_tx25.cdl index 54713952..1d0ab466 100644 --- a/packages/hal/arm/mx25/karo/v1_0/cdl/hal_arm_tx25.cdl +++ b/packages/hal/arm/mx25/karo/v1_0/cdl/hal_arm_tx25.cdl @@ -63,6 +63,7 @@ cdl_package CYGPKG_HAL_ARM_TX25KARO { puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H " puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H " puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H " + puts $::cdl_system_header "#define CYGBLD_HAL_PLF_DEFS_H " puts $::cdl_header "#define HAL_PLATFORM_CPU \"Freescale i.MX25 based\"" puts $::cdl_header "#define HAL_PLATFORM_BOARD \"Ka-Ro TX25 processor module\"" puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE 2177" @@ -155,7 +156,7 @@ cdl_package CYGPKG_HAL_ARM_TX25KARO { display "Global command prefix" flavor data no_define - default_value { "arm-926ejs-linux-gnu" } + default_value { "arm-926ejs-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") } description " This option specifies the command prefix used when invoking the build tools." @@ -166,7 +167,10 @@ cdl_package CYGPKG_HAL_ARM_TX25KARO { flavor data no_define requires CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - default_value { "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" } + default_value { (CYGHWR_THUMB ? "-mthumb " : "") . \ + (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . \ + (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . \ + "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" } description " This option controls the global compiler flags which are used to compile all packages by default. Individual packages may define diff --git a/packages/hal/arm/mx25/karo/v1_0/include/hal_platform_setup.h b/packages/hal/arm/mx25/karo/v1_0/include/hal_platform_setup.h index b43469ad..b98ee9bf 100644 --- a/packages/hal/arm/mx25/karo/v1_0/include/hal_platform_setup.h +++ b/packages/hal/arm/mx25/karo/v1_0/include/hal_platform_setup.h @@ -47,7 +47,7 @@ #include CYGBLD_HAL_PLATFORM_H // Platform specific configuration #include // Variant specific hardware definitions #include // MMU definitions -#include // Platform specific hardware definitions +#include CYGBLD_HAL_PLF_DEFS_H // Platform specific hardware definitions #include CYGHWR_MEMORY_LAYOUT_H #if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM) diff --git a/packages/hal/arm/mx25/karo/v1_0/include/plf_io.h b/packages/hal/arm/mx25/karo/v1_0/include/plf_io.h index 17befe61..74e6466c 100644 --- a/packages/hal/arm/mx25/karo/v1_0/include/plf_io.h +++ b/packages/hal/arm/mx25/karo/v1_0/include/plf_io.h @@ -42,7 +42,7 @@ //####ECOSGPLCOPYRIGHTEND#### //============================================================================= -#include +#include CYGBLD_HAL_PLF_DEFS_H #include #include diff --git a/packages/hal/arm/mx25/karo/v1_0/src/redboot_cmds.c b/packages/hal/arm/mx25/karo/v1_0/src/redboot_cmds.c index 457f331c..f3e42724 100644 --- a/packages/hal/arm/mx25/karo/v1_0/src/redboot_cmds.c +++ b/packages/hal/arm/mx25/karo/v1_0/src/redboot_cmds.c @@ -42,7 +42,7 @@ #include #include #include -#include // Platform specific hardware definitions +#include CYGBLD_HAL_PLF_DEFS_H // Platform specific hardware definitions #ifdef CYGSEM_REDBOOT_FLASH_CONFIG #include diff --git a/packages/hal/arm/mx25/karo/v1_0/src/tx25_diag.c b/packages/hal/arm/mx25/karo/v1_0/src/tx25_diag.c index 3c2be995..7e6df4da 100644 --- a/packages/hal/arm/mx25/karo/v1_0/src/tx25_diag.c +++ b/packages/hal/arm/mx25/karo/v1_0/src/tx25_diag.c @@ -53,7 +53,7 @@ #include // driver API #include // Helper functions #include // Hardware definitions -#include // Platform specifics +#include CYGBLD_HAL_PLF_DEFS_H // Platform specifics extern void cyg_hal_plf_serial_init(void); diff --git a/packages/hal/arm/mx25/karo/v1_0/src/tx25_misc.c b/packages/hal/arm/mx25/karo/v1_0/src/tx25_misc.c index 3c0b32c5..0b029d40 100644 --- a/packages/hal/arm/mx25/karo/v1_0/src/tx25_misc.c +++ b/packages/hal/arm/mx25/karo/v1_0/src/tx25_misc.c @@ -56,7 +56,7 @@ #include // Interrupt names #include #include // Hardware definitions -#include // Platform specifics +#include CYGBLD_HAL_PLF_DEFS_H // Platform specifics #include // diag_printf diff --git a/packages/hal/arm/mx25/karo/v1_0/src/tx25_splash.c b/packages/hal/arm/mx25/karo/v1_0/src/tx25_splash.c index 34d372fb..c320ad2c 100644 --- a/packages/hal/arm/mx25/karo/v1_0/src/tx25_splash.c +++ b/packages/hal/arm/mx25/karo/v1_0/src/tx25_splash.c @@ -54,7 +54,7 @@ #endif #include CYGBLD_HAL_PLATFORM_H #include -#include // Platform specific hardware definitions +#include CYGBLD_HAL_PLF_DEFS_H // Platform specific hardware definitions #define LCDC_BASE 0x53fbc000 @@ -168,7 +168,8 @@ typedef struct lcd_display_metrics { unsigned long left; unsigned long right; /* control signal polarities */ - bool pixclk_pol; + bool pix_pol; + bool clk_pol; bool hsync_pol; bool vsync_pol; } LCDDIM; @@ -284,7 +285,8 @@ static bool bootsplash_setup(LCDDIM *ldim, unsigned long img_len) ok = get_var("lcd_buffer_addr", &ldim->frame_buffer, CONFIG_INT); ok &= get_var("lcd_clk_period", &ldim->pixclk, CONFIG_INT); - ok &= get_var("lcd_clk_polarity", &ldim->pixclk_pol, CONFIG_BOOL); + ok &= get_var("lcd_clk_polarity", &ldim->clk_pol, CONFIG_BOOL); + ok &= get_var("lcd_pix_polarity", &ldim->pix_pol, CONFIG_BOOL); ok &= get_var("lcd_panel_width", &ldim->width, CONFIG_INT); ok &= get_var("lcd_panel_height", &ldim->height, CONFIG_INT); @@ -395,7 +397,8 @@ static bool bootsplash_display(LCDDIM *ldim) pcr |= PCR_TFT | PCR_COLOR | PCR_SCLK_SEL | (ldim->vsync_pol * PCR_FLMPOL) | (ldim->hsync_pol * PCR_LPPOL) | - (ldim->pixclk_pol * PCR_PIXPOL); + (ldim->pix_pol * PCR_PIXPOL) | + (ldim->clk_pol * PCR_CLKPOL); switch (ldim->bpp) { case 18: @@ -678,6 +681,13 @@ RedBoot_config_option("Pixel clock period (in ps)", 33333 ); +RedBoot_config_option("Pixel polarity active low", + lcd_pix_polarity, + "bootsplash_enable", true, + CONFIG_BOOL, + false + ); + RedBoot_config_option("Pixel clock polarity active low", lcd_clk_polarity, "bootsplash_enable", true, diff --git a/packages/hal/arm/mx27/karo/v1_0/cdl/hal_arm_tx27.cdl b/packages/hal/arm/mx27/karo/v1_0/cdl/hal_arm_tx27.cdl index 8e95415d..b028bfd8 100644 --- a/packages/hal/arm/mx27/karo/v1_0/cdl/hal_arm_tx27.cdl +++ b/packages/hal/arm/mx27/karo/v1_0/cdl/hal_arm_tx27.cdl @@ -63,6 +63,7 @@ cdl_package CYGPKG_HAL_ARM_TX27KARO { puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H " puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H " puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H " + puts $::cdl_system_header "#define CYGBLD_HAL_PLF_DEFS_H " puts $::cdl_header "#define HAL_PLATFORM_CPU \"Freescale i.MX27 based\"" puts $::cdl_header "#define HAL_PLATFORM_BOARD \"Ka-Ro TX27 processor module\"" puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE 1600" @@ -155,7 +156,7 @@ cdl_package CYGPKG_HAL_ARM_TX27KARO { display "Global command prefix" flavor data no_define - default_value { "arm-926ejs-linux-gnu" } + default_value { "arm-926ejs-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") } description " This option specifies the command prefix used when invoking the build tools." @@ -166,7 +167,10 @@ cdl_package CYGPKG_HAL_ARM_TX27KARO { flavor data no_define requires CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - default_value { "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" } + default_value { (CYGHWR_THUMB ? "-mthumb " : "") . \ + (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . \ + (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . \ + "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" } description " This option controls the global compiler flags which are used to compile all packages by default. Individual packages may define diff --git a/packages/hal/arm/mx27/karo/v1_0/include/hal_platform_setup.h b/packages/hal/arm/mx27/karo/v1_0/include/hal_platform_setup.h index f5ec325d..6e55447f 100644 --- a/packages/hal/arm/mx27/karo/v1_0/include/hal_platform_setup.h +++ b/packages/hal/arm/mx27/karo/v1_0/include/hal_platform_setup.h @@ -47,7 +47,7 @@ #include CYGBLD_HAL_PLATFORM_H // Platform specific configuration #include // Variant specific hardware definitions #include // MMU definitions -#include // Platform specific hardware definitions +#include CYGBLD_HAL_PLF_DEFS_H // Platform specific hardware definitions #include CYGHWR_MEMORY_LAYOUT_H #if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM) diff --git a/packages/hal/arm/mx27/karo/v1_0/include/pkgconf/mlt_arm_tx27_romram.ldi b/packages/hal/arm/mx27/karo/v1_0/include/pkgconf/mlt_arm_tx27_romram.ldi index 43bffd21..46cb5934 100644 --- a/packages/hal/arm/mx27/karo/v1_0/include/pkgconf/mlt_arm_tx27_romram.ldi +++ b/packages/hal/arm/mx27/karo/v1_0/include/pkgconf/mlt_arm_tx27_romram.ldi @@ -22,6 +22,8 @@ SECTIONS SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA) SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA) SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA) + SECTION_extab (rom, ALIGN (0x4), LMA_EQ_VMA) + SECTION_exidx (rom, ALIGN (0x4), LMA_EQ_VMA) SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA) SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA) SECTION_fixed_vectors (ram, CYGMEM_REGION_ram + 0x20, LMA_EQ_VMA) diff --git a/packages/hal/arm/mx27/karo/v1_0/include/plf_io.h b/packages/hal/arm/mx27/karo/v1_0/include/plf_io.h index d1187857..ad593f74 100644 --- a/packages/hal/arm/mx27/karo/v1_0/include/plf_io.h +++ b/packages/hal/arm/mx27/karo/v1_0/include/plf_io.h @@ -42,7 +42,7 @@ //####ECOSGPLCOPYRIGHTEND#### //============================================================================= -#include +#include CYGBLD_HAL_PLF_DEFS_H #include #define CYGHWR_REDBOOT_LINUX_ATAG_MEM(_p_) \ diff --git a/packages/hal/arm/mx27/karo/v1_0/src/redboot_cmds.c b/packages/hal/arm/mx27/karo/v1_0/src/redboot_cmds.c index cbddd08b..e3492f3b 100644 --- a/packages/hal/arm/mx27/karo/v1_0/src/redboot_cmds.c +++ b/packages/hal/arm/mx27/karo/v1_0/src/redboot_cmds.c @@ -42,7 +42,7 @@ #include #include #include -#include // Platform specific hardware definitions +#include CYGBLD_HAL_PLF_DEFS_H // Platform specific hardware definitions #ifdef CYGSEM_REDBOOT_FLASH_CONFIG #include diff --git a/packages/hal/arm/mx27/karo/v1_0/src/tx27_diag.c b/packages/hal/arm/mx27/karo/v1_0/src/tx27_diag.c index d618db51..1a27e7bf 100644 --- a/packages/hal/arm/mx27/karo/v1_0/src/tx27_diag.c +++ b/packages/hal/arm/mx27/karo/v1_0/src/tx27_diag.c @@ -53,7 +53,7 @@ #include // driver API #include // Helper functions #include // Hardware definitions -#include // Platform specifics +#include CYGBLD_HAL_PLF_DEFS_H // Platform specifics extern void cyg_hal_plf_serial_init(void); diff --git a/packages/hal/arm/mx27/karo/v1_0/src/tx27_misc.c b/packages/hal/arm/mx27/karo/v1_0/src/tx27_misc.c index 0e7e480d..71774856 100644 --- a/packages/hal/arm/mx27/karo/v1_0/src/tx27_misc.c +++ b/packages/hal/arm/mx27/karo/v1_0/src/tx27_misc.c @@ -56,7 +56,7 @@ #include // Interrupt names #include #include // Hardware definitions -#include // Platform specifics +#include CYGBLD_HAL_PLF_DEFS_H // Platform specifics #include // diag_printf diff --git a/packages/hal/arm/mx37/karo/v1_0/cdl/hal_arm_tx37.cdl b/packages/hal/arm/mx37/karo/v1_0/cdl/hal_arm_tx37.cdl index 75da54b0..4dba3139 100644 --- a/packages/hal/arm/mx37/karo/v1_0/cdl/hal_arm_tx37.cdl +++ b/packages/hal/arm/mx37/karo/v1_0/cdl/hal_arm_tx37.cdl @@ -153,7 +153,7 @@ cdl_package CYGPKG_HAL_ARM_TX37KARO { display "Global command prefix" flavor data no_define - default_value { "arm-1136jfs-linux-gnu" } + default_value { "arm-1136jfs-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") } description " This option specifies the command prefix used when invoking the build tools." @@ -164,7 +164,10 @@ cdl_package CYGPKG_HAL_ARM_TX37KARO { flavor data no_define requires CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - default_value { "-mcpu=arm9 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" } + default_value { (CYGHWR_THUMB ? "-mthumb " : "") . \ + (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . \ + (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . \ + "-mcpu=arm9 -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" } description " This option controls the global compiler flags which are used to compile all packages by default. Individual packages may define diff --git a/packages/hal/arm/mx37/karo/v1_0/include/hal_platform_setup.h b/packages/hal/arm/mx37/karo/v1_0/include/hal_platform_setup.h index 0b2b1c59..b0514815 100644 --- a/packages/hal/arm/mx37/karo/v1_0/include/hal_platform_setup.h +++ b/packages/hal/arm/mx37/karo/v1_0/include/hal_platform_setup.h @@ -47,7 +47,7 @@ #include CYGBLD_HAL_PLATFORM_H // Platform specific configuration #include // Variant specific hardware definitions #include // MMU definitions -#include // Platform specific hardware definitions +#include CYGBLD_HAL_PLF_DEFS_H // Platform specific hardware definitions #if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM) #define PLATFORM_SETUP1 _platform_setup1 diff --git a/packages/hal/arm/mx37/karo/v1_0/include/pkgconf/mlt_arm_tx37_romram.ldi b/packages/hal/arm/mx37/karo/v1_0/include/pkgconf/mlt_arm_tx37_romram.ldi index 53d497ac..46cb5934 100644 --- a/packages/hal/arm/mx37/karo/v1_0/include/pkgconf/mlt_arm_tx37_romram.ldi +++ b/packages/hal/arm/mx37/karo/v1_0/include/pkgconf/mlt_arm_tx37_romram.ldi @@ -4,7 +4,7 @@ #include #define __ASSEMBLER__ -#include +#include CYGHWR_MEMORY_LAYOUT_H MEMORY { diff --git a/packages/hal/arm/mx37/karo/v1_0/include/plf_io.h b/packages/hal/arm/mx37/karo/v1_0/include/plf_io.h index acdacd98..e8cbd4e6 100644 --- a/packages/hal/arm/mx37/karo/v1_0/include/plf_io.h +++ b/packages/hal/arm/mx37/karo/v1_0/include/plf_io.h @@ -42,7 +42,7 @@ //####ECOSGPLCOPYRIGHTEND#### //============================================================================= -#include +#include CYGBLD_HAL_PLF_DEFS_H #include #define CYGHWR_REDBOOT_LINUX_ATAG_MEM(_p_) \ diff --git a/packages/hal/arm/mx37/karo/v1_0/src/redboot_cmds.c b/packages/hal/arm/mx37/karo/v1_0/src/redboot_cmds.c index 76de6c83..e0eb59cf 100644 --- a/packages/hal/arm/mx37/karo/v1_0/src/redboot_cmds.c +++ b/packages/hal/arm/mx37/karo/v1_0/src/redboot_cmds.c @@ -42,7 +42,7 @@ #include #include #include -#include // Platform specific hardware definitions +#include CYGBLD_HAL_PLF_DEFS_H // Platform specific hardware definitions #ifdef CYGSEM_REDBOOT_FLASH_CONFIG #include diff --git a/packages/hal/arm/mx37/karo/v1_0/src/tx37_diag.c b/packages/hal/arm/mx37/karo/v1_0/src/tx37_diag.c index cf9c506c..cc53e816 100644 --- a/packages/hal/arm/mx37/karo/v1_0/src/tx37_diag.c +++ b/packages/hal/arm/mx37/karo/v1_0/src/tx37_diag.c @@ -53,7 +53,7 @@ #include // driver API #include // Helper functions #include // Hardware definitions -#include // Platform specifics +#include CYGBLD_HAL_PLF_DEFS_H // Platform specifics extern void cyg_hal_plf_serial_init(void); diff --git a/packages/hal/arm/mx37/karo/v1_0/src/tx37_misc.c b/packages/hal/arm/mx37/karo/v1_0/src/tx37_misc.c index 4e58735d..79c2d181 100644 --- a/packages/hal/arm/mx37/karo/v1_0/src/tx37_misc.c +++ b/packages/hal/arm/mx37/karo/v1_0/src/tx37_misc.c @@ -55,7 +55,7 @@ #include // Interrupt names #include #include // Hardware definitions -#include // Platform specifics +#include CYGBLD_HAL_PLF_DEFS_H // Platform specifics #include // diag_printf // All the MM table layout is here: diff --git a/packages/hal/arm/mx51/karo/v1_0/cdl/hal_arm_tx51.cdl b/packages/hal/arm/mx51/karo/v1_0/cdl/hal_arm_tx51.cdl index dfcdf6a2..561289f5 100644 --- a/packages/hal/arm/mx51/karo/v1_0/cdl/hal_arm_tx51.cdl +++ b/packages/hal/arm/mx51/karo/v1_0/cdl/hal_arm_tx51.cdl @@ -156,7 +156,7 @@ cdl_package CYGPKG_HAL_ARM_TX51KARO { display "Global command prefix" flavor data no_define - default_value { "arm-926ejs-linux-gnu" } + default_value { "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") } description " This option specifies the command prefix used when invoking the build tools." @@ -167,7 +167,10 @@ cdl_package CYGPKG_HAL_ARM_TX51KARO { flavor data no_define requires CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - default_value { "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" } + default_value { (CYGHWR_THUMB ? "-mthumb " : "") . \ + (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . \ + (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -mfloat-abi=softfp " : "-mabi=apcs-gnu ") . \ + "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" } description " This option controls the global compiler flags which are used to compile all packages by default. Individual packages may define diff --git a/packages/hal/arm/mx51/karo/v1_0/include/hal_platform_setup.h b/packages/hal/arm/mx51/karo/v1_0/include/hal_platform_setup.h index 39b7b61b..9c676e97 100644 --- a/packages/hal/arm/mx51/karo/v1_0/include/hal_platform_setup.h +++ b/packages/hal/arm/mx51/karo/v1_0/include/hal_platform_setup.h @@ -47,7 +47,7 @@ #include CYGBLD_HAL_PLATFORM_H // Platform specific configuration #include // Variant specific hardware definitions #include // MMU definitions -#include // Platform specific hardware definitions +#include CYGBLD_HAL_PLF_DEFS_H // Platform specific hardware definitions #include CYGHWR_MEMORY_LAYOUT_H #define CPU_CLK CYGNUM_HAL_ARM_TX51_CPU_CLK diff --git a/packages/hal/arm/mx51/karo/v1_0/include/plf_io.h b/packages/hal/arm/mx51/karo/v1_0/include/plf_io.h index ba9ac9dd..0b164f65 100644 --- a/packages/hal/arm/mx51/karo/v1_0/include/plf_io.h +++ b/packages/hal/arm/mx51/karo/v1_0/include/plf_io.h @@ -42,7 +42,7 @@ //####ECOSGPLCOPYRIGHTEND#### //============================================================================= -#include +#include CYGBLD_HAL_PLF_DEFS_H #include #define CYGHWR_REDBOOT_LINUX_ATAG_MEM(_p_) \ diff --git a/packages/hal/arm/mx51/karo/v1_0/src/redboot_cmds.c b/packages/hal/arm/mx51/karo/v1_0/src/redboot_cmds.c index 535ba599..0372649b 100644 --- a/packages/hal/arm/mx51/karo/v1_0/src/redboot_cmds.c +++ b/packages/hal/arm/mx51/karo/v1_0/src/redboot_cmds.c @@ -42,7 +42,7 @@ #include #include #include -#include // Platform specific hardware definitions +#include CYGBLD_HAL_PLF_DEFS_H // Platform specific hardware definitions #ifdef CYGSEM_REDBOOT_FLASH_CONFIG #include diff --git a/packages/hal/arm/mx51/karo/v1_0/src/tx51_misc.c b/packages/hal/arm/mx51/karo/v1_0/src/tx51_misc.c index 3bd2987d..70d199f5 100644 --- a/packages/hal/arm/mx51/karo/v1_0/src/tx51_misc.c +++ b/packages/hal/arm/mx51/karo/v1_0/src/tx51_misc.c @@ -57,7 +57,7 @@ #include #include // Hardware definitions #include -#include // Platform specifics +#include CYGBLD_HAL_PLF_DEFS_H // Platform specifics #include // diag_printf diff --git a/packages/hal/arm/mx53/karo/v1_0/cdl/hal_arm_tx53.cdl b/packages/hal/arm/mx53/karo/v1_0/cdl/hal_arm_tx53.cdl index c367c7ae..b96985b5 100644 --- a/packages/hal/arm/mx53/karo/v1_0/cdl/hal_arm_tx53.cdl +++ b/packages/hal/arm/mx53/karo/v1_0/cdl/hal_arm_tx53.cdl @@ -156,7 +156,7 @@ cdl_package CYGPKG_HAL_ARM_TX53KARO { display "Global command prefix" flavor data no_define - default_value { "arm-926ejs-linux-gnu" } + default_value { "arm-cortexa8-linux-gnu" . (CYGBLD_ARM_EABI ? "eabi" : "") } description " This option specifies the command prefix used when invoking the build tools." @@ -167,7 +167,10 @@ cdl_package CYGPKG_HAL_ARM_TX53KARO { flavor data no_define requires CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS - default_value { "-march=armv5 -mabi=apcs-gnu -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" } + default_value { (CYGHWR_THUMB ? "-mthumb " : "") . \ + (CYGBLD_ARM_ENABLE_THUMB_INTERWORK ? "-mthumb-interwork " : "") . \ + (CYGBLD_ARM_EABI ? "-mabi=aapcs-linux -msoft-float " : "-mabi=apcs-gnu ") . \ + "-march=armv7-a -Wall -Wno-pointer-sign -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-exceptions -fvtable-gc -finit-priority -Werror -pipe" } description " This option controls the global compiler flags which are used to compile all packages by default. Individual packages may define @@ -195,16 +198,6 @@ cdl_package CYGPKG_HAL_ARM_TX53KARO { compiler flags used only in building this package, and details of which tests are built." - cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_TYPE { - display "SDRAM DDR type" - flavor data - legal_values { 2 3 } - default_value { 2 } - description " - This option specifies the SDRAM type of the TX53 module. - Valid options are '2' for DDR2 and '3' for DDR3." - } - cdl_option CYGNUM_HAL_ARM_TX53_SDRAM_SIZE { display "SDRAM size" flavor data @@ -275,38 +268,6 @@ cdl_package CYGPKG_HAL_ARM_TX53KARO { } } - cdl_component CYGHWR_HAL_ARM_TX53_DDR2_OPTIONS { - display "Options for DDR2 SDRAM" - active_if { CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 } - flavor none - no_define - - cdl_option CYGNUM_HAL_ARM_TX53_DDR2_CLK { - display "SDRAM clock" - flavor data - legal_values { 216 266 333 400 } - default_value { 400 } - description " - This option specifies the SDRAM clock im MHz of the TX53 module." - } - } - - cdl_component CYGHWR_HAL_ARM_TX53_DDR3_OPTIONS { - display "Options for DDR3 SDRAM" - active_if { CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 } - flavor none - no_define - - cdl_option CYGNUM_HAL_ARM_TX53_DDR3_CLK { - display "SDRAM clock" - flavor data - legal_values { 333 } - default_value { 333 } - description " - This option specifies the SDRAM clock im MHz of the TX53 module." - } - } - cdl_component CYGHWR_MEMORY_LAYOUT { display "Memory layout" flavor data diff --git a/packages/hal/arm/mx53/karo/v1_0/include/hal_platform_setup.h b/packages/hal/arm/mx53/karo/v1_0/include/hal_platform_setup.h index c5e42478..00797d2e 100644 --- a/packages/hal/arm/mx53/karo/v1_0/include/hal_platform_setup.h +++ b/packages/hal/arm/mx53/karo/v1_0/include/hal_platform_setup.h @@ -42,23 +42,17 @@ //####ECOSGPLCOPYRIGHTEND#### //=========================================================================== -#include // System-wide configuration info -#include CYGBLD_HAL_VARIANT_H // Variant specific configuration -#include CYGBLD_HAL_PLATFORM_H // Platform specific configuration -#include // Variant specific hardware definitions -#include // MMU definitions -#include CYGBLD_HAL_PLF_DEFS_H // Platform specific hardware definitions +#include // System-wide configuration info +#include CYGBLD_HAL_VARIANT_H // Variant specific configuration +#include CYGBLD_HAL_PLATFORM_H // Platform specific configuration +#include // Variant specific hardware definitions +#include // MMU definitions +#include CYGBLD_HAL_PLF_DEFS_H // Platform specific hardware definitions #include CYGHWR_MEMORY_LAYOUT_H #define CPU_CLK CYGNUM_HAL_ARM_TX53_CPU_CLK -#if defined(CYGNUM_HAL_ARM_TX53_DDR2_CLK) -#define SDRAM_CLK CYGNUM_HAL_ARM_TX53_DDR2_CLK -#elif defined(CYGNUM_HAL_ARM_TX53_DDR3_CLK) -#define SDRAM_CLK CYGNUM_HAL_ARM_TX53_DDR3_CLK -#else -#error SDRAM clock not defined -#endif +#define SDRAM_CLK 400 #define DEBUG_LED_BIT 20 #define LED_GPIO_BASE GPIO2_BASE_ADDR @@ -111,8 +105,6 @@ KARO_TX53_SETUP_START: orr r0, r0, #0x00000800 @ set bit 12 (Z---) BTB mcr p15, 0, r0, c1, c0, 0 - setup_sdram - /* ARM errata ID #468414 */ mrc 15, 0, r1, c1, c0, 1 orr r1, r1, #(1 << 5) /* enable L1NEON bit */ @@ -146,11 +138,11 @@ init_aips_start: str r9, [r10, #GPIO_GDIR] LED_INIT - LED_BLINK 1 + LED_BLINK #1 init_clock_start: init_clock - LED_BLINK 2 + LED_BLINK #2 Normal_Boot_Continue: /* @@ -165,7 +157,7 @@ STACK_Setup: @ Create MMU tables bl hal_mmu_init - LED_BLINK 3 + LED_BLINK #3 /* Workaround for arm erratum #709718 */ @ Setup PRRR so device is always mapped to non-shared @@ -174,7 +166,7 @@ STACK_Setup: mcr MMU_CP, 0, r1, c10, c2, 0 // Write Primary Region Remap Register @ Enable MMU - ldr r2, =10f + adr r2, 10f mrc MMU_CP, 0, r1, MMU_Control, c0 orr r1, r1, #7 @ enable MMU bit orr r1, r1, #0x800 @ enable z bit @@ -187,9 +179,9 @@ STACK_Setup: mcr MMU_CP, 0, r1, MMU_Control, c0, 1 mov pc, r2 @ Change address spaces + .ltorg .align 5 10: - LED_BLINK 4 .endm @ _platform_setup1 /* AIPS setup - Only setup MPROTx registers. The PACR default values are good.*/ @@ -199,7 +191,7 @@ STACK_Setup: * not forced to user-mode. */ ldr r0, =AIPS1_CTRL_BASE_ADDR - ldr r1, AIPS1_PARAM + ldr r1, =0x77777777 str r1, [r0, #0x00] str r1, [r0, #0x04] ldr r0, =AIPS2_CTRL_BASE_ADDR @@ -230,15 +222,18 @@ osc_ok: setup_pll PLL3_BASE_ADDR, 400 /* Switch peripherals to PLL3 */ - ldr r1, CCM_CBCMR_VAL1 + ldr r1, [r0, #CLKCTL_CBCMR] + bic r1, #(3 << 12) + orr r1, #(1 << 12) str r1, [r0, #CLKCTL_CBCMR] - ldr r1, CCM_CBCDR_VAL1 + ldr r1, [r0, #CLKCTL_CBCDR] + orr r1, r1, #(1 << 25) str r1, [r0, #CLKCTL_CBCDR] 1: /* make sure change is effective */ ldr r1, [r0, #CLKCTL_CDHIPR] - LED_BLINK 1 + LED_BLINK #1 cmp r1, #0x0 bne 1b @@ -256,16 +251,19 @@ osc_ok: #error Bad SDRAM_CLK #endif /* Switch peripheral to PLL2 */ - ldr r1, CCM_CBCDR_VAL2 + ldr r1, [r0, #CLKCTL_CBCDR] + bic r1, #(1 << 25) str r1, [r0, #CLKCTL_CBCDR] - ldr r1, CCM_CBCMR_VAL2 + ldr r1, [r0, #CLKCTL_CBCMR] + bic r1, #(3 << 12) + orr r1, #(2 << 12) str r1, [r0, #CLKCTL_CBCMR] /* make sure change is effective */ 1: ldr r1, [r0, #CLKCTL_CDHIPR] - LED_BLINK 1 + LED_BLINK #1 cmp r1, #0x0 bne 1b @@ -289,8 +287,8 @@ osc_ok: ldr r1, W_CSCMR1_VAL str r1, [r0, #CLKCTL_CSCMR1] - mov r1, #0x00000 - str r1, [r0, #CLKCTL_CCDR] + mov r1, #0x00000 + str r1, [r0, #CLKCTL_CCDR] /* for cko - for ARM div by 8 */ mov r1, #0x000A0000 @@ -326,27 +324,6 @@ end_clk_init: ands r1, r1, #0x1 beq 101b .endm - - .macro setup_sdram -#if 0 - /* Decrease the DRAM SDCLK pads to HIGH Drive strength */ - ldr r0, =IOMUXC_BASE_ADDR - ldr r1, =0x000000e5 - str r1, [r0, #0x4b8] - /* Change the delay line configuration */ - ldr r0, =ESDCTL_BASE_ADDR - ldr r1, =0x00f49400 - str r1, [r0, #ESDCTL_ESDCDLY1] - ldr r1, =0x00f49a00 - str r1, [r0, #ESDCTL_ESDCDLY2] - ldr r1, =0x00f49100 - str r1, [r0, #ESDCTL_ESDCDLY3] - ldr r1, =0x00f48900 - str r1, [r0, #ESDCTL_ESDCDLY4] - ldr r1, =0x00f49400 - str r1, [r0, #ESDCTL_ESDCDLY5] -#endif - .endm #else // defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM) #define PLATFORM_SETUP1 #endif @@ -356,7 +333,7 @@ end_clk_init: .macro DELAY,ms .endm #else -#define CYGHWR_LED_MACRO LED_BLINK \x +#define CYGHWR_LED_MACRO LED_BLINK #\x .macro DELAY,ms ldr r10, =\ms @@ -364,7 +341,7 @@ end_clk_init: .endm .macro LED_BLINK,val - ldr r8, =\val + mov r8, \val bl led_blink .endm #endif @@ -380,10 +357,6 @@ end_clk_init: ldr r9, [r10, #GPIO_GDIR] orr r9, r9, #(1 << DEBUG_LED_BIT) str r9, [r10, #GPIO_GDIR] - // iomux - ldr r10, =IOMUXC_BASE_ADDR - mov r9, #LED_MUX_MODE - str r9, [r10, #LED_MUX_OFFSET] .endm #ifdef CYGOPT_HAL_ARM_TX53_DEBUG @@ -448,6 +421,7 @@ _KARO_CECFG_START: _KARO_CECFG_END: .endm + .ltorg .align 5 .ascii "KARO TX53 " __DATE__ " " __TIME__ .align @@ -459,18 +433,33 @@ _KARO_CECFG_END: (((l) >> 24) & 0x000000FF)) #define MXC_DCD_ITEM(addr, val) \ - .word CPU_2_BE_32(addr) ; \ - .word CPU_2_BE_32(val) + .word CPU_2_BE_32(addr), CPU_2_BE_32(val) #define MXC_DCD_CMD_SZ_BYTE 1 #define MXC_DCD_CMD_SZ_SHORT 2 #define MXC_DCD_CMD_SZ_WORD 4 #define MXC_DCD_CMD_FLAG_WRITE 0x0 -#define MXC_DCD_CMD_FLAG_CLR 0x2 +#define MXC_DCD_CMD_FLAG_CLR 0x1 #define MXC_DCD_CMD_FLAG_SET 0x3 -#define MXC_DCD_CMD(type, flags, next) \ - .word CPU_2_BE_32((0xcc << 24) | (((next) - .) << 8) | ((flags) << 3) | (type)) +#define MXC_DCD_CMD_FLAG_CHK_ANY (1 << 0) +#define MXC_DCD_CMD_FLAG_CHK_SET (1 << 1) +#define MXC_DCD_CMD_FLAG_CHK_CLR (0 << 1) + +#define MXC_DCD_CMD_WRT(type, flags, next) \ + .word CPU_2_BE_32((0xcc << 24) | (((next) - .) << 8) | ((flags) << 3) | (type)) + +#define MXC_DCD_CMD_CHK(type, flags, addr, mask) \ + .word CPU_2_BE_32((0xcf << 24) | (12 << 8) | ((flags) << 3) | (type)),\ + CPU_2_BE_32(addr), CPU_2_BE_32(mask) +#define MXC_DCD_CMD_CHK_CNT(type, flags, addr, mask, count) \ + .word CPU_2_BE_32((0xcf << 24) | (16 << 8) | ((flags) << 3) | (type)),\ + CPU_2_BE_32(addr), CPU_2_BE_32(mask), CPU_2_BE_32(count) + +#define MXC_DCD_CMD_NOP() \ + .word CPU_2_BE_32((0xc0 << 24) | (4 << 8)) + +#define CK_TO_NS(ck) (((ck) * 1000 + SDRAM_CLK / 2) / SDRAM_CLK) #define NS_TO_CK(ns) (((ns) * SDRAM_CLK + 999) / 1000) .macro CK_VAL, name, clks, offs, max @@ -499,92 +488,15 @@ _KARO_CECFG_END: .endif .endm -#define SDRAM_TYPE_DDR2 2 -#define SDRAM_TYPE_DDR3 3 - #define ESDMISC_DDR_TYPE_DDR3 0 #define ESDMISC_DDR_TYPE_LPDDR2 1 #define ESDMISC_DDR_TYPE_DDR2 2 -#define ESDOR_CLK_PERIOD 15625 /* base clock for ESDOR values 15.625uS */ - -#if CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == SDRAM_TYPE_DDR2 -#define SDRAM_BURST_LENGTH 4 -#define BANK_ADDR_BITS 1 -#define COL_ADDR_BITS 10 -#define RALAT 4 -#define WALAT 0 -#define ADDR_MIRROR 0 -#define DDR_TYPE ESDMISC_DDR_TYPE_DDR2 +#define DIV_ROUND_UP(m,d) (((m) + (d) - 1) / (d)) -#if SDRAM_SIZE > SZ_512M -#define ROW_ADDR_BITS 15 +#define CKIL_FREQ_Hz 32768 +#define ESDOR_CLK_PERIOD_ns (1000000000 / CKIL_FREQ_Hz / 2) /* base clock for ESDOR values */ -/* 1GiB SDRAM: MEM2G08D2DABG */ -/* ESDCFG0 0x0c */ -NS_VAL tRFC, 195, 1, 255 /* clks - 1 (0..255) */ -CK_VAL tXS, tRFC + 1 + NS_TO_CK(10), 1, 255 /* clks - 1 (0..255) tRFC + 10 */ -CK_VAL tXP, 2, 1, 7 /* clks - 1 (0..7) */ -CK_VAL tXPDLL /* => tXARD */, 2, 1, 15 /* clks - 1 (0..15) */ -NS_VAL tFAW, 35, 1, 31 /* clks - 1 (0..31) */ -CK_VAL tCL, 5, 3, 8 /* clks - 3 (0..8) CAS Latency */ - -/* ESDCFG1 0x10 */ -NS_VAL tRCD, 13, 1, 7 /* clks - 1 (0..7) */ -NS_VAL tRP, 13, 1, 7 /* clks - 1 (0..7) */ -NS_VAL tRC, 58, 1, 31 /* clks - 1 (0..31) */ -NS_VAL tRAS, 45, 1, 31 /* clks - 1 (0..31) */ -CK_VAL tRPA, 1, 0, 1 /* clks (0..1) */ -NS_VAL tWR, 15, 1, 15 /* clks - 1 (0..15) */ -CK_VAL tMRD, 2, 1, 15 /* clks - 1 (0..15) */ -CK_VAL tCWL, tCL + 3 - 1, 2, 6 /* clks - 2 (0..6) tCL - 1 */ - -/* ESDCFG2 0x14 */ -CK_VAL tDLLK, 200, 1, 511 /* clks - 1 (0..511) */ -NS_VAL tRTP, 8, 1, 7 /* clks - 1 (0..7) */ -NS_VAL tWTR, 8, 1, 7 /* clks - 1 (0..7) */ -NS_VAL tRRD, 8, 1, 6 /* clks - 1 (0..6) */ -#else -#define ROW_ADDR_BITS 14 - -/* 512MiB SDRAM: V59C1G01(808) */ -/* ESDCFG0 0x0c */ -NS_VAL tRFC, 128, 1, 255 /* clks - 1 (0..255) */ -CK_VAL tXS, tRFC + 1 + NS_TO_CK(10), 1, 255 /* clks - 1 (0..255) tRFC + 10 */ -CK_VAL tXP, 2, 1, 7 /* clks - 1 (0..7) */ -CK_VAL tXPDLL, /* tXARD */ 2, 1, 15 /* clks - 1 (0..15) */ -NS_VAL tFAW, 50, 1, 31 /* clks - 1 (0..31) */ -CK_VAL tCL, 5, 3, 8 /* clks - 3 (0..8) CAS Latency */ - -/* ESDCFG1 0x10 */ -NS_VAL tRCD, 15, 1, 7 /* clks - 1 (0..7) */ -NS_VAL tRP, 15, 1, 7 /* clks - 1 (0..7) */ -NS_VAL tRC, 60, 1, 31 /* clks - 1 (0..31) */ -NS_VAL tRAS, 45, 1, 31 /* clks - 1 (0..31) */ -CK_VAL tRPA, 1, 0, 1 /* clks (0..1) */ -NS_VAL tWR, 15, 1, 15 /* clks - 1 (0..15) */ -CK_VAL tMRD, 2, 1, 15 /* clks - 1 (0..15) */ -CK_VAL tCWL, tCL + 3 - 1, 2, 6 /* clks - 2 (0..6) tCL - 1 */ - -/* ESDCFG2 0x14 */ -CK_VAL tDLLK, 200, 1, 511 /* clks - 1 (0..511) */ -NS_VAL tRTP, 8, 1, 7 /* clks - 1 (0..7) */ -CK_VAL tWTR, 2, 1, 7 /* clks - 1 (0..7) */ -NS_VAL tRRD, 10, 1, 6 /* clks - 1 (0..6) */ -#endif - -/* ESDOR 0x30 */ -NS_VAL tXPR, 400, 1, 255 /* clks - 1 (1..255) */ - -#define tSDE_RST 0 /* not relevant for DDR2 */ -#define tRST_CKE ((200000 + (ESDOR_CLK_PERIOD - 1)) / ESDOR_CLK_PERIOD) - -#define ESDSCR_MRS_VAL (0x8000 | (3 << 4) | \ - ((((tCL + 3) << 4) | \ - (tWR << 9) | \ - ((1 - (SDRAM_BURST_LENGTH / 8)) << 1)) << 16)) - -#elif CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == SDRAM_TYPE_DDR3 /* DDR3 SDRAM */ #if SDRAM_SIZE > SZ_512M #define BANK_ADDR_BITS 2 @@ -600,9 +512,9 @@ NS_VAL tXPR, 400, 1, 255 /* clks - 1 (1..255) */ /* 512/1024MiB SDRAM: NT5CB128M16P-CG */ /* ESDCFG0 0x0c */ NS_VAL tRFC, 160, 1, 255 /* clks - 1 (0..255) */ -CK_MAX tXS, tRFC + 1 + NS_TO_CK(10), 5, 1, 255 /* clks - 1 (0..255) tRFC + 10 */ +CK_MAX tXS, tRFC + 1 + NS_TO_CK(10), 5, 1, 255 /* clks - 1 (0..255) tRFC + 10 */ CK_MAX tXP, 3, NS_TO_CK(6), 1, 7 /* clks - 1 (0..7) */ /* max(6ns, 3*CK) */ -CK_MAX tXPDLL, NS_TO_CK(24), 2, 1, 15 /* clks - 1 (0..15) */ +CK_MAX tXPDLL, NS_TO_CK(24), 2, 1, 15 /* clks - 1 (0..15) */ NS_VAL tFAW, 45, 1, 31 /* clks - 1 (0..31) */ CK_VAL tCL, 9, 3, 8 /* clks - 3 (0..8) CAS Latency */ @@ -614,7 +526,7 @@ NS_VAL tRAS, 36, 1, 31 /* clks - 1 (0..31) */ CK_VAL tRPA, 0, 0, 1 /* clks (0..1) */ NS_VAL tWR, 15, 1, 15 /* clks - 1 (0..15) */ CK_VAL tMRD, 4, 1, 15 /* clks - 1 (0..15) */ -CK_VAL tCWL, 7, 2, 6 /* clks - 2 (0..6) */ +CK_VAL tCWL, 5, 2, 6 /* clks - 2 (0..6) */ /* ESDCFG2 0x14 */ CK_VAL tDLLK, 512, 1, 511 /* clks - 1 (0..511) */ @@ -623,51 +535,64 @@ CK_MAX tWTR, 4, NS_TO_CK(8), 1, 7 /* clks - 1 (0..7) */ CK_MAX tRRD, 4, NS_TO_CK(8), 1, 7 /* clks - 1 (0..7) */ /* ESDOR 0x30 */ -CK_MAX tXPR, NS_TO_CK(160 + 10), 5, 1, 255 /* max(tRFC + 10, 5CK) */ +CK_MAX tXPR, NS_TO_CK(CK_TO_NS(tRFC + 1) + 10), 5, 1, 255 /* clks - 1 (0..255) max(tRFC + 10, 5CK) */ + +/* ESDOTC 0x08 */ +NS_VAL tAOFPD, 9, 1, 7 /* clks - 1 (0..7) */ +NS_VAL tAONPD, 9, 1, 7 /* clks - 1 (0..7) */ +CK_VAL tANPD, tCWL, 1, 15 /* clks - 1 (0..15) */ +CK_VAL tAXPD, tCWL, 1, 15 /* clks - 1 (0..15) */ +CK_VAL tODTLon tCWL - 1, 1, 7 /* clks - 1 (0..7) */ +CK_VAL tODTLoff tCWL - 1, 1, 31 /* clks - 1 (0..31) */ + +#define tSDE_RST (DIV_ROUND_UP(200000, ESDOR_CLK_PERIOD_ns) + 1) -#define tSDE_RST ((200000 + (ESDOR_CLK_PERIOD - 1)) / ESDOR_CLK_PERIOD) -#define tRST_CKE ((500000 + (ESDOR_CLK_PERIOD - 1)) / ESDOR_CLK_PERIOD) + /* Add an extra (or two?) ESDOR_CLK_PERIOD_ns according to + * erroneous Erratum Engcm12377 + */ +#define tRST_CKE (DIV_ROUND_UP(500000 + 2 * ESDOR_CLK_PERIOD_ns, ESDOR_CLK_PERIOD_ns) + 1) #define ROW_ADDR_BITS 14 #define COL_ADDR_BITS 10 .iflt tWR - 7 - .set ESDSCR_MRS_VAL, (0x8000 | (3 << 4) | \ - (((tWR - 3) << 9) | \ - (((tCL + 3) - 4) << 4)) << 16) + .set mrs_val, (0x8080 | \ + (3 << 4) /* MRS command */ | \ + ((1 << 8) /* DLL Reset */ | \ + ((tWR + 1 - 4) << 9) | \ + (((tCL + 3) - 4) << 4)) << 16) .else - .set ESDSCR_MRS_VAL, (0x8000 | (3 << 4) | \ - ((((tWR + 1) / 2) << 9) | \ - (((tCL + 3) - 4) << 4)) << 16) + .set mrs_val, (0x8080 | \ + (3 << 4) /* MRS command */ | \ + ((1 << 8) /* DLL Reset */ | \ + (((tWR + 1) / 2) << 9) | \ + (((tCL + 3) - 4) << 4)) << 16) .endif - -#else -#error Unsupported SDRAM type selected -#endif - -#define ESDCFG0_VAL ( \ - ((tRFC) << 24) | \ - ((tXS) << 16) | \ - ((tXP) << 13) | \ - ((tXPDLL) << 9) | \ - ((tFAW) << 4) | \ - ((tCL) << 0)) \ - -#define ESDCFG1_VAL ( \ - ((tRCD) << 29) | \ - ((tRP) << 26) | \ - ((tRC) << 21) | \ - ((tRAS) << 16) | \ - ((tRPA) << 15) | \ - ((tWR) << 9) | \ - ((tMRD) << 5) | \ - ((tCWL) << 0)) \ - -#define ESDCFG2_VAL ( \ - ((tDLLK) << 16) | \ - ((tRTP) << 6) | \ - ((tWTR) << 3) | \ - ((tRRD) << 0)) +#define ESDSCR_MRS_VAL(cs) (mrs_val | ((1 << (cs)) << 8)) + +#define ESDCFG0_VAL ( \ + (tRFC << 24) | \ + (tXS << 16) | \ + (tXP << 13) | \ + (tXPDLL << 9) | \ + (tFAW << 4) | \ + (tCL << 0)) \ + +#define ESDCFG1_VAL ( \ + (tRCD << 29) | \ + (tRP << 26) | \ + (tRC << 21) | \ + (tRAS << 16) | \ + (tRPA << 15) | \ + (tWR << 9) | \ + (tMRD << 5) | \ + (tCWL << 0)) \ + +#define ESDCFG2_VAL ( \ + (tDLLK << 16) | \ + (tRTP << 6) | \ + (tWTR << 3) | \ + (tRRD << 0)) #define BL (SDRAM_BURST_LENGTH / 8) /* 0: 4 byte 1: 8 byte */ #define ESDCTL_VAL (((ROW_ADDR_BITS - 11) << 24) | \ @@ -685,6 +610,13 @@ CK_MAX tXPR, NS_TO_CK(160 + 10), 5, 1, 255 /* max(tRFC + 10, 5CK) */ #define ESDOR_VAL ((tXPR << 16) | (tSDE_RST << 8) | (tRST_CKE << 0)) +#define ESDOTC_VAL ((tAOFPD << 27) | \ + (tAONPD << 24) | \ + (tANPD << 20) | \ + (tAXPD << 16) | \ + (tODTLon << 12) | \ + (tODTLoff << 4)) + .macro flash_header __text_start: fcb_start: @@ -702,81 +634,7 @@ fcb_start: .word 0 /* BI Swap disabled */ .word 0 /* Bad Block marker offset in spare area */ fcb_end: -#if 1 - .word 0 -tRFC_VAL: - .byte tRFC -tXS_VAL: - .byte tXS -tXP_VAL: - .byte tXP -tXPDLL_VAL: - .byte tXPDLL -tFAW_VAL: - .byte tFAW -tCL_VAL: - .byte tCL -tRCD_VAL: - .byte tRCD -tRP_VAL: - .byte tRP -tRC_VAL: - .byte tRC -tRAS_VAL: - .byte tRAS -tRPA_VAL: - .byte tRPA -tWR_VAL: - .byte tWR -tMRD_VAL: - .byte tMRD -tCWL_VAL: - .byte tCWL -tDLLK_VAL: - .byte tDLLK -tRTP_VAL: - .byte tRTP -tWTR_VAL: - .byte tWTR -tRRD_VAL: - .byte tRRD -tXPR_VAL: - .byte tXPR -tSDE_RST_VAL: - .byte tSDE_RST -tRST_CKE_VAL: - .byte tRST_CKE - .align 2 -W_ESDCTL_VAL: - .word ESDCTL_VAL -W_ESDMISC_VAL: - .word ESDMISC_VAL -W_ESDCFG0_VAL: - .word ESDCFG0_VAL -W_ESDCFG1_VAL: - .word ESDCFG1_VAL -W_ESDCFG2_VAL: - .word ESDCFG2_VAL -W_ESDOR_VAL: - .word ESDOR_VAL -W_ESDSCR_MRS_VAL: - .word ESDSCR_MRS_VAL -#endif -#if 0 -#undef ESDCFG0_VAL -#undef ESDCFG1_VAL -#undef ESDMISC_VAL - -#define ESDCFG0_VAL 0x9f5152e3 -#define ESDCFG1_VAL 0xb68e8a63 -#define ESDMISC_VAL 0x00011740 -W_ESDMISC_VAL_FSL: - .word ESDMISC_VAL -W_ESDCFG0_VAL_FSL: - .word ESDCFG0_VAL -W_ESDCFG1_VAL_FSL: - .word ESDCFG1_VAL -#endif + .org 0x400 ivt_header: .word CPU_2_BE_32((0xd1 << 24) | (32 << 8) | 0x40) @@ -799,14 +657,12 @@ image_len: plugin: .word 0 ivt_end: - #define DCD_VERSION 0x40 dcd_hdr: - .word CPU_2_BE_32((0xd2 << 24) | - ((dcd_end - .) << 8) | DCD_VERSION) + .word CPU_2_BE_32((0xd2 << 24) | ((dcd_end - .) << 8) | DCD_VERSION) dcd_start: - MXC_DCD_CMD(MXC_DCD_CMD_SZ_WORD, MXC_DCD_CMD_FLAG_WRITE, dcd_end) + MXC_DCD_CMD_WRT(MXC_DCD_CMD_SZ_WORD, MXC_DCD_CMD_FLAG_WRITE, zq_calib) /* disable all irrelevant clocks */ MXC_DCD_ITEM(CCM_BASE_ADDR + CLKCTL_CCGR0, 0xffcc0fff) MXC_DCD_ITEM(CCM_BASE_ADDR + CLKCTL_CCGR1, 0x000fffc3) @@ -818,175 +674,161 @@ dcd_start: MXC_DCD_ITEM(CCM_BASE_ADDR + CLKCTL_CCGR7, 0xfff00000) MXC_DCD_ITEM(CCM_BASE_ADDR + CLKCTL_CMEOR, 0x00000000) - MXC_DCD_ITEM(IOMUXC_BASE_ADDR + 0x174, 0x00000011) /* EIM_D18 => GPIO2[20] STK5-LED */ + MXC_DCD_ITEM(IOMUXC_BASE_ADDR + LED_MUX_OFFSET, LED_MUX_MODE) /* EIM_D18 => GPIO2[20] STK5-LED */ + MXC_DCD_ITEM(IOMUXC_BASE_ADDR + 0x318, 0x11) /* GPIO_1 => LCD Backlight */ MXC_DCD_ITEM(0x63fd800c, 0x00000000) /* M4IF: MUX NFC signals on WEIM */ -#if CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == SDRAM_TYPE_DDR2 - /* setup SDRAM pads */ - MXC_DCD_ITEM(0x53fa8554, 0x00200000) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_DQM3 - MXC_DCD_ITEM(0x53fa8560, 0x00200000) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_DQM2 - MXC_DCD_ITEM(0x53fa8594, 0x00200000) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_DQM1 - MXC_DCD_ITEM(0x53fa8584, 0x00200000) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_DQM0 - - MXC_DCD_ITEM(0x53fa8558, 0x00200040) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS3 - MXC_DCD_ITEM(0x53fa8568, 0x00200040) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS2 - MXC_DCD_ITEM(0x53fa8590, 0x00200040) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS1 - MXC_DCD_ITEM(0x53fa857c, 0x00200040) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_SDQS0 - - MXC_DCD_ITEM(0x53fa8564, 0x00200040) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_SDODT1 - MXC_DCD_ITEM(0x53fa8580, 0x00200040) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_SDODT0 - MXC_DCD_ITEM(0x53fa8570, 0x00200000) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_SDCLK_1 - MXC_DCD_ITEM(0x53fa8578, 0x00200000) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_SDCLK_0 - - MXC_DCD_ITEM(0x53fa872c, 0x00200000) @ IOMUXC_SW_PAD_CTL_GRP_B3DS - MXC_DCD_ITEM(0x53fa8728, 0x00200000) @ IOMUXC_SW_PAD_CTL_GRP_B2DS - MXC_DCD_ITEM(0x53fa871c, 0x00200000) @ IOMUXC_SW_PAD_CTL_GRP_B1DS - MXC_DCD_ITEM(0x53fa8718, 0x00200000) @ IOMUXC_SW_PAD_CTL_GRP_B0DS - - MXC_DCD_ITEM(0x53fa8574, 0x00280000) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_CAS - MXC_DCD_ITEM(0x53fa8588, 0x00280000) @ IOMUXC_SW_PAD_CTL_PAD_DRAM_RAS - MXC_DCD_ITEM(0x53fa86f0, 0x00280000) @ IOMUXC_SW_PAD_CTL_GRP_ADDDS - MXC_DCD_ITEM(0x53fa8720, 0x00280000) @ IOMUXC_SW_PAD_CTL_GRP_CTLDS - - MXC_DCD_ITEM(0x53fa86fc, 0x00000000) @ IOMUXC_SW_PAD_CTL_GRP_DDRPKE - -#if CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == SDRAM_TYPE_DDR2 - MXC_DCD_ITEM(0x53fa86f4, 0x00000200) @ IOMUXC_SW_PAD_CTL_GRP_DDRMODE_CTL - DQS DIFF mode - MXC_DCD_ITEM(0x53fa8714, 0x00000000) @ IOMUXC_SW_PAD_CTL_GRP_DDRMODE - Data CMOS mode - MXC_DCD_ITEM(0x53fa8724, 0x06000000) @ IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE - DDR_SEL=01 +#if SDRAM_CLK > 333 + MXC_DCD_ITEM(0x53fd4014, 0x00888944) /* CBCDR */ #else - MXC_DCD_ITEM(0x53fa86f4, 0x00000000) @ IOMUXC_SW_PAD_CTL_GRP_DDRMODE_CTL - DQS DIFF mode - MXC_DCD_ITEM(0x53fa8714, 0x00000000) @ IOMUXC_SW_PAD_CTL_GRP_DDRMODE - Data CMOS mode - MXC_DCD_ITEM(0x53fa8724, 0x04000000) @ IOMUXC_SW_PAD_CTL_GRP_DDR_TYPE - DDR_SEL=10 + MXC_DCD_ITEM(0x53fd4014, 0x00888644) /* CBCDR */ #endif - /* memory timing setup */ - MXC_DCD_ITEM(0x63fd9088, 0x36353b38) - MXC_DCD_ITEM(0x63fd9090, 0x49434942) - MXC_DCD_ITEM(0x63fd90F8, 0x00000800) - MXC_DCD_ITEM(0x63fd907c, 0x01350138) - MXC_DCD_ITEM(0x63fd9080, 0x01380139) - MXC_DCD_ITEM(0x63fd9018, ESDMISC_VAL) @ ESDMISC + MXC_DCD_ITEM(0x53fd4018, 0x00016154) /* CBCMR */ + +#define DDR_SEL_VAL 2 +#define DSE_VAL 5 +#define ODT_VAL 2 + +#define DDR_SEL_SHIFT 25 +#define ODT_SHIFT 22 +#define DSE_SHIFT 19 +#define DDR_INPUT_SHIFT 9 +#define HYS_SHIFT 8 +#define PKE_SHIFT 7 +#define PUE_SHIFT 6 +#define PUS_SHIFT 4 + +#define DDR_SEL_MASK (DDR_SEL_VAL << DDR_SEL_SHIFT) +#define DSE_MASK (DSE_VAL << DSE_SHIFT) +#define ODT_MASK (ODT_VAL << ODT_SHIFT) + +#define DQM_VAL DSE_MASK +#define SDQS_VAL (ODT_MASK | DSE_MASK | (1 << PUE_SHIFT)) +#define SDODT_VAL (DSE_MASK | (0 << PKE_SHIFT) | (1 << PUE_SHIFT) | (0 << PUS_SHIFT)) +#define SDCLK_VAL DSE_MASK +#define SDCKE_VAL ((1 << PKE_SHIFT) | (1 << PUE_SHIFT) | (0 << PUS_SHIFT)) + + MXC_DCD_ITEM(0x53fa8724, DDR_SEL_MASK) /* DDR_TYPE: DDR3 */ + MXC_DCD_ITEM(0x53fa86f4, 0 << DDR_INPUT_SHIFT) /* DDRMODE_CTL */ + MXC_DCD_ITEM(0x53fa8714, 0 << DDR_INPUT_SHIFT) /* GRP_DDRMODE */ + MXC_DCD_ITEM(0x53fa86fc, 1 << PKE_SHIFT) /* GRP_DDRPKE */ + MXC_DCD_ITEM(0x53fa8710, 0 << HYS_SHIFT) /* GRP_DDRHYS */ + MXC_DCD_ITEM(0x53fa8708, 1 << PUE_SHIFT) /* GRP_DDRPK */ + + MXC_DCD_ITEM(0x53fa8584, DQM_VAL) /* DQM0 */ + MXC_DCD_ITEM(0x53fa8594, DQM_VAL) /* DQM1 */ + MXC_DCD_ITEM(0x53fa8560, DQM_VAL) /* DQM2 */ + MXC_DCD_ITEM(0x53fa8554, DQM_VAL) /* DQM3 */ + + MXC_DCD_ITEM(0x53fa857c, SDQS_VAL) /* SDQS0 */ + MXC_DCD_ITEM(0x53fa8590, SDQS_VAL) /* SDQS1 */ + MXC_DCD_ITEM(0x53fa8568, SDQS_VAL) /* SDQS2 */ + MXC_DCD_ITEM(0x53fa8558, SDQS_VAL) /* SDQS3 */ + + MXC_DCD_ITEM(0x53fa8580, SDODT_VAL) /* SDODT0 */ + MXC_DCD_ITEM(0x53fa8578, SDCLK_VAL) /* SDCLK0 */ + + MXC_DCD_ITEM(0x53fa8564, SDODT_VAL) /* SDODT1 */ + MXC_DCD_ITEM(0x53fa8570, SDCLK_VAL) /* SDCLK1 */ + + MXC_DCD_ITEM(0x53fa858c, SDCKE_VAL) /* SDCKE0 */ + MXC_DCD_ITEM(0x53fa855c, SDCKE_VAL) /* SDCKE1 */ + + MXC_DCD_ITEM(0x53fa8574, DSE_MASK) /* DRAM_CAS */ + MXC_DCD_ITEM(0x53fa8588, DSE_MASK) /* DRAM_RAS */ + + MXC_DCD_ITEM(0x53fa86f0, DSE_MASK) /* GRP_ADDDS */ + MXC_DCD_ITEM(0x53fa8720, DSE_MASK) /* GRP_CTLDS */ + MXC_DCD_ITEM(0x53fa8718, DSE_MASK) /* GRP_B0DS */ + MXC_DCD_ITEM(0x53fa871c, DSE_MASK) /* GRP_B1DS */ + MXC_DCD_ITEM(0x53fa8728, DSE_MASK) /* GRP_B2DS */ + MXC_DCD_ITEM(0x53fa872c, DSE_MASK) /* GRP_B3DS */ + + /* calibration defaults */ + MXC_DCD_ITEM(0x63fd904c, 0x001f001f) + MXC_DCD_ITEM(0x63fd9050, 0x001f001f) + MXC_DCD_ITEM(0x63fd907c, 0x011e011e) + MXC_DCD_ITEM(0x63fd9080, 0x011f0120) + MXC_DCD_ITEM(0x63fd9088, 0x3a393d3b) + MXC_DCD_ITEM(0x63fd9090, 0x3f3f3f3f) + + MXC_DCD_ITEM(0x63fd9018, ESDMISC_VAL) MXC_DCD_ITEM(0x63fd9000, ESDCTL_VAL) MXC_DCD_ITEM(0x63fd900c, ESDCFG0_VAL) MXC_DCD_ITEM(0x63fd9010, ESDCFG1_VAL) MXC_DCD_ITEM(0x63fd9014, ESDCFG2_VAL) - MXC_DCD_ITEM(0x63fd902c, 0x000026d2) @ command delay - MXC_DCD_ITEM(0x63fd9030, ESDOR_VAL) @ out of reset delays - MXC_DCD_ITEM(0x63fd9008, 0x12273030) @ ODT timings - MXC_DCD_ITEM(0x63fd9004, 0x00030012) @ Power down control - - /********************************* - * DDR device configuration: - **********************************/ - /* CS0 */ -#if CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == SDRAM_TYPE_DDR2 - MXC_DCD_ITEM(0x63fd901c, 0x04008010) - MXC_DCD_ITEM(0x63fd901c, 0x00008020) - MXC_DCD_ITEM(0x63fd901c, 0x00008020) -#endif - MXC_DCD_ITEM(0x63fd901c, ESDSCR_MRS_VAL) - //MXC_DCD_ITEM(0x63fd901c, 0x0a528030) @ MRS: BL: 4, BT: seq, CL: 5, WR: 6 -#if CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == SDRAM_TYPE_DDR2 - MXC_DCD_ITEM(0x63fd901c, 0x03868031) @ EMRS(1): OCD calibration default - MXC_DCD_ITEM(0x63fd901c, 0x00068031) @ EMRS(1): OCD calibration exit - MXC_DCD_ITEM(0x63fd901c, 0x00008032) @ EMRS(2): 0 -#else - MXC_DCD_ITEM(0x63fd901c, 0x00008032) @ MR2: 0 - MXC_DCD_ITEM(0x63fd901c, 0x00008032) @ MR3: 0 - MXC_DCD_ITEM(0x63fd901c, 0x00028031) @ MR1: - MXC_DCD_ITEM(0x63fd901c, 0x092080b0) @ MR0: WHY 80b0 instead of 8030? Undocumented bit# 7? - MXC_DCD_ITEM(0x63fd901c, 0x04008040) -#endif + MXC_DCD_ITEM(0x63fd902c, 0x000026d2) + MXC_DCD_ITEM(0x63fd9030, ESDOR_VAL) + MXC_DCD_ITEM(0x63fd9008, ESDOTC_VAL) + MXC_DCD_ITEM(0x63fd9004, 0x00030012) + + /* MR0 - CS0 */ + MXC_DCD_ITEM(0x63fd901c, 0x00008032) /* MRS: MR2 */ + MXC_DCD_ITEM(0x63fd901c, 0x00008033) /* MRS: MR3 */ + MXC_DCD_ITEM(0x63fd901c, 0x00408031) /* MRS: MR1 */ + MXC_DCD_ITEM(0x63fd901c, ESDSCR_MRS_VAL(0)) /* MRS: MR0 */ + /* MR0 - CS1 */ #if BANK_ADDR_BITS > 1 -#if CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == SDRAM_TYPE_DDR2 - MXC_DCD_ITEM(0x63fd901c, 0x04008018) - MXC_DCD_ITEM(0x63fd901c, 0x00008028) - MXC_DCD_ITEM(0x63fd901c, 0x00008028) -#endif - MXC_DCD_ITEM(0x63fd901c, 0x0a528038) @ MRS: BL: 4, BT: seq, CL: 5, WR: 6 - MXC_DCD_ITEM(0x63fd901c, 0x03868039) @ EMRS(1): OCD calibration default - MXC_DCD_ITEM(0x63fd901c, 0x00068039) @ EMRS(1): OCD calibration exit - MXC_DCD_ITEM(0x63fd901c, 0x0000803a) @ EMRS(2): 0 + MXC_DCD_ITEM(0x63fd901c, 0x0000803a) /* MRS: MR2 */ + MXC_DCD_ITEM(0x63fd901c, 0x0000803b) /* MRS: MR3 */ + MXC_DCD_ITEM(0x63fd901c, 0x00408039) /* MRS: MR1 */ + MXC_DCD_ITEM(0x63fd901c, ESDSCR_MRS_VAL(1)) /* MRS: MR0 */ #endif - MXC_DCD_ITEM(0x63fd9020, 0x00005800) - MXC_DCD_ITEM(0x63fd9058, 0x00033332) @ ODT control: 50Ohms, ODT act enable + MXC_DCD_ITEM(0x63fd9020, 0x00005800) /* refresh interval */ + MXC_DCD_ITEM(0x63fd9058, 0x00011112) + + MXC_DCD_ITEM(0x63fd90d0, 0x00000003) /* select default compare pattern for calibration */ + + /* ZQ calibration */ + MXC_DCD_ITEM(0x63fd901c, 0x04008010) /* precharge all */ + MXC_DCD_ITEM(0x63fd901c, 0x00008040) /* MRS: ZQ calibration */ + MXC_DCD_ITEM(0x63fd9040, 0x0539002b) /* Force ZQ calibration */ +zq_calib: + MXC_DCD_CMD_CHK(MXC_DCD_CMD_SZ_WORD, 0, 0x63fd9040, 0x00010000) + MXC_DCD_CMD_WRT(MXC_DCD_CMD_SZ_WORD, MXC_DCD_CMD_FLAG_WRITE, wl_calib) + + /* Write Leveling */ + MXC_DCD_ITEM(0x63fd901c, 0x00048033) /* MRS: select MPR */ + MXC_DCD_ITEM(0x63fd901c, 0x00848231) /* MRS: start write leveling */ MXC_DCD_ITEM(0x63fd901c, 0x00000000) - - MXC_DCD_ITEM(0x63fd901c, 0x00448031) @ full drive strength, enable 50ohm ODT - MXC_DCD_ITEM(0x63fd901c, 0x04008018) + MXC_DCD_ITEM(0x63fd9048, 0x00000001) +wl_calib: + MXC_DCD_CMD_CHK(MXC_DCD_CMD_SZ_WORD, 0, 0x63fd9048, 0x00000001) + MXC_DCD_CMD_WRT(MXC_DCD_CMD_SZ_WORD, MXC_DCD_CMD_FLAG_WRITE, dqs_calib) + MXC_DCD_ITEM(0x63fd901c, 0x00048031) /* MRS: end write leveling */ + MXC_DCD_ITEM(0x63fd901c, 0x00008033) /* MRS: select normal data path */ + + /* DQS calibration */ + MXC_DCD_ITEM(0x63fd901c, 0x04008010) /* precharge all */ + MXC_DCD_ITEM(0x63fd901c, 0x00048033) /* MRS: select MPR */ + MXC_DCD_ITEM(0x63fd907c, 0x90000000) /* reset RD fifo and start DQS calib. */ +dqs_calib: + MXC_DCD_CMD_CHK(MXC_DCD_CMD_SZ_WORD, 0, 0x63fd907c, 0x90000000) + MXC_DCD_CMD_WRT(MXC_DCD_CMD_SZ_WORD, MXC_DCD_CMD_FLAG_WRITE, wr_dl_calib) + MXC_DCD_ITEM(0x63fd901c, 0x00008033) /* MRS: select normal data path */ + + /* WR DL calibration */ MXC_DCD_ITEM(0x63fd901c, 0x00000000) + MXC_DCD_ITEM(0x63fd901c, 0x04008010) /* precharge all */ + MXC_DCD_ITEM(0x63fd901c, 0x00048033) /* MRS: select MPR */ + MXC_DCD_ITEM(0x63fd90a4, 0x00000010) +wr_dl_calib: /* 6c4 */ + MXC_DCD_CMD_CHK(MXC_DCD_CMD_SZ_WORD, 0, 0x63fd90a4, 0x00000010) + MXC_DCD_CMD_WRT(MXC_DCD_CMD_SZ_WORD, MXC_DCD_CMD_FLAG_WRITE, rd_dl_calib) + MXC_DCD_ITEM(0x63fd901c, 0x00008033) /* MRS: select normal data path */ + + /* RD DL calibration */ + MXC_DCD_ITEM(0x63fd901c, 0x04008010) /* precharge all */ + MXC_DCD_ITEM(0x63fd901c, 0x00048033) /* MRS: select MPR */ + MXC_DCD_ITEM(0x63fd90a0, 0x00000010) +rd_dl_calib: /* 70c */ + MXC_DCD_CMD_CHK(MXC_DCD_CMD_SZ_WORD, 0, 0x63fd90a0, 0x00000010) + MXC_DCD_CMD_WRT(MXC_DCD_CMD_SZ_WORD, MXC_DCD_CMD_FLAG_WRITE, dcd_end) + MXC_DCD_ITEM(0x63fd901c, 0x00008033) /* MRS: select normal data path */ - /* Enable ZQ calibration to tightly control the impedance of the DDR IO pads */ - MXC_DCD_ITEM(0x63fd9040, 0x04b80003) @ keep ZQ HW control values and enable it -#else -MXC_DCD_ITEM(0x53fa8554, 0x00300000) -MXC_DCD_ITEM(0x53fa8560, 0x00300000) -MXC_DCD_ITEM(0x53fa8594, 0x00300000) -MXC_DCD_ITEM(0x53fa8584, 0x00300000) - -MXC_DCD_ITEM(0x53fa8558, 0x00f00000) -MXC_DCD_ITEM(0x53fa8568, 0x00f00000) -MXC_DCD_ITEM(0x53fa8590, 0x00f00000) -MXC_DCD_ITEM(0x53fa857c, 0x00f00000) - -MXC_DCD_ITEM(0x53fa8564, 0x00300040) -MXC_DCD_ITEM(0x53fa8580, 0x00300040) -MXC_DCD_ITEM(0x53fa8570, 0x00300000) -MXC_DCD_ITEM(0x53fa8578, 0x00300000) - -MXC_DCD_ITEM(0x53fa872c, 0x00300000) -MXC_DCD_ITEM(0x53fa8728, 0x00300000) -MXC_DCD_ITEM(0x53fa871c, 0x00300000) -MXC_DCD_ITEM(0x53fa8718, 0x00300000) - -MXC_DCD_ITEM(0x53fa8574, 0x00300000) -MXC_DCD_ITEM(0x53fa8588, 0x00300000) -MXC_DCD_ITEM(0x53fa86f0, 0x00300000) -MXC_DCD_ITEM(0x53fa8720, 0x00300000) - -MXC_DCD_ITEM(0x53fa86fc, 0x00000000) - -MXC_DCD_ITEM(0x53fa86f4, 0x00000000) -MXC_DCD_ITEM(0x53fa8714, 0x00000000) - -MXC_DCD_ITEM(0x53fa8724, 0x04000000) - -MXC_DCD_ITEM(0x63fd9088, 0x35343535) -MXC_DCD_ITEM(0x63fd9090, 0x4d444c44) -MXC_DCD_ITEM(0x63fd907c, 0x01370138) -MXC_DCD_ITEM(0x63fd9080, 0x013b013c) - -MXC_DCD_ITEM(0x63fd9018, 0x00011740) -MXC_DCD_ITEM(0x63fd9000, 0xc3190000) -MXC_DCD_ITEM(0x63fd900c, 0x9f5152e3) -MXC_DCD_ITEM(0x63fd9010, 0xb68e8a63) -MXC_DCD_ITEM(0x63fd9014, 0x01ff00db) - -MXC_DCD_ITEM(0x63fd902c, 0x000026d2) -MXC_DCD_ITEM(0x63fd9030, 0x009f0e21) -MXC_DCD_ITEM(0x63fd9008, 0x12273030) -MXC_DCD_ITEM(0x63fd9004, 0x0002002d) -@ MR0 - CS0 -MXC_DCD_ITEM(0x63fd901c, 0x00008032) -MXC_DCD_ITEM(0x63fd901c, 0x00008033) -MXC_DCD_ITEM(0x63fd901c, 0x00028031) -MXC_DCD_ITEM(0x63fd901c, 0x092080b0) -MXC_DCD_ITEM(0x63fd901c, 0x04008040) -@ MR0 - CS1 -#if SDRAM_SIZE > SZ_512M -MXC_DCD_ITEM(0x63fd901c, 0x0000803a) -MXC_DCD_ITEM(0x63fd901c, 0x0000803b) -MXC_DCD_ITEM(0x63fd901c, 0x00028039) -MXC_DCD_ITEM(0x63fd901c, 0x09208138) + MXC_DCD_ITEM(0x63fd901c, 0x00000000) -MXC_DCD_ITEM(0x63fd901c, 0x04008048) -#endif -MXC_DCD_ITEM(0x63fd9020, 0x00005800) -MXC_DCD_ITEM(0x63fd9040, 0x04b80003) -MXC_DCD_ITEM(0x63fd9058, 0x00022227) -MXC_DCD_ITEM(0x63fd901c, 0x00000000) -#endif MXC_DCD_ITEM(0x53fa8004, 0x00194005) @ set LDO to 1.3V /* setup NFC pads */ @@ -1023,21 +865,19 @@ MXC_DCD_ITEM(0x63fd901c, 0x00000000) MXC_DCD_ITEM(0x53fa85ac, 0x000000e4) @ NANDF_RB0 MXC_DCD_ITEM(0x53fa85b0, 0x00000004) @ NANDF_CS0 dcd_end: + .ifgt dcd_end - dcd_start - 1768 + DCD too large! + .endif .endm -AIPS1_PARAM: .word 0x77777777 MXC_REDBOOT_ROM_START: .long SDRAM_BASE_ADDR + SDRAM_SIZE - REDBOOT_OFFSET #if SDRAM_CLK > 333 CCM_CBCDR_VAL1: .word 0x02888944 -CCM_CBCMR_VAL1: .word 0x00015154 CCM_CBCDR_VAL2: .word 0x00888944 -CCM_CBCMR_VAL2: .word 0x00016154 #else CCM_CBCDR_VAL1: .word 0x02888644 -CCM_CBCMR_VAL1: .word 0x00015154 CCM_CBCDR_VAL2: .word 0x00888644 -CCM_CBCMR_VAL2: .word 0x00016154 #endif W_CSCMR1_VAL: .word 0xa6a2a020 diff --git a/packages/hal/arm/mx53/karo/v1_0/src/tx53_misc.c b/packages/hal/arm/mx53/karo/v1_0/src/tx53_misc.c index 39de7b5f..d3d03b7b 100644 --- a/packages/hal/arm/mx53/karo/v1_0/src/tx53_misc.c +++ b/packages/hal/arm/mx53/karo/v1_0/src/tx53_misc.c @@ -602,13 +602,7 @@ void tx53_program_new_stack(void *func) stack_ptr = old_stack; } -#if CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 -#define PMIC_NAME "LP3972" -#elif CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 #define PMIC_NAME "LT3598" -#else -#error Bad CYGNUM_HAL_ARM_TX53_SDRAM_TYPE -#endif static int pmic_reg_read(cyg_uint8 reg) { @@ -618,6 +612,10 @@ static int pmic_reg_read(cyg_uint8 reg) if (ret < 0) diag_printf("Failed to read %s reg 0x%02x %d\n", PMIC_NAME, reg, ret); +#ifdef DEBUG + else + diag_printf("read %02x from reg %02x\n", ret, reg); +#endif return ret; } @@ -629,47 +627,17 @@ static int pmic_reg_write(cyg_uint8 reg, cyg_uint8 val) if (ret) diag_printf("Failed to write 0x%02x to %s reg 0x%02x: %d\n", val, PMIC_NAME, reg, ret); +#ifdef DEBUG + else + diag_printf("wrote %02x to reg %02x\n", val, reg); +#endif return ret; } -#if CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 -int tx53_fuse_voltage(int on) -{ - int ret; - - ret = pmic_reg_read(0x81); - if (ret < 0) - return ret; - - /* Try to enable FUSE_VDD by asserting LP3972 GPIO1 */ - ret = (ret & ~0x3) | (on ? 1 : 3); - ret = pmic_reg_write(0x81, ret); - if (ret) { - return ret; - } - ret = pmic_reg_read(0x81); - if ((ret & 0x3) != (on ? 0x1 : 0x3)) { - return -EIO; - } - return 0; -} - -#define CORE_VOLTAGE_HIGH 0x1b -#define CORE_VOLTAGE_LOW 0x03 -#if CYGNUM_HAL_ARM_TX53_SDRAM_SIZE == SZ_512M -#define SDRAM_SIZE_STR '0' -#else -#if CYGNUM_HAL_ARM_TX53_CPU_CLK == 1000 -#define SDRAM_SIZE_STR '2' -#else -#define SDRAM_SIZE_STR '1' -#endif /* CYGNUM_HAL_ARM_TX53_CPU_CLK == 1000 */ -#endif /* CYGNUM_HAL_ARM_TX53_SDRAM_SIZE == SZ512M */ - -#elif CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 3 int tx53_fuse_voltage(int on) { int ret; + int retries = 0; if (on) { ret = pmic_reg_read(0x33); @@ -695,80 +663,127 @@ int tx53_fuse_voltage(int on) return ret; if (!(ret & (1 << 6))) { - ret |= 1 << 6; /* LDO4 Startup: don't wait for output < 300mV */ - ret = pmic_reg_write(0x12, ret); + ret = pmic_reg_write(0x12, ret | (1 << 6)); if (ret) - return -EIO; - ret = pmic_reg_read(0x12); - if (!(ret & (1 << 6))) { - diag_printf("Could not set LT3589 LDO4 Startup control\n"); - return -EIO; + return ret; + } + + /* enable SW regulator control and all regulators */ + ret = pmic_reg_write(0x10, 0xff); + if (ret) + return ret; + + for (;;) { + ret = pmic_reg_read(0x13); + if (ret < 0) + return ret; + if (ret & (1 << 7)) + break; + +#ifdef DEBUG + if (retries == 0) + diag_printf("Waiting for LDO4 PGOOD\n"); +#endif + HAL_DELAY_US(100); + if (++retries >= 1000) { + diag_printf("Failed to enable LDO4\n"); + return -ETIMEDOUT; } } + } else { + ret = pmic_reg_write(0x10, 0xbf); + if (ret) + return ret; + + ret = pmic_reg_read(0x12); + if (ret < 0) + return ret; + if (ret & (1 << 6)) { + ret = pmic_reg_write(0x12, ret & ~(1 << 6)); + if (ret) + return ret; + } } - /* enable SW regulator control and all regulators (except LDO4, if !on) */ - ret = pmic_reg_write(0x10, 0xbf | (!!on << 6)); - if (ret) - return ret; ret = pmic_reg_read(0x10); if (ret < 0) return ret; if (!(ret & (1 << 6)) ^ !on) { - diag_printf("Could not enable LT3589 LDO4 output\n"); + diag_printf("Could not %sable LT3589 LDO4 output\n", + on ? "en" : "dis"); return -EIO; } return 0; } -#define CORE_VOLTAGE_HIGH 0x1c -#define CORE_VOLTAGE_LOW 0x17 -#if CYGNUM_HAL_ARM_TX53_SDRAM_SIZE == SZ_512M -#define SDRAM_SIZE_STR '0' -#else -#define SDRAM_SIZE_STR '1' -#endif -#endif +#define LT3589_PGOOD_MASK (1 << 5) +#define LT3589_SLEW_RATE(n) (((n) & 3) << 6) +#define CORE_VOLTAGE_1200 0x1e +#define CORE_VOLTAGE_1000 0x19 +#define CORE_VOLTAGE_800 0x13 -void increase_core_voltage(bool high) +int adjust_core_voltage(unsigned int clock) { int ret; - const int volt = high ? CORE_VOLTAGE_HIGH : CORE_VOLTAGE_LOW; + int volt; + int retries = 0; + + switch (clock) { + case 1200: + volt = CORE_VOLTAGE_1200; + break; + + case 1000: + volt = CORE_VOLTAGE_1000; + break; + + case 800: + volt = CORE_VOLTAGE_800; + break; + + default: + if (clock > 1200) { + diag_printf("No core voltage assigned for %u MHz core clock\n", + clock); + return -EINVAL; + } + volt = CORE_VOLTAGE_800; + } ret = pmic_reg_read(0x23); if (ret < 0) { - diag_printf("Failed to read core voltage: %d\n", ret); - return; + return ret; } - ret = pmic_reg_write(0x23, volt); + ret = pmic_reg_write(0x23, volt | LT3589_SLEW_RATE(3) | LT3589_PGOOD_MASK); if (ret < 0) { - diag_printf("Failed to write core voltage: %d\n", ret); + return ret; } -} -static void display_board_type(void) -{ - char cpu_freq; - const char *ddr_type = _stringify(CYGNUM_HAL_ARM_TX53_SDRAM_TYPE); - - switch (CYGNUM_HAL_ARM_TX53_CPU_CLK) { - case 800: - cpu_freq = '8'; - break; + ret = pmic_reg_read(0x20); + if (ret < 0) + return ret; - case 1000: - cpu_freq = '1'; - break; + /* Select V1 reference and enable slew */ + ret = pmic_reg_write(0x20, (ret & ~(1 << 1)) | (1 << 0)); + if (ret) + return ret; - default: - cpu_freq = '?'; - } + do { + ret = pmic_reg_read(0x20); + if (ret < 0) + return ret; + if (++retries >= 1000) + return -ETIMEDOUT; + HAL_DELAY_US(100); + } while (ret & (1 << 0)); + return ret; +} - diag_printf("\nBoard Type: Ka-Ro TX53-%c%c%s%c\n", - cpu_freq, CYGNUM_HAL_ARM_TX53_SDRAM_TYPE == 2 ? '0' : 'x', - ddr_type, SDRAM_SIZE_STR); +static void display_board_type(void) +{ + diag_printf("\nBoard Type: Ka-Ro TX53 v3\n"); } static void display_board_info(void) diff --git a/packages/hal/arm/mx53/var/v2_0/include/hal_soc.h b/packages/hal/arm/mx53/var/v2_0/include/hal_soc.h index 94ac0c1e..88d508bf 100644 --- a/packages/hal/arm/mx53/var/v2_0/include/hal_soc.h +++ b/packages/hal/arm/mx53/var/v2_0/include/hal_soc.h @@ -56,7 +56,8 @@ extern char HAL_PLATFORM_EXTRA[40]; externC void plf_hardware_init(void); -extern void increase_core_voltage(bool i); + +extern int adjust_core_voltage(unsigned int); #define REG8(a) (*(volatile unsigned char *)(a)) #define REG16(a) (*(volatile unsigned short *)(a)) @@ -218,9 +219,6 @@ extern void increase_core_voltage(bool i); #define WEIM_BASE_ADDR (AIPS2_BASE_ADDR + 0x000DA000) #define NFC_IP_BASE (AIPS2_BASE_ADDR + 0x000DB000) #define EMI_BASE_ADDR (AIPS2_BASE_ADDR + 0x000DBF00) -//#define MIPI_HSC_BASE_ADDR (AIPS2_BASE_ADDR + 0x000DC000) -//#define ATA_BASE_ADDR (AIPS2_BASE_ADDR + 0x000E0000) -//#define SIM_BASE_ADDR (AIPS2_BASE_ADDR + 0x000E4000) #define SSI3_BASE_ADDR (AIPS2_BASE_ADDR + 0x000E8000) #define FEC_BASE_ADDR (AIPS2_BASE_ADDR + 0x000EC000) #define SOC_FEC_BASE FEC_BASE_ADDR @@ -326,14 +324,12 @@ extern void increase_core_voltage(bool i); #define ESDCTL_ESDCFG0 0x04 #define ESDCTL_ESDCTL1 0x08 #define ESDCTL_ESDCFG1 0x0C -#define ESDCTL_ESDMISC 0x10 -#define ESDCTL_ESDSCR 0x14 -#define ESDCTL_ESDCDLY1 0x20 -#define ESDCTL_ESDCDLY2 0x24 -#define ESDCTL_ESDCDLY3 0x28 -#define ESDCTL_ESDCDLY4 0x2C -#define ESDCTL_ESDCDLY5 0x30 -#define ESDCTL_ESDCDLYGD 0x34 +#define ESDCTL_ESDMISC 0x18 +#define ESDCTL_ESDSCR 0x1c +#define ESDCTL_ESDMRR 0x34 +#define ESDCTL_WLGCR 0x48 +#define ESDCTL_RDDLHWCTL 0xa0 +#define ESDCTL_WRDLHWCTL 0xa4 /* DPLL */ #define PLL_DP_CTL 0x00 @@ -617,8 +613,6 @@ extern unsigned int get_peri_clock(enum peri_clocks clk); typedef unsigned int nfc_setup_func_t(unsigned int, unsigned int, unsigned int, unsigned int); -extern void increase_core_voltage(bool); - #endif //#if !defined(__ASSEMBLER__) #endif /* __HAL_SOC_H__ */ diff --git a/packages/hal/arm/mx53/var/v2_0/src/cmds.c b/packages/hal/arm/mx53/var/v2_0/src/cmds.c index 7ca808ae..39cf6476 100644 --- a/packages/hal/arm/mx53/var/v2_0/src/cmds.c +++ b/packages/hal/arm/mx53/var/v2_0/src/cmds.c @@ -324,10 +324,14 @@ int configure_clock(u32 ref, u32 core_clk, u32 emi_clk) if (core_clk > 800000000) { div_core = 3; - increase_core_voltage(true); } else { div_core = 2; - increase_core_voltage(false); + } + ret = adjust_core_voltage(core_clk / 1000000); + if (ret) { + diag_printf("Failed to adjust core voltage for %u MHz\n", + core_clk / 1000000); + return ret; } cyg_hal_plf_serial_stop(); diff --git a/packages/redboot/v2_0/src/net/bootp.c b/packages/redboot/v2_0/src/net/bootp.c index 3a0c60ac..551bb4ae 100644 --- a/packages/redboot/v2_0/src/net/bootp.c +++ b/packages/redboot/v2_0/src/net/bootp.c @@ -44,9 +44,9 @@ // Author(s): gthomas // Contributors: gthomas // Date: 2000-07-14 -// Purpose: -// Description: -// +// Purpose: +// Description: +// // This code is part of RedBoot (tm). // //####DESCRIPTIONEND#### @@ -69,7 +69,7 @@ #define MAX_RETRIES 8 static bootp_header_t *bp_info; - + #ifdef CYGSEM_REDBOOT_NETWORKING_DHCP static const unsigned char dhcpCookie[] = {99,130,83,99}; static const unsigned char dhcpEnd[] = {255}; @@ -78,89 +78,89 @@ static const unsigned char dhcpRequest[] = {53,1,3}; static const unsigned char dhcpRequestIP[] = {50,4}; static const unsigned char dhcpParamRequestList[] = {55,3,1,3,6}; static enum { - DHCP_NONE = 0, - DHCP_DISCOVER, - DHCP_OFFER, - DHCP_REQUEST, - DHCP_ACK + DHCP_NONE = 0, + DHCP_DISCOVER, + DHCP_OFFER, + DHCP_REQUEST, + DHCP_ACK } dhcpState; #endif static void bootp_handler(udp_socket_t *skt, void *buf, int len, - ip_route_t *src_route, word src_port) + ip_route_t *src_route, word src_port) { - bootp_header_t *b; + bootp_header_t *b; #ifdef CYGSEM_REDBOOT_NETWORKING_DHCP - unsigned char *p, expected = 0; + unsigned char *p, expected = 0; #endif - b = buf; - if (bp_info) { - memset(bp_info,0,sizeof *bp_info); - if (len > sizeof *bp_info) - len = sizeof *bp_info; - memcpy(bp_info, b, len); - } + b = buf; + if (bp_info) { + memset(bp_info,0,sizeof *bp_info); + if (len > sizeof *bp_info) + len = sizeof *bp_info; + memcpy(bp_info, b, len); + } + + // Only accept pure REPLY responses + if (b->bp_op != BOOTREPLY) + return; + + // Must be sent to me, as well! + if (memcmp(b->bp_chaddr, __local_enet_addr, 6)) + return; - // Only accept pure REPLY responses - if (b->bp_op != BOOTREPLY) - return; - - // Must be sent to me, as well! - if (memcmp(b->bp_chaddr, __local_enet_addr, 6)) - return; - #ifdef CYGSEM_REDBOOT_NETWORKING_DHCP - p = b->bp_vend; - if (memcmp(p, dhcpCookie, sizeof(dhcpCookie))) - return; - p += 4; + p = b->bp_vend; + if (memcmp(p, dhcpCookie, sizeof(dhcpCookie))) + return; + p += 4; - // Find the DHCP Message Type tag - while (*p != TAG_DHCP_MESS_TYPE) { - p += p[1] + 2; - if (p >= (unsigned char*)b + sizeof(*bp_info)) - return; - } + // Find the DHCP Message Type tag + while (*p != TAG_DHCP_MESS_TYPE) { + p += p[1] + 2; + if (p >= (unsigned char*)b + sizeof(*bp_info)) + return; + } - p += 2; + p += 2; - switch (dhcpState) { - case DHCP_DISCOVER: - // The discover message has been sent, only accept an offer reply - if (*p == DHCP_MESS_TYPE_OFFER) { - dhcpState = DHCP_OFFER; - return; - } else { - expected = DHCP_MESS_TYPE_OFFER; - } - break; - case DHCP_REQUEST: - // The request message has been sent, only accept an ack reply - if (*p == DHCP_MESS_TYPE_ACK) { - dhcpState = DHCP_ACK; - return; - } else { - expected = DHCP_MESS_TYPE_ACK; - } - break; - case DHCP_NONE: - case DHCP_OFFER: - case DHCP_ACK: - // Quitely ignore these - they indicate repeated message from server - return; - } - // See if we've been NAK'd - if so, give up and try again - if (*p == DHCP_MESS_TYPE_NAK) { - dhcpState = DHCP_NONE; - return; - } - diag_printf("DHCP reply: %d, not %d\n", (int)*p, (int)expected); - return; + switch (dhcpState) { + case DHCP_DISCOVER: + // The discover message has been sent, only accept an offer reply + if (*p == DHCP_MESS_TYPE_OFFER) { + dhcpState = DHCP_OFFER; + return; + } else { + expected = DHCP_MESS_TYPE_OFFER; + } + break; + case DHCP_REQUEST: + // The request message has been sent, only accept an ack reply + if (*p == DHCP_MESS_TYPE_ACK) { + dhcpState = DHCP_ACK; + return; + } else { + expected = DHCP_MESS_TYPE_ACK; + } + break; + case DHCP_NONE: + case DHCP_OFFER: + case DHCP_ACK: + // Quietly ignore these - they indicate repeated message from server + return; + } + // See if we've been NAK'd - if so, give up and try again + if (*p == DHCP_MESS_TYPE_NAK) { + dhcpState = DHCP_NONE; + return; + } + diag_printf("DHCP reply: %d, not %d\n", (int)*p, (int)expected); + return; #else - // Simple BOOTP - this is all there is! - memcpy(__local_ip_addr, &b->bp_yiaddr, 4); + // Simple BOOTP - this is all there is! + memcpy(__local_ip_addr, &b->bp_yiaddr, 4); #endif } @@ -183,136 +183,136 @@ static int get_xid(void) int __bootp_find_local_ip(bootp_header_t *info) { - udp_socket_t udp_skt; - bootp_header_t b; - ip_route_t r; - int retry; - unsigned long start; - ip_addr_t saved_ip_addr; + udp_socket_t udp_skt; + bootp_header_t b; + ip_route_t r; + int retry; + unsigned long start; + ip_addr_t saved_ip_addr; #ifdef CYGSEM_REDBOOT_NETWORKING_DHCP - unsigned char *p; - int oldState; + unsigned char *p; + int oldState; #endif - int txSize; - bool abort = false; + int txSize; + bool abort = false; #ifdef CYGSEM_REDBOOT_NETWORKING_DHCP - dhcpState = DHCP_NONE; + dhcpState = DHCP_NONE; #endif - // Where we want the results saved - bp_info = info; - // Preserve any IP address we currently have, just in case - memcpy(saved_ip_addr, __local_ip_addr, sizeof(__local_ip_addr)); + // Where we want the results saved + bp_info = info; + // Preserve any IP address we currently have, just in case + memcpy(saved_ip_addr, __local_ip_addr, sizeof(__local_ip_addr)); - // fill out route for a broadcast - r.ip_addr[0] = 255; - r.ip_addr[1] = 255; - r.ip_addr[2] = 255; - r.ip_addr[3] = 255; - r.enet_addr[0] = 255; - r.enet_addr[1] = 255; - r.enet_addr[2] = 255; - r.enet_addr[3] = 255; - r.enet_addr[4] = 255; - r.enet_addr[5] = 255; + // fill out route for a broadcast + r.ip_addr[0] = 255; + r.ip_addr[1] = 255; + r.ip_addr[2] = 255; + r.ip_addr[3] = 255; + r.enet_addr[0] = 255; + r.enet_addr[1] = 255; + r.enet_addr[2] = 255; + r.enet_addr[3] = 255; + r.enet_addr[4] = 255; + r.enet_addr[5] = 255; - // setup a socket listener for bootp replies - __udp_install_listener(&udp_skt, IPPORT_BOOTPC, bootp_handler); + // setup a socket listener for bootp replies + __udp_install_listener(&udp_skt, IPPORT_BOOTPC, bootp_handler); - retry = MAX_RETRIES; - do { + retry = MAX_RETRIES; + do { start = MS_TICKS(); - // Build up the BOOTP/DHCP request - memset(&b, 0, sizeof(b)); - b.bp_op = BOOTREQUEST; - b.bp_htype = HTYPE_ETHERNET; - b.bp_hlen = 6; - b.bp_xid = get_xid(); - memcpy(b.bp_chaddr, __local_enet_addr, 6); - memset(__local_ip_addr, 0, sizeof(__local_ip_addr)); - + // Build up the BOOTP/DHCP request + memset(&b, 0, sizeof(b)); + b.bp_op = BOOTREQUEST; + b.bp_htype = HTYPE_ETHERNET; + b.bp_hlen = 6; + b.bp_xid = get_xid(); + memcpy(b.bp_chaddr, __local_enet_addr, 6); + memset(__local_ip_addr, 0, sizeof(__local_ip_addr)); + #ifdef CYGSEM_REDBOOT_NETWORKING_DHCP - p = b.bp_vend; - switch (dhcpState) { - case DHCP_NONE: - case DHCP_DISCOVER: - AddOption(p,dhcpCookie); - AddOption(p,dhcpDiscover); - AddOption(p,dhcpParamRequestList); - AddOption(p,dhcpEnd); - dhcpState = DHCP_DISCOVER; - break; - case DHCP_OFFER: - retry = MAX_RETRIES; - case DHCP_REQUEST: - b.bp_xid = bp_info->bp_xid; // Match what server sent - AddOption(p,dhcpCookie); - AddOption(p,dhcpRequest); - AddOption(p,dhcpRequestIP); - memcpy(p, &bp_info->bp_yiaddr, 4); p += 4; // Ask for the address just given - AddOption(p,dhcpParamRequestList); - AddOption(p,dhcpEnd); - dhcpState = DHCP_REQUEST; - memset(&b.bp_yiaddr, 0xFF, 4); - memset(&b.bp_siaddr, 0xFF, 4); - memset(&b.bp_yiaddr, 0x00, 4); - memset(&b.bp_siaddr, 0x00, 4); - break; - case DHCP_ACK: - // Ignore these states (they won't happen) - break; - } - - // Some servers insist on a minimum amount of "vendor" data - if (p < &b.bp_vend[BP_MIN_VEND_SIZE]) p = &b.bp_vend[BP_MIN_VEND_SIZE]; - txSize = p - (unsigned char*)&b; - oldState = dhcpState; + p = b.bp_vend; + switch (dhcpState) { + case DHCP_NONE: + case DHCP_DISCOVER: + AddOption(p, dhcpCookie); + AddOption(p, dhcpDiscover); + AddOption(p, dhcpParamRequestList); + AddOption(p, dhcpEnd); + dhcpState = DHCP_DISCOVER; + break; + case DHCP_OFFER: + retry = MAX_RETRIES; + case DHCP_REQUEST: + b.bp_xid = bp_info->bp_xid; // Match what server sent + AddOption(p, dhcpCookie); + AddOption(p, dhcpRequest); + AddOption(p, dhcpRequestIP); + memcpy(p, &bp_info->bp_yiaddr, 4); p += 4; // Ask for the address just given + AddOption(p,dhcpParamRequestList); + AddOption(p,dhcpEnd); + dhcpState = DHCP_REQUEST; + memset(&b.bp_yiaddr, 0xFF, 4); + memset(&b.bp_siaddr, 0xFF, 4); + memset(&b.bp_yiaddr, 0x00, 4); + memset(&b.bp_siaddr, 0x00, 4); + break; + case DHCP_ACK: + // Ignore these states (they won't happen) + break; + } + + // Some servers insist on a minimum amount of "vendor" data + if (p < &b.bp_vend[BP_MIN_VEND_SIZE]) p = &b.bp_vend[BP_MIN_VEND_SIZE]; + txSize = p - (unsigned char*)&b; + oldState = dhcpState; #else - txSize = sizeof(b); + txSize = sizeof(b); #endif __udp_send((char *)&b, txSize, &r, IPPORT_BOOTPS, IPPORT_BOOTPC); - // If we're retrying, inform the user - if (retry == (MAX_RETRIES - 1)) - diag_printf("... waiting for BOOTP information\n"); + // If we're retrying, inform the user + if (retry == (MAX_RETRIES - 1)) + diag_printf("... waiting for BOOTP information\n"); do { - __enet_poll(); + __enet_poll(); #ifdef CYGSEM_REDBOOT_NETWORKING_DHCP - if (dhcpState != oldState) { - if (dhcpState == DHCP_ACK) { - unsigned char *end; - int optlen; - // Address information has now arrived! - memcpy(__local_ip_addr, &bp_info->bp_yiaddr, 4); + if (dhcpState != oldState) { + if (dhcpState == DHCP_ACK) { + unsigned char *end; + int optlen; + // Address information has now arrived! + memcpy(__local_ip_addr, &bp_info->bp_yiaddr, 4); #ifdef CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY - memcpy(__local_ip_gate, &bp_info->bp_giaddr, 4); + memcpy(__local_ip_gate, &bp_info->bp_giaddr, 4); #endif - p = bp_info->bp_vend+4; - end = (unsigned char *)bp_info+sizeof(*bp_info); - while (p < end) { - unsigned char tag = *p; - if (tag == TAG_END) - break; - if (tag == TAG_PAD) - optlen = 1; - else { - optlen = p[1]; - p += 2; - switch (tag) { + p = bp_info->bp_vend+4; + end = (unsigned char *)bp_info+sizeof(*bp_info); + while (p < end) { + unsigned char tag = *p; + if (tag == TAG_END) + break; + if (tag == TAG_PAD) + optlen = 1; + else { + optlen = p[1]; + p += 2; + switch (tag) { #ifdef CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY - case TAG_SUBNET_MASK: // subnet mask - memcpy(__local_ip_mask,p,4); - break; - case TAG_GATEWAY: // router - memcpy(__local_ip_gate,p,4); - break; + case TAG_SUBNET_MASK: // subnet mask + memcpy(__local_ip_mask,p,4); + break; + case TAG_GATEWAY: // router + memcpy(__local_ip_gate,p,4); + break; #endif #ifdef CYGPKG_REDBOOT_NETWORKING_DNS - case TAG_DOMAIN_SERVER: + case TAG_DOMAIN_SERVER: // diag_printf(" DNS server found!\n"); memcpy(&__bootp_dns_addr, p, 4); __bootp_dns_set = 1; @@ -329,43 +329,41 @@ __bootp_find_local_ip(bootp_header_t *info) break; #endif //CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN #endif //CYGPKG_REDBOOT_NETWORKING_DNS - default: - break; - } - } - p += optlen; - } - __udp_remove_listener(IPPORT_BOOTPC); - return 0; - } else { - break; // State changed, handle it - } - } + default: + break; + } + } + p += optlen; + } + __udp_remove_listener(IPPORT_BOOTPC); + return 0; + } else { + break; // State changed, handle it + } + } #else - // All done, if address response has arrived - if (__local_ip_addr[0] || __local_ip_addr[1] || + // All done, if address response has arrived + if (__local_ip_addr[0] || __local_ip_addr[1] || __local_ip_addr[2] || __local_ip_addr[3]) { /* success */ __udp_remove_listener(IPPORT_BOOTPC); return 0; - } + } #endif - if (retry < MAX_RETRIES) { + if (retry < MAX_RETRIES) { if (_rb_break(1)) { - // The user typed ^C on the console - abort = true; - break; + // The user typed ^C on the console + abort = true; + break; } start--; /* account for time spent in _rb_break() */ - } + } } while ((int)(MS_TICKS_DELAY() - start) < RETRY_TIME); - } while (!abort && (retry-- > 0)); + } while (!abort && (retry-- > 0)); - // timed out - __udp_remove_listener(IPPORT_BOOTPC); - // Restore any previous IP address - memcpy(__local_ip_addr, saved_ip_addr, sizeof(__local_ip_addr)); - return -1; + // timed out + __udp_remove_listener(IPPORT_BOOTPC); + // Restore any previous IP address + memcpy(__local_ip_addr, saved_ip_addr, sizeof(__local_ip_addr)); + return -1; } - - diff --git a/packages/redboot/v2_0/src/wince.c b/packages/redboot/v2_0/src/wince.c index dc26041d..6d2171fc 100755 --- a/packages/redboot/v2_0/src/wince.c +++ b/packages/redboot/v2_0/src/wince.c @@ -440,11 +440,11 @@ void setup_drv_globals(ce_driver_globals *drv_glb) // Local IP address memcpy(&drv_glb->ipAddr, __local_ip_addr, sizeof(__local_ip_addr)); +#ifdef CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY // Subnet mask memcpy(&drv_glb->ipMask, __local_ip_mask, sizeof(__local_ip_mask)); // Gateway config -#ifdef CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY // Getway IP address memcpy(&drv_glb->ipGate, __local_ip_gate, sizeof(__local_ip_gate)); #endif @@ -470,11 +470,11 @@ void setup_std_drv_globals(ce_std_driver_globals *std_drv_glb) // Local IP address memcpy(&std_drv_glb->kitl.ipAddress, __local_ip_addr, sizeof(__local_ip_addr)); +#ifdef CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY // Subnet mask memcpy(&std_drv_glb->kitl.ipMask, __local_ip_mask, sizeof(__local_ip_mask)); // Gateway config -#ifdef CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY // Getway IP address memcpy(&std_drv_glb->kitl.ipRoute, __local_ip_gate, sizeof(__local_ip_gate)); #endif diff --git a/tools/src/libcdl/build.cxx b/tools/src/libcdl/build.cxx index 7c642df5..469af12f 100644 --- a/tools/src/libcdl/build.cxx +++ b/tools/src/libcdl/build.cxx @@ -1,4 +1,4 @@ -//{{{ Banner +//{{{ Banner //========================================================================== // @@ -8,32 +8,32 @@ // //========================================================================== //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 2002, 2003 Bart Veer // Copyright (C) 1999, 2000, 2001 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //========================================================================== -//#####DESCRIPTIONBEGIN#### +//#####DESCRIPTIONBEGIN#### // // Author(s): bartv // Contributors: bartv @@ -43,7 +43,7 @@ //========================================================================== //}}} -//{{{ #include's +//{{{ #include's // ---------------------------------------------------------------------------- #include @@ -61,7 +61,7 @@ //}}} -//{{{ Statics +//{{{ Statics // ---------------------------------------------------------------------------- CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlBuildLoadableBody); @@ -70,9 +70,9 @@ CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlDefineLoadableBody); CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlDefinableBody); //}}} -//{{{ CdlBuildableBody +//{{{ CdlBuildableBody -//{{{ Basics +//{{{ Basics // ---------------------------------------------------------------------------- // There is little data specific to a buildable. The only distinguishing @@ -87,7 +87,7 @@ CdlBuildableBody::CdlBuildableBody() // There is no data to initialize yet cdlbuildablebody_cookie = CdlBuildableBody_Magic; CYGDBG_MEMLEAK_CONSTRUCTOR(); - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); } @@ -100,7 +100,7 @@ CdlBuildableBody::~CdlBuildableBody() cdlbuildablebody_cookie = CdlBuildableBody_Invalid; CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } @@ -121,14 +121,14 @@ bool CdlBuildableBody::check_this(cyg_assert_class_zeal zeal) const { if (CdlBuildableBody_Magic != cdlbuildablebody_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); return CdlNodeBody::check_this(zeal); } //}}} -//{{{ Add and check property parsers +//{{{ Add and check property parsers // ---------------------------------------------------------------------------- @@ -139,30 +139,30 @@ CdlBuildableBody::add_property_parsers(std::vector& static CdlInterpreterCommandEntry commands[] = { - CdlInterpreterCommandEntry("compile", &CdlBuildableBody::parse_compile ), - CdlInterpreterCommandEntry("object", &CdlBuildableBody::parse_object ), - CdlInterpreterCommandEntry("make_object", &CdlBuildableBody::parse_make_object), - CdlInterpreterCommandEntry("make", &CdlBuildableBody::parse_make ), - CdlInterpreterCommandEntry("build_proc", &CdlBuildableBody::parse_build_proc ), - CdlInterpreterCommandEntry("", 0 ), + CdlInterpreterCommandEntry("compile", &CdlBuildableBody::parse_compile ), + CdlInterpreterCommandEntry("object", &CdlBuildableBody::parse_object ), + CdlInterpreterCommandEntry("make_object", &CdlBuildableBody::parse_make_object), + CdlInterpreterCommandEntry("make", &CdlBuildableBody::parse_make ), + CdlInterpreterCommandEntry("build_proc", &CdlBuildableBody::parse_build_proc ), + CdlInterpreterCommandEntry("", 0 ), }; for (int i = 0; commands[i].command != 0; i++) { - std::vector::const_iterator j; - for (j = parsers.begin(); j != parsers.end(); j++) { - if (commands[i].name == j->name) { - if (commands[i].command != j->command) { - CYG_FAIL("Property names are being re-used"); - } - break; - } - } - if (j == parsers.end()) { - parsers.push_back(commands[i]); - } + std::vector::const_iterator j; + for (j = parsers.begin(); j != parsers.end(); j++) { + if (commands[i].name == j->name) { + if (commands[i].command != j->command) { + CYG_FAIL("Property names are being re-used"); + } + break; + } + } + if (j == parsers.end()) { + parsers.push_back(commands[i]); + } } CdlNodeBody::add_property_parsers(parsers); - + CYG_REPORT_RETURN(); } @@ -179,14 +179,14 @@ CdlBuildableBody::check_properties(CdlInterpreter interp) // TODO: check that the relevant sources files exist, // unless marked appropriately (build_proc can create // new source files). - + CdlNodeBody::check_properties(interp); - + CYG_REPORT_RETURN(); } //}}} -//{{{ Property parsers +//{{{ Property parsers // ---------------------------------------------------------------------------- // Syntax: compile @@ -210,16 +210,16 @@ CdlBuildableBody::check_properties(CdlInterpreter interp) // scheme. int -CdlBuildableBody::parse_compile(CdlInterpreter interp, int argc, const char* argv[]) +CdlBuildableBody::parse_compile(CdlInterpreter interp, int argc, const char *argv[]) { CYG_REPORT_FUNCNAMETYPE("parse_compile", "result %d"); - static char* options[] = { - "library:", - 0 + static const char *options[] = { + "library:", + 0 }; int result = CdlParse::parse_stringvector_property(interp, argc, argv, CdlPropertyId_Compile, options, 0, true); - + CYG_REPORT_RETVAL(result); return result; } @@ -232,7 +232,7 @@ CdlBuildableBody::parse_compile(CdlInterpreter interp, int argc, const char* arg // rules // // This utility function takes a single string of this form and breaks -// it down into its constituent parts. +// it down into its constituent parts. // // NOTE: this will need lots of extra code in future to allow for // escaped characters, spaces in filenames, etc. For now just keep @@ -240,7 +240,7 @@ CdlBuildableBody::parse_compile(CdlInterpreter interp, int argc, const char* arg bool CdlBuildableBody::split_custom_build_step(std::string str_data, std::string& target, std::string& deps, std::string& rules, - std::string& error_msg) + std::string& error_msg) { CYG_REPORT_FUNCNAMETYPE("CdlBuildable::split_custom_build_step", "result %d"); @@ -253,90 +253,90 @@ CdlBuildableBody::split_custom_build_step(std::string str_data, std::string& tar // Skip any leading white space, and make sure that this leaves some real data. while (('\0' != *data) && isspace(*data)) { - data++; + data++; } if ('\0' == *data) { - error_msg = "no data in custom build_step"; - CYG_REPORT_RETVAL(false); - return false; + error_msg = "no data in custom build_step"; + CYG_REPORT_RETVAL(false); + return false; } // Now extract the target. This consists of any sequence of characters // upto space, tab, colon. for ( ; ('\0' != *data) && (':' != *data) && (' ' != *data) && ('\t' != *data); data++) { - target += *data; + target += *data; } // Discard any spaces or tabs, they are of no interest while ((' ' == *data) || ('\t' == *data)) { - data++; + data++; } // The current character should be a colon if (':' != *data) { - error_msg = "expecting a colon `;' after the target `" + target + "'"; - CYG_REPORT_RETVAL(false); - return false; + error_msg = "expecting a colon `;' after the target `" + target + "'"; + CYG_REPORT_RETVAL(false); + return false; } // Move past the colon, and skip any further spaces or tabs data++; while (('\0' != *data) && ((' ' == *data) || ('\t' == *data))) { - data++; + data++; } // Everything from here until the end of line should be part of the deps field, - // including white space. + // including white space. while (('\0' != *data) && ('\n' != *data) && (';' != *data)) { - deps += *data++; + deps += *data++; } if ("" == deps) { - error_msg = "expecting dependency list after `" + target + ":'"; - CYG_REPORT_RETVAL(false); - return false; + error_msg = "expecting dependency list after `" + target + ":'"; + CYG_REPORT_RETVAL(false); + return false; } // Having some rules is compulsory. if ('\0' == *data) { - error_msg = "expecting one or more rules after the dependency list"; - CYG_REPORT_RETVAL(false); - return false; + error_msg = "expecting one or more rules after the dependency list"; + CYG_REPORT_RETVAL(false); + return false; } else { - // We are currently at \n or ;, move on to the actual rules - data++; + // We are currently at \n or ;, move on to the actual rules + data++; } // Rules consist of one or more lines. Any leading white space on a given // line should be discarded. while ('\0' != *data) { - // Processing the current rule. Skip leading spaces and tabs - while ((' ' == *data) || ('\t' == *data)) { - data++; - } - // Now add everything up to the next newline or EOD to the rules. - while (('\0' != *data) && ('\n' != *data)) { - rules += *data++; - } + // Processing the current rule. Skip leading spaces and tabs + while ((' ' == *data) || ('\t' == *data)) { + data++; + } + // Now add everything up to the next newline or EOD to the rules. + while (('\0' != *data) && ('\n' != *data)) { + rules += *data++; + } - // Terminate this line of the rules with a newline, even if that - // character is absent from the raw data. - rules += '\n'; + // Terminate this line of the rules with a newline, even if that + // character is absent from the raw data. + rules += '\n'; - // And ignore the newline in the raw data itself - if ('\n' == *data) { - data++; - } + // And ignore the newline in the raw data itself + if ('\n' == *data) { + data++; + } } // Better make sure that there are some rules. All of the looping above // may just have left white space if ("" == rules) { - error_msg = "no rules provided"; - CYG_REPORT_RETVAL(false); - return false; + error_msg = "no rules provided"; + CYG_REPORT_RETVAL(false); + return false; } // Everything is ok. - + CYG_REPORT_RETVAL(true); return true; } @@ -365,18 +365,18 @@ parse_make_final_check(CdlInterpreter interp, CdlProperty_String prop) std::string prio_string = prop->get_option("priority"); if ("" != prio_string) { - cdl_int tmp = 1; - if (!Cdl::string_to_integer(prio_string, tmp)) { - CdlParse::report_property_parse_error(interp, prop, - "Invalid priority option, priorities should be simple numbers."); - } else { - if ((tmp < 1) || (tmp > 1024)) { - CdlParse::report_property_parse_error(interp, prop, - "Invalid priority value, priorities should be in the range 1 to 1024."); - } - } - } - + cdl_int tmp = 1; + if (!Cdl::string_to_integer(prio_string, tmp)) { + CdlParse::report_property_parse_error(interp, prop, + "Invalid priority option, priorities should be simple numbers."); + } else { + if ((tmp < 1) || (tmp > 1024)) { + CdlParse::report_property_parse_error(interp, prop, + "Invalid priority value, priorities should be in the range 1 to 1024."); + } + } + } + std::string data = prop->get_string(); std::string target; std::string deps; @@ -384,7 +384,7 @@ parse_make_final_check(CdlInterpreter interp, CdlProperty_String prop) std::string error_msg; if (!CdlBuildableBody::split_custom_build_step(data, target, deps, rules, error_msg)) { - CdlParse::report_property_parse_error(interp, prop, "Invalid custom build step, " + error_msg); + CdlParse::report_property_parse_error(interp, prop, "Invalid custom build step, " + error_msg); } } @@ -392,13 +392,13 @@ int CdlBuildableBody::parse_make(CdlInterpreter interp, int argc, const char* argv[]) { CYG_REPORT_FUNCNAMETYPE("parse_make", "result %d"); - static char* options[] = { - "priority:", - 0 + static const char* options[] = { + "priority:", + 0 }; int result = CdlParse::parse_string_property(interp, argc, argv, CdlPropertyId_Make, options, &parse_make_final_check); - + CYG_REPORT_RETVAL(result); return result; } @@ -419,18 +419,18 @@ parse_make_object_final_check(CdlInterpreter interp, CdlProperty_String prop) std::string prio_string = prop->get_option("priority"); if ("" != prio_string) { - cdl_int tmp = 1; - if (!Cdl::string_to_integer(prio_string, tmp)) { - CdlParse::report_property_parse_error(interp, prop, - "Invalid priority option, priorities should be simple numbers."); - } else { - if ((tmp < 1) || (tmp > 1024)) { - CdlParse::report_property_parse_error(interp, prop, - "Invalid priority value, priorities should be in the range 1 to 1024."); - } - } - } - + cdl_int tmp = 1; + if (!Cdl::string_to_integer(prio_string, tmp)) { + CdlParse::report_property_parse_error(interp, prop, + "Invalid priority option, priorities should be simple numbers."); + } else { + if ((tmp < 1) || (tmp > 1024)) { + CdlParse::report_property_parse_error(interp, prop, + "Invalid priority value, priorities should be in the range 1 to 1024."); + } + } + } + std::string data = prop->get_string(); std::string target; std::string deps; @@ -438,7 +438,7 @@ parse_make_object_final_check(CdlInterpreter interp, CdlProperty_String prop) std::string error_msg; if (!CdlBuildableBody::split_custom_build_step(data, target, deps, rules, error_msg)) { - CdlParse::report_property_parse_error(interp, prop, "Invalid custom build step, " + error_msg); + CdlParse::report_property_parse_error(interp, prop, "Invalid custom build step, " + error_msg); } } @@ -446,15 +446,15 @@ int CdlBuildableBody::parse_make_object(CdlInterpreter interp, int argc, const char* argv[]) { CYG_REPORT_FUNCNAMETYPE("parse_make_object", "result %d"); - static char* options[] = { - "library:", - "priority:", - 0 + static const char* options[] = { + "library:", + "priority:", + 0 }; int result = CdlParse::parse_string_property(interp, argc, argv, CdlPropertyId_MakeObject, options, - &parse_make_object_final_check); - + &parse_make_object_final_check); + CYG_REPORT_RETVAL(result); return result; } @@ -467,13 +467,13 @@ int CdlBuildableBody::parse_object(CdlInterpreter interp, int argc, const char* argv[]) { CYG_REPORT_FUNCNAMETYPE("parse_object", "result %d"); - static char* options[] = { - "library:", - 0 + static const char* options[] = { + "library:", + 0 }; int result = CdlParse::parse_stringvector_property(interp, argc, argv, CdlPropertyId_Object, options, 0, true); - + CYG_REPORT_RETVAL(result); return result; } @@ -493,7 +493,7 @@ CdlBuildableBody::parse_build_proc(CdlInterpreter interp, int argc, const char* } //}}} -//{{{ update_build_info() +//{{{ update_build_info() // ---------------------------------------------------------------------------- // Most of the work is done in update_all_build_info(). The update_build_info() @@ -507,25 +507,25 @@ CdlBuildableBody::update_build_info(CdlBuildInfo_Loadable& build_info, std::stri CYG_PRECONDITIONC("" != library); if (!is_active()) { - CYG_REPORT_RETURN(); - return; + CYG_REPORT_RETURN(); + return; } CdlConstValuable valuable = dynamic_cast(this); if (0 != valuable) { - if (!valuable->is_enabled()) { - CYG_REPORT_RETURN(); - return; - } + if (!valuable->is_enabled()) { + CYG_REPORT_RETURN(); + return; + } } update_all_build_info(build_info, library); - + CYG_REPORT_RETURN(); } //}}} -//{{{ update_all_build_info() +//{{{ update_all_build_info() // ---------------------------------------------------------------------------- // There are four properties to be considered, each of which may occur @@ -569,146 +569,146 @@ CdlBuildableBody::update_all_build_info(CdlBuildInfo_Loadable& build_info, std:: std::vector::const_iterator prop_i; for (prop_i = compile_properties.begin(); prop_i != compile_properties.end(); prop_i++) { - CdlProperty_StringVector compile_prop = dynamic_cast(*prop_i); - CYG_LOOP_INVARIANT_CLASSC(compile_prop); - - // Does this property have a library option? - std::string current_library = compile_prop->get_option("library"); - if ("" == current_library) { - current_library = package_library; - } - - const std::vector& files = compile_prop->get_strings(); - std::vector::const_iterator file_i; - - for (file_i = files.begin(); file_i != files.end(); file_i++) { - - // For each listed file, try to find it. If this is unsuccessful - // then assume that the file will be generated later on. - std::string path = loadable->find_relative_file(*file_i, "src"); - if ("" == path) { - if (has_src_subdir) { - path = "src/" + *file_i; - } else { - path = *file_i; - } - } - - // Now check whether or not the specified file is already present. - std::vector::const_iterator info_i; - for (info_i = build_info.compiles.begin(); info_i != build_info.compiles.end(); info_i++) { - if ((current_library == info_i->library) && (path == info_i->source)) { - break; - } - } - if (info_i == build_info.compiles.end()) { - CdlBuildInfo_Compile new_info; - new_info.library = current_library; - new_info.source = path; - build_info.compiles.push_back(new_info); - } - } + CdlProperty_StringVector compile_prop = dynamic_cast(*prop_i); + CYG_LOOP_INVARIANT_CLASSC(compile_prop); + + // Does this property have a library option? + std::string current_library = compile_prop->get_option("library"); + if ("" == current_library) { + current_library = package_library; + } + + const std::vector& files = compile_prop->get_strings(); + std::vector::const_iterator file_i; + + for (file_i = files.begin(); file_i != files.end(); file_i++) { + + // For each listed file, try to find it. If this is unsuccessful + // then assume that the file will be generated later on. + std::string path = loadable->find_relative_file(*file_i, "src"); + if ("" == path) { + if (has_src_subdir) { + path = "src/" + *file_i; + } else { + path = *file_i; + } + } + + // Now check whether or not the specified file is already present. + std::vector::const_iterator info_i; + for (info_i = build_info.compiles.begin(); info_i != build_info.compiles.end(); info_i++) { + if ((current_library == info_i->library) && (path == info_i->source)) { + break; + } + } + if (info_i == build_info.compiles.end()) { + CdlBuildInfo_Compile new_info; + new_info.library = current_library; + new_info.source = path; + build_info.compiles.push_back(new_info); + } + } } for (prop_i = makeobject_properties.begin(); prop_i != makeobject_properties.end(); prop_i++) { - CdlProperty_String prop = dynamic_cast(*prop_i); - CYG_LOOP_INVARIANT_CLASSC(prop); - - // Does thie property have a library option? - std::string current_library = prop->get_option("library"); - if ("" == current_library) { - current_library = package_library; - } - - // How about a priority field? The default priority for make_object is 100 - // We can rely on the validation done during the parsing process - cdl_int priority = 100; - std::string priority_option = prop->get_option("priority"); - if ("" != priority_option) { - Cdl::string_to_integer(priority_option, priority); - } - - // What we need now is the separate target, deps, and rules. These - // can be obtained via a utility. The raw data will have been validated - // already. - std::string raw_data = prop->get_string(); - std::string target; - std::string deps; - std::string rules; - std::string error_msg; - bool result; - - result = CdlBuildableBody::split_custom_build_step(raw_data, target, deps, rules, error_msg); - CYG_ASSERTC(true == result); - - // Construct a local object, then copy it into the vector - CdlBuildInfo_MakeObject local_copy; - local_copy.priority = priority; - local_copy.library = current_library; - local_copy.object = target; - local_copy.deps = deps; - local_copy.rules = rules; - - build_info.make_objects.push_back(local_copy); - } - + CdlProperty_String prop = dynamic_cast(*prop_i); + CYG_LOOP_INVARIANT_CLASSC(prop); + + // Does thie property have a library option? + std::string current_library = prop->get_option("library"); + if ("" == current_library) { + current_library = package_library; + } + + // How about a priority field? The default priority for make_object is 100 + // We can rely on the validation done during the parsing process + cdl_int priority = 100; + std::string priority_option = prop->get_option("priority"); + if ("" != priority_option) { + Cdl::string_to_integer(priority_option, priority); + } + + // What we need now is the separate target, deps, and rules. These + // can be obtained via a utility. The raw data will have been validated + // already. + std::string raw_data = prop->get_string(); + std::string target; + std::string deps; + std::string rules; + std::string error_msg; + bool result; + + result = CdlBuildableBody::split_custom_build_step(raw_data, target, deps, rules, error_msg); + CYG_ASSERTC(true == result); + + // Construct a local object, then copy it into the vector + CdlBuildInfo_MakeObject local_copy; + local_copy.priority = priority; + local_copy.library = current_library; + local_copy.object = target; + local_copy.deps = deps; + local_copy.rules = rules; + + build_info.make_objects.push_back(local_copy); + } + for (prop_i = make_properties.begin(); prop_i != make_properties.end(); prop_i++) { - CdlProperty_String prop = dynamic_cast(*prop_i); - CYG_LOOP_INVARIANT_CLASSC(prop); - - // Is there a priority field? The default priority for make is - // 300 We can rely on the validation done during the parsing - // process - cdl_int priority = 300; - std::string priority_option = prop->get_option("priority"); - if ("" != priority_option) { - Cdl::string_to_integer(priority_option, priority); - } - - // What we need now is the separate target, deps, and rules. These - // can be obtained via a utility. The raw data will have been validated - // already. - std::string raw_data = prop->get_string(); - std::string target; - std::string deps; - std::string rules; - std::string error_msg; - bool result; - - result = CdlBuildableBody::split_custom_build_step(raw_data, target, deps, rules, error_msg); - CYG_ASSERTC(true == result); - - // Construct a local object, then copy it into the vector - CdlBuildInfo_Make local_copy; - local_copy.priority = priority; - local_copy.target = target; - local_copy.deps = deps; - local_copy.rules = rules; - - build_info.makes.push_back(local_copy); - } - + CdlProperty_String prop = dynamic_cast(*prop_i); + CYG_LOOP_INVARIANT_CLASSC(prop); + + // Is there a priority field? The default priority for make is + // 300 We can rely on the validation done during the parsing + // process + cdl_int priority = 300; + std::string priority_option = prop->get_option("priority"); + if ("" != priority_option) { + Cdl::string_to_integer(priority_option, priority); + } + + // What we need now is the separate target, deps, and rules. These + // can be obtained via a utility. The raw data will have been validated + // already. + std::string raw_data = prop->get_string(); + std::string target; + std::string deps; + std::string rules; + std::string error_msg; + bool result; + + result = CdlBuildableBody::split_custom_build_step(raw_data, target, deps, rules, error_msg); + CYG_ASSERTC(true == result); + + // Construct a local object, then copy it into the vector + CdlBuildInfo_Make local_copy; + local_copy.priority = priority; + local_copy.target = target; + local_copy.deps = deps; + local_copy.rules = rules; + + build_info.makes.push_back(local_copy); + } + CYG_REPORT_RETURN(); } //}}} //}}} -//{{{ CdlBuildLoadableBody +//{{{ CdlBuildLoadableBody -//{{{ Class variables +//{{{ Class variables // ---------------------------------------------------------------------------- // This variable controls the default library that should be generated. // Some applications may wish to override this. -char* CdlBuildLoadableBody::default_library_name = "libtarget.a"; +const char* CdlBuildLoadableBody::default_library_name = "libtarget.a"; // The pattern that should be used to identify header files. // FIXME: this information should come out of a data file -char* CdlBuildLoadableBody::default_headers_glob_pattern = "*.h *.hxx *.inl *.si *.inc"; +const char* CdlBuildLoadableBody::default_headers_glob_pattern = "*.h *.hxx *.inl *.si *.inc"; //}}} -//{{{ The simple stuff +//{{{ The simple stuff // ---------------------------------------------------------------------------- @@ -721,7 +721,7 @@ CdlBuildLoadableBody::CdlBuildLoadableBody() // There is no data to initialize cdlbuildloadablebody_cookie = CdlBuildLoadableBody_Magic; CYGDBG_MEMLEAK_CONSTRUCTOR(); - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); } @@ -734,7 +734,7 @@ CdlBuildLoadableBody::~CdlBuildLoadableBody() cdlbuildloadablebody_cookie = CdlBuildLoadableBody_Invalid; CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } @@ -755,14 +755,14 @@ bool CdlBuildLoadableBody::check_this(cyg_assert_class_zeal zeal) const { if (CdlBuildLoadableBody_Magic != cdlbuildloadablebody_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); return CdlContainerBody::check_this(zeal) && CdlNodeBody::check_this(zeal); } //}}} -//{{{ Property parsers +//{{{ Property parsers // ---------------------------------------------------------------------------- @@ -773,28 +773,28 @@ CdlBuildLoadableBody::add_property_parsers(std::vector::const_iterator j; - for (j = parsers.begin(); j != parsers.end(); j++) { - if (commands[i].name == j->name) { - if (commands[i].command != j->command) { - CYG_FAIL("Property names are being re-used"); - } - break; - } - } - if (j == parsers.end()) { - parsers.push_back(commands[i]); - } - } - + std::vector::const_iterator j; + for (j = parsers.begin(); j != parsers.end(); j++) { + if (commands[i].name == j->name) { + if (commands[i].command != j->command) { + CYG_FAIL("Property names are being re-used"); + } + break; + } + } + if (j == parsers.end()) { + parsers.push_back(commands[i]); + } + } + CYG_REPORT_RETURN(); } @@ -807,7 +807,7 @@ CdlBuildLoadableBody::check_properties(CdlInterpreter interp) CYG_PRECONDITION_CLASSC(interp); CdlNodeBody::check_properties(interp); - + CYG_REPORT_RETURN(); } @@ -823,7 +823,7 @@ CdlBuildLoadableBody::parse_library(CdlInterpreter interp, int argc, const char* CYG_REPORT_FUNCNAMETYPE("parse_library", "result %d"); int result = CdlParse::parse_string_property(interp, argc, argv, CdlPropertyId_Library, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -839,7 +839,7 @@ CdlBuildLoadableBody::parse_makefile(CdlInterpreter interp, int argc, const char CYG_REPORT_FUNCNAMETYPE("parse_makefile", "result %d"); int result = CdlParse::parse_string_property(interp, argc, argv, CdlPropertyId_Makefile, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -852,7 +852,7 @@ CdlBuildLoadableBody::parse_include_dir(CdlInterpreter interp, int argc, const c CYG_REPORT_FUNCNAMETYPE("parse_include_dir", "result %d"); int result = CdlParse::parse_string_property(interp, argc, argv, CdlPropertyId_IncludeDir, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -873,13 +873,13 @@ CdlBuildLoadableBody::parse_include_files(CdlInterpreter interp, int argc, const CYG_REPORT_FUNCNAMETYPE("parse_include_files", "result %d"); int result = CdlParse::parse_stringvector_property(interp, argc, argv, CdlPropertyId_IncludeFiles, 0, 0, true); - + CYG_REPORT_RETVAL(result); return result; } //}}} -//{{{ update_build_info() +//{{{ update_build_info() // ---------------------------------------------------------------------------- // This utility routine takes care of filling in a Buildinfo_Loadable @@ -914,9 +914,9 @@ update_header_file_info(CdlConstBuildLoadable loadable, CdlBuildInfo_Loadable& b std::string dest_dir = ""; CdlProperty include_dir_prop = loadable->get_property(CdlPropertyId_IncludeDir); if (0 != include_dir_prop) { - CdlProperty_String strprop = dynamic_cast(include_dir_prop); - CYG_ASSERT_CLASSC(strprop); - dest_dir = strprop->get_string(); + CdlProperty_String strprop = dynamic_cast(include_dir_prop); + CYG_ASSERT_CLASSC(strprop); + dest_dir = strprop->get_string(); } bool has_include_subdir = loadable->has_subdirectory("include"); @@ -924,97 +924,97 @@ update_header_file_info(CdlConstBuildLoadable loadable, CdlBuildInfo_Loadable& b std::vector include_file_properties; loadable->get_properties(CdlPropertyId_IncludeFiles, include_file_properties); if (include_file_properties.size() > 0) { - std::vector::const_iterator prop_i; - for (prop_i = include_file_properties.begin(); prop_i != include_file_properties.end(); prop_i++) { - - CdlProperty_StringVector strvprop = dynamic_cast(*prop_i); - CYG_ASSERT_CLASSC(strvprop); - - const std::vector& filenames = strvprop->get_strings(); - std::vector::const_iterator file_i; - for (file_i = filenames.begin(); file_i != filenames.end(); file_i++) { - std::string path = loadable->find_relative_file(*file_i, "include"); - // Assume that the header file will be generated by a build_proc - if ("" == path) { - if (has_include_subdir) { - path = "include/" + *file_i; - } else { - path = *file_i; - } - } - CdlBuildInfo_Header local_copy; - local_copy.source = path; - local_copy.destination = ""; - if ("" != dest_dir) { - local_copy.destination = dest_dir + "/"; - } - // At this stage "path" may begin with "include/", which should not - // be present in the destination. - const char* tmp = path.c_str(); - if (0 == strncmp("include/", tmp, 8)) { - local_copy.destination += &(tmp[8]); - } else { - local_copy.destination += path; - } - build_info.headers.push_back(local_copy); - } - } - CYG_REPORT_RETURN(); - return; + std::vector::const_iterator prop_i; + for (prop_i = include_file_properties.begin(); prop_i != include_file_properties.end(); prop_i++) { + + CdlProperty_StringVector strvprop = dynamic_cast(*prop_i); + CYG_ASSERT_CLASSC(strvprop); + + const std::vector& filenames = strvprop->get_strings(); + std::vector::const_iterator file_i; + for (file_i = filenames.begin(); file_i != filenames.end(); file_i++) { + std::string path = loadable->find_relative_file(*file_i, "include"); + // Assume that the header file will be generated by a build_proc + if ("" == path) { + if (has_include_subdir) { + path = "include/" + *file_i; + } else { + path = *file_i; + } + } + CdlBuildInfo_Header local_copy; + local_copy.source = path; + local_copy.destination = ""; + if ("" != dest_dir) { + local_copy.destination = dest_dir + "/"; + } + // At this stage "path" may begin with "include/", which should not + // be present in the destination. + const char* tmp = path.c_str(); + if (0 == strncmp("include/", tmp, 8)) { + local_copy.destination += &(tmp[8]); + } else { + local_copy.destination += path; + } + build_info.headers.push_back(local_copy); + } + } + CYG_REPORT_RETURN(); + return; } // It is necessary to search for the appropriate files. CdlInterpreter interp = loadable->get_interpreter(); std::string path = loadable->get_toplevel()->get_directory() + "/" + loadable->get_directory(); if (has_include_subdir) { - std::vector files; - std::vector::const_iterator file_i; - interp->locate_all_files(path + "/include", files); - for (file_i = files.begin(); file_i != files.end(); file_i++) { - // NOTE: for now discard any header files in the pkgconf subdirectory - if (0 == strncmp("pkgconf/", file_i->c_str(), 8)) { - continue; - } - if ('~' == *(file_i->rbegin())) { - continue; - } - CdlBuildInfo_Header local_copy; - local_copy.source = "include/" + *file_i; - local_copy.destination = ""; - if ("" != dest_dir) { - local_copy.destination = dest_dir + "/"; - } - local_copy.destination += *file_i; - build_info.headers.push_back(local_copy); - } + std::vector files; + std::vector::const_iterator file_i; + interp->locate_all_files(path + "/include", files); + for (file_i = files.begin(); file_i != files.end(); file_i++) { + // NOTE: for now discard any header files in the pkgconf subdirectory + if (0 == strncmp("pkgconf/", file_i->c_str(), 8)) { + continue; + } + if ('~' == *(file_i->rbegin())) { + continue; + } + CdlBuildInfo_Header local_copy; + local_copy.source = "include/" + *file_i; + local_copy.destination = ""; + if ("" != dest_dir) { + local_copy.destination = dest_dir + "/"; + } + local_copy.destination += *file_i; + build_info.headers.push_back(local_copy); + } } else { - // Look for all header files, which for now means files with - // a .h, .hxx, .inl or .inc extension. - // FIXME: the definition of what constitutes a header file - // should not be hard-wired here. - std::vector files; - std::vector::const_iterator file_i; - interp->locate_all_files(path, files); - for (file_i = files.begin(); file_i != files.end(); file_i++) { - - // Problems with libstdc++ versions, use C comparisons instead. - const char* c_string = file_i->c_str(); - unsigned int len = strlen(c_string); - if (((len >= 2) && (0 == strncmp(c_string + len - 2, ".h", 2))) || - ((len >= 4) && (0 == strncmp(c_string + len - 4, ".hxx", 4))) || - ((len >= 4) && (0 == strncmp(c_string + len - 4, ".inl", 4))) || - ((len >= 4) && (0 == strncmp(c_string + len - 4, ".inc", 4)))) { - - CdlBuildInfo_Header local_copy; - local_copy.source = *file_i; - local_copy.destination = ""; - if ("" != dest_dir) { - local_copy.destination = dest_dir + "/"; - } - local_copy.destination += *file_i; - build_info.headers.push_back(local_copy); - } - } + // Look for all header files, which for now means files with + // a .h, .hxx, .inl or .inc extension. + // FIXME: the definition of what constitutes a header file + // should not be hard-wired here. + std::vector files; + std::vector::const_iterator file_i; + interp->locate_all_files(path, files); + for (file_i = files.begin(); file_i != files.end(); file_i++) { + + // Problems with libstdc++ versions, use C comparisons instead. + const char* c_string = file_i->c_str(); + unsigned int len = strlen(c_string); + if (((len >= 2) && (0 == strncmp(c_string + len - 2, ".h", 2))) || + ((len >= 4) && (0 == strncmp(c_string + len - 4, ".hxx", 4))) || + ((len >= 4) && (0 == strncmp(c_string + len - 4, ".inl", 4))) || + ((len >= 4) && (0 == strncmp(c_string + len - 4, ".inc", 4)))) { + + CdlBuildInfo_Header local_copy; + local_copy.source = *file_i; + local_copy.destination = ""; + if ("" != dest_dir) { + local_copy.destination = dest_dir + "/"; + } + local_copy.destination += *file_i; + build_info.headers.push_back(local_copy); + } + } } CYG_REPORT_RETURN(); @@ -1042,8 +1042,8 @@ CdlBuildLoadableBody::update_build_info(CdlBuildInfo& build_info) const // and hence it is still necessary to check whether or not the // loadable is active. if (!is_active()) { - CYG_REPORT_RETURN(); - return; + CYG_REPORT_RETURN(); + return; } // Time to add a new CdlBuildInfo_Loadable object to the current @@ -1057,25 +1057,25 @@ CdlBuildLoadableBody::update_build_info(CdlBuildInfo& build_info) const // Take care of the header files update_header_file_info(this, this_info); - + // Work out the library name appropriate for this loadable. // There may be a library property, otherwise the global default // should be used. std::string loadable_library = default_library_name; if (has_property(CdlPropertyId_Library)) { - CdlProperty_String strprop = dynamic_cast(get_property(CdlPropertyId_Library)); - loadable_library = strprop->get_string(); + CdlProperty_String strprop = dynamic_cast(get_property(CdlPropertyId_Library)); + loadable_library = strprop->get_string(); } - + const std::vector& contents = get_owned(); std::vector::const_iterator node_i; for (node_i = contents.begin(); node_i != contents.end(); node_i++) { - CdlBuildable buildable = dynamic_cast(*node_i); - if (0 != buildable) { - buildable->update_build_info(this_info, loadable_library); - } + CdlBuildable buildable = dynamic_cast(*node_i); + if (0 != buildable) { + buildable->update_build_info(this_info, loadable_library); + } } - + CYG_REPORT_RETURN(); } @@ -1096,19 +1096,19 @@ CdlBuildLoadableBody::update_all_build_info(CdlBuildInfo& build_info) const std::string loadable_library = default_library_name; if (has_property(CdlPropertyId_Library)) { - CdlProperty_String strprop = dynamic_cast(get_property(CdlPropertyId_Library)); - loadable_library = strprop->get_string(); + CdlProperty_String strprop = dynamic_cast(get_property(CdlPropertyId_Library)); + loadable_library = strprop->get_string(); } - + const std::vector& contents = get_owned(); std::vector::const_iterator node_i; for (node_i = contents.begin(); node_i != contents.end(); node_i++) { - CdlBuildable buildable = dynamic_cast(*node_i); - if (0 != buildable) { - buildable->update_build_info(this_info, loadable_library); - } + CdlBuildable buildable = dynamic_cast(*node_i); + if (0 != buildable) { + buildable->update_build_info(this_info, loadable_library); + } } - + CYG_REPORT_RETURN(); CYG_REPORT_RETURN(); } @@ -1116,7 +1116,7 @@ CdlBuildLoadableBody::update_all_build_info(CdlBuildInfo& build_info) const //}}} //}}} -//{{{ Version number #define's +//{{{ Version number #define's // ---------------------------------------------------------------------------- // Given a package xxxPKG_A_B_C with a version V1_2_3, generate additional @@ -1134,7 +1134,7 @@ CdlBuildLoadableBody::update_all_build_info(CdlBuildInfo& build_info) const // is possible to cope with VERSION_NUMBER #define's. // // Note that only application code and third party packages are -// affected. +// affected. // // These #define's go into system.h, alongside the main definition of // the package. There seems to be little point in putting them in the @@ -1202,31 +1202,31 @@ system_h_add_package_versioning(Tcl_Channel system_h, std::string name, std::str char name_buf[256]; char line_buf[512]; - + // The first thing to check is that the package name can be used // as the basis for the version symbols. bool ok = false; unsigned int i; for (i = 0; i < name.size(); i++) { - if ('_' == name[i]) { - if (3 < i) { - if ((name[i-3] == 'P') && (name[i-2] == 'K') && (name[i-1] == 'G')) { - ok = true; - } - } - break; - } + if ('_' == name[i]) { + if (3 < i) { + if ((name[i-3] == 'P') && (name[i-2] == 'K') && (name[i-1] == 'G')) { + ok = true; + } + } + break; + } } if (name.size() >= 256) { - ok = false; + ok = false; } if (!ok) { - CYG_REPORT_RETURN(); - return; + CYG_REPORT_RETURN(); + return; } strcpy(name_buf, name.c_str()); - + // Change from xxxPKG to xxxNUM name_buf[i - 3] = 'N'; name_buf[i - 2] = 'U'; @@ -1237,9 +1237,9 @@ system_h_add_package_versioning(Tcl_Channel system_h, std::string name, std::str std::string minor = "-1"; std::string release = "-1"; if ("current" == value) { - major = "CYGNUM_VERSION_CURRENT"; + major = "CYGNUM_VERSION_CURRENT"; } else { - Cdl::split_version_string(value, major, minor, release); + Cdl::split_version_string(value, major, minor, release); } sprintf(line_buf, "#define %s_VERSION_MAJOR %s\n", name_buf, major.c_str()); @@ -1248,14 +1248,14 @@ system_h_add_package_versioning(Tcl_Channel system_h, std::string name, std::str Tcl_Write(system_h, line_buf, -1); sprintf(line_buf, "#define %s_VERSION_RELEASE %s\n", name_buf, release.c_str()); Tcl_Write(system_h, line_buf, -1); - + CYG_REPORT_RETURN(); } //}}} -//{{{ CdlDefinableBody +//{{{ CdlDefinableBody -//{{{ Basics +//{{{ Basics // ---------------------------------------------------------------------------- @@ -1267,7 +1267,7 @@ CdlDefinableBody::CdlDefinableBody() // There is no data to initialize cdldefinablebody_cookie = CdlDefinableBody_Magic; CYGDBG_MEMLEAK_CONSTRUCTOR(); - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); } @@ -1280,7 +1280,7 @@ CdlDefinableBody::~CdlDefinableBody() cdldefinablebody_cookie = CdlDefinableBody_Invalid; CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } @@ -1301,14 +1301,14 @@ bool CdlDefinableBody::check_this(cyg_assert_class_zeal zeal) const { if (CdlDefinableBody_Magic != cdldefinablebody_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); return CdlNodeBody::check_this(zeal); } //}}} -//{{{ add_property_parser() and check_properties() +//{{{ add_property_parser() and check_properties() // ---------------------------------------------------------------------------- @@ -1319,30 +1319,30 @@ CdlDefinableBody::add_property_parsers(std::vector& static CdlInterpreterCommandEntry commands[] = { - CdlInterpreterCommandEntry("no_define", &parse_no_define ), - CdlInterpreterCommandEntry("define", &parse_define ), - CdlInterpreterCommandEntry("define_format", &parse_define_format ), - CdlInterpreterCommandEntry("define_proc", &parse_define_proc ), - CdlInterpreterCommandEntry("if_define", &parse_if_define ), - CdlInterpreterCommandEntry("", 0 ) + CdlInterpreterCommandEntry("no_define", &parse_no_define ), + CdlInterpreterCommandEntry("define", &parse_define ), + CdlInterpreterCommandEntry("define_format", &parse_define_format ), + CdlInterpreterCommandEntry("define_proc", &parse_define_proc ), + CdlInterpreterCommandEntry("if_define", &parse_if_define ), + CdlInterpreterCommandEntry("", 0 ) }; for (int i = 0; commands[i].command != 0; i++) { - std::vector::const_iterator j; - for (j = parsers.begin(); j != parsers.end(); j++) { - if (commands[i].name == j->name) { - if (commands[i].command != j->command) { - CYG_FAIL("Property names are being re-used"); - } - break; - } - } - if (j == parsers.end()) { - parsers.push_back(commands[i]); - } + std::vector::const_iterator j; + for (j = parsers.begin(); j != parsers.end(); j++) { + if (commands[i].name == j->name) { + if (commands[i].command != j->command) { + CYG_FAIL("Property names are being re-used"); + } + break; + } + } + if (j == parsers.end()) { + parsers.push_back(commands[i]); + } } CdlNodeBody::add_property_parsers(parsers); - + CYG_REPORT_RETURN(); } @@ -1356,34 +1356,34 @@ CdlDefinableBody::check_properties(CdlInterpreter interp) // There should be at most one each of no_define and define_format. if (count_properties(CdlPropertyId_NoDefine) > 1) { - CdlParse::report_error(interp, "", "There should be at most one no_define property."); + CdlParse::report_error(interp, "", "There should be at most one no_define property."); } if (count_properties(CdlPropertyId_DefineFormat) > 1) { - CdlParse::report_error(interp, "", "There should be at most one define_format property."); + CdlParse::report_error(interp, "", "There should be at most one define_format property."); } if (has_property(CdlPropertyId_NoDefine) && has_property(CdlPropertyId_DefineFormat)) { - CdlParse::report_error(interp, "", "The no_define and define_format properties are mutually exclusive."); + CdlParse::report_error(interp, "", "The no_define and define_format properties are mutually exclusive."); } // FIXME: the define_format property only makes sense for certain // flavors. However the flavor property may not have been processed yet. - + CdlNodeBody::check_properties(interp); - + CYG_REPORT_RETURN(); } //}}} -//{{{ Definable properties +//{{{ Definable properties // ---------------------------------------------------------------------------- // Syntax: no_define int -CdlDefinableBody::parse_no_define(CdlInterpreter interp, int argc, const char* argv[]) +CdlDefinableBody::parse_no_define(CdlInterpreter interp, int argc, const char *argv[]) { CYG_REPORT_FUNCNAMETYPE("parse_no_define", "result %d"); int result = CdlParse::parse_minimal_property(interp, argc, argv, CdlPropertyId_NoDefine, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -1398,37 +1398,37 @@ parse_define_final_check(CdlInterpreter interp, CdlProperty_String prop) CYG_REPORT_FUNCNAME("parse_define_final_check"); CYG_PRECONDITION_CLASSC(prop); CYG_PRECONDITION_CLASSC(interp); - + const std::string& str = prop->get_string(); if (!Cdl::is_valid_c_preprocessor_symbol(str)) { - CdlParse::report_property_parse_error(interp, prop, str + " is not a valid C preprocessor symbol"); + CdlParse::report_property_parse_error(interp, prop, str + " is not a valid C preprocessor symbol"); } // There may be a file option. At this stage the only valid filename // that can be used here is system.h std::string file_option = prop->get_option("file"); if (("" != file_option) && ("system.h" != file_option)) { - CdlParse::report_property_parse_error(interp, prop, "Invalid -file option " + file_option); + CdlParse::report_property_parse_error(interp, prop, "Invalid -file option " + file_option); } // FIXME: validate the format string - + CYG_REPORT_RETURN(); } int -CdlDefinableBody::parse_define(CdlInterpreter interp, int argc, const char* argv[]) +CdlDefinableBody::parse_define(CdlInterpreter interp, int argc, const char *argv[]) { CYG_REPORT_FUNCNAMETYPE("parse_define", "result %d"); - static char* options[] = { - "file:", - "format:", - 0 + static const char *options[] = { + "file:", + "format:", + 0 }; int result = CdlParse::parse_string_property(interp, argc, argv, CdlPropertyId_Define, options, &parse_define_final_check); - + CYG_REPORT_RETVAL(result); return result; } @@ -1446,24 +1446,24 @@ CdlDefinableBody::parse_define(CdlInterpreter interp, int argc, const char* argv // FIXME: enforce mutual exclusion with no_define int -CdlDefinableBody::parse_define_format(CdlInterpreter interp, int argc, const char* argv[]) +CdlDefinableBody::parse_define_format(CdlInterpreter interp, int argc, const char *argv[]) { CYG_REPORT_FUNCNAMETYPE("parse_format", "result %d"); int result = CdlParse::parse_string_property(interp, argc, argv, CdlPropertyId_DefineFormat, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } // ---------------------------------------------------------------------------- // syntax: define_proc int -CdlDefinableBody::parse_define_proc(CdlInterpreter interp, int argc, const char* argv[]) +CdlDefinableBody::parse_define_proc(CdlInterpreter interp, int argc, const char *argv[]) { CYG_REPORT_FUNCNAMETYPE("parse_define_proc", "result %d"); int result = CdlParse::parse_tclcode_property(interp, argc, argv, CdlPropertyId_DefineProc, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -1477,52 +1477,52 @@ parse_if_define_final_check(CdlInterpreter interp, CdlProperty_StringVector prop CYG_REPORT_FUNCNAME("parse_if_define_final_check"); CYG_PRECONDITION_CLASSC(interp); CYG_PRECONDITION_CLASSC(prop); - + // There should be exactly two entries in the vector, and both of them should be // valid preprocessor symbols. const std::vector& strings = prop->get_strings(); if (2 != strings.size()) { - CdlParse::report_property_parse_error(interp, prop, "There should be exactly two arguments."); + CdlParse::report_property_parse_error(interp, prop, "There should be exactly two arguments."); } if (!Cdl::is_valid_c_preprocessor_symbol(strings[0])) { - CdlParse::report_property_parse_error(interp, prop, strings[0] + " is not a valid C preprocessor symbol."); + CdlParse::report_property_parse_error(interp, prop, strings[0] + " is not a valid C preprocessor symbol."); } if (!Cdl::is_valid_c_preprocessor_symbol(strings[1])) { - CdlParse::report_property_parse_error(interp, prop, strings[1] + " is not a valid C preprocessor symbol."); + CdlParse::report_property_parse_error(interp, prop, strings[1] + " is not a valid C preprocessor symbol."); } - + // There may be a file option. At this stage the only valid filename // that can be used here is system.h std::string file_option = prop->get_option("file"); if (("" != file_option) && ("system.h" != file_option)) { - CdlParse::report_property_parse_error(interp, prop, "Invalid -file option " + file_option); + CdlParse::report_property_parse_error(interp, prop, "Invalid -file option " + file_option); } } int -CdlDefinableBody::parse_if_define(CdlInterpreter interp, int argc, const char* argv[]) +CdlDefinableBody::parse_if_define(CdlInterpreter interp, int argc, const char *argv[]) { CYG_REPORT_FUNCNAMETYPE("parse_if_define", "result %d"); - char* options[] = { - "file:", - 0 + const char *options[] = { + "file:", + 0 }; int result = CdlParse::parse_stringvector_property(interp, argc, argv, CdlPropertyId_IfDefine, options, - &parse_if_define_final_check, false); - + &parse_if_define_final_check, false); + CYG_REPORT_RETVAL(result); return result; } //}}} -//{{{ generate_config_header() +//{{{ generate_config_header() // ---------------------------------------------------------------------------- // This code needs to allow for the following properties. // -// 1) no_define. This suppresses the default #define generation. +// 1) no_define. This suppresses the default #define generation. // // 2) define_format get_interpreter(); - + // This definable is known to be active. However it may or may not be enabled. CYG_PRECONDITIONC(is_active()); @@ -1550,18 +1550,18 @@ CdlDefinableBody::generate_config_header(Tcl_Channel this_hdr, Tcl_Channel syste std::string value = "1"; CdlConstValuable valuable = dynamic_cast(this); if (0 != valuable) { - // It is always possible to check the enabled() flag. - if (!valuable->is_enabled()) { - CYG_REPORT_RETURN(); - return; - } - // The value is only valid for BoolData and Data flavors, and may - // not have been provided. If there is no value then this option - // should not generate a #define - flavor = valuable->get_flavor(); - if ((CdlValueFlavor_BoolData == flavor) || (CdlValueFlavor_Data == flavor)) { - value = valuable->get_value(); - } + // It is always possible to check the enabled() flag. + if (!valuable->is_enabled()) { + CYG_REPORT_RETURN(); + return; + } + // The value is only valid for BoolData and Data flavors, and may + // not have been provided. If there is no value then this option + // should not generate a #define + flavor = valuable->get_flavor(); + if ((CdlValueFlavor_BoolData == flavor) || (CdlValueFlavor_Data == flavor)) { + value = valuable->get_value(); + } } // Flavor and value are now both set to sensible strings. @@ -1569,49 +1569,49 @@ CdlDefinableBody::generate_config_header(Tcl_Channel this_hdr, Tcl_Channel syste // #define generation should be suppressed. if (!has_property(CdlPropertyId_NoDefine)) { - // OK, it is necessary to generate at least one #define. - // If this node is actually a loadable then the #define should go - // into system.h, otherwise into the current header - Tcl_Channel chan = this_hdr; - if (dynamic_cast((CdlConstNode)this) == loadable) { - chan = system_h; - } - - // For flavors None and Bool, there should be just one #define - if ((CdlValueFlavor_None == flavor) || (CdlValueFlavor_Bool == flavor)) { - std::string define = "#define " + name + " 1\n"; - Tcl_Write(chan, const_cast(define.c_str()), -1); - } else { - // If there is a format string then that controls the default - // value display. - if (!has_property(CdlPropertyId_DefineFormat)) { - std::string define = "#define " + name + " " + value + "\n"; - Tcl_Write(chan, const_cast(define.c_str()), -1); - } else { - CdlProperty_String strprop = dynamic_cast(get_property(CdlPropertyId_DefineFormat)); - CYG_ASSERT_CLASSC(strprop); - std::string format = strprop->get_string(); - std::string cmd = "return \"#define " + name + " [format " + format + " " + value + "]\n\""; - std::string define; - if (TCL_OK != interp->eval(cmd, define)) { - throw CdlInputOutputException("Internal error executing tcl fragment to process define_format property"); - } - Tcl_Write(chan, const_cast(define.c_str()), -1); - } - - // There may also be a separate #define of the form _, - // if that is a valid preprocessor symbol. - std::string tmp = name + "_" + value; - if (Cdl::is_valid_c_preprocessor_symbol(tmp)) { - tmp = "#define "+ tmp + "\n"; - Tcl_Write(chan, const_cast(tmp.c_str()), -1); - } - - // For loadables, add additional version information to system_h - if (dynamic_cast((CdlConstNode)this) == loadable) { - system_h_add_package_versioning(system_h, name, value); - } - } + // OK, it is necessary to generate at least one #define. + // If this node is actually a loadable then the #define should go + // into system.h, otherwise into the current header + Tcl_Channel chan = this_hdr; + if (dynamic_cast((CdlConstNode)this) == loadable) { + chan = system_h; + } + + // For flavors None and Bool, there should be just one #define + if ((CdlValueFlavor_None == flavor) || (CdlValueFlavor_Bool == flavor)) { + std::string define = "#define " + name + " 1\n"; + Tcl_Write(chan, const_cast(define.c_str()), -1); + } else { + // If there is a format string then that controls the default + // value display. + if (!has_property(CdlPropertyId_DefineFormat)) { + std::string define = "#define " + name + " " + value + "\n"; + Tcl_Write(chan, const_cast(define.c_str()), -1); + } else { + CdlProperty_String strprop = dynamic_cast(get_property(CdlPropertyId_DefineFormat)); + CYG_ASSERT_CLASSC(strprop); + std::string format = strprop->get_string(); + std::string cmd = "return \"#define " + name + " [format " + format + " " + value + "]\n\""; + std::string define; + if (TCL_OK != interp->eval(cmd, define)) { + throw CdlInputOutputException("Internal error executing tcl fragment to process define_format property"); + } + Tcl_Write(chan, const_cast(define.c_str()), -1); + } + + // There may also be a separate #define of the form _, + // if that is a valid preprocessor symbol. + std::string tmp = name + "_" + value; + if (Cdl::is_valid_c_preprocessor_symbol(tmp)) { + tmp = "#define "+ tmp + "\n"; + Tcl_Write(chan, const_cast(tmp.c_str()), -1); + } + + // For loadables, add additional version information to system_h + if (dynamic_cast((CdlConstNode)this) == loadable) { + system_h_add_package_versioning(system_h, name, value); + } + } } // Next, check for any additional define properties @@ -1619,85 +1619,85 @@ CdlDefinableBody::generate_config_header(Tcl_Channel this_hdr, Tcl_Channel syste get_properties(CdlPropertyId_Define, define_props); std::vector::const_iterator prop_i; for (prop_i = define_props.begin(); prop_i != define_props.end(); prop_i++) { - CdlProperty_String strprop = dynamic_cast(*prop_i); - CYG_ASSERT_CLASSC(strprop); - std::string symbol = strprop->get_string(); - - std::string file = strprop->get_option("file"); - Tcl_Channel chan = this_hdr; - if (("" != file) && ("system.h" == file)) { - chan = system_h; - } - - if ((CdlValueFlavor_None == flavor) || (CdlValueFlavor_Bool == flavor)) { - std::string define = "#define " + symbol + " 1\n"; - Tcl_Write(chan, const_cast(define.c_str()), -1); - } else { - std::string format = strprop->get_option("format"); - if ("" == format) { - std::string define = "#define " + symbol + " " + value + "\n"; - Tcl_Write(chan, const_cast(define.c_str()), -1); - } else { - std::string cmd = "return \"#define " + symbol + " [format " + format + " " + value + "]\n\""; - std::string define; - if (TCL_OK != interp->eval(cmd, define)) { - throw CdlInputOutputException("Internal error executing tcl fragment to process format option"); - } - Tcl_Write(chan, const_cast(define.c_str()), -1); - } - - std::string tmp = symbol + "_" + value; - if (Cdl::is_valid_c_preprocessor_symbol(tmp)) { - tmp = "#define " + tmp + "\n"; - Tcl_Write(chan, const_cast(tmp.c_str()), -1); - } - } + CdlProperty_String strprop = dynamic_cast(*prop_i); + CYG_ASSERT_CLASSC(strprop); + std::string symbol = strprop->get_string(); + + std::string file = strprop->get_option("file"); + Tcl_Channel chan = this_hdr; + if (("" != file) && ("system.h" == file)) { + chan = system_h; + } + + if ((CdlValueFlavor_None == flavor) || (CdlValueFlavor_Bool == flavor)) { + std::string define = "#define " + symbol + " 1\n"; + Tcl_Write(chan, const_cast(define.c_str()), -1); + } else { + std::string format = strprop->get_option("format"); + if ("" == format) { + std::string define = "#define " + symbol + " " + value + "\n"; + Tcl_Write(chan, const_cast(define.c_str()), -1); + } else { + std::string cmd = "return \"#define " + symbol + " [format " + format + " " + value + "]\n\""; + std::string define; + if (TCL_OK != interp->eval(cmd, define)) { + throw CdlInputOutputException("Internal error executing tcl fragment to process format option"); + } + Tcl_Write(chan, const_cast(define.c_str()), -1); + } + + std::string tmp = symbol + "_" + value; + if (Cdl::is_valid_c_preprocessor_symbol(tmp)) { + tmp = "#define " + tmp + "\n"; + Tcl_Write(chan, const_cast(tmp.c_str()), -1); + } + } } // Now check for if_define properties std::vector if_define_props; get_properties(CdlPropertyId_IfDefine, if_define_props); for (prop_i = if_define_props.begin(); prop_i != if_define_props.end(); prop_i++) { - CdlProperty_StringVector strprop = dynamic_cast(*prop_i); - CYG_ASSERT_CLASSC(strprop); - CYG_ASSERTC(2 == strprop->get_number_of_strings()); + CdlProperty_StringVector strprop = dynamic_cast(*prop_i); + CYG_ASSERT_CLASSC(strprop); + CYG_ASSERTC(2 == strprop->get_number_of_strings()); - std::string sym1 = strprop->get_string(0); - std::string sym2 = strprop->get_string(1); + std::string sym1 = strprop->get_string(0); + std::string sym2 = strprop->get_string(1); - Tcl_Channel chan = this_hdr; - std::string file = strprop->get_option("file"); - if (("" != file) && ("system.h" == file)) { - chan = system_h; - } - std::string data = "#ifdef " + sym1 + "\n# define " + sym2 + " 1\n#endif\n"; - Tcl_Write(chan, const_cast(data.c_str()), -1); + Tcl_Channel chan = this_hdr; + std::string file = strprop->get_option("file"); + if (("" != file) && ("system.h" == file)) { + chan = system_h; + } + std::string data = "#ifdef " + sym1 + "\n# define " + sym2 + " 1\n#endif\n"; + Tcl_Write(chan, const_cast(data.c_str()), -1); } // And define_proc properties std::vector define_proc_props; get_properties(CdlPropertyId_DefineProc, define_proc_props); for (prop_i = define_proc_props.begin(); prop_i != define_proc_props.end(); prop_i++) { - CdlProperty_TclCode codeprop = dynamic_cast(*prop_i); - CYG_ASSERT_CLASSC(codeprop); + CdlProperty_TclCode codeprop = dynamic_cast(*prop_i); + CYG_ASSERT_CLASSC(codeprop); - cdl_tcl_code code = codeprop->get_code(); - std::string result; - if (TCL_OK != interp->eval(code, result)) { - throw CdlInputOutputException("Error evaluating define_proc property for " + name + "\n" + result); - } + cdl_tcl_code code = codeprop->get_code(); + std::string result; + if (TCL_OK != interp->eval(code, result)) { + throw CdlInputOutputException("Error evaluating define_proc property for " + name + "\n" + result); + } } - - + + CYG_REPORT_RETURN(); } //}}} //}}} -//{{{ CdlDefineLoadableBody +//{{{ CdlDefineLoadableBody -//{{{ Basics +//{{{ Basics // ---------------------------------------------------------------------------- @@ -1708,7 +1708,7 @@ CdlDefineLoadableBody::CdlDefineLoadableBody() cdldefineloadablebody_cookie = CdlDefineLoadableBody_Magic; CYGDBG_MEMLEAK_CONSTRUCTOR(); - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); } @@ -1721,7 +1721,7 @@ CdlDefineLoadableBody::~CdlDefineLoadableBody() cdldefineloadablebody_cookie = CdlDefineLoadableBody_Invalid; CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } @@ -1742,14 +1742,14 @@ bool CdlDefineLoadableBody::check_this(cyg_assert_class_zeal zeal) const { if (CdlDefineLoadableBody_Magic != cdldefineloadablebody_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); return CdlLoadableBody::check_this(zeal) && CdlNodeBody::check_this(zeal); } //}}} -//{{{ Property parsing +//{{{ Property parsing // ---------------------------------------------------------------------------- @@ -1760,26 +1760,26 @@ CdlDefineLoadableBody::add_property_parsers(std::vector::const_iterator j; - for (j = parsers.begin(); j != parsers.end(); j++) { - if (commands[i].name == j->name) { - if (commands[i].command != j->command) { - CYG_FAIL("Property names are being re-used"); - } - break; - } - } - if (j == parsers.end()) { - parsers.push_back(commands[i]); - } + std::vector::const_iterator j; + for (j = parsers.begin(); j != parsers.end(); j++) { + if (commands[i].name == j->name) { + if (commands[i].command != j->command) { + CYG_FAIL("Property names are being re-used"); + } + break; + } + } + if (j == parsers.end()) { + parsers.push_back(commands[i]); + } } CdlNodeBody::add_property_parsers(parsers); - + CYG_REPORT_RETURN(); } @@ -1794,30 +1794,30 @@ CdlDefineLoadableBody::check_properties(CdlInterpreter interp) // There should be at most one define_header property int count = count_properties(CdlPropertyId_DefineHeader); if (count> 1) { - CdlParse::report_error(interp, "", "There should be at most one define_header property."); + CdlParse::report_error(interp, "", "There should be at most one define_header property."); } // FIXME: filename validation - + CdlNodeBody::check_properties(interp); - + CYG_REPORT_RETURN(); } // ---------------------------------------------------------------------------- // syntax: define_header
int -CdlDefineLoadableBody::parse_define_header(CdlInterpreter interp, int argc, const char* argv[]) +CdlDefineLoadableBody::parse_define_header(CdlInterpreter interp, int argc, const char *argv[]) { CYG_REPORT_FUNCNAMETYPE("parse_define_header", "result %d"); int result = CdlParse::parse_string_property(interp, argc, argv, CdlPropertyId_DefineHeader, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } //}}} -//{{{ generate_config_header() +//{{{ generate_config_header() // ---------------------------------------------------------------------------- void @@ -1832,40 +1832,40 @@ CdlDefineLoadableBody::generate_config_header(Tcl_Channel this_hdr, Tcl_Channel Tcl_RegisterChannel(interp->get_tcl_interpreter(), system_h); CdlInterpreterBody::ContextSupport(interp, std::string("Package ") + this->get_name() + ", header file generation"); - + try { - interp->set_variable("::cdl_header", Tcl_GetChannelName(this_hdr)); - interp->set_variable("::cdl_system_header", Tcl_GetChannelName(system_h)); - - const std::vector& contents = get_owned(); - std::vector::const_iterator node_i; - for (node_i = contents.begin(); node_i != contents.end(); node_i++) { - CdlDefinable definable = dynamic_cast(*node_i); - if (0 == definable) { - continue; - } - if (!definable->is_active()) { - continue; - } - definable->generate_config_header(this_hdr, system_h); - } - - interp->unset_variable("::cdl_header"); - interp->unset_variable("::cdl_system_header"); + interp->set_variable("::cdl_header", Tcl_GetChannelName(this_hdr)); + interp->set_variable("::cdl_system_header", Tcl_GetChannelName(system_h)); + + const std::vector& contents = get_owned(); + std::vector::const_iterator node_i; + for (node_i = contents.begin(); node_i != contents.end(); node_i++) { + CdlDefinable definable = dynamic_cast(*node_i); + if (0 == definable) { + continue; + } + if (!definable->is_active()) { + continue; + } + definable->generate_config_header(this_hdr, system_h); + } + + interp->unset_variable("::cdl_header"); + interp->unset_variable("::cdl_system_header"); } catch(...) { - Tcl_UnregisterChannel(interp->get_tcl_interpreter(), this_hdr); - Tcl_UnregisterChannel(interp->get_tcl_interpreter(), system_h); - throw; + Tcl_UnregisterChannel(interp->get_tcl_interpreter(), this_hdr); + Tcl_UnregisterChannel(interp->get_tcl_interpreter(), system_h); + throw; } - + Tcl_UnregisterChannel(interp->get_tcl_interpreter(), this_hdr); Tcl_UnregisterChannel(interp->get_tcl_interpreter(), system_h); - + CYG_REPORT_RETURN(); } //}}} -//{{{ get_config_headers() +//{{{ get_config_headers() // ---------------------------------------------------------------------------- // What header file should be generated for this loadable? @@ -1883,13 +1883,13 @@ CdlDefineLoadableBody::get_config_header() const std::string result = ""; CdlProperty prop = get_property(CdlPropertyId_DefineHeader); if (0 != prop) { - CdlProperty_String string_prop = dynamic_cast(prop); - CYG_ASSERT_CLASSC(string_prop); - result = string_prop->get_string(); + CdlProperty_String string_prop = dynamic_cast(prop); + CYG_ASSERT_CLASSC(string_prop); + result = string_prop->get_string(); } else { - std::string tmp = get_name(); - result = Cdl::get_short_form(tmp); - result += ".h"; + std::string tmp = get_name(); + result = Cdl::get_short_form(tmp); + result += ".h"; } CYG_REPORT_RETURN(); return result; @@ -1898,9 +1898,9 @@ CdlDefineLoadableBody::get_config_header() const //}}} //}}} -//{{{ CdlToplevel +//{{{ CdlToplevel -//{{{ CdlToplevel::get_build_info() +//{{{ CdlToplevel::get_build_info() // ---------------------------------------------------------------------------- // Essentially this code involves iterating over the loadables vector, @@ -1917,23 +1917,23 @@ CdlToplevelBody::get_build_info(CdlBuildInfo& build_info) CYG_PRECONDITION_THISC(); if (0 != build_info.entries.size()) { - build_info.entries.clear(); + build_info.entries.clear(); } const std::vector& loadables = get_loadables(); std::vector::const_iterator load_i; for (load_i = loadables.begin(); load_i != loadables.end(); load_i++) { - CdlConstBuildLoadable bl = dynamic_cast(*load_i); - if (0 != bl) { - bl->update_build_info(build_info); - } + CdlConstBuildLoadable bl = dynamic_cast(*load_i); + if (0 != bl) { + bl->update_build_info(build_info); + } } CYG_REPORT_RETURN(); } //}}} -//{{{ CdlToplevel::get_all_build_info() +//{{{ CdlToplevel::get_all_build_info() // ---------------------------------------------------------------------------- // This is just like get_build_info(), but calls a different @@ -1947,23 +1947,23 @@ CdlToplevelBody::get_all_build_info(CdlBuildInfo& build_info) CYG_PRECONDITION_THISC(); if (0 != build_info.entries.size()) { - build_info.entries.clear(); + build_info.entries.clear(); } const std::vector& loadables = get_loadables(); std::vector::const_iterator load_i; for (load_i = loadables.begin(); load_i != loadables.end(); load_i++) { - CdlConstBuildLoadable bl = dynamic_cast(*load_i); - if (0 != bl) { - bl->update_all_build_info(build_info); - } + CdlConstBuildLoadable bl = dynamic_cast(*load_i); + if (0 != bl) { + bl->update_all_build_info(build_info); + } } CYG_REPORT_RETURN(); } //}}} -//{{{ CdlToplevel::generate_config_headers() +//{{{ CdlToplevel::generate_config_headers() // ---------------------------------------------------------------------------- // Generating the config headers. This involves the following steps: @@ -2013,8 +2013,8 @@ if {$data1 == $data2} { interp->set_variable("::cdl_compare_and_copy_file2", file2); std::string tcl_result; if (TCL_OK != interp->eval(compare_and_copy_script, tcl_result)) { - throw CdlInputOutputException("internal error manipulating temporary header " + file1 + " and target " + file2 + - "\n" + tcl_result); + throw CdlInputOutputException("internal error manipulating temporary header " + file1 + " and target " + file2 + + "\n" + tcl_result); } } @@ -2030,27 +2030,27 @@ CdlToplevelBody::generate_config_headers(std::string directory) // latter are used throughout the library // NOTE: this is not i18n-friendly. for (unsigned int i = 0; i < directory.size(); i++) { - if ('\\' == directory[i]) { - directory[i] = '/'; - } + if ('\\' == directory[i]) { + directory[i] = '/'; + } } - + CdlInterpreter interp = get_interpreter(); std::string tcl_result; if ((TCL_OK != interp->eval("file isdirectory \"" + directory + "\"", tcl_result)) || - (tcl_result != "1")) { - throw CdlInputOutputException("target " + directory + " is not a valid existing directory."); + (tcl_result != "1")) { + throw CdlInputOutputException("target " + directory + " is not a valid existing directory."); } - + std::vector > headers; const std::vector& loadables = get_loadables(); std::vector::const_iterator load_i; for (load_i = loadables.begin(); load_i != loadables.end(); load_i++) { - CdlDefineLoadable tmp = dynamic_cast(*load_i); - if (0 != tmp) { - std::string hdr = tmp->get_config_header(); - headers.push_back(std::make_pair(tmp, hdr)); - } + CdlDefineLoadable tmp = dynamic_cast(*load_i); + if (0 != tmp) { + std::string hdr = tmp->get_config_header(); + headers.push_back(std::make_pair(tmp, hdr)); + } } static char banner_format[] = @@ -2080,10 +2080,10 @@ CdlToplevelBody::generate_config_headers(std::string directory) // export to these. std::string system_h_name = directory + "/__libcdl_file1"; Tcl_Channel system_h = Tcl_OpenFileChannel(interp->get_tcl_interpreter(), - const_cast(system_h_name.c_str()), "w", 0666); + const_cast(system_h_name.c_str()), "w", 0666); if (0 == system_h) { - throw CdlInputOutputException("Unable to open file " + system_h_name + "\n" + - interp->get_result()); + throw CdlInputOutputException("Unable to open file " + system_h_name + "\n" + + interp->get_result()); } // The channel will be registered and unregistered in several // different interpreters. This call prevents the channel from @@ -2092,80 +2092,80 @@ CdlToplevelBody::generate_config_headers(std::string directory) // Make sure that this operation is undone if necessary. try { - // Now fill in system.h with the appropriate data. Start with the banner. - char local_buf[512]; - sprintf(local_buf, banner_format, "SYSTEM_H", "SYSTEM_H", "system.h"); - Tcl_Write(system_h, local_buf, -1); - - // Add generic version information - system_h_add_version_header(system_h); - - // The rest of system.h will be filled in by the following loop. - // - // Walk down the previously constructed headers vector, create - // appropriate files, and let each DefineLoadable fill in the - // file for itself. - std::vector >::iterator outer_i; - std::vector >::iterator inner_i; - for (outer_i = headers.begin(); outer_i != headers.end(); outer_i++) { - if ("" == outer_i->second) { - continue; - } - std::string target_name = outer_i->second; - std::string header_name = directory + "/__libcdl_file2"; - Tcl_Channel header_h = Tcl_OpenFileChannel(interp->get_tcl_interpreter(), - const_cast(header_name.c_str()), "w", 0666); - if (0 == header_h) { - throw CdlInputOutputException("Unable to open file " + header_name + "\n" + - interp->get_result()); - } - // The channel may be used in several different interpreters, so - // do an extra register operation - Tcl_RegisterChannel(0, header_h); - - try { - // Output the banner. This requires an all-upper-case version of the - // header name. - std::string upper_case; - for (unsigned int i = 0; i < target_name.size(); i++) { - if (islower(target_name[i])) { - upper_case += toupper(target_name[i]); - } else if ('.' == target_name[i]) { - upper_case += '_'; - } else { - upper_case += target_name[i]; - } - } - sprintf(local_buf, banner_format, upper_case.c_str(), upper_case.c_str(), target_name.c_str()); - Tcl_Write(header_h, local_buf, -1); - - // Now iterate over all the loadables looking for ones which - // should generate #define's for this header, and invoke the - // appropriate member function. - for (inner_i = outer_i; inner_i != headers.end(); inner_i++) { - if (inner_i->second == target_name) { - inner_i->first->generate_config_header(header_h, system_h); - inner_i->second = ""; - } - } - - // The header file has now been updated. Close it and decide whether - // or not to replace the old version - Tcl_Write(header_h, "\n#endif\n", -1); - } catch(...) { - Tcl_UnregisterChannel(0, header_h); - throw; - } - Tcl_UnregisterChannel(0, header_h); - compare_and_copy(interp, header_name, directory + "/" + target_name); - } - - Tcl_Write(system_h, "\n#endif\n", -1); + // Now fill in system.h with the appropriate data. Start with the banner. + char local_buf[512]; + sprintf(local_buf, banner_format, "SYSTEM_H", "SYSTEM_H", "system.h"); + Tcl_Write(system_h, local_buf, -1); + + // Add generic version information + system_h_add_version_header(system_h); + + // The rest of system.h will be filled in by the following loop. + // + // Walk down the previously constructed headers vector, create + // appropriate files, and let each DefineLoadable fill in the + // file for itself. + std::vector >::iterator outer_i; + std::vector >::iterator inner_i; + for (outer_i = headers.begin(); outer_i != headers.end(); outer_i++) { + if ("" == outer_i->second) { + continue; + } + std::string target_name = outer_i->second; + std::string header_name = directory + "/__libcdl_file2"; + Tcl_Channel header_h = Tcl_OpenFileChannel(interp->get_tcl_interpreter(), + const_cast(header_name.c_str()), "w", 0666); + if (0 == header_h) { + throw CdlInputOutputException("Unable to open file " + header_name + "\n" + + interp->get_result()); + } + // The channel may be used in several different interpreters, so + // do an extra register operation + Tcl_RegisterChannel(0, header_h); + + try { + // Output the banner. This requires an all-upper-case version of the + // header name. + std::string upper_case; + for (unsigned int i = 0; i < target_name.size(); i++) { + if (islower(target_name[i])) { + upper_case += toupper(target_name[i]); + } else if ('.' == target_name[i]) { + upper_case += '_'; + } else { + upper_case += target_name[i]; + } + } + sprintf(local_buf, banner_format, upper_case.c_str(), upper_case.c_str(), target_name.c_str()); + Tcl_Write(header_h, local_buf, -1); + + // Now iterate over all the loadables looking for ones which + // should generate #define's for this header, and invoke the + // appropriate member function. + for (inner_i = outer_i; inner_i != headers.end(); inner_i++) { + if (inner_i->second == target_name) { + inner_i->first->generate_config_header(header_h, system_h); + inner_i->second = ""; + } + } + + // The header file has now been updated. Close it and decide whether + // or not to replace the old version + Tcl_Write(header_h, "\n#endif\n", -1); + } catch(...) { + Tcl_UnregisterChannel(0, header_h); + throw; + } + Tcl_UnregisterChannel(0, header_h); + compare_and_copy(interp, header_name, directory + "/" + target_name); + } + + Tcl_Write(system_h, "\n#endif\n", -1); } catch(...) { - Tcl_UnregisterChannel(0, system_h); - throw; + Tcl_UnregisterChannel(0, system_h); + throw; } - + // This call to UnregisterChannel automatically closes the // channel, there is no need for an explicit Tcl_Close() call. Tcl_UnregisterChannel(0, system_h); @@ -2178,7 +2178,7 @@ CdlToplevelBody::generate_config_headers(std::string directory) } //}}} -//{{{ CdlToplevel::get_config_headers() +//{{{ CdlToplevel::get_config_headers() // ---------------------------------------------------------------------------- // Return details of the header files that should be generated. This @@ -2210,21 +2210,21 @@ CdlToplevelBody::get_config_headers(std::vector& headers) const std::vector& loadables = get_loadables(); std::vector::const_iterator i; for (i = loadables.begin(); i != loadables.end(); i++) { - CdlDefineLoadable current = dynamic_cast(*i); - if (0 != current) { - std::string its_file = current->get_config_header(); - CYG_LOOP_INVARIANTC("" != its_file); - if (std::find(headers.begin(), headers.end(), its_file) == headers.end()) { - headers.push_back(its_file); - } - } + CdlDefineLoadable current = dynamic_cast(*i); + if (0 != current) { + std::string its_file = current->get_config_header(); + CYG_LOOP_INVARIANTC("" != its_file); + if (std::find(headers.begin(), headers.end(), its_file) == headers.end()) { + headers.push_back(its_file); + } + } } CYG_REPORT_RETURN(); } //}}} -//{{{ CdlToplevel::generate_build_tree() +//{{{ CdlToplevel::generate_build_tree() void CdlToplevelBody::generate_build_tree(std::string build_tree, std::string install_tree) diff --git a/tools/src/libcdl/cdl.hxx b/tools/src/libcdl/cdl.hxx index 6b971961..a268a1ef 100644 --- a/tools/src/libcdl/cdl.hxx +++ b/tools/src/libcdl/cdl.hxx @@ -1,6 +1,6 @@ #ifndef __CDL_HXX # define __CDL_HXX -//{{{ Banner +//{{{ Banner //============================================================================ // @@ -11,29 +11,29 @@ // //============================================================================ //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 2002 Bart Veer // Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //============================================================================ //#####DESCRIPTIONBEGIN#### @@ -49,7 +49,7 @@ //============================================================================ //}}} -//{{{ nested #include's +//{{{ nested #include's // ---------------------------------------------------------------------------- // Software CDL depends on the core but adds no new system requirements. @@ -60,7 +60,7 @@ //}}} -//{{{ Forward declarations of the body classes +//{{{ Forward declarations of the body classes // ---------------------------------------------------------------------------- // This section provides forward declarations of the main classes used @@ -85,7 +85,7 @@ typedef const CdlOptionBody* CdlConstOption; typedef const CdlPackagesDatabaseBody* CdlConstPackagesDatabase; //}}} -//{{{ CdlPackagesDatabase class +//{{{ CdlPackagesDatabase class // ---------------------------------------------------------------------------- // An eCos component repository can get to be quite complicated. There will @@ -114,16 +114,16 @@ class CdlPackagesDatabaseBody { friend class CdlTest; friend class CdlDbParser; - + public: static CdlPackagesDatabase make(std::string = "", CdlDiagnosticFnPtr /* error */ = 0, - CdlDiagnosticFnPtr /* warn */ = 0); + CdlDiagnosticFnPtr /* warn */ = 0); bool update(void); ~CdlPackagesDatabaseBody(); std::string get_component_repository() const; - + const std::vector& get_packages(void) const; bool is_known_package(std::string) const; const std::string& get_package_description(std::string) const; @@ -141,7 +141,7 @@ class CdlPackagesDatabaseBody { const std::vector& get_target_enables(std::string) const; const std::vector& get_target_disables(std::string) const; const std::vector >& get_target_set_values(std::string) const; - + const std::vector& get_templates(void) const; bool is_known_template(std::string) const; std::string get_template_filename(std::string, std::string = "") const; @@ -149,8 +149,8 @@ class CdlPackagesDatabaseBody { const std::string get_template_description(std::string, std::string = ""); const std::vector& get_template_packages(std::string, std::string = ""); static void extract_template_details(std::string /* filename */, std::string& /* description */, - std::vector& /* packages */); - + std::vector& /* packages */); + // What are the valid compiler flag variables (ARCHFLAGS, ERRFLAGS, ...)? // For now the library provides a static vector of these things, but // this area is likely to change in future @@ -158,10 +158,10 @@ class CdlPackagesDatabaseBody { // Control verbosity when reading in a database static void set_verbose(bool); - + bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + private: // The only valid constructor gets invoked from the make() member function. // The argument should be a pathname for the component repository. The @@ -172,62 +172,62 @@ class CdlPackagesDatabaseBody { std::vector package_names; struct package_data { public: - std::string description; - std::vector aliases; - std::vector versions; - std::string directory; - std::string script; - bool hardware; + std::string description; + std::vector aliases; + std::vector versions; + std::string directory; + std::string script; + bool hardware; }; std::map packages; - + std::vector target_names; struct target_data { public: - std::string description; - std::vector aliases; - std::vector packages; - std::vector enable; - std::vector disable; - std::vector > set_values; + std::string description; + std::vector aliases; + std::vector packages; + std::vector enable; + std::vector disable; + std::vector > set_values; }; std::map targets; - + std::vector template_names; struct template_version_data { public: - std::string description; - std::vector packages; + std::string description; + std::vector packages; }; struct template_data { public: - std::vector versions; - std::map version_details; + std::vector versions; + std::map version_details; }; std::map templates; - + enum { - CdlPackagesDatabaseBody_Invalid = 0, - CdlPackagesDatabaseBody_Magic = 0x50896acb + CdlPackagesDatabaseBody_Invalid = 0, + CdlPackagesDatabaseBody_Magic = 0x50896acb } cdlpackagesdatabasebody_cookie; // This allows test cases to overwrite the name of the file // containing the database information. - static char* database_name; + static const char *database_name; // Control whether or not minor problems with the database should be // reported. static bool verbose_mode; - + // The default constructor, copy constructor and assignment operator are illegal. CdlPackagesDatabaseBody(); CdlPackagesDatabaseBody(const CdlPackagesDatabaseBody&); CdlPackagesDatabaseBody& operator=(const CdlPackagesDatabaseBody&); - + }; //}}} -//{{{ CdlConfiguration class +//{{{ CdlConfiguration class // ---------------------------------------------------------------------------- // The CdlConfiguration class is the toplevel used for mainpulating @@ -253,7 +253,7 @@ class CdlConfigurationBody : public virtual CdlToplevelBody friend class CdlTest; public: - + // ---------------------------------------------------------------------------- // Create a new configuration. // Currently this requires a name, a database and a master interpreter. @@ -317,24 +317,24 @@ class CdlConfigurationBody : public virtual CdlToplevelBody // A version argument of "" implies the most recent version. void load_package(std::string /* name */, std::string /* version */, - CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); + CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); void load_package(CdlTransaction, std::string /* name */, std::string /* version */, - CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); + CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); void unload_package(std::string /* name */, bool /* limbo */ = true); void unload_package(CdlPackage, bool /* limbo */ = true); void unload_package(CdlTransaction, std::string /* name */, bool /* limbo */ = true); void unload_package(CdlTransaction, CdlPackage, bool /* limbo */ = true); - + void change_package_version(std::string /*name*/, std::string /*version*/, - CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); + CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); void change_package_version(CdlPackage, std::string /*version*/, CdlDiagnosticFnPtr /* error */, - CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); + CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); void change_package_version(CdlTransaction, std::string /*name*/, std::string /*version*/, - CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); + CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); void change_package_version(CdlTransaction, CdlPackage, std::string /*version*/, CdlDiagnosticFnPtr /* error */, - CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); + CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); // Loading a savefile is different in that it creates a new // toplevel. Since transactions can only be created if the @@ -342,36 +342,36 @@ class CdlConfigurationBody : public virtual CdlToplevelBody // per-transaction load() operation. It is possible to have // a per-transaction add() operation. static CdlConfiguration load(std::string /* filename */, CdlPackagesDatabase, CdlInterpreter, - CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */); + CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */); void add(std::string /* filename */, - CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */); + CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */); void add(CdlTransaction, std::string /* filename */, - CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */); + CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */); // As with packages, a version of "" implies the most recent. void set_template(std::string, std::string /* version */, - CdlDiagnosticFnPtr, CdlDiagnosticFnPtr /* warn */,bool /* limbo */ = true); + CdlDiagnosticFnPtr, CdlDiagnosticFnPtr /* warn */,bool /* limbo */ = true); void set_template_file(std::string, - CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); + CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); void set_template(CdlTransaction, std::string, std::string /* version */, - CdlDiagnosticFnPtr, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); + CdlDiagnosticFnPtr, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); void set_template_file(CdlTransaction, std::string, - CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); + CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); void unload_template(bool /* limbo */ = true); void unload_template(CdlTransaction, bool /* limbo */ = true); std::string get_template() const; void set_template_name(std::string); // Intended for library use only void set_hardware(std::string, - CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); + CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); void set_hardware(CdlTransaction, std::string, - CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); + CdlDiagnosticFnPtr /* error */, CdlDiagnosticFnPtr /* warn */, bool /* limbo */ = true); void unload_hardware(bool /* limbo */ = true); void unload_hardware(CdlTransaction, bool /* limbo */ = true); std::string get_hardware() const; void set_hardware_name(std::string); // Intended for library use only - + // ---------------------------------------------------------------------------- // Save a configuration to a file void save(std::string, bool /* minimal */ = false); @@ -385,7 +385,7 @@ class CdlConfigurationBody : public virtual CdlToplevelBody virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + private: // The only legal constructor, invoked from make() and load() @@ -398,15 +398,15 @@ class CdlConfigurationBody : public virtual CdlToplevelBody static int savefile_hardware_command(CdlInterpreter, int, const char*[]); static int savefile_template_command(CdlInterpreter, int, const char*[]); static int savefile_package_command(CdlInterpreter, int, const char*[]); - + std::string current_hardware; std::string current_template; std::string description; CdlPackagesDatabase database; std::string save_file; enum { - CdlConfigurationBody_Invalid = 0, - CdlConfigurationBody_Magic = 0x5c409a3d + CdlConfigurationBody_Invalid = 0, + CdlConfigurationBody_Magic = 0x5c409a3d } cdlconfigurationbody_cookie; // The constructor can only be invoked via the make() and load() @@ -415,37 +415,37 @@ class CdlConfigurationBody : public virtual CdlToplevelBody CdlConfigurationBody(); CdlConfigurationBody(const CdlConfigurationBody&); CdlConfigurationBody& operator=(const CdlConfigurationBody&); - + }; //}}} -//{{{ CdlPackage class +//{{{ CdlPackage class // ---------------------------------------------------------------------------- // Packages inherit from most of the base classes. class CdlPackageBody : public virtual CdlNodeBody, - public virtual CdlContainerBody, - public virtual CdlUserVisibleBody, - public virtual CdlValuableBody, - public virtual CdlParentableBody, - public virtual CdlBuildableBody, - public virtual CdlDefinableBody, - public virtual CdlLoadableBody, - public virtual CdlBuildLoadableBody, - public virtual CdlDefineLoadableBody -{ + public virtual CdlContainerBody, + public virtual CdlUserVisibleBody, + public virtual CdlValuableBody, + public virtual CdlParentableBody, + public virtual CdlBuildableBody, + public virtual CdlDefinableBody, + public virtual CdlLoadableBody, + public virtual CdlBuildLoadableBody, + public virtual CdlDefineLoadableBody +{ friend class CdlTest; // Packages should not be created by application code, but // the CdlConfiguration class must be able to do so inside // load_package(); friend class CdlConfigurationBody; - + public: ~CdlPackageBody(); - + static int parse_package(CdlInterpreter, int, const char*[]); static int parse_hardware(CdlInterpreter, int, const char*[]); static int parse_install_proc(CdlInterpreter, int, const char*[]); @@ -454,7 +454,7 @@ class CdlPackageBody : public virtual CdlNodeBody, // Override the CdlDefineLoadable member. Hardware packages always // send their configuration options to hardware.h virtual std::string get_config_header() const; - + bool is_hardware_package() const; bool has_install_proc() const; const cdl_tcl_code& get_install_proc() const; @@ -465,7 +465,7 @@ class CdlPackageBody : public virtual CdlNodeBody, // it is necessary to invoke the container and valuable // update members. virtual void update(CdlTransaction, CdlUpdate); - + // Persistence support. virtual void save(CdlInterpreter, Tcl_Channel, int, bool); static void initialize_savefile_support(CdlToplevel); @@ -474,11 +474,11 @@ class CdlPackageBody : public virtual CdlNodeBody, // Was this package loaded because of a template or hardware setting? bool belongs_to_template() const; bool belongs_to_hardware() const; - + virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + private: // The only valid constructor requires a number of fields @@ -491,26 +491,26 @@ class CdlPackageBody : public virtual CdlNodeBody, bool loaded_for_template; bool loaded_for_hardware; - + enum { - CdlPackageBody_Invalid = 0, - CdlPackageBody_Magic = 0x1d7c0d43 + CdlPackageBody_Invalid = 0, + CdlPackageBody_Magic = 0x1d7c0d43 } cdlpackagebody_cookie; }; //}}} -//{{{ CdlComponent class +//{{{ CdlComponent class // ---------------------------------------------------------------------------- // Similarly components just inherit from the appropriate base classes. class CdlComponentBody : public virtual CdlNodeBody, - public virtual CdlContainerBody, - public virtual CdlUserVisibleBody, - public virtual CdlValuableBody, - public virtual CdlParentableBody, - public virtual CdlBuildableBody, - public virtual CdlDefinableBody + public virtual CdlContainerBody, + public virtual CdlUserVisibleBody, + public virtual CdlValuableBody, + public virtual CdlParentableBody, + public virtual CdlBuildableBody, + public virtual CdlDefinableBody { friend class CdlTest; @@ -524,26 +524,26 @@ class CdlComponentBody : public virtual CdlNodeBody, // it is necessary to invoke the container and valuable // update members. virtual void update(CdlTransaction, CdlUpdate); - + // Persistence support. virtual void save(CdlInterpreter, Tcl_Channel, int, bool); static void initialize_savefile_support(CdlToplevel); static int savefile_component_command(CdlInterpreter, int, const char*[]); - + virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + private: // The only valid constructor requires a name. CdlComponentBody(std::string); - + enum { - CdlComponentBody_Invalid = 0, - CdlComponentBody_Magic = 0x6359d9a7 + CdlComponentBody_Invalid = 0, + CdlComponentBody_Magic = 0x6359d9a7 } cdlcomponentbody_cookie; - + // Other constructors are illegal CdlComponentBody(); CdlComponentBody(const CdlComponentBody&); @@ -551,30 +551,30 @@ class CdlComponentBody : public virtual CdlNodeBody, }; //}}} -//{{{ CdlOption class +//{{{ CdlOption class // ---------------------------------------------------------------------------- // Again options just inherit their functionality from the base classes. class CdlOptionBody : public virtual CdlNodeBody, - public virtual CdlUserVisibleBody, - public virtual CdlValuableBody, - public virtual CdlParentableBody, - public virtual CdlBuildableBody, - public virtual CdlDefinableBody + public virtual CdlUserVisibleBody, + public virtual CdlValuableBody, + public virtual CdlParentableBody, + public virtual CdlBuildableBody, + public virtual CdlDefinableBody { friend class CdlTest; - + public: ~CdlOptionBody(); - + static int parse_option(CdlInterpreter, int, const char*[]); - + // Persistence support. virtual void save(CdlInterpreter, Tcl_Channel, int, bool); static void initialize_savefile_support(CdlToplevel); static int savefile_option_command(CdlInterpreter, int, const char*[]); - + virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); @@ -583,10 +583,10 @@ class CdlOptionBody : public virtual CdlNodeBody, CdlOptionBody(std::string); enum { - CdlOptionBody_Invalid = 0, - CdlOptionBody_Magic = 0x1c1162d1 + CdlOptionBody_Invalid = 0, + CdlOptionBody_Magic = 0x1c1162d1 } cdloptionbody_cookie; - + CdlOptionBody(); CdlOptionBody(const CdlOptionBody&); CdlOptionBody& operator=(const CdlOptionBody&); diff --git a/tools/src/libcdl/cdlcore.hxx b/tools/src/libcdl/cdlcore.hxx index c64e2c34..07e72625 100644 --- a/tools/src/libcdl/cdlcore.hxx +++ b/tools/src/libcdl/cdlcore.hxx @@ -1,7 +1,7 @@ #ifndef __CDLCORE_HXX # define __CDLCORE_HXX -//{{{ Banner +//{{{ Banner //========================================================================== // @@ -13,32 +13,32 @@ // //========================================================================== //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 2002 Bart Veer // Copyright (C) 1999, 2000, 2001 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //========================================================================== -//#####DESCRIPTIONBEGIN#### +//#####DESCRIPTIONBEGIN#### // // Author(s): bartv // Contributors: bartv @@ -48,7 +48,7 @@ //========================================================================== //}}} -//{{{ Platform dependencies +//{{{ Platform dependencies // ---------------------------------------------------------------------------- // Visual C++ has the delightful feature that the source browser will generate @@ -65,7 +65,7 @@ #endif //}}} -//{{{ nested #include's +//{{{ nested #include's // ---------------------------------------------------------------------------- // The libcdl API is defined using parts of the standard C++ library, @@ -148,7 +148,7 @@ extern "C" { //}}} -//{{{ Primitive types, constants:, enums, etc. +//{{{ Primitive types, constants:, enums, etc. // ---------------------------------------------------------------------------- // The CDL languages are defined in terms of arbitrary precision @@ -248,7 +248,7 @@ typedef std::string cdl_tcl_code; // for enums? Arrays? Bitfields? Structures? Unions? C++ classes? // How about other programming languages such as Ada or Java? // -// Any attempt to implement a grand union of all data types in CDL +// Any attempt to implement a grand union of all data types in CDL // is doomed to failure and should not be attempted. Treating // everything as a string instead has proven successful in a number // of languages, including Tcl and Perl. @@ -312,7 +312,7 @@ enum CdlValueSource { CdlValueSource_Wizard = 2, CdlValueSource_User = 3, CdlValueSource_Current = 4 -}; +}; // ---------------------------------------------------------------------------- // Update support. @@ -342,7 +342,7 @@ enum CdlUpdate { CdlUpdate_Created = 0x0008, // The destination has just been created CdlUpdate_Destroyed = 0x0010, // The destination is being destroyed CdlUpdate_ValueChange = 0x0020, // The destination's value has changed. - // This gets applied to nodes as well + // This gets applied to nodes as well CdlUpdate_ActiveChange = 0x0040 // The node has become active or inactive }; @@ -373,7 +373,7 @@ enum CdlBoolWidget { CdlBoolWidget_CustomDialog = 1, // There is a valid custom dialog property CdlBoolWidget_CheckButton = 2, // For simple booleans CdlBoolWidget_Radio = 3, // For several mutual exclusive options, - // the data structure will provide a string identifier + // the data structure will provide a string identifier }; enum CdlValueWidget { @@ -383,17 +383,17 @@ enum CdlValueWidget { CdlValueWidget_EntryBox = 3, // Fallback CdlValueWidget_MultilineString = 4, // For complicated strings CdlValueWidget_DecimalRange = 5, // e.g. 1 to 16 - // Could be implemented as scale, radio buttons, entry, pull-down menu, - // combo box, ... depending on GUI conventions and number of entries + // Could be implemented as scale, radio buttons, entry, pull-down menu, + // combo box, ... depending on GUI conventions and number of entries CdlValueWidget_HexRange = 6, // e.g. 0x01 to 0x10 CdlValueWidget_OctalRange = 7, // e.g. 01 to 020 CdlValueWidget_DoubleRange = 8, // e.g. 0.1 to 0.2 CdlValueWidget_NumericSet = 9, // e.g. 1 2 4 8 16 - // The exact nature of the numbers is irrelevant, they will only - // get displayed, not edited - // Could be implemented as radio buttons, entry widget, pull-down menu, - // combo box, ... depending on GUI conventions and number of entries - // Each entry can have its own representation + // The exact nature of the numbers is irrelevant, they will only + // get displayed, not edited + // Could be implemented as radio buttons, entry widget, pull-down menu, + // combo box, ... depending on GUI conventions and number of entries + // Each entry can have its own representation CdlValueWidget_StringSet = 10 // e.g. "ram", "rom" // More to be added, e.g. for compiler flag handling @@ -420,7 +420,7 @@ enum CdlValueFormat }; //}}} -//{{{ Exception classes +//{{{ Exception classes // ---------------------------------------------------------------------------- // Some parts of the library make use of C++ exception handling. A number @@ -437,20 +437,20 @@ class CdlStringException { public: CdlStringException(std::string message_arg) { - message = message_arg; + message = message_arg; } CdlStringException(const CdlStringException& original) { - message = original.message; + message = original.message; } CdlStringException& operator=(const CdlStringException& original) { - message = original.message; - return *this; + message = original.message; + return *this; } ~CdlStringException() { - message = ""; + message = ""; } const std::string& get_message() const { - return message; + return message; } private: std::string message; @@ -471,14 +471,14 @@ class CdlInputOutputException : public CdlStringException { friend class CdlTest; public: CdlInputOutputException(std::string message_arg) : - CdlStringException(message_arg) { + CdlStringException(message_arg) { } CdlInputOutputException(const CdlInputOutputException& original) : - CdlStringException(original) { + CdlStringException(original) { } CdlInputOutputException& operator=(const CdlInputOutputException& original) { - (void) CdlStringException::operator=(original); - return *this; + (void) CdlStringException::operator=(original); + return *this; } }; @@ -491,14 +491,14 @@ class CdlParseException : public CdlStringException { friend class CdlTest; public: CdlParseException(std::string message_arg) : - CdlStringException(message_arg) { + CdlStringException(message_arg) { } CdlParseException(const CdlParseException& original) : - CdlStringException(original) { + CdlStringException(original) { } CdlParseException& operator=(const CdlParseException& original) { - (void) CdlStringException::operator=(original); - return *this; + (void) CdlStringException::operator=(original); + return *this; } }; @@ -510,19 +510,19 @@ class CdlEvalException : public CdlStringException { friend class CdlTest; public: CdlEvalException(std::string message_arg) : - CdlStringException(message_arg) { + CdlStringException(message_arg) { } CdlEvalException(const CdlEvalException& original) : - CdlStringException(original) { + CdlStringException(original) { } CdlEvalException& operator=(const CdlEvalException& original) { - (void) CdlStringException::operator=(original); - return *this; + (void) CdlStringException::operator=(original); + return *this; } }; //}}} -//{{{ Forward declarations of the body classes +//{{{ Forward declarations of the body classes // ---------------------------------------------------------------------------- // This section provides forward declarations of the main classes in @@ -564,7 +564,7 @@ class CdlProperty_GoalExpressionBody; // Base classes. CDL entities such as options and components derive // from one or more of these, using virtual inheritance. -// +// // The lowest-level class is CdlNodeBody. // // 1) a node usually lives in a hierarchy, below a toplevel @@ -775,7 +775,7 @@ typedef const CdlConflict_DataBody* CdlConstConflict_Data; typedef const CdlTransactionBody* CdlConstTransaction; //}}} -//{{{ Miscellaneous types etc. +//{{{ Miscellaneous types etc. // ---------------------------------------------------------------------------- // This section is used for data types, function prototypes, etc. which could @@ -844,17 +844,17 @@ class CdlInterpreterCommandEntry { CdlInterpreterCommandEntry() : name(""), command(0) {} CdlInterpreterCommandEntry(const char *name_arg, CdlInterpreterCommand command_arg) - : name(name_arg), command(command_arg) + : name(name_arg), command(command_arg) { } CdlInterpreterCommandEntry(std::string name_arg, CdlInterpreterCommand command_arg) - : name(name_arg), command(command_arg) + : name(name_arg), command(command_arg) { } ~CdlInterpreterCommandEntry() { - name = ""; - command = 0; + name = ""; + command = 0; } }; @@ -900,7 +900,7 @@ struct CdlWidgetHint { }; //}}} -//{{{ Memory leak detection +//{{{ Memory leak detection // ---------------------------------------------------------------------------- // Provide some macros that are useful for detecting memory leaks. Basically @@ -926,7 +926,7 @@ struct CdlWidgetHint { #define CYGDBG_MEMLEAK_CONSTRUCTOR() this->memleak_counter++; #define CYGDBG_MEMLEAK_DESTRUCTOR() this->memleak_counter--; #define CYGDBG_MEMLEAK_CHECKTHIS() if (this->memleak_counter < 0) { return false; } - + #else #define CYGDBG_MEMLEAK_CONSTRUCTOR() @@ -937,7 +937,7 @@ struct CdlWidgetHint { //}}} -//{{{ Cdl class +//{{{ Cdl class // --------------------------------------------------------------------------- // The sole purpose of this class is to provide some utility functions with @@ -945,15 +945,15 @@ struct CdlWidgetHint { // implements namespaces. class Cdl { - + public: static bool is_valid_value_flavor(CdlValueFlavor); static bool is_valid_value_source(CdlValueSource); - + static bool is_valid_cdl_name(const std::string&); static bool is_valid_c_preprocessor_symbol(const std::string&); - + static bool string_to_integer(std::string, cdl_int&); static bool string_to_double(std::string, double&); static bool string_to_bool(std::string, bool&); @@ -966,19 +966,19 @@ class Cdl { static void integer_to_double(cdl_int, double&); static double integer_to_double(cdl_int); static bool double_to_integer(double, cdl_int&); - + static bool string_to_flavor(std::string, CdlValueFlavor&); static bool flavor_to_string(CdlValueFlavor, std::string&); static bool string_to_source(std::string, CdlValueSource&); static bool source_to_string(CdlValueSource, std::string&); - + static std::string get_library_version(); static void set_interactive(bool = true); static bool is_interactive(); static bool truth() { return true; } static bool falsehood() { return false; } - + // return values are -1,0,1 just like strcmp(). The most recent // version is the smallest. static int compare_versions(std::string, std::string); @@ -986,25 +986,25 @@ class Cdl { // Also provide an STL-friendly comparison class class version_cmp { public: - bool operator()(const std::string& v1, const std::string& v2) const { - return Cdl::compare_versions(v1,v2) < 0; - } + bool operator()(const std::string& v1, const std::string& v2) const { + return Cdl::compare_versions(v1,v2) < 0; + } }; // Split a version string into major, minor and release numbers. static void split_version_string(const std::string&, std::string& /* major */, - std::string& /* minor */, std::string& /* release */); - + std::string& /* minor */, std::string& /* release */); + // It is occasionally useful to take a full CDL name such as CYGPKG_KERNEL // and turn it into a short form, i.e. kernel. static std::string get_short_form(const std::string&); - + private: static bool interactive; }; //}}} -//{{{ CdlInterpreter class +//{{{ CdlInterpreter class // ---------------------------------------------------------------------------- // libcdl requires access to a Tcl interpreter. For now the standard @@ -1076,7 +1076,7 @@ class CdlInterpreterBody public: CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + // This is how a top-level (i.e. per-toplevel) interpreter // should get created. static CdlInterpreter make(Tcl_Interp* = 0); @@ -1084,10 +1084,10 @@ class CdlInterpreterBody // Create a slave interpreter for reading in the data in e.g. a // cdl_package CdlInterpreter create_slave(CdlLoadable, bool /* safe */ = true); - + // Make the interpreter safe, a one-way operation. void make_safe(); - + // The destructor is public. virtual ~CdlInterpreterBody(); @@ -1104,15 +1104,15 @@ class CdlInterpreterBody std::vector* push_commands(std::vector&); void pop_commands(std::vector*); std::vector* get_pushed_commands() const; - + // Similarly, allow variables to be set, unset and queried void set_variable(std::string, std::string); void unset_variable(std::string); std::string get_variable(std::string); - + // FIXME: add support for variable traces. These are needed // for cdl_value and similar utilities. - + // Provide hooks into the AssocData() facilities associated with // Tcl interpreters. This makes it possible to store arbitrary // data with an interpreter, e.g. to keep track of current state. @@ -1133,7 +1133,7 @@ class CdlInterpreterBody // And support for evaluating an entire file int eval_file(std::string); int eval_file(std::string, std::string&); - + // For use by commands implemented in C++, a way of setting the result void set_result(std::string); @@ -1142,7 +1142,7 @@ class CdlInterpreterBody // Was the result set by the Tcl interpreter or by libcdl? bool result_set_by_cdl(); - + // A utility to quote data that is going to end up in a TCL script. static std::string quote(std::string); @@ -1151,7 +1151,7 @@ class CdlInterpreterBody // Add some data to a comment, allowing for newlines if necessary static std::string extend_comment(const std::string&, int, int = 0); - + // Write some data to a savefile, throwing an exception on error void write_data(Tcl_Channel, std::string); @@ -1212,126 +1212,126 @@ class CdlInterpreterBody // exceptions may get thrown. class DiagSupport { public: - DiagSupport(CdlInterpreter interp_arg, CdlDiagnosticFnPtr error_fn_arg, CdlDiagnosticFnPtr warn_fn_arg) { - interp = interp_arg; - saved_error_fn = interp->push_error_fn_ptr(error_fn_arg); - saved_warn_fn = interp->push_warning_fn_ptr(warn_fn_arg); - } - ~DiagSupport() { - interp->pop_error_fn_ptr(saved_error_fn); - interp->pop_warning_fn_ptr(saved_warn_fn); - } + DiagSupport(CdlInterpreter interp_arg, CdlDiagnosticFnPtr error_fn_arg, CdlDiagnosticFnPtr warn_fn_arg) { + interp = interp_arg; + saved_error_fn = interp->push_error_fn_ptr(error_fn_arg); + saved_warn_fn = interp->push_warning_fn_ptr(warn_fn_arg); + } + ~DiagSupport() { + interp->pop_error_fn_ptr(saved_error_fn); + interp->pop_warning_fn_ptr(saved_warn_fn); + } private: - DiagSupport(); + DiagSupport(); - CdlInterpreter interp; - CdlDiagnosticFnPtr saved_error_fn; - CdlDiagnosticFnPtr saved_warn_fn; + CdlInterpreter interp; + CdlDiagnosticFnPtr saved_error_fn; + CdlDiagnosticFnPtr saved_warn_fn; }; class ContextSupport { public: - ContextSupport(CdlInterpreter interp_arg, std::string context) { - interp = interp_arg; - saved_context = interp->push_context(context); - } - ~ContextSupport() { - interp->pop_context(saved_context); - } + ContextSupport(CdlInterpreter interp_arg, std::string context) { + interp = interp_arg; + saved_context = interp->push_context(context); + } + ~ContextSupport() { + interp->pop_context(saved_context); + } private: - ContextSupport(); - CdlInterpreter interp; - std::string saved_context; + ContextSupport(); + CdlInterpreter interp; + std::string saved_context; }; class ContainerSupport { public: - ContainerSupport(CdlInterpreter interp_arg, CdlContainer container) { - interp = interp_arg; - saved_container = interp->push_container(container); - } - ~ContainerSupport() { - interp->pop_container(saved_container); - } + ContainerSupport(CdlInterpreter interp_arg, CdlContainer container) { + interp = interp_arg; + saved_container = interp->push_container(container); + } + ~ContainerSupport() { + interp->pop_container(saved_container); + } private: - ContainerSupport(); - CdlInterpreter interp; - CdlContainer saved_container; + ContainerSupport(); + CdlInterpreter interp; + CdlContainer saved_container; }; class NodeSupport { public: - NodeSupport(CdlInterpreter interp_arg, CdlNode node) { - interp = interp_arg; - saved_node = interp->push_node(node); - } - ~NodeSupport() { - interp->pop_node(saved_node); - } + NodeSupport(CdlInterpreter interp_arg, CdlNode node) { + interp = interp_arg; + saved_node = interp->push_node(node); + } + ~NodeSupport() { + interp->pop_node(saved_node); + } private: - NodeSupport(); - CdlInterpreter interp; - CdlNode saved_node; + NodeSupport(); + CdlInterpreter interp; + CdlNode saved_node; }; class CommandSupport { public: - CommandSupport(CdlInterpreter interp_arg, std::vector& commands) { - interp = interp_arg; - saved_commands = interp->push_commands(commands); - } - CommandSupport(CdlInterpreter interp_arg, CdlInterpreterCommandEntry* commands) { - unsigned int i; - for (i = 0; 0 != commands[i].command; i++) { - new_commands.push_back(commands[i]); - } - interp = interp_arg; - saved_commands = interp->push_commands(new_commands); - } - ~CommandSupport() { - interp->pop_commands(saved_commands); - } + CommandSupport(CdlInterpreter interp_arg, std::vector& commands) { + interp = interp_arg; + saved_commands = interp->push_commands(commands); + } + CommandSupport(CdlInterpreter interp_arg, CdlInterpreterCommandEntry* commands) { + unsigned int i; + for (i = 0; 0 != commands[i].command; i++) { + new_commands.push_back(commands[i]); + } + interp = interp_arg; + saved_commands = interp->push_commands(new_commands); + } + ~CommandSupport() { + interp->pop_commands(saved_commands); + } private: - CommandSupport(); - CdlInterpreter interp; - std::vector* saved_commands; - std::vector new_commands; + CommandSupport(); + CdlInterpreter interp; + std::vector* saved_commands; + std::vector new_commands; }; // Similar utility classes for variables and assoc data. class VariableSupport { public: - VariableSupport(CdlInterpreter interp_arg, std::string varname_arg, std::string data) { - interp = interp_arg; - varname = varname_arg; - interp->set_variable(varname, data); - } - ~VariableSupport() { - interp->unset_variable(varname); - } + VariableSupport(CdlInterpreter interp_arg, std::string varname_arg, std::string data) { + interp = interp_arg; + varname = varname_arg; + interp->set_variable(varname, data); + } + ~VariableSupport() { + interp->unset_variable(varname); + } private: - VariableSupport(); - CdlInterpreter interp; - std::string varname; + VariableSupport(); + CdlInterpreter interp; + std::string varname; }; class AssocSupport { public: - AssocSupport(CdlInterpreter interp_arg, const char* name_arg, ClientData data, Tcl_InterpDeleteProc* del_proc = 0) { - interp = interp_arg; - name = name_arg; - interp->set_assoc_data(name, data, del_proc); - } - ~AssocSupport() { - interp->delete_assoc_data(name); - } + AssocSupport(CdlInterpreter interp_arg, const char* name_arg, ClientData data, Tcl_InterpDeleteProc* del_proc = 0) { + interp = interp_arg; + name = name_arg; + interp->set_assoc_data(name, data, del_proc); + } + ~AssocSupport() { + interp->delete_assoc_data(name); + } private: - AssocSupport(); - CdlInterpreter interp; - const char* name; + AssocSupport(); + CdlInterpreter interp; + const char* name; }; - + // Some command implementations may want to access other Tcl library // routines such as Tcl_SplitList(). This requires convenient access // to the underlying Tcl interpreter. Tcl_Interp* get_tcl_interpreter() const; - + // For use by the assertion macros. bool check_this(cyg_assert_class_zeal = cyg_quick) const; @@ -1341,8 +1341,8 @@ class CdlInterpreterBody static int tcl_command_proc(ClientData, Tcl_Interp*, int, const char*[]); // This key is used to access the CdlInterpreter assoc data. - static char* cdlinterpreter_assoc_data_key; - + static const char* cdlinterpreter_assoc_data_key; + // Do not allow static instances of a Cdl interpreter. There are too // many possible failure conditions. Cdl interpreters can only be // created dynamically via make(), which will invoke this. @@ -1353,7 +1353,7 @@ class CdlInterpreterBody CdlInterpreterBody(const CdlInterpreterBody&); CdlInterpreterBody& operator=(const CdlInterpreterBody&); - + Tcl_Interp* tcl_interp; // The underlying Tcl interpreter bool owns_interp; // Was the Tcl interpreter created by the library? std::vector slaves; // All slave interpreters @@ -1367,17 +1367,17 @@ class CdlInterpreterBody CdlDiagnosticFnPtr error_fn_ptr; CdlDiagnosticFnPtr warning_fn_ptr; bool cdl_result; - + std::vector* current_commands; // for push() and pop() - + enum { - CdlInterpreterBody_Invalid = 0, - CdlInterpreterBody_Magic = 0x0be67689 + CdlInterpreterBody_Invalid = 0, + CdlInterpreterBody_Magic = 0x0be67689 } cdlinterpreterbody_cookie; }; //}}} -//{{{ CdlReference/Referrer classes +//{{{ CdlReference/Referrer classes // --------------------------------------------------------------------------- // CDL objects are organised primarily in a tree hierarchy. For @@ -1449,14 +1449,14 @@ class CdlReference { // CdlReferrer must be a friend so that when a package gets unloaded // it can clean up all references to it. friend class CdlReferrer; - + public: // The default constructor should not normally be used, instead // a string should be supplied. However there are vectors of // reference objects... CdlReference(); - + // The main constructor supplies the name of the referenced // entity. The resulting object will be unbound. CdlReference(const std::string); @@ -1467,11 +1467,11 @@ class CdlReference { // The assignment operator is needed for STL operations. // Again it only makes sense of unbound objects. CdlReference& operator=(const CdlReference&); - + // The destructor is only valid for unbound objects. All references // should be unbound before an entity can be destroyed. ~CdlReference(); - + // Access the various fields. void set_destination_name(const std::string); const std::string& get_destination_name() const; @@ -1495,11 +1495,11 @@ class CdlReference { // This is used by the ASSERT_CLASS() and ASSERT_THIS() macros. bool check_this(cyg_assert_class_zeal cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: private: - + // The data fields. The name is usually filled in by the // constructor. The destination defaults to zero for an unbound // object and gets filled in by the bind() operation. @@ -1507,8 +1507,8 @@ class CdlReference { CdlNode dest; enum { - CdlReference_Invalid = 0, - CdlReference_Magic = 0x3f908608 + CdlReference_Invalid = 0, + CdlReference_Magic = 0x3f908608 } cdlreference_cookie; }; @@ -1538,7 +1538,7 @@ class CdlReferrer { // members, since these two functions are really responsible for // creating and destroying referrer objects. friend class CdlReference; - + public: // The default constructor, copy constructor and assignment @@ -1556,22 +1556,22 @@ class CdlReferrer { void update(CdlTransaction, CdlNode, CdlUpdate); bool check_this(cyg_assert_class_zeal=cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + private: CdlNode source; CdlProperty source_property; - + enum { - CdlReferrer_Invalid = 0, - CdlReferrer_Magic = 0x70e1fc37 + CdlReferrer_Invalid = 0, + CdlReferrer_Magic = 0x70e1fc37 } cdlreferrer_cookie; }; //}}} -//{{{ Value and Expression classes +//{{{ Value and Expression classes -//{{{ CdlEvalContext +//{{{ CdlEvalContext // ---------------------------------------------------------------------------- // Expression evaluation always happens within a certain context. @@ -1583,9 +1583,9 @@ class CdlReferrer { // evaluation-related routines, a utility class is provided. class CdlEvalContext { - + friend class CdlTest; - + public: CdlTransaction transaction; @@ -1600,10 +1600,10 @@ class CdlEvalContext { // a node or, more specifically, a valuable. CdlNode resolve_reference(CdlExpression, int); CdlValuable resolve_valuable_reference(CdlExpression, int); - + bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: private: @@ -1612,14 +1612,14 @@ class CdlEvalContext { CdlEvalContext(); enum { - CdlEvalContext_Invalid = 0, - CdlEvalContext_Magic = 0x03434be9 + CdlEvalContext_Invalid = 0, + CdlEvalContext_Magic = 0x03434be9 } cdlevalcontext_cookie; - + }; //}}} -//{{{ CdlSimpleValue +//{{{ CdlSimpleValue // ---------------------------------------------------------------------------- // Expression evaluation happens in terms of CdlSimpleValue objects. @@ -1646,7 +1646,7 @@ class CdlEvalContext { // The default value is 0. class CdlSimpleValue { - + friend class CdlTest; public: @@ -1663,49 +1663,49 @@ class CdlSimpleValue { CdlSimpleValue& operator=(std::string); CdlSimpleValue& operator=(cdl_int); CdlSimpleValue& operator=(double); - + CdlSimpleValue& operator=(bool); - + bool operator==(const CdlSimpleValue&) const; bool operator!=(const CdlSimpleValue&) const; bool operator==(std::string arg) const { - CdlSimpleValue val(arg); - return *this == val; + CdlSimpleValue val(arg); + return *this == val; } bool operator==(cdl_int arg) const { - CdlSimpleValue val(arg); - return *this == val; + CdlSimpleValue val(arg); + return *this == val; } bool operator==(double arg) const { - CdlSimpleValue val(arg); - return *this == val; + CdlSimpleValue val(arg); + return *this == val; } bool operator!=(std::string arg) const { - CdlSimpleValue val(arg); - return *this != val; + CdlSimpleValue val(arg); + return *this != val; } bool operator!=(cdl_int arg) const { - CdlSimpleValue val(arg); - return *this != val; + CdlSimpleValue val(arg); + return *this != val; } bool operator!=(double arg) const { - CdlSimpleValue val(arg); - return *this != val; + CdlSimpleValue val(arg); + return *this != val; } - + void set_value(std::string, CdlValueFormat = CdlValueFormat_Default); std::string get_value() const; - + bool has_integer_value() const; void set_integer_value(cdl_int, CdlValueFormat = CdlValueFormat_Default); cdl_int get_integer_value() const; - + bool has_double_value() const; void set_double_value(double, CdlValueFormat = CdlValueFormat_Default); double get_double_value() const; @@ -1716,26 +1716,26 @@ class CdlSimpleValue { void set_value_format(CdlSimpleValue&, CdlSimpleValue&); static void eval_valuable(CdlEvalContext&, CdlValuable, CdlSimpleValue&); - + // For expression evaluation, it is often convenient to get hold // of a boolean as well. This may indicate a non-empty string // or a non-zero value. bool get_bool_value() const; - + // This class is too simple to warrant even a cookie validation. bool check_this(cyg_assert_class_zeal zeal = cyg_quick) const { - return true; + return true; } - + protected: private: enum { - int_valid = 0x01, - double_valid = 0x02, - string_valid = 0x04, - int_invalid = 0x08, - double_invalid = 0x10 + int_valid = 0x01, + double_valid = 0x02, + string_valid = 0x04, + int_invalid = 0x08, + double_invalid = 0x10 }; mutable int valid_flags; mutable std::string value; @@ -1745,7 +1745,7 @@ class CdlSimpleValue { }; //}}} -//{{{ CdlListValue +//{{{ CdlListValue // ---------------------------------------------------------------------------- // Evaluating a list expression results in a set of possible values, but @@ -1769,13 +1769,13 @@ class CdlSimpleValue { // double to avoid unnecessary string conversions. class CdlListValue { - + friend class CdlTest; // A list value will only be filled in when a list expression is evaluated. // The members cannot be updated by other means. friend class CdlListExpressionBody; - + public: CdlListValue(); @@ -1796,20 +1796,20 @@ class CdlListValue { bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + private: std::vector table; std::vector > integer_ranges; std::vector > double_ranges; enum { - CdlListValue_Invalid = 0, - CdlListValue_Magic = 0x2183a943 + CdlListValue_Invalid = 0, + CdlListValue_Magic = 0x2183a943 } cdllistvalue_cookie; }; //}}} -//{{{ CdlValue +//{{{ CdlValue // ---------------------------------------------------------------------------- // Values in CDL are non-trivial compared with some other languages. @@ -1903,7 +1903,7 @@ class CdlListValue { // The first function can be used if e.g. the user wants to // change his or her mind and go back to the default value // rather than a user value. The user value is not forgotten -// and can be reinstated. +// and can be reinstated. // // invalidate_source() can be used to completely cancel a // value source. If that source happens to be the current one @@ -1959,7 +1959,7 @@ class CdlListValue { // whatever the flavor happens to be. class CdlValue { - + friend class CdlTest; public: @@ -1980,97 +1980,97 @@ class CdlValue { cdl_int get_integer_value(CdlValueSource = CdlValueSource_Current) const; double get_double_value(CdlValueSource = CdlValueSource_Current) const; CdlSimpleValue get_simple_value(CdlValueSource = CdlValueSource_Current) const; - + void set_source(CdlValueSource); void invalidate_source(CdlValueSource); - + void set_enabled(bool, CdlValueSource); void enable(CdlValueSource source) { - set_enabled(true, source); + set_enabled(true, source); } void disable(CdlValueSource source) { - set_enabled(false, source); + set_enabled(false, source); } void set_value(CdlSimpleValue&, CdlValueSource); void set_value(std::string data, CdlValueSource source) { - CdlSimpleValue val(data); - set_value(val, source); + CdlSimpleValue val(data); + set_value(val, source); } void set_integer_value(cdl_int data, CdlValueSource source) { - CdlSimpleValue val(data); - set_value(val, source); + CdlSimpleValue val(data); + set_value(val, source); } void set_double_value(double data, CdlValueSource source) { - CdlSimpleValue val(data); - set_value(val, source); + CdlSimpleValue val(data); + set_value(val, source); } void set_enabled_and_value(bool, CdlSimpleValue&, CdlValueSource); void set_enabled_and_value(bool enabled, std::string data, CdlValueSource source) { - CdlSimpleValue val(data); - set_enabled_and_value(enabled, val, source); + CdlSimpleValue val(data); + set_enabled_and_value(enabled, val, source); } void set_enabled_and_value(bool enabled, cdl_int data, CdlValueSource source) { - CdlSimpleValue val(data); - set_enabled_and_value(enabled, val, source); + CdlSimpleValue val(data); + set_enabled_and_value(enabled, val, source); } void set_enabled_and_value(bool enabled, double data, CdlValueSource source) { - CdlSimpleValue val(data); - set_enabled_and_value(enabled, val, source); + CdlSimpleValue val(data); + set_enabled_and_value(enabled, val, source); } void enable_and_set_value(CdlSimpleValue& val, CdlValueSource source) { - set_enabled_and_value(true, val, source); + set_enabled_and_value(true, val, source); } void enable_and_set_value(std::string data, CdlValueSource source) { - set_enabled_and_value(true, data, source); + set_enabled_and_value(true, data, source); } void enable_and_set_value(cdl_int data, CdlValueSource source) { - set_enabled_and_value(true, data, source); + set_enabled_and_value(true, data, source); } void enable_and_set_value(double data, CdlValueSource source) { - set_enabled_and_value(true, data, source); + set_enabled_and_value(true, data, source); } void disable_and_set_value(CdlSimpleValue& val, CdlValueSource source) { - set_enabled_and_value(false, val, source); + set_enabled_and_value(false, val, source); } void disable_and_set_value(std::string data, CdlValueSource source) { - set_enabled_and_value(false, data, source); + set_enabled_and_value(false, data, source); } void disable_and_set_value(cdl_int data, CdlValueSource source) { - set_enabled_and_value(false, data, source); + set_enabled_and_value(false, data, source); } void disable_and_set_value(double data, CdlValueSource source) { - set_enabled_and_value(false, data, source); + set_enabled_and_value(false, data, source); } void set(CdlSimpleValue&, CdlValueSource); - + bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); // This should only be used by the library itself. void set_flavor(CdlValueFlavor); - + protected: - + private: - + CdlValueFlavor flavor; CdlValueSource current_source; @@ -2081,15 +2081,15 @@ class CdlValue { bool source_valid[4]; bool enabled[4]; CdlSimpleValue values[4]; - + enum { - CdlValue_Invalid = 0, - CdlValue_Magic = 0x41837960 + CdlValue_Invalid = 0, + CdlValue_Magic = 0x41837960 } cdlvalue_cookie; }; //}}} -//{{{ CdlSubexpression +//{{{ CdlSubexpression // ---------------------------------------------------------------------------- // Expressions come into existence primarily as the result of reading @@ -2172,13 +2172,13 @@ struct CdlSubexpression { int lhs_index; // for all non-constant operators int rhs_index; // for binary and ternary operators only int rrhs_index; // only for ternary operators. - + int func; // iff CdlExprOp_Function int args[CdlFunction_MaxArgs]; }; //}}} -//{{{ CdlFunction +//{{{ CdlFunction // ---------------------------------------------------------------------------- // Generic support for function parsing, evaluation, and inference. The @@ -2186,18 +2186,18 @@ struct CdlSubexpression { // core via static constructors. class CdlFunction { - + friend class CdlTest; - + public: CdlFunction(const char* /* name */, int /* no_args */, - void (*)(CdlExpression, const CdlSubexpression&), - void (*)(CdlEvalContext&, CdlExpression, const CdlSubexpression&, CdlSimpleValue&), - bool (*)(CdlTransaction, CdlExpression, unsigned int, bool, int), - bool (*)(CdlTransaction, CdlExpression, unsigned int, CdlSimpleValue&, int) - ); + void (*)(CdlExpression, const CdlSubexpression&), + void (*)(CdlEvalContext&, CdlExpression, const CdlSubexpression&, CdlSimpleValue&), + bool (*)(CdlTransaction, CdlExpression, unsigned int, bool, int), + bool (*)(CdlTransaction, CdlExpression, unsigned int, CdlSimpleValue&, int) + ); ~CdlFunction(); - + static bool is_function(std::string, int&); static std::string get_name(int); static int get_args_count(int); @@ -2210,7 +2210,7 @@ class CdlFunction { static void (*null_check)(CdlExpression, const CdlSubexpression&); static bool (*null_infer_bool)(CdlTransaction, CdlExpression, unsigned int, bool, int); static bool (*null_infer_value)(CdlTransaction, CdlExpression, unsigned int, CdlSimpleValue&, int); - + protected: private: @@ -2228,13 +2228,13 @@ class CdlFunction { void (*eval_fn)(CdlEvalContext&, CdlExpression, const CdlSubexpression&, CdlSimpleValue&); bool (*infer_bool_fn)(CdlTransaction, CdlExpression, unsigned int, bool, int); bool (*infer_value_fn)(CdlTransaction, CdlExpression, unsigned int, CdlSimpleValue&, int); - + // The default constructor is illegal CdlFunction(); }; //}}} -//{{{ CdlExpression +//{{{ CdlExpression // ---------------------------------------------------------------------------- // And now for the expression class itself. @@ -2242,7 +2242,7 @@ class CdlFunction { class CdlExpressionBody { friend class CdlTest; - + public: // The default constructor is basically a no-op, new expression @@ -2268,7 +2268,7 @@ class CdlExpressionBody { int first_subexpression; std::vector references; bool update(CdlTransaction, CdlNode, CdlProperty, CdlNode, CdlUpdate); - + // There are a number of parsing functions. The first one is // used by higher-level code to parse a single expression. Its // argument is a single string (which may be the result of @@ -2295,7 +2295,7 @@ class CdlExpressionBody { // expression. // // NOTE: possibly this should should be a protected member, since - // its main use is in parsing goal expressions. + // its main use is in parsing goal expressions. static void continue_parse(CdlExpression, std::string, int&, CdlExprOp&, int&); // Evaluating expressions. Note that this may fail at run-time @@ -2311,46 +2311,46 @@ class CdlExpressionBody { void eval(CdlEvalContext&, CdlSimpleValue&); void eval_internal(CdlEvalContext&, CdlSimpleValue&); void eval_subexpression(CdlEvalContext&, int, CdlSimpleValue&); - + // The full original expression is useful for diagnostics purposes std::string get_original_string() const; - + bool check_this(cyg_assert_class_zeal cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: // The default constructor does very little, the main work // is done by the various parsing functions. However it is // available to derived classes, especially goal expressions. CdlExpressionBody(); - + // The copy constructor has to be usable by derived classes, // e.g. CdlExpressionProperty CdlExpressionBody(const CdlExpressionBody&); - + private: - + // The assignment operator is illegal. CdlExpressionBody& operator=(const CdlExpressionBody&); // The string that was parsed originally std::string expression_string; - + enum { - CdlExpressionBody_Invalid = 0, - CdlExpressionBody_Magic = 0x760293a3 + CdlExpressionBody_Invalid = 0, + CdlExpressionBody_Magic = 0x760293a3 } cdlexpressionbody_cookie; }; //}}} -//{{{ CdlListExpression +//{{{ CdlListExpression // ---------------------------------------------------------------------------- // The main use of list expressions is for the legal_values // properties. Essentially a list expression is just a vector of -// ordinary expressions and ranges of expressions. +// ordinary expressions and ranges of expressions. class CdlListExpressionBody { @@ -2361,7 +2361,7 @@ class CdlListExpressionBody { // Availability of constructors etc. is as per the ordinary // expression class. virtual ~CdlListExpressionBody(); - + // The data associated with a list expression is a vector of // expressions, plus a vector of expression pairs constituting // ranges. As with ordinary expressions the data is fully public @@ -2372,13 +2372,13 @@ class CdlListExpressionBody { // Parsing. This involves taking a single string, typically from // a CDL script, and parsing one or more ordinary expressions. static CdlListExpression parse(std::string); - + // Evaluation support. A list expression evaluates to a list value. void eval(CdlEvalContext&, CdlListValue&); // More commonly client code is going to be interested in whether // or not a particular value is a legal member. The result - // cache ensures that it is possible to + // cache ensures that it is possible to bool is_member(CdlEvalContext&, CdlSimpleValue&); bool is_member(CdlEvalContext&, std::string); bool is_member(CdlEvalContext&, cdl_int); @@ -2386,10 +2386,10 @@ class CdlListExpressionBody { // The full original expression is useful for diagnostics purposes std::string get_original_string() const; - + bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: CdlListExpressionBody(const CdlListExpressionBody&); bool update(CdlTransaction, CdlNode, CdlProperty, CdlNode, CdlUpdate); @@ -2401,15 +2401,15 @@ class CdlListExpressionBody { void eval_internal(CdlEvalContext&, CdlListValue&); std::string expression_string; - + enum { - CdlListExpressionBody_Invalid = 0, - CdlListExpressionBody_Magic = 0x7da4bcc2 + CdlListExpressionBody_Invalid = 0, + CdlListExpressionBody_Magic = 0x7da4bcc2 } cdllistexpressionbody_cookie; }; //}}} -//{{{ CdlGoalExpression +//{{{ CdlGoalExpression // ---------------------------------------------------------------------------- // A goal expression inherits privately from ordinary expressions. Essentially @@ -2438,13 +2438,13 @@ class CdlGoalExpressionBody : private CdlExpressionBody { // Provide public access to the underlying expression object, // useful for the inference engine CdlExpression get_expression(); - + // The full original expression is useful for diagnostics purposes std::string get_original_string() const; - + bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: CdlGoalExpressionBody(const CdlGoalExpressionBody&); @@ -2454,17 +2454,17 @@ class CdlGoalExpressionBody : private CdlExpressionBody { CdlGoalExpressionBody(); CdlGoalExpressionBody& operator=(const CdlGoalExpressionBody&); void eval_internal(CdlEvalContext&, bool&); - + std::string expression_string; - + enum { - CdlGoalExpressionBody_Invalid = 0, - CdlGoalExpressionBody_Magic = 0x5a58bb24 + CdlGoalExpressionBody_Invalid = 0, + CdlGoalExpressionBody_Magic = 0x5a58bb24 } cdlgoalexpressionbody_cookie; }; //}}} -//{{{ CdlInfer +//{{{ CdlInfer // ---------------------------------------------------------------------------- // A utility class related to inference. This exports the main functions @@ -2487,7 +2487,7 @@ class CdlInfer { //}}} //}}} -//{{{ CdlConflict classes +//{{{ CdlConflict classes // ---------------------------------------------------------------------------- // As a configuration is created and modified there will be times when @@ -2544,19 +2544,19 @@ class CdlInfer { // on a global basis, only on a per-transaction basis. class CdlConflictBody { - + friend class CdlTest; // Transactions and conflicts are closely connected friend class CdlTransactionBody; - + public: // Creation happens only inside a derived class. // Clearing a conflict only happens inside transactions. // Destroying a conflict only happens from inside a // per-transaction clear(), or during a transaction commit. - + // Is this conflict part of a transaction, or has it been committed to the toplevel. CdlTransaction get_transaction() const; @@ -2571,14 +2571,14 @@ class CdlConflictBody { // CdlToplevel::resolve_all_conflicts(). The conflict may cease to // exist as a side-effect of this call. void resolve(); - + // Keep track of whether or not this conflict has a solution // 1) a conflict may have a current solution. This gets invalidated // whenever there is a change to a value that was referenced // while identifying the solution. // // A current solution is indicated by a non-empty solution vector. - // + // // 2) a conflict may not have a current solution. Again this gets // invalidated whenever a referred value changes. There is a boolean // to keep track of this. @@ -2590,7 +2590,7 @@ class CdlConflictBody { const std::vector >& get_solution() const; const std::set& get_solution_references() const; void clear_solution(); - + // Provide a text message "explaining" the conflict. // This only makes sense for derived classes. virtual std::string get_explanation() const = 0; @@ -2610,23 +2610,23 @@ class CdlConflictBody { void enable(); bool is_enabled() const; std::string get_disabled_reason() const; - + bool check_this(cyg_assert_class_zeal zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); protected: CdlConflictBody(CdlTransaction, CdlNode, CdlProperty, bool /* structural */); - + // The destructor gets accessed from inside the friend transaction class, // either during a clear_conflict() or during a transaction commit. virtual ~CdlConflictBody(); - + // All conflicts are associated with a node and a property. // This information will be useful to derived classes' // implementations of get_explanation() CdlNode node; CdlProperty property; - + private: // Attempt to resolve a conflict in a sub-transaction @@ -2634,7 +2634,7 @@ class CdlConflictBody { // There are additional exported interfaces inside and outside // the transaction class. virtual bool inner_resolve(CdlTransaction, int); - + // Keep track of the transaction in which this conflict was created. // The field is cleared at the end of a transaction. CdlTransaction transaction; @@ -2644,21 +2644,21 @@ class CdlConflictBody { // needs to be available at base constructor time so // a virtual function is not appropriate. bool structural; - + // Solution support bool no_solution; std::vector > solution; std::set solution_references; void update_solution_validity(CdlValuable); - + // Users may disable a conflict. Usually they will have to // supply a reason for this. bool enabled; std::string reason; enum { - CdlConflictBody_Invalid = 0, - CdlConflictBody_Magic = 0x073e8853 + CdlConflictBody_Invalid = 0, + CdlConflictBody_Magic = 0x073e8853 } cdlconflictbody_cookie; // Illegal operations. Conflicts always live on the heap. @@ -2671,10 +2671,10 @@ class CdlConflictBody { // An unresolved conflict means that there is a reference in some // property to an entity that is not yet in the current configuration. // The class provides convenient access to the name of the unresolved -// entity. +// entity. class CdlConflict_UnresolvedBody : public CdlConflictBody { - + friend class CdlTest; public: @@ -2693,10 +2693,10 @@ class CdlConflict_UnresolvedBody : public CdlConflictBody { CdlConflict_UnresolvedBody(CdlTransaction, CdlNode, CdlProperty, std::string); std::string target_name; enum { - CdlConflict_UnresolvedBody_Invalid = 0, - CdlConflict_UnresolvedBody_Magic = 0x1b24bb8a + CdlConflict_UnresolvedBody_Invalid = 0, + CdlConflict_UnresolvedBody_Magic = 0x1b24bb8a } cdlconflict_unresolvedbody_cookie; - + CdlConflict_UnresolvedBody(); CdlConflict_UnresolvedBody(const CdlConflict_UnresolvedBody&); CdlConflict_UnresolvedBody& operator=(const CdlConflict_UnresolvedBody&); @@ -2717,7 +2717,7 @@ class CdlConflict_IllegalValueBody : public CdlConflictBody { static void make(CdlTransaction, CdlNode, CdlProperty); bool resolution_implemented() const; - + std::string get_explanation() const; void set_explanation(std::string); static bool test(CdlConflict); @@ -2732,8 +2732,8 @@ class CdlConflict_IllegalValueBody : public CdlConflictBody { CdlConflict_IllegalValueBody(CdlTransaction, CdlNode, CdlProperty); std::string explanation; enum { - CdlConflict_IllegalValueBody_Invalid = 0, - CdlConflict_IllegalValueBody_Magic = 0x4fb27ed1 + CdlConflict_IllegalValueBody_Invalid = 0, + CdlConflict_IllegalValueBody_Magic = 0x4fb27ed1 } cdlconflict_illegalvaluebody_cookie; CdlConflict_IllegalValueBody(); @@ -2766,14 +2766,14 @@ class CdlConflict_EvalExceptionBody : public CdlConflictBody { CdlConflict_EvalExceptionBody(CdlTransaction, CdlNode, CdlProperty, std::string); std::string explanation; enum { - CdlConflict_EvalExceptionBody_Invalid = 0, - CdlConflict_EvalExceptionBody_Magic = 0x7e64bc41 + CdlConflict_EvalExceptionBody_Invalid = 0, + CdlConflict_EvalExceptionBody_Magic = 0x7e64bc41 } cdlconflict_evalexceptionbody_cookie; }; // ---------------------------------------------------------------------------- // A goal expression evaluates to false. Producing sensible diagnostics -// depends on a detailed understanding of goal expressions, which will +// depends on a detailed understanding of goal expressions, which will // have to wait until the inference engine comes along. class CdlConflict_RequiresBody : public CdlConflictBody { @@ -2784,7 +2784,7 @@ class CdlConflict_RequiresBody : public CdlConflictBody { static void make(CdlTransaction, CdlNode, CdlProperty); bool resolution_implemented() const; - + std::string get_explanation() const; static bool test(CdlConflict); bool check_this(cyg_assert_class_zeal = cyg_quick) const; @@ -2797,8 +2797,8 @@ class CdlConflict_RequiresBody : public CdlConflictBody { bool inner_resolve(CdlTransaction, int); CdlConflict_RequiresBody(CdlTransaction, CdlNode, CdlProperty); enum { - CdlConflict_RequiresBody_Invalid = 0, - CdlConflict_RequiresBody_Magic = 0x78436331 + CdlConflict_RequiresBody_Invalid = 0, + CdlConflict_RequiresBody_Magic = 0x78436331 } cdlconflict_requiresbody_cookie; }; @@ -2829,15 +2829,15 @@ class CdlConflict_DataBody : public CdlConflictBody { CdlConflict_DataBody(CdlTransaction, CdlNode, CdlProperty, std::string); std::string message; enum { - CdlConflict_DataBody_Invalid = 0, - CdlConflict_DataBody_Magic = 0x2cec7ad8 + CdlConflict_DataBody_Invalid = 0, + CdlConflict_DataBody_Magic = 0x2cec7ad8 } cdlconflict_databody_cookie; }; //}}} -//{{{ CdlProperty class and derived classes +//{{{ CdlProperty class and derived classes -//{{{ Description +//{{{ Description // --------------------------------------------------------------------------- // There are many different kinds of property. An alias property contains @@ -2857,7 +2857,7 @@ class CdlConflict_DataBody : public CdlConflictBody { // constructor. //}}} -//{{{ CdlPropertyId_xxx +//{{{ CdlPropertyId_xxx // ---------------------------------------------------------------------------- // Properties are identified by strings rather than by an enum or anything @@ -2917,7 +2917,7 @@ class CdlConflict_DataBody : public CdlConflictBody { #define CdlPropertyId_Wizard "Wizard" //}}} -//{{{ Base class +//{{{ Base class // ---------------------------------------------------------------------------- // The base class is never used directly. Instead the appropriate derived @@ -2927,11 +2927,11 @@ class CdlConflict_DataBody : public CdlConflictBody { class CdlPropertyBody { friend class CdlTest; - + public: // The destructor is public, to avoid possible problems with STL. virtual ~CdlPropertyBody(); - + // These routines provide access to the basic data. std::string get_property_name() const; @@ -2941,12 +2941,12 @@ class CdlPropertyBody { std::string get_option(std::string) const; const std::vector& get_argv() const; const std::vector >& get_options() const; - + // Resolve any references, or generate/update appropriate conflict // objects. The default implementation is a no-op because not all // properties involve references. virtual void update(CdlTransaction, CdlNode /* source */, CdlNode /* dest */, CdlUpdate); - + bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); @@ -2969,7 +2969,7 @@ class CdlPropertyBody { // pairs, and is usually obtained via // CdlParse::parse_options(). CdlPropertyBody(CdlNode, std::string, int argc, const char* argv[], std::vector >&); - + private: // This string indicates the command used to define this property, // e.g. "doc" or "define_proc". It is provided to the constructor. @@ -2986,15 +2986,15 @@ class CdlPropertyBody { CdlPropertyBody(); CdlPropertyBody(const CdlPropertyBody&); CdlPropertyBody& operator=(const CdlPropertyBody&); - + enum { - CdlPropertyBody_Invalid = 0, - CdlPropertyBody_Magic = 0x60dd58f4 + CdlPropertyBody_Invalid = 0, + CdlPropertyBody_Magic = 0x60dd58f4 } cdlpropertybody_cookie; }; //}}} -//{{{ CdlProperty_Minimal +//{{{ CdlProperty_Minimal // ---------------------------------------------------------------------------- // This class is used for properties that are simple flags, e.g. no_define. @@ -3003,7 +3003,7 @@ class CdlPropertyBody { class CdlProperty_MinimalBody : public CdlPropertyBody { friend class CdlTest; - + public: static CdlProperty_Minimal make(CdlNode, std::string, int, const char*[], std::vector >&); virtual ~CdlProperty_MinimalBody( ); @@ -3011,14 +3011,14 @@ class CdlProperty_MinimalBody : public CdlPropertyBody { CYGDBG_DECLARE_MEMLEAK_COUNTER(); protected: - + private: typedef CdlPropertyBody inherited; - + CdlProperty_MinimalBody(CdlNode, std::string, int, const char*[], std::vector >&); enum { - CdlProperty_MinimalBody_Invalid = 0, - CdlProperty_MinimalBody_Magic = 0x25625b8c + CdlProperty_MinimalBody_Invalid = 0, + CdlProperty_MinimalBody_Magic = 0x25625b8c } cdlproperty_minimalbody_cookie; CdlProperty_MinimalBody(); @@ -3027,7 +3027,7 @@ class CdlProperty_MinimalBody : public CdlPropertyBody { }; //}}} -//{{{ CdlProperty_String +//{{{ CdlProperty_String // ---------------------------------------------------------------------------- // A string property contains a single piece of additional data in the form @@ -3036,10 +3036,10 @@ class CdlProperty_MinimalBody : public CdlPropertyBody { class CdlProperty_StringBody : public CdlPropertyBody { friend class CdlTest; - + public: static CdlProperty_String make(CdlNode, std::string, std::string, int, const char*[], - std::vector >&); + std::vector >&); virtual ~CdlProperty_StringBody(); std::string get_string(void) const; @@ -3047,16 +3047,16 @@ class CdlProperty_StringBody : public CdlPropertyBody { CYGDBG_DECLARE_MEMLEAK_COUNTER(); protected: - + private: typedef CdlPropertyBody inherited; - + CdlProperty_StringBody(CdlNode, std::string /* id */, std::string /* data */, int, const char*[], - std::vector >&); + std::vector >&); std::string data; enum { - CdlProperty_StringBody_Invalid = 0, - CdlProperty_StringBody_Magic = 0x78d1ca94 + CdlProperty_StringBody_Invalid = 0, + CdlProperty_StringBody_Magic = 0x78d1ca94 } cdlproperty_stringbody_cookie; // The only legal constructor supplies all the data. @@ -3066,7 +3066,7 @@ class CdlProperty_StringBody : public CdlPropertyBody { }; //}}} -//{{{ CdlProperty_TclCode +//{{{ CdlProperty_TclCode // ---------------------------------------------------------------------------- // A TclCode property is currently equivalent to a string property. In @@ -3084,37 +3084,37 @@ class CdlProperty_TclCodeBody : public CdlPropertyBody { public: static CdlProperty_TclCode make(CdlNode, std::string, cdl_tcl_code, int, const char*[], - std::vector >&); + std::vector >&); static CdlProperty_TclCode make(CdlNode, std::string, cdl_int, cdl_tcl_code, int, const char*[], - std::vector >&); + std::vector >&); virtual ~CdlProperty_TclCodeBody(); - + cdl_int get_number(void) const; const cdl_tcl_code& get_code(void) const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + private: typedef CdlPropertyBody inherited; - + CdlProperty_TclCodeBody(CdlNode, std::string, cdl_int, cdl_tcl_code, int, const char*[], - std::vector >&); + std::vector >&); cdl_int number; cdl_tcl_code code; enum { - CdlProperty_TclCodeBody_Invalid = 0, - CdlProperty_TclCodeBody_Magic = 0x7b14d4e5 + CdlProperty_TclCodeBody_Invalid = 0, + CdlProperty_TclCodeBody_Magic = 0x7b14d4e5 } cdlproperty_tclcodebody_cookie; CdlProperty_TclCodeBody(); CdlProperty_TclCodeBody(const CdlProperty_TclCodeBody&); CdlProperty_TclCodeBody& operator=(const CdlProperty_TclCodeBody&); - + }; //}}} -//{{{ CdlProperty_StringVector +//{{{ CdlProperty_StringVector // ---------------------------------------------------------------------------- // This is used for multiple constant strings, as opposed to a list @@ -3127,26 +3127,26 @@ class CdlProperty_StringVectorBody : public CdlPropertyBody { public: static CdlProperty_StringVector make(CdlNode, std::string, const std::vector&, int, const char*[], - std::vector >&); + std::vector >&); virtual ~CdlProperty_StringVectorBody(); - + const std::vector& get_strings() const; std::string get_first_string() const; unsigned int get_number_of_strings() const; - std::string get_string(unsigned int) const; + std::string get_string(unsigned int) const; bool check_this(cyg_assert_class_zeal zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + private: typedef CdlPropertyBody inherited; - + CdlProperty_StringVectorBody(CdlNode, std::string, const std::vector&, int, const char*[], - std::vector >&); + std::vector >&); std::vector data; enum { - CdlProperty_StringVectorBody_Invalid = 0, - CdlProperty_StringVectorBody_Magic = 0x4ed039f3 + CdlProperty_StringVectorBody_Invalid = 0, + CdlProperty_StringVectorBody_Magic = 0x4ed039f3 } cdlproperty_stringvectorbody_cookie; CdlProperty_StringVectorBody(); @@ -3155,7 +3155,7 @@ class CdlProperty_StringVectorBody : public CdlPropertyBody { }; //}}} -//{{{ CdlProperty_Reference +//{{{ CdlProperty_Reference // ---------------------------------------------------------------------------- // This is used for properties such as wizard and dialog, where the data @@ -3169,26 +3169,26 @@ class CdlProperty_ReferenceBody : public CdlPropertyBody, public CdlReference { public: static CdlProperty_Reference make(CdlNode, std::string /* id */, std::string /* destination */, - CdlUpdateHandler, int, const char*[], - std::vector >&); + CdlUpdateHandler, int, const char*[], + std::vector >&); virtual ~CdlProperty_ReferenceBody(); - + void update(CdlTransaction, CdlNode, CdlNode, CdlUpdate); - + bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + private: typedef CdlPropertyBody inherited_property; typedef CdlReference inherited_reference; CdlUpdateHandler update_handler; - + CdlProperty_ReferenceBody(CdlNode, std::string /* id */, std::string /* destination */, CdlUpdateHandler, int, const char*[], - std::vector >&); + std::vector >&); enum { - CdlProperty_ReferenceBody_Invalid = 0, - CdlProperty_ReferenceBody_Magic = 0x78100339 + CdlProperty_ReferenceBody_Invalid = 0, + CdlProperty_ReferenceBody_Magic = 0x78100339 } cdlproperty_referencebody_cookie; CdlProperty_ReferenceBody(); @@ -3197,7 +3197,7 @@ class CdlProperty_ReferenceBody : public CdlPropertyBody, public CdlReference { }; //}}} -//{{{ CdlProperty_Expression +//{{{ CdlProperty_Expression // ---------------------------------------------------------------------------- // An expression property simply inherits its functionality from the basic @@ -3206,10 +3206,10 @@ class CdlProperty_ReferenceBody : public CdlPropertyBody, public CdlReference { class CdlProperty_ExpressionBody : public CdlPropertyBody, public CdlExpressionBody { friend class CdlTest; - + public: static CdlProperty_Expression make(CdlNode, std::string, CdlExpression, CdlUpdateHandler, int, const char*[], - std::vector >&); + std::vector >&); virtual ~CdlProperty_ExpressionBody(); void update(CdlTransaction, CdlNode, CdlNode, CdlUpdate); bool check_this(cyg_assert_class_zeal = cyg_quick) const; @@ -3220,12 +3220,12 @@ class CdlProperty_ExpressionBody : public CdlPropertyBody, public CdlExpressionB typedef CdlExpressionBody inherited_expression; CdlProperty_ExpressionBody(CdlNode, std::string, CdlExpression, CdlUpdateHandler, int, const char*[], - std::vector >&); - + std::vector >&); + CdlUpdateHandler update_handler; enum { - CdlProperty_ExpressionBody_Invalid = 0, - CdlProperty_ExpressionBody_Magic = 0x05fb4056 + CdlProperty_ExpressionBody_Invalid = 0, + CdlProperty_ExpressionBody_Magic = 0x05fb4056 } cdlproperty_expressionbody_cookie; CdlProperty_ExpressionBody(); @@ -3234,7 +3234,7 @@ class CdlProperty_ExpressionBody : public CdlPropertyBody, public CdlExpressionB }; //}}} -//{{{ CdlProperty_ListExpression +//{{{ CdlProperty_ListExpression // ---------------------------------------------------------------------------- // Similarly a list property simply inherits from property and from @@ -3243,10 +3243,10 @@ class CdlProperty_ExpressionBody : public CdlPropertyBody, public CdlExpressionB class CdlProperty_ListExpressionBody : public CdlPropertyBody, public CdlListExpressionBody { friend class CdlTest; - + public: static CdlProperty_ListExpression make(CdlNode, std::string, CdlListExpression, CdlUpdateHandler, int, const char*[], - std::vector >&); + std::vector >&); virtual ~CdlProperty_ListExpressionBody(); void update(CdlTransaction, CdlNode, CdlNode, CdlUpdate); bool check_this(cyg_assert_class_zeal = cyg_quick) const; @@ -3257,12 +3257,12 @@ class CdlProperty_ListExpressionBody : public CdlPropertyBody, public CdlListExp typedef CdlListExpressionBody inherited_expression; CdlProperty_ListExpressionBody(CdlNode, std::string, CdlListExpression, CdlUpdateHandler, int, const char*[], - std::vector >&); + std::vector >&); CdlUpdateHandler update_handler; enum { - CdlProperty_ListExpressionBody_Invalid = 0, - CdlProperty_ListExpressionBody_Magic = 0x6b0136f5 + CdlProperty_ListExpressionBody_Invalid = 0, + CdlProperty_ListExpressionBody_Magic = 0x6b0136f5 } cdlproperty_listexpressionbody_cookie; CdlProperty_ListExpressionBody(); @@ -3271,7 +3271,7 @@ class CdlProperty_ListExpressionBody : public CdlPropertyBody, public CdlListExp }; //}}} -//{{{ CdlProperty_GoalExpression +//{{{ CdlProperty_GoalExpression // ---------------------------------------------------------------------------- // And a goal property inherits from property and from goal expressions. @@ -3279,10 +3279,10 @@ class CdlProperty_ListExpressionBody : public CdlPropertyBody, public CdlListExp class CdlProperty_GoalExpressionBody : public CdlPropertyBody, public CdlGoalExpressionBody { friend class CdlTest; - + public: static CdlProperty_GoalExpression make(CdlNode, std::string, CdlGoalExpression, CdlUpdateHandler, int, const char*[], - std::vector >&); + std::vector >&); virtual ~CdlProperty_GoalExpressionBody(); void update(CdlTransaction, CdlNode, CdlNode, CdlUpdate); bool check_this(cyg_assert_class_zeal = cyg_quick) const; @@ -3293,12 +3293,12 @@ class CdlProperty_GoalExpressionBody : public CdlPropertyBody, public CdlGoalExp typedef CdlGoalExpressionBody inherited_expression; CdlProperty_GoalExpressionBody(CdlNode, std::string, CdlGoalExpression, CdlUpdateHandler, int, const char*[], - std::vector >&); - + std::vector >&); + CdlUpdateHandler update_handler; enum { - CdlProperty_GoalExpressionBody_Invalid = 0, - CdlProperty_GoalExpressionBody_Magic = 0x08b2b31e + CdlProperty_GoalExpressionBody_Invalid = 0, + CdlProperty_GoalExpressionBody_Magic = 0x08b2b31e } cdlproperty_goalexpressionbody_cookie; CdlProperty_GoalExpressionBody(); @@ -3309,7 +3309,7 @@ class CdlProperty_GoalExpressionBody : public CdlPropertyBody, public CdlGoalExp //}}} //}}} -//{{{ CdlParse class +//{{{ CdlParse class // ---------------------------------------------------------------------------- // This is another utility class for collecting together parsing-related @@ -3321,17 +3321,17 @@ class CdlProperty_GoalExpressionBody : public CdlPropertyBody, public CdlGoalExp // possible to re-use some of the functionality in that class. class CdlParse { - + public: // Utility routines. static std::string get_tcl_cmd_name(std::string); static std::string concatenate_argv(int, const char*[], int); - static int parse_options(CdlInterpreter, std::string /* diag_prefix */, char** /* options */, - int /* argc */, const char*[] /* argv */, int /* start_index */, - std::vector >& /* result */); + static int parse_options(CdlInterpreter, std::string /* diag_prefix */, const char** /* options */, + int /* argc */, const char*[] /* argv */, int /* start_index */, + std::vector >& /* result */); static std::string construct_diagnostic(CdlInterpreter, std::string /* classification */, - std::string /* sub-identifier */, std::string /* message */); - + std::string /* sub-identifier */, std::string /* message */); + static void report_error(CdlInterpreter, std::string /* sub-identifier */, std::string /* message */); static void report_warning(CdlInterpreter, std::string /* sub-identifier */, std::string /* message */); static void clear_error_count(CdlInterpreter); @@ -3339,43 +3339,43 @@ class CdlParse { static void incr_error_count(CdlInterpreter, int=1); static std::string get_expression_error_location(void); - + // Support for Tcl's "unknown" command static int unknown_command(CdlInterpreter, int, const char*[]); - + // Property-related utilities static void report_property_parse_error(CdlInterpreter, std::string, std::string); static void report_property_parse_error(CdlInterpreter, CdlProperty, std::string); static void report_property_parse_warning(CdlInterpreter, std::string, std::string); static void report_property_parse_warning(CdlInterpreter, CdlProperty, std::string); - + // Utility parsing routines static int parse_minimal_property(CdlInterpreter, int, const char*[], std::string, - char**, void (*)(CdlInterpreter, CdlProperty_Minimal)); + const char **, void (*)(CdlInterpreter, CdlProperty_Minimal)); static int parse_string_property(CdlInterpreter, int, const char*[], std::string, - char**, void (*)(CdlInterpreter, CdlProperty_String)); + const char **, void (*)(CdlInterpreter, CdlProperty_String)); static int parse_tclcode_property(CdlInterpreter, int, const char*[], std::string, - char**, void (*)(CdlInterpreter, CdlProperty_TclCode)); + const char **, void (*)(CdlInterpreter, CdlProperty_TclCode)); static int parse_stringvector_property(CdlInterpreter, int, const char*[], std::string, - char**, void (*)(CdlInterpreter, CdlProperty_StringVector), - bool /* allow_empty */ = false); + const char **, void (*)(CdlInterpreter, CdlProperty_StringVector), + bool /* allow_empty */ = false); static int parse_reference_property(CdlInterpreter, int, const char*[], std::string, - char**, void (*)(CdlInterpreter, CdlProperty_Reference), - bool /* allow_empty */, - CdlUpdateHandler); - static int parse_expression_property(CdlInterpreter, int, const char*[], std::string, - char **, void (*)(CdlInterpreter, CdlProperty_Expression), - CdlUpdateHandler); + const char **, void (*)(CdlInterpreter, CdlProperty_Reference), + bool /* allow_empty */, + CdlUpdateHandler); + static int parse_expression_property(CdlInterpreter, int, const char*[], std::string, + const char **, void (*)(CdlInterpreter, CdlProperty_Expression), + CdlUpdateHandler); static int parse_listexpression_property(CdlInterpreter, int, const char*[], std::string, - char **, void (*)(CdlInterpreter, CdlProperty_ListExpression), - CdlUpdateHandler); + const char **, void (*)(CdlInterpreter, CdlProperty_ListExpression), + CdlUpdateHandler); static int parse_goalexpression_property(CdlInterpreter, int, const char*[], std::string, - char **, void (*)(CdlInterpreter, CdlProperty_GoalExpression), - CdlUpdateHandler); + const char **, void (*)(CdlInterpreter, CdlProperty_GoalExpression), + CdlUpdateHandler); }; //}}} -//{{{ CdlNode +//{{{ CdlNode // ---------------------------------------------------------------------------- // A node object has a name and lives in a hierarchy. Each node keeps @@ -3397,7 +3397,7 @@ class CdlNodeBody { // CdlLoadable must be able to access the destructor friend class CdlLoadableBody; - + // It is intended that CdlProperties will also add and remove themselves friend class CdlPropertyBody; @@ -3405,7 +3405,7 @@ class CdlNodeBody { // the referrers vector. So does CdlTransaction::commit() friend class CdlReference; friend class CdlTransactionBody; - + public: // Basic information. @@ -3418,7 +3418,7 @@ class CdlNodeBody { // get applied to nodes as well as to properties. Note that because // of multiple inheritance this virtual call can get confusing. virtual void update(CdlTransaction, CdlUpdate); - + // Is this node active or not? The is_active() call refers // to the global state, things may be different inside a // transaction. @@ -3431,7 +3431,7 @@ class CdlNodeBody { // active_if constraints. This routine can be used // to check whether or not a node should become active. virtual bool test_active(CdlTransaction); - + // Provide access to the various properties. Currently all this // information is publicly available. const std::vector& get_properties() const; @@ -3447,7 +3447,7 @@ class CdlNodeBody { void get_conflicts(bool (*)(CdlConflict), std::vector&) const; void get_structural_conflicts(std::vector&) const; void get_structural_conflicts(bool (*)(CdlConflict), std::vector&) const; - + // Provide access to all the referrers. This may not get used very // much outside the library itself. const std::vector& get_referrers() const; @@ -3469,25 +3469,25 @@ class CdlNodeBody { // to have a TCL interpreter available. virtual void save(CdlInterpreter, Tcl_Channel, int, bool); bool has_additional_savefile_information() const; - + // Mainly for diagnostics code, what is the actual name for this // type of CDL object? This should be in terms of CDL data, e.g. // "package" or "component", rather than in implementation terms - // such as "CdlPackageBody". + // such as "CdlPackageBody". virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); protected: - + // CdlNodeBodies are only instantiated by derived classes. // They must always have a name. They need not be placed // in the hierarchy immediately, that can wait until // later. CdlNodeBody(std::string); // A dummy constructor is needed because of the virtual - // inheritance. + // inheritance. CdlNodeBody(); // Nodes cannot be destroyed directly by application code, @@ -3496,14 +3496,14 @@ class CdlNodeBody { // Updating the name is rarely required, but is useful for savefiles. void set_name(std::string); - + // Is the node currently active? This applies to the global state // only, not per-transaction state. Some derived classes may want // to override the default value bool active; - + private: - + // The basic data. The name is known during construction. // The other three fields get updated by e.g. CdlToplevel::add_node(); std::string name; @@ -3514,7 +3514,7 @@ class CdlNodeBody { // This is used by remove_node_from_toplevel()/add_node_to_toplevel() // to allow the latter to exactly reverse the former int remove_node_container_position; - + // Properties normally only get added during the parsing process, // and only get removed when the object itself is destroyed. // A vector is the obvious implementation. @@ -3533,19 +3533,19 @@ class CdlNodeBody { // the savefile information so that it can be put in the next // savefile. std::vector unsupported_savefile_strings; - + enum { - CdlNodeBody_Invalid = 0, - CdlNodeBody_Magic = 0x309595b5 + CdlNodeBody_Invalid = 0, + CdlNodeBody_Magic = 0x309595b5 } cdlnodebody_cookie; - + // Illegal operations CdlNodeBody(const CdlNodeBody&); CdlNodeBody& operator=(const CdlNodeBody&); }; //}}} -//{{{ CdlContainer +//{{{ CdlContainer // ---------------------------------------------------------------------------- // A container is a node that can contain other nodes. @@ -3556,14 +3556,14 @@ class CdlContainerBody : virtual public CdlNodeBody { // Allow CdlNode::check_this() access to the internals friend class CdlNodeBody; - + // Adding a node to the hierarchy is done by a CdlToplevel member. // Ditto for removing. friend class CdlToplevelBody; // Deleting a container can happen inside CdlToplevel and CdlLoadable friend class CdlLoadableBody; - + public: const std::vector& get_contents() const; @@ -3574,14 +3574,14 @@ class CdlContainerBody : virtual public CdlNodeBody { // Propagation support. Some updates such as active/inactive changes // get applied to nodes as well as to properties. virtual void update(CdlTransaction, CdlUpdate); - + // Persistence support. virtual void save(CdlInterpreter, Tcl_Channel, int, bool); - + virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: // Containers cannot be destroyed explicitly, only via higher-level @@ -3594,11 +3594,11 @@ class CdlContainerBody : virtual public CdlNodeBody { // The CdlToplevel class needs access to its own contents. std::vector contents; - + private: enum { - CdlContainerBody_Invalid = 0, - CdlContainerBody_Magic = 0x543c5f1d + CdlContainerBody_Invalid = 0, + CdlContainerBody_Magic = 0x543c5f1d } cdlcontainerbody_cookie; // Illegal operations @@ -3607,7 +3607,7 @@ class CdlContainerBody : virtual public CdlNodeBody { }; //}}} -//{{{ CdlLoadable +//{{{ CdlLoadable // ---------------------------------------------------------------------------- // A loadable object is a container that gets loaded or unloaded @@ -3623,14 +3623,14 @@ class CdlLoadableBody : virtual public CdlContainerBody { // Allow CdlNode::check_this() access to the internals friend class CdlNodeBody; - + // Adding nodes to the hierarchy is done by a toplevel member friend class CdlToplevelBody; public: virtual ~CdlLoadableBody(); - + const std::vector& get_owned() const; bool owns(CdlConstNode) const; CdlInterpreter get_interpreter() const; @@ -3654,7 +3654,7 @@ class CdlLoadableBody : virtual public CdlContainerBody { // the various properties, calculating default values, etc. void bind(CdlTransaction); void unbind(CdlTransaction); - + virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); @@ -3665,19 +3665,19 @@ class CdlLoadableBody : virtual public CdlContainerBody { // Needed by derived classes, but not actually used. CdlLoadableBody(); - + private: - + std::vector owned; CdlInterpreter interp; std::string directory; // Used by add/remove_node_from_toplevel() int remove_node_loadables_position; - + enum { - CdlLoadableBody_Invalid = 0, - CdlLoadableBody_Magic = 0x488d6127 + CdlLoadableBody_Invalid = 0, + CdlLoadableBody_Magic = 0x488d6127 } cdlloadablebody_cookie; // Invalid operations @@ -3686,7 +3686,7 @@ class CdlLoadableBody : virtual public CdlContainerBody { }; //}}} -//{{{ CdlToplevel +//{{{ CdlToplevel // ---------------------------------------------------------------------------- // Toplevels are containers that live at the top of a hierarchy @@ -3707,7 +3707,7 @@ class CdlToplevelBody : virtual public CdlContainerBody { // Allow CdlNode::check_this() access to the internals friend class CdlNodeBody; - + // The CdlTransaction class needs direct access to the lists // of conflicts. friend class CdlTransactionBody; @@ -3754,7 +3754,7 @@ class CdlToplevelBody : virtual public CdlContainerBody { // for some operations like determining build information // which must operate on a per-loadable basis. const std::vector& get_loadables() const; - + // Name uniqueness is guaranteed. It is convenient to have an STL // map as a lookup service. CdlNode lookup(const std::string) const; @@ -3780,7 +3780,7 @@ class CdlToplevelBody : virtual public CdlContainerBody { // will be created for this. void resolve_conflicts(const std::vector&); void resolve_all_conflicts(); - + // Toplevels can have descriptions provided by the user. This is // particularly important for pre-defined templates, target // board descriptions, etc. where the user would like some @@ -3788,11 +3788,11 @@ class CdlToplevelBody : virtual public CdlContainerBody { // The default value is an empty string. std::string get_description() const; void set_description(std::string); - + // Each toplevel must have an associated master Tcl interpreter. CdlInterpreter get_interpreter() const; - // Each toplevel should also have an associated directory for + // Each toplevel should also have an associated directory for // the component repository. It is not required that all loadables // are relative to this, but that is the default behaviour. std::string get_directory() const; @@ -3802,7 +3802,7 @@ class CdlToplevelBody : virtual public CdlContainerBody { // operating on a single toplevel (although nested transactions // are allowed) CdlTransaction get_active_transaction() const; - + // Build and define operations are available for all toplevels, // even if they are not always applicable void get_build_info(CdlBuildInfo&); @@ -3810,8 +3810,8 @@ class CdlToplevelBody : virtual public CdlContainerBody { void generate_config_headers(std::string); void get_config_headers(std::vector&); void generate_build_tree(std::string, std::string = ""); - - // Values can be stored in limbo. This is useful when unloading + + // Values can be stored in limbo. This is useful when unloading // and reloading packages, e.g. when changing a version the // current settings can be preserved as much as possible. void set_limbo_value(CdlValuable); @@ -3819,25 +3819,25 @@ class CdlToplevelBody : virtual public CdlContainerBody { CdlValue get_limbo_value(std::string) const; CdlValue get_and_remove_limbo_value(std::string); void clear_limbo(); - + // Persistence support. These are commented in the source code. - void initialize_savefile_support(); + void initialize_savefile_support(); static bool savefile_support_initialized(); - void add_savefile_command(std::string, CdlSaveCallback, CdlInterpreterCommand); - void add_savefile_subcommand(std::string, std::string, CdlSaveCallback, CdlInterpreterCommand); - void get_savefile_commands(std::vector&); - void get_savefile_subcommands(std::string, std::vector&); - void save_command_details(CdlInterpreter, Tcl_Channel, int, bool); + void add_savefile_command(std::string, CdlSaveCallback, CdlInterpreterCommand); + void add_savefile_subcommand(std::string, std::string, CdlSaveCallback, CdlInterpreterCommand); + void get_savefile_commands(std::vector&); + void get_savefile_subcommands(std::string, std::vector&); + void save_command_details(CdlInterpreter, Tcl_Channel, int, bool); static int savefile_handle_command(CdlInterpreter, int, const char*[]); static int savefile_handle_unsupported(CdlInterpreter, int, const char*[]); static int savefile_handle_unknown(CdlInterpreter, int, const char*[]); - void save_unsupported_commands(CdlInterpreter, Tcl_Channel, int, bool); + void save_unsupported_commands(CdlInterpreter, Tcl_Channel, int, bool); static cdl_int get_library_savefile_version(); static int savefile_handle_version(CdlInterpreter, int, const char*[]); static cdl_int get_savefile_version(CdlInterpreter); - void save_conflicts(CdlInterpreter, Tcl_Channel, int, bool); + void save_conflicts(CdlInterpreter, Tcl_Channel, int, bool); static void save_separator(CdlInterpreter, Tcl_Channel, std::string, bool); - + virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); @@ -3873,19 +3873,19 @@ class CdlToplevelBody : virtual public CdlContainerBody { // Keep track of the current active transaction for this toplevel (if any) CdlTransaction transaction; - + enum { - CdlToplevelBody_Invalid = 0, - CdlToplevelBody_Magic = 0x0834666e + CdlToplevelBody_Invalid = 0, + CdlToplevelBody_Magic = 0x0834666e } cdltoplevelbody_cookie; - + // Invalid operations CdlToplevelBody(const CdlToplevelBody&); CdlToplevelBody& operator=(const CdlToplevelBody&); }; //}}} -//{{{ CdlUserVisible +//{{{ CdlUserVisible // ---------------------------------------------------------------------------- // A user-visible object is likely to have properties such as display, @@ -3907,9 +3907,9 @@ class CdlUserVisibleBody : virtual public CdlNodeBody { // NOTE: this will only work for absolute doc strings or for doc // strings that are relative to the package. std::string get_doc_url() const; - + // Add property parsers and validation code appropriate for a - // user-visible object such as doc and description + // user-visible object such as doc and description static void add_property_parsers(std::vector& parsers); void check_properties(CdlInterpreter); static int parse_description(CdlInterpreter, int, const char*[]); @@ -3919,19 +3919,19 @@ class CdlUserVisibleBody : virtual public CdlNodeBody { // Persistence support. The save code simply outputs some comments // corresponding to the display, doc and description properties. virtual void save(CdlInterpreter, Tcl_Channel, int, bool); - + virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: CdlUserVisibleBody(); private: enum { - CdlUserVisibleBody_Invalid = 0, - CdlUserVisibleBody_Magic = 0x13bbc817 + CdlUserVisibleBody_Invalid = 0, + CdlUserVisibleBody_Magic = 0x13bbc817 } cdluservisiblebody_cookie; // Illegal operations @@ -3940,7 +3940,7 @@ class CdlUserVisibleBody : virtual public CdlNodeBody { }; //}}} -//{{{ CdlParentable +//{{{ CdlParentable // ---------------------------------------------------------------------------- // A parentable object may have the parent property, redefining its @@ -3961,7 +3961,7 @@ class CdlParentableBody : virtual public CdlNodeBody { virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: CdlParentableBody(); @@ -3970,10 +3970,10 @@ class CdlParentableBody : virtual public CdlNodeBody { // Unloads may be cancelled. To restore the previous state exactly // it is necessary to keep track of the old position. int change_parent_save_position; - + enum { - CdlParentableBody_Invalid = 0, - CdlParentableBody_Magic = 0x40c6a077 + CdlParentableBody_Invalid = 0, + CdlParentableBody_Magic = 0x40c6a077 } cdlparentablebody_cookie; // Illegal operations @@ -3982,7 +3982,7 @@ class CdlParentableBody : virtual public CdlNodeBody { }; //}}} -//{{{ CdlValuable +//{{{ CdlValuable // ---------------------------------------------------------------------------- // A valuable body has a value. Many valuables can be modified but not all. @@ -4014,21 +4014,21 @@ class CdlValuableBody : virtual public CdlNodeBody { // Transaction commit operations require direct access to the CdlValue friend class CdlTransactionBody; - + private: CdlValue value; - + public: virtual ~CdlValuableBody(); // Accessing the current value. There are variants for the global state // and for per-transaction operations. const CdlValue& get_whole_value() const; - + CdlValueFlavor get_flavor() const; CdlValueFlavor get_flavor(CdlTransaction transaction) const { // The transaction is irrelevant, it cannot change the flavor - return this->get_flavor(); + return this->get_flavor(); } CdlValueSource get_source() const; @@ -4040,7 +4040,7 @@ class CdlValuableBody : virtual public CdlNodeBody { bool has_double_value( CdlValueSource = CdlValueSource_Current) const; double get_double_value( CdlValueSource = CdlValueSource_Current) const; CdlSimpleValue get_simple_value( CdlValueSource = CdlValueSource_Current) const; - + CdlValueSource get_source(CdlTransaction) const; bool has_source( CdlTransaction, CdlValueSource) const; bool is_enabled( CdlTransaction, CdlValueSource = CdlValueSource_Current) const; @@ -4050,7 +4050,7 @@ class CdlValuableBody : virtual public CdlNodeBody { bool has_double_value( CdlTransaction, CdlValueSource = CdlValueSource_Current) const; double get_double_value( CdlTransaction, CdlValueSource = CdlValueSource_Current) const; CdlSimpleValue get_simple_value( CdlTransaction, CdlValueSource = CdlValueSource_Current) const; - + // ----------------------------------------------------------------- // Modify access. There are two variants of all the functions: // @@ -4069,7 +4069,7 @@ class CdlValuableBody : virtual public CdlNodeBody { void set_value(CdlSimpleValue&, CdlValueSource); void set_enabled_and_value(bool, CdlSimpleValue&, CdlValueSource); void set(CdlSimpleValue&, CdlValueSource); - + void set_source(CdlTransaction, CdlValueSource); void invalidate_source(CdlTransaction, CdlValueSource); void set_enabled(CdlTransaction, bool, CdlValueSource); @@ -4077,146 +4077,146 @@ class CdlValuableBody : virtual public CdlNodeBody { void set_enabled_and_value(CdlTransaction, bool, CdlSimpleValue&, CdlValueSource); void set(CdlTransaction, CdlSimpleValue&, CdlValueSource); void set(CdlTransaction, const CdlValue&); - + void enable(CdlValueSource source) { - set_enabled(true, source); + set_enabled(true, source); } void disable(CdlValueSource source) { - set_enabled(false, source); + set_enabled(false, source); } void set_value(std::string data, CdlValueSource source) { - CdlSimpleValue val(data); - set_value(val, source); + CdlSimpleValue val(data); + set_value(val, source); } void set_integer_value(cdl_int data, CdlValueSource source) { - CdlSimpleValue val(data); - set_value(val, source); + CdlSimpleValue val(data); + set_value(val, source); } void set_double_value(double data, CdlValueSource source) { - CdlSimpleValue val(data); - set_value(val, source); + CdlSimpleValue val(data); + set_value(val, source); } void set_enabled_and_value(bool enabled, std::string data, CdlValueSource source) { - CdlSimpleValue val(data); - set_enabled_and_value(enabled, val, source); + CdlSimpleValue val(data); + set_enabled_and_value(enabled, val, source); } void set_enabled_and_value(bool enabled, cdl_int data, CdlValueSource source) { - CdlSimpleValue val(data); - set_enabled_and_value(enabled, val, source); + CdlSimpleValue val(data); + set_enabled_and_value(enabled, val, source); } void set_enabled_and_value(bool enabled, double data, CdlValueSource source) { - CdlSimpleValue val(data); - set_enabled_and_value(enabled, val, source); + CdlSimpleValue val(data); + set_enabled_and_value(enabled, val, source); } void enable_and_set_value(CdlSimpleValue& val, CdlValueSource source) { - set_enabled_and_value(true, val, source); + set_enabled_and_value(true, val, source); } void enable_and_set_value(std::string data, CdlValueSource source) { - set_enabled_and_value(true, data, source); + set_enabled_and_value(true, data, source); } void enable_and_set_value(cdl_int data, CdlValueSource source) { - set_enabled_and_value(true, data, source); + set_enabled_and_value(true, data, source); } void enable_and_set_value(double data, CdlValueSource source) { - set_enabled_and_value(true, data, source); + set_enabled_and_value(true, data, source); } void disable_and_set_value(CdlSimpleValue& val, CdlValueSource source) { - set_enabled_and_value(false, val, source); + set_enabled_and_value(false, val, source); } void disable_and_set_value(std::string data, CdlValueSource source) { - set_enabled_and_value(false, data, source); + set_enabled_and_value(false, data, source); } void disable_and_set_value(cdl_int data, CdlValueSource source) { - set_enabled_and_value(false, data, source); + set_enabled_and_value(false, data, source); } void disable_and_set_value(double data, CdlValueSource source) { - set_enabled_and_value(false, data, source); + set_enabled_and_value(false, data, source); } void enable(CdlTransaction transaction, CdlValueSource source) { - set_enabled(transaction, true, source); + set_enabled(transaction, true, source); } void disable(CdlTransaction transaction, CdlValueSource source) { - set_enabled(transaction, false, source); + set_enabled(transaction, false, source); } void set_value(CdlTransaction transaction, std::string data, CdlValueSource source) { - CdlSimpleValue val(data); - set_value(transaction, val, source); + CdlSimpleValue val(data); + set_value(transaction, val, source); } void set_integer_value(CdlTransaction transaction, cdl_int data, CdlValueSource source) { - CdlSimpleValue val(data); - set_value(transaction, val, source); + CdlSimpleValue val(data); + set_value(transaction, val, source); } void set_double_value(CdlTransaction transaction, double data, CdlValueSource source) { - CdlSimpleValue val(data); - set_value(transaction, val, source); + CdlSimpleValue val(data); + set_value(transaction, val, source); } void set_enabled_and_value(CdlTransaction transaction, bool enabled, std::string data, CdlValueSource source) { - CdlSimpleValue val(data); - set_enabled_and_value(transaction, enabled, val, source); + CdlSimpleValue val(data); + set_enabled_and_value(transaction, enabled, val, source); } void set_enabled_and_value(CdlTransaction transaction, bool enabled, cdl_int data, CdlValueSource source) { - CdlSimpleValue val(data); - set_enabled_and_value(transaction, enabled, val, source); + CdlSimpleValue val(data); + set_enabled_and_value(transaction, enabled, val, source); } void set_enabled_and_value(CdlTransaction transaction, bool enabled, double data, CdlValueSource source) { - CdlSimpleValue val(data); - set_enabled_and_value(transaction, enabled, val, source); + CdlSimpleValue val(data); + set_enabled_and_value(transaction, enabled, val, source); } void enable_and_set_value(CdlTransaction transaction, CdlSimpleValue& val, CdlValueSource source) { - set_enabled_and_value(transaction, true, val, source); + set_enabled_and_value(transaction, true, val, source); } void enable_and_set_value(CdlTransaction transaction, std::string data, CdlValueSource source) { - set_enabled_and_value(transaction, true, data, source); + set_enabled_and_value(transaction, true, data, source); } void enable_and_set_value(CdlTransaction transaction, cdl_int data, CdlValueSource source) { - set_enabled_and_value(transaction, true, data, source); + set_enabled_and_value(transaction, true, data, source); } void enable_and_set_value(CdlTransaction transaction, double data, CdlValueSource source) { - set_enabled_and_value(transaction, true, data, source); + set_enabled_and_value(transaction, true, data, source); } void disable_and_set_value(CdlTransaction transaction, CdlSimpleValue& val, CdlValueSource source) { - set_enabled_and_value(transaction, false, val, source); + set_enabled_and_value(transaction, false, val, source); } void disable_and_set_value(CdlTransaction transaction, std::string data, CdlValueSource source) { - set_enabled_and_value(transaction, false, data, source); + set_enabled_and_value(transaction, false, data, source); } void disable_and_set_value(CdlTransaction transaction, cdl_int data, CdlValueSource source) { - set_enabled_and_value(transaction, false, data, source); + set_enabled_and_value(transaction, false, data, source); } void disable_and_set_value(CdlTransaction transaction, double data, CdlValueSource source) { - set_enabled_and_value(transaction, false, data, source); + set_enabled_and_value(transaction, false, data, source); } // ----------------------------------------------------------------- @@ -4228,9 +4228,9 @@ class CdlValuableBody : virtual public CdlNodeBody { // because e.g. its parent is disabled then this may affect // requires conflicts etc. virtual void update(CdlTransaction, CdlUpdate); - + virtual bool test_active(CdlTransaction); - + // ----------------------------------------------------------------- // Property-related stuff. bool has_calculated_expression() const; @@ -4242,7 +4242,7 @@ class CdlValuableBody : virtual public CdlNodeBody { bool has_requires_goals() const; bool has_dialog() const; bool has_wizard() const; - + CdlProperty_Expression get_calculated_expression() const; CdlProperty_Expression get_default_value_expression() const; CdlProperty_ListExpression get_legal_values() const; @@ -4253,7 +4253,7 @@ class CdlValuableBody : virtual public CdlNodeBody { CdlDialog get_dialog() const; CdlWizard get_wizard() const; void get_implemented_interfaces(std::vector&) const; - + // Add property parsers and validation code appropriate for a // valuable object such as default_value and legal_values static void add_property_parsers(std::vector& parsers); @@ -4280,7 +4280,7 @@ class CdlValuableBody : virtual public CdlNodeBody { static void wizard_update_handler(CdlTransaction, CdlNode, CdlProperty, CdlNode, CdlUpdate); // Persistence suppot - void save(CdlInterpreter, Tcl_Channel, int, bool /* modifiable */, bool /* minimal */); + void _save(CdlInterpreter, Tcl_Channel, int, bool /* modifiable */, bool /* minimal */); bool value_savefile_entry_needed() const; static void initialize_savefile_support(CdlToplevel, std::string); static int savefile_value_source_command(CdlInterpreter, int, const char*[]); @@ -4288,7 +4288,7 @@ class CdlValuableBody : virtual public CdlNodeBody { static int savefile_wizard_value_command(CdlInterpreter, int, const char*[]); static int savefile_inferred_value_command(CdlInterpreter, int, const char*[]); static int savefile_xxx_value_command(CdlInterpreter, int, const char*[], CdlValueSource); - + // Make sure that the current value is legal. This gets called automatically // by all the members that modify values. It has to be a virtual function // since some derived classes, e.g. hardware-related valuables, may impose @@ -4305,17 +4305,17 @@ class CdlValuableBody : virtual public CdlNodeBody { virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: CdlValuableBody(CdlValueFlavor = CdlValueFlavor_Bool); - + private: - + enum { - CdlValuableBody_Invalid = 0, - CdlValuableBody_Magic = 0x2b2acc03 + CdlValuableBody_Invalid = 0, + CdlValuableBody_Magic = 0x2b2acc03 } cdlvaluablebody_cookie; // Illegal operations @@ -4324,9 +4324,9 @@ class CdlValuableBody : virtual public CdlNodeBody { }; //}}} -//{{{ CdlTransaction etc. +//{{{ CdlTransaction etc. -//{{{ Description +//{{{ Description // ---------------------------------------------------------------------------- // Transactions. These are used for all changes to a configuration. In some @@ -4371,7 +4371,7 @@ class CdlValuableBody : virtual public CdlNodeBody { // Transaction objects are also used during load or unload operations, // but those are a little bit special. In particular it is not possible // to cancel such a transaction, there will have been updates to the -// toplevel. Using a transaction is convenient because there is a +// toplevel. Using a transaction is convenient because there is a // need for propagation. // // Currently a transaction should be deleted immediately after a @@ -4411,7 +4411,7 @@ class CdlValuableBody : virtual public CdlNodeBody { // allowing multiple changes to be processed in one go. There is // a utility function which combines the functionality from // the first propagate() call up to but not including the -// transaction delete operator. +// transaction delete operator. // // // The inference engine itself is a complicated beast. There are @@ -4444,7 +4444,7 @@ class CdlValuableBody : virtual public CdlNodeBody { // a future version. //}}} -//{{{ CdlTransactionCommitCancelOp +//{{{ CdlTransactionCommitCancelOp // ---------------------------------------------------------------------------- // The CdlTransaction class has built-in knowledge of how to handle values, @@ -4486,19 +4486,19 @@ class CdlTransactionCommitCancelOp { // Derived classes should override at least one of these // functions. virtual void commit(CdlTransaction transaction) { - CYG_UNUSED_PARAM(CdlTransaction, transaction); + CYG_UNUSED_PARAM(CdlTransaction, transaction); } virtual void cancel(CdlTransaction transaction) { - CYG_UNUSED_PARAM(CdlTransaction, transaction); + CYG_UNUSED_PARAM(CdlTransaction, transaction); } - + protected: private: }; //}}} -//{{{ CdlTransaction class +//{{{ CdlTransaction class class CdlTransactionBody { @@ -4506,20 +4506,20 @@ class CdlTransactionBody { friend class CdlConflictBody; friend class CdlValuableBody; - + public: // Create a toplevel transaction static CdlTransaction make(CdlToplevel); virtual ~CdlTransactionBody(); CdlToplevel get_toplevel() const; - + // Or a sub-transaction. Usually these are created in the context of // a conflict that is being resolved. CdlTransaction make(CdlConflict = 0); CdlTransaction get_parent() const; CdlConflict get_conflict() const; - + // Commit all the changes. Essentially this means transferring // all of the per-transaction data to the toplevel, and then // invoking the transaction callback. All propagation, inference, @@ -4547,10 +4547,10 @@ class CdlTransactionBody { // A variant which is used for checking the hierarchy when disabling // a container bool subnode_changed_by_user(CdlContainer) const; - + // Is one transaction preferable to another? bool is_preferable_to(CdlTransaction) const; - + // Find out about per-transaction conflicts. This is particularly // useful for the inference callback. The other containers can // be accessed as well, for completeness. @@ -4564,12 +4564,12 @@ class CdlTransactionBody { const std::set& get_activated() const; const std::set& get_deactivated() const; const std::set& get_legal_values_changes() const; - + // Manipulate the current set of conflicts, allowing for nested // transactions and toplevel conflicts as well. void clear_conflict(CdlConflict); bool has_conflict_been_cleared(CdlConflict); - + bool has_conflict(CdlNode, bool (*)(CdlConflict)); CdlConflict get_conflict(CdlNode, bool (*)(CdlConflict)); void get_conflicts(CdlNode, bool (*)(CdlConflict), std::vector&); @@ -4593,7 +4593,7 @@ class CdlTransactionBody { void apply_solution(CdlConflict); void apply_solutions(const std::vector&); void apply_all_solutions(); - + // Cancel all the changes done in this transaction. Essentially // this just involves clearing out all the STL containers. void cancel(); @@ -4604,25 +4604,25 @@ class CdlTransactionBody { void cancel_last_commit_cancel_op(); CdlTransactionCommitCancelOp* get_last_commit_cancel_op() const; const std::vector& get_commit_cancel_ops() const; - + // Propagation support void add_active_change(CdlNode); void add_legal_values_change(CdlValuable); void propagate(); bool is_propagation_required() const; - + // Inference engine support. void resolve(int = 0); // Process the new conflicts raised by this transaction void resolve(CdlConflict, int = 0); void resolve(const std::vector&, int = 0); - + // An auxiliary function called by the inference engine to perform recursion bool resolve_recursion(int); - + // This function combines propagation, inference, and commit // in one easy-to-use package void body(); - + // Changes. // There is a call to get hold of a CdlValue reference. Modifications // should happen via a sequence of the form: @@ -4646,7 +4646,7 @@ class CdlTransactionBody { // transactions bool is_active(CdlNode) const; void set_active(CdlNode, bool); - + // Callback and parameter settings static void (*get_callback_fn())(const CdlTransactionCallback&); static void set_callback_fn(void (*)(const CdlTransactionCallback&)); @@ -4664,10 +4664,10 @@ class CdlTransactionBody { // wizard or user values. static void set_inference_override(CdlValueSource); static CdlValueSource get_inference_override(); - + bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: private: @@ -4679,7 +4679,7 @@ class CdlTransactionBody { CdlToplevel toplevel; CdlTransaction parent; CdlConflict conflict; - + // Per-transaction information. All value changes, new conflicts // etc. first live in the context of a transaction. The global // configuration only gets updated if the transaction is commited. @@ -4696,7 +4696,7 @@ class CdlTransactionBody { std::set deactivated; std::set legal_values_changes; bool dirty; - + // Change propagation. It is necessary to keep track of all // pending value changes, active changes, and of things being // loaded or unloaded. The set_value() call is used to update the @@ -4711,10 +4711,10 @@ class CdlTransactionBody { static int inference_recursion_limit; static CdlValueSource inference_override; static void (*callback_fn)(const CdlTransactionCallback&); - + enum { - CdlTransactionBody_Invalid = 0, - CdlTransactionBody_Magic = 0x3f91e4df + CdlTransactionBody_Invalid = 0, + CdlTransactionBody_Magic = 0x3f91e4df } cdltransactionbody_cookie; // Illegal operations @@ -4724,7 +4724,7 @@ class CdlTransactionBody { }; //}}} -//{{{ CdlTransactionCallback +//{{{ CdlTransactionCallback // ---------------------------------------------------------------------------- // The callback class is used to inform applications about all the @@ -4737,10 +4737,10 @@ class CdlTransactionBody { // configurations. class CdlTransactionCallback { - + friend class CdlTest; friend class CdlTransactionBody; - + public: ~CdlTransactionCallback(); static void (*get_callback_fn())(const CdlTransactionCallback&); @@ -4751,7 +4751,7 @@ class CdlTransactionCallback { // of statics. CdlTransaction get_transaction() const; CdlToplevel get_toplevel() const; - + // active_changes and legal_values_changes get updated as the // transaction proceeds, so a set implementation is more // efficient. The others get filled in during a commit operation. @@ -4766,9 +4766,9 @@ class CdlTransactionCallback { std::vector new_structural_conflicts; std::vector nodes_with_resolved_conflicts; std::vector nodes_with_resolved_structural_conflicts; - + bool check_this(cyg_assert_class_zeal = cyg_quick) const; - + protected: private: @@ -4777,65 +4777,65 @@ class CdlTransactionCallback { // Illegal operation. CdlTransactionCallback(); - + enum { - CdlTransactionCallback_Invalid = 0, - CdlTransactionCallback_Magic = 0x0cec3a95 + CdlTransactionCallback_Invalid = 0, + CdlTransactionCallback_Magic = 0x0cec3a95 } cdltransactioncallback_cookie; }; //}}} -//{{{ CdlLocalTransaction +//{{{ CdlLocalTransaction // ---------------------------------------------------------------------------- // A utility class to create a per-function transaction object which gets // cleaned up automatically should an exception happen. class CdlLocalTransaction { - + friend class CdlTrest; - + public: CdlLocalTransaction(CdlToplevel toplevel) { - transaction = CdlTransactionBody::make(toplevel); + transaction = CdlTransactionBody::make(toplevel); } ~CdlLocalTransaction() { - // The destructor may get invoked during exception handling. - // It is assumed that cancelling the transaction would be a - // good thing when that happens. Normal operation should - // go through the body() or commit() members, which clear - // the transaction field. - // There is a slight consistency here. Normally after a - // transaction commit the transaction object is still - // around. Here the transaction object get deleted. This - // is unlikely to matter in practice. - if (0 != transaction) { - transaction->cancel(); - delete transaction; - } + // The destructor may get invoked during exception handling. + // It is assumed that cancelling the transaction would be a + // good thing when that happens. Normal operation should + // go through the body() or commit() members, which clear + // the transaction field. + // There is a slight consistency here. Normally after a + // transaction commit the transaction object is still + // around. Here the transaction object get deleted. This + // is unlikely to matter in practice. + if (0 != transaction) { + transaction->cancel(); + delete transaction; + } } CdlTransaction get() { - return transaction; + return transaction; } void body() { - transaction->body(); - delete transaction; - transaction = 0; + transaction->body(); + delete transaction; + transaction = 0; } void commit() { - transaction->commit(); - delete transaction; - transaction = 0; + transaction->commit(); + delete transaction; + transaction = 0; } void propagate() { - transaction->propagate(); + transaction->propagate(); } void destroy() { - if (0 != transaction) { - transaction->cancel(); - delete transaction; - transaction = 0; - } + if (0 != transaction) { + transaction->cancel(); + delete transaction; + transaction = 0; + } } private: @@ -4846,9 +4846,9 @@ class CdlLocalTransaction { //}}} //}}} -//{{{ Build and define information +//{{{ Build and define information -//{{{ Description +//{{{ Description // ---------------------------------------------------------------------------- // There are two related concepts: buildable components, and @@ -4935,7 +4935,7 @@ class CdlLocalTransaction { // // Hardware packages have an implicit "define_header hardware.h" // property. -// +// // A buildable has the following properties: // // 1) compile [-library xyz] ... @@ -5110,7 +5110,7 @@ class CdlLocalTransaction { // The latter will only be generated if the resulting symbol is // a valid C preprocessor symbol, and is intended to allow the // use of #ifdef as well as #ifdef (useful if the value is -// non-numerical). +// non-numerical). // // The define_format property provides control over the first of // these two #defines. The net result is that the #define will be @@ -5155,7 +5155,7 @@ class CdlLocalTransaction { // not affected by no_define. //}}} -//{{{ The build process +//{{{ The build process // ---------------------------------------------------------------------------- // For command-line operation the steps involved in doing a build are: @@ -5247,7 +5247,7 @@ class CdlLocalTransaction { // be in the form of relative pathnames to facilitate this. //}}} -//{{{ CdlBuildInfo class +//{{{ CdlBuildInfo class // ---------------------------------------------------------------------------- // Extracting the build information. @@ -5306,12 +5306,12 @@ struct CdlBuildInfo_MakeObject { /* A typical value for "rules" might be: - yacc toyslock.y - $(CC) $(CFLAGS) -o toyslock.o y.tab.c - + yacc toyslock.y + $(CC) $(CFLAGS) -o toyslock.o y.tab.c + Leading white space is not significant. Newlines are significant. Backslash escapes in the text will not have been processed yet. - */ + */ }; struct CdlBuildInfo_Make { @@ -5321,14 +5321,14 @@ struct CdlBuildInfo_Make { std::string rules; /* Something like: - + $(CC) $(ARCHFLAGS) $(LDARCHFLAGS) -nostdlib -Wl,-r -Wl,--whole-archive $(PREFIX)/lib/libextras.a -o $(PREFIX)/lib/extras.o - + */ }; class CdlBuildInfo_Loadable { - + friend class CdlTest; public: @@ -5339,7 +5339,7 @@ class CdlBuildInfo_Loadable { std::vector objects; std::vector make_objects; std::vector makes; - + protected: private: @@ -5359,7 +5359,7 @@ class CdlBuildInfo { }; //}}} -//{{{ CdlBuildLoadable +//{{{ CdlBuildLoadable // ---------------------------------------------------------------------------- // BuildLoadables are derived from Loadables and are appropriate for @@ -5385,7 +5385,7 @@ class CdlBuildLoadableBody : virtual public CdlLoadableBody // An alternative which ignores the active and enabled states. void update_all_build_info(CdlBuildInfo&) const; - + // Property parsers and validation code appropriate for a // build-loadable object such as makefile static void add_property_parsers(std::vector& parsers); @@ -5394,29 +5394,29 @@ class CdlBuildLoadableBody : virtual public CdlLoadableBody static int parse_makefile(CdlInterpreter, int, const char*[]); static int parse_include_dir(CdlInterpreter, int, const char*[]); static int parse_include_files(CdlInterpreter, int, const char*[]); - + // By default any compiled files will go into libtarget.a, which // is the default value for this variable. Individual applications may // specify an alternative default library. - static char* default_library_name; + static const char* default_library_name; // When filling in a build_info structure the library needs to know // what constitutes a header file. A glob pattern can be used for this. // NOTE: in the long term this should come out of a data file. - static char* default_headers_glob_pattern; - + static const char* default_headers_glob_pattern; + virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: CdlBuildLoadableBody(); private: enum { - CdlBuildLoadableBody_Invalid = 0, - CdlBuildLoadableBody_Magic = 0x55776643 + CdlBuildLoadableBody_Invalid = 0, + CdlBuildLoadableBody_Magic = 0x55776643 } cdlbuildloadablebody_cookie; // Illegal operations @@ -5425,7 +5425,7 @@ class CdlBuildLoadableBody : virtual public CdlLoadableBody }; //}}} -//{{{ CdlBuildable +//{{{ CdlBuildable // ---------------------------------------------------------------------------- // Buildable objects can have properties such as compile and @@ -5453,7 +5453,7 @@ class CdlBuildableBody : virtual public CdlNodeBody // An alternative which ignores the active and enabled states. void update_all_build_info(CdlBuildInfo_Loadable&, std::string) const; - + // Add property parsers and validation code appropriate for a // buildable object such as compile and make_object static void add_property_parsers(std::vector& parsers); @@ -5465,20 +5465,20 @@ class CdlBuildableBody : virtual public CdlNodeBody static int parse_make_object(CdlInterpreter, int, const char*[]); static int parse_object(CdlInterpreter, int, const char*[]); static bool split_custom_build_step(std::string /* data */, std::string& /* target */, std::string& /* deps */, - std::string& /* rules*/, std::string& /* error_msg */); + std::string& /* rules*/, std::string& /* error_msg */); virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: CdlBuildableBody(); private: enum { - CdlBuildableBody_Invalid = 0, - CdlBuildableBody_Magic = 0x16eb1c04 + CdlBuildableBody_Invalid = 0, + CdlBuildableBody_Magic = 0x16eb1c04 } cdlbuildablebody_cookie; // Illegal operations @@ -5487,7 +5487,7 @@ class CdlBuildableBody : virtual public CdlNodeBody }; //}}} -//{{{ CdlDefineLoadable +//{{{ CdlDefineLoadable // ---------------------------------------------------------------------------- // DefineLoadables are derived from Loadables and are appropriate for @@ -5511,7 +5511,7 @@ class CdlDefineLoadableBody : virtual public CdlLoadableBody // What header file should be generated for this loadable? virtual std::string get_config_header() const; - + // Add property parsers and validation code. static void add_property_parsers(std::vector& parsers); void check_properties(CdlInterpreter); @@ -5520,15 +5520,15 @@ class CdlDefineLoadableBody : virtual public CdlLoadableBody virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: CdlDefineLoadableBody(); private: enum { - CdlDefineLoadableBody_Invalid = 0, - CdlDefineLoadableBody_Magic = 0x7e211709 + CdlDefineLoadableBody_Invalid = 0, + CdlDefineLoadableBody_Magic = 0x7e211709 } cdldefineloadablebody_cookie; // Illegal operations @@ -5537,7 +5537,7 @@ class CdlDefineLoadableBody : virtual public CdlLoadableBody }; //}}} -//{{{ CdlDefinable +//{{{ CdlDefinable // ---------------------------------------------------------------------------- // Definables are derived from Valuables and provide support for @@ -5568,15 +5568,15 @@ class CdlDefinableBody : virtual public CdlValuableBody virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); - + protected: CdlDefinableBody(); private: enum { - CdlDefinableBody_Invalid = 0, - CdlDefinableBody_Magic = 0x65a2c95a + CdlDefinableBody_Invalid = 0, + CdlDefinableBody_Magic = 0x65a2c95a } cdldefinablebody_cookie; // Illegal operations @@ -5587,7 +5587,7 @@ class CdlDefinableBody : virtual public CdlValuableBody //}}} //}}} -//{{{ CdlDialog +//{{{ CdlDialog // ---------------------------------------------------------------------------- // A dialog simply inherits from CdlUserVisible and provides convenient @@ -5617,15 +5617,15 @@ class CdlDialogBody : const cdl_tcl_code& get_display_proc() const; const cdl_tcl_code& get_confirm_proc() const; const cdl_tcl_code& get_cancel_proc() const; - + static int parse_dialog(CdlInterpreter, int, const char*[]); static int parse_display_proc(CdlInterpreter, int, const char*[]); static int parse_update_proc(CdlInterpreter, int, const char*[]); - + // Persistence support. Dialogs should just be ignored when it // comes to saving and restoring files. virtual void save(CdlInterpreter, Tcl_Channel, int, bool); - + virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); @@ -5635,12 +5635,12 @@ class CdlDialogBody : CdlDialogBody(std::string); static bool dialogs_enabled; - + enum { - CdlDialogBody_Invalid = 0, - CdlDialogBody_Magic = 0x3f4df391 + CdlDialogBody_Invalid = 0, + CdlDialogBody_Magic = 0x3f4df391 } cdldialogbody_cookie; - + // Illegal operations. The dialog name must be known at the time // that the object is constructed. CdlDialogBody(); @@ -5649,7 +5649,7 @@ class CdlDialogBody : }; //}}} -//{{{ CdlWizard +//{{{ CdlWizard // ---------------------------------------------------------------------------- // A wizard is very much like a dialog, just a different set of properties. @@ -5680,11 +5680,11 @@ class CdlWizardBody : static int parse_decoration_proc(CdlInterpreter, int, const char*[]); static int parse_init_proc(CdlInterpreter, int, const char*[]); static int parse_screen(CdlInterpreter, int, const char*[]); - + // Persistence support. Wizards should just be ignored when it // comes to saving and restoring files. virtual void save(CdlInterpreter, Tcl_Channel, int, bool); - + virtual std::string get_class_name() const; bool check_this(cyg_assert_class_zeal = cyg_quick) const; CYGDBG_DECLARE_MEMLEAK_COUNTER(); @@ -5697,25 +5697,25 @@ class CdlWizardBody : CdlWizardBody(); CdlWizardBody(const CdlWizardBody&); CdlWizardBody& operator=(const CdlWizardBody&); - + enum { - CdlWizardBody_Invalid = 0, - CdlWizardBody_Magic = 0x4ec1c39a + CdlWizardBody_Invalid = 0, + CdlWizardBody_Magic = 0x4ec1c39a } cdlwizardbody_cookie; }; //}}} -//{{{ CdlInterface class +//{{{ CdlInterface class // ---------------------------------------------------------------------------- // Similarly for interfaces. class CdlInterfaceBody : public virtual CdlNodeBody, - public virtual CdlUserVisibleBody, - public virtual CdlValuableBody, - public virtual CdlParentableBody, - public virtual CdlBuildableBody, - public virtual CdlDefinableBody + public virtual CdlUserVisibleBody, + public virtual CdlValuableBody, + public virtual CdlParentableBody, + public virtual CdlBuildableBody, + public virtual CdlDefinableBody { friend class CdlTest; @@ -5725,9 +5725,9 @@ class CdlInterfaceBody : public virtual CdlNodeBody, void get_implementers(std::vector&) const; void recalculate(CdlTransaction); - + static int parse_interface(CdlInterpreter, int, const char*[]); - + // Persistence support. The interface data cannot sensibly be modified // by users, it is all calculated. However it is useful to have the // interface data present in the saved file so that users can examine @@ -5745,10 +5745,10 @@ class CdlInterfaceBody : public virtual CdlNodeBody, private: CdlInterfaceBody(std::string, bool /* generated */); bool generated; - + enum { - CdlInterfaceBody_Invalid = 0, - CdlInterfaceBody_Magic = 0x67f7fbe5 + CdlInterfaceBody_Invalid = 0, + CdlInterfaceBody_Magic = 0x67f7fbe5 } cdlinterfacebody_cookie; CdlInterfaceBody(); CdlInterfaceBody(const CdlInterfaceBody&); diff --git a/tools/src/libcdl/cdlmisc.cxx b/tools/src/libcdl/cdlmisc.cxx index f6ecc281..febdfae0 100644 --- a/tools/src/libcdl/cdlmisc.cxx +++ b/tools/src/libcdl/cdlmisc.cxx @@ -1,4 +1,4 @@ -//{{{ Banner +//{{{ Banner //============================================================================ // @@ -8,28 +8,28 @@ // //============================================================================ //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //============================================================================ //#####DESCRIPTIONBEGIN#### @@ -43,7 +43,7 @@ //============================================================================ //}}} -//{{{ #include's +//{{{ #include's // ---------------------------------------------------------------------------- #include @@ -79,7 +79,7 @@ //}}} -//{{{ Cdl::is_valid_xxx() +//{{{ Cdl::is_valid_xxx() // --------------------------------------------------------------------------- @@ -93,11 +93,11 @@ Cdl::is_valid_value_flavor(CdlValueFlavor data) case CdlValueFlavor_Bool : case CdlValueFlavor_BoolData : case CdlValueFlavor_Data : - result = true; - break; + result = true; + break; default: - break; + break; } return result; @@ -113,11 +113,11 @@ Cdl::is_valid_value_source(CdlValueSource data) case CdlValueSource_User : case CdlValueSource_Wizard : case CdlValueSource_Inferred : - result = true; - break; + result = true; + break; default: - break; + break; } return result; @@ -128,48 +128,48 @@ Cdl::is_valid_value_source(CdlValueSource data) // preprocessor. This may cause problems in future, e.g. i18n. bool -Cdl::is_valid_cdl_name(const std::string& name) +Cdl::is_valid_cdl_name(const std::string &name) { CYG_REPORT_FUNCNAMETYPE("Cdl::is_valid_cdl_name", "result %d"); bool result = is_valid_c_preprocessor_symbol(name); - + CYG_REPORT_RETVAL(result); return result; } bool -Cdl::is_valid_c_preprocessor_symbol(const std::string& symbol) +Cdl::is_valid_c_preprocessor_symbol(const std::string &symbol) { CYG_REPORT_FUNCNAMETYPE("Cdl::is_valid_c_preprocessor_symbol", "result %d"); bool result = true; if ("" == symbol) { - result = false; + result = false; } else { - // A valid preprocessor symbol should begin with either an underscore - // or a letter. It should then be followed by some number of underscores, - // letters, or digits. - // - // In some locales isalpha() may succeed for characters which are not - // legal for C preprocessor symbols. Instead ASCII is assumed here. - if (('_' != symbol[0]) && - !(('a' <= symbol[0]) && (symbol[0] <= 'z')) && - !(('A' <= symbol[0]) && (symbol[0] <= 'Z'))) { - - result = false; - } else { - for (unsigned int i = 1; i < symbol.size(); i++) { - if (('_' != symbol[i]) && - !(('a' <= symbol[i]) && (symbol[i] <= 'z')) && - !(('A' <= symbol[i]) && (symbol[i] <= 'Z')) && - !(('0' <= symbol[i]) && (symbol[i] <= '9'))) { - - result = false; - break; - } - } - } + // A valid preprocessor symbol should begin with either an underscore + // or a letter. It should then be followed by some number of underscores, + // letters, or digits. + // + // In some locales isalpha() may succeed for characters which are not + // legal for C preprocessor symbols. Instead ASCII is assumed here. + if (('_' != symbol[0]) && + !(('a' <= symbol[0]) && (symbol[0] <= 'z')) && + !(('A' <= symbol[0]) && (symbol[0] <= 'Z'))) { + + result = false; + } else { + for (unsigned int i = 1; i < symbol.size(); i++) { + if (('_' != symbol[i]) && + !(('a' <= symbol[i]) && (symbol[i] <= 'z')) && + !(('A' <= symbol[i]) && (symbol[i] <= 'Z')) && + !(('0' <= symbol[i]) && (symbol[i] <= '9'))) { + + result = false; + break; + } + } + } } CYG_REPORT_RETVAL(result); @@ -177,7 +177,7 @@ Cdl::is_valid_c_preprocessor_symbol(const std::string& symbol) } //}}} -//{{{ Cdl::xxx_to_yyy() - strings, ints, doubles, ... +//{{{ Cdl::xxx_to_yyy() - strings, ints, doubles, ... // --------------------------------------------------------------------------- // Conversion routines between strings, integers, doubles, bools, ... @@ -190,156 +190,156 @@ Cdl::is_valid_c_preprocessor_symbol(const std::string& symbol) // ASCII rather than EBCDIC is assumed. // // Some of the routines may fail, e.g. string to integer conversions. -// Others are guaranteed to succeed. +// Others are guaranteed to succeed. -//{{{ string_to_integer() +//{{{ string_to_integer() // ---------------------------------------------------------------------------- bool -Cdl::string_to_integer(std::string data, cdl_int& target) +Cdl::string_to_integer(std::string data, cdl_int &target) { CYG_REPORT_FUNCNAMETYPE("Cdl::string_to_integer", "success %d"); bool negative = false; bool seen_plus = false; bool seen_minus = false; - + // Life is a bit easier if I can check for '\0' - const char* ptr = data.c_str(); + const char *ptr = data.c_str(); // Not essential but harmless. while (isspace(*ptr)) - ptr++; + ptr++; if ('+' == *ptr) { - if (seen_plus) { - target = 0; - CYG_REPORT_RETVAL(false); - return false; - } - seen_plus = true; - ptr++; + if (seen_plus) { + target = 0; + CYG_REPORT_RETVAL(false); + return false; + } + seen_plus = true; + ptr++; } - + if ('-' == *ptr) { - if (seen_minus) { - target = 0; - CYG_REPORT_RETVAL(false); - return false; - } - seen_minus = true; - negative = true; - ptr++; + if (seen_minus) { + target = 0; + CYG_REPORT_RETVAL(false); + return false; + } + seen_minus = true; + negative = true; + ptr++; } cdl_int acc = 0; if ('0' == *ptr) { - // This happens sufficiently often to be worth a special case. - if ('\0' == ptr[1]) { - target = 0; - CYG_REPORT_RETVAL(true); - return true; - } - // Hex is always worth supporting. - if (('x' == ptr[1]) || ('X' == ptr[1])) { - ptr++; ptr++; - if (!isxdigit(*ptr)) { - CYG_REPORT_RETVAL(false); - return false; - } - while (isxdigit(*ptr)) { - cdl_int new_acc = acc * 16; - if (isdigit(*ptr)) { - new_acc += (*ptr - '0'); - } else if (('a' <= *ptr) && (*ptr <= 'f')) { - new_acc += (*ptr + 10 - 'a'); - } else if (('A' <= *ptr) && (*ptr <= 'F')) { - new_acc += (*ptr + 10 - 'A'); - } else { - CYG_FAIL("this platform's implementation of isxdigit() is broken"); - } - if (new_acc < acc) { - CYG_REPORT_RETVAL(false); - return false; - } - acc = new_acc; - ptr++; - } - if ('\0' != *ptr) { - CYG_REPORT_RETVAL(false); - return false; - } - if (negative) { - cdl_int new_acc = 0 - acc; - if (new_acc > 0) { - CYG_REPORT_RETVAL(false); - return false; - } else { - acc = new_acc; - } - } - target = acc; - CYG_REPORT_RETVAL(true); - return true; - } - - // Octal? Oh well, might as well be complete. - if (('0' <= ptr[1]) && (ptr[1] <= '7')) { - ptr++; - do { - cdl_int new_acc = 8 * acc; - new_acc += (*ptr - '0'); - if (new_acc < acc) { - CYG_REPORT_RETVAL(false); - return false; - } - acc = new_acc; - ptr++; - } while (('0' <= *ptr) && (*ptr <= '7')); - if ('\0' != *ptr) { - CYG_REPORT_RETVAL(false); - return false; - } - if (negative) { - cdl_int new_acc = 0 - acc; - if (new_acc > 0) { - CYG_REPORT_RETVAL(false); - return false; - } - else { - acc = new_acc; - } - } - target = acc; - CYG_REPORT_RETVAL(true); - return true; - } - - // Drop through for the case of a decimal. + // This happens sufficiently often to be worth a special case. + if ('\0' == ptr[1]) { + target = 0; + CYG_REPORT_RETVAL(true); + return true; + } + // Hex is always worth supporting. + if (('x' == ptr[1]) || ('X' == ptr[1])) { + ptr++; ptr++; + if (!isxdigit(*ptr)) { + CYG_REPORT_RETVAL(false); + return false; + } + while (isxdigit(*ptr)) { + cdl_int new_acc = acc * 16; + if (isdigit(*ptr)) { + new_acc += (*ptr - '0'); + } else if (('a' <= *ptr) && (*ptr <= 'f')) { + new_acc += (*ptr + 10 - 'a'); + } else if (('A' <= *ptr) && (*ptr <= 'F')) { + new_acc += (*ptr + 10 - 'A'); + } else { + CYG_FAIL("this platform's implementation of isxdigit() is broken"); + } + if (new_acc < acc) { + CYG_REPORT_RETVAL(false); + return false; + } + acc = new_acc; + ptr++; + } + if ('\0' != *ptr) { + CYG_REPORT_RETVAL(false); + return false; + } + if (negative) { + cdl_int new_acc = 0 - acc; + if (new_acc > 0) { + CYG_REPORT_RETVAL(false); + return false; + } else { + acc = new_acc; + } + } + target = acc; + CYG_REPORT_RETVAL(true); + return true; + } + + // Octal? Oh well, might as well be complete. + if (('0' <= ptr[1]) && (ptr[1] <= '7')) { + ptr++; + do { + cdl_int new_acc = 8 * acc; + new_acc += (*ptr - '0'); + if (new_acc < acc) { + CYG_REPORT_RETVAL(false); + return false; + } + acc = new_acc; + ptr++; + } while (('0' <= *ptr) && (*ptr <= '7')); + if ('\0' != *ptr) { + CYG_REPORT_RETVAL(false); + return false; + } + if (negative) { + cdl_int new_acc = 0 - acc; + if (new_acc > 0) { + CYG_REPORT_RETVAL(false); + return false; + } + else { + acc = new_acc; + } + } + target = acc; + CYG_REPORT_RETVAL(true); + return true; + } + + // Drop through for the case of a decimal. } while(isdigit(*ptr)) { - cdl_int new_acc = 10 * acc; - new_acc += (*ptr - '0'); - if (new_acc < acc) { - CYG_REPORT_RETVAL(false); - return false; - } - acc = new_acc; - ptr++; + cdl_int new_acc = 10 * acc; + new_acc += (*ptr - '0'); + if (new_acc < acc) { + CYG_REPORT_RETVAL(false); + return false; + } + acc = new_acc; + ptr++; } if ('\0' != *ptr) { - CYG_REPORT_RETVAL(false); - return false; + CYG_REPORT_RETVAL(false); + return false; } if (negative) { - cdl_int new_acc = 0 - acc; - if (new_acc > 0) { - CYG_REPORT_RETVAL(false); - return false; - } else { - acc = new_acc; - } + cdl_int new_acc = 0 - acc; + if (new_acc > 0) { + CYG_REPORT_RETVAL(false); + return false; + } else { + acc = new_acc; + } } target = acc; CYG_REPORT_RETVAL(true); @@ -347,7 +347,7 @@ Cdl::string_to_integer(std::string data, cdl_int& target) } //}}} -//{{{ string_to_double() +//{{{ string_to_double() // ---------------------------------------------------------------------------- // There is no point in doing this the hard way, just use standard @@ -361,41 +361,41 @@ Cdl::string_to_integer(std::string data, cdl_int& target) // tcl_precision variable. bool -Cdl::string_to_double(std::string value, double& target) +Cdl::string_to_double(std::string value, double &target) { CYG_REPORT_FUNCNAMETYPE("Cdl::string_to_double", "success %d"); bool result = true; - const char* start_ptr = value.c_str(); - char* end_ptr; + const char *start_ptr = value.c_str(); + char *end_ptr; int old_errno = errno; - + errno = 0; double conv = strtod(start_ptr, &end_ptr); if (0 != errno) { - CYG_ASSERT(ERANGE == errno, "standard-compliant C library"); - result = false; + CYG_ASSERT(ERANGE == errno, "standard-compliant C library"); + result = false; } else if ('\0' != *end_ptr) { - result = false; + result = false; } else { - target = conv; - result = true; + target = conv; + result = true; } - + errno = old_errno; CYG_REPORT_RETVAL(result); return result; } //}}} -//{{{ string_to_bool() +//{{{ string_to_bool() // ---------------------------------------------------------------------------- // Conversions to and from bools. The only real issue here is exactly // what strings should be accepted as synonyms for true and false. // It is not actually clear that these functions are useful. bool -Cdl::string_to_bool(std::string data, bool& target) +Cdl::string_to_bool(std::string data, bool &target) { CYG_REPORT_FUNCNAMETYPE("Cdl::string_to_bool", "success %d"); @@ -404,13 +404,13 @@ Cdl::string_to_bool(std::string data, bool& target) // What is truth ? if (( data == "1" ) || (data == "true") || - ( data == "True") || (data == "TRUE") ) { - result = true; - target = true; + ( data == "True") || (data == "TRUE") ) { + result = true; + target = true; } else if ((data == "0" ) || (data == "false") || - (data == "False") || (data == "FALSE") ) { - result = true; - target = false; + (data == "False") || (data == "FALSE") ) { + result = true; + target = false; } CYG_REPORT_RETVAL(result); @@ -419,7 +419,7 @@ Cdl::string_to_bool(std::string data, bool& target) //}}} -//{{{ integer_to_string() +//{{{ integer_to_string() // ---------------------------------------------------------------------------- @@ -432,20 +432,20 @@ Cdl::integer_to_string(cdl_int value, CdlValueFormat format) } void -Cdl::integer_to_string(cdl_int value, std::string& target, CdlValueFormat format) +Cdl::integer_to_string(cdl_int value, std::string &target, CdlValueFormat format) { CYG_REPORT_FUNCNAME("Cdl::integer_to_string"); CYG_REPORT_FUNCARG2XV((long) value, format); // Optimise this special case. if (0 == value) { - if (CdlValueFormat_Hex == format) { - target = "0x0"; - } else { - target = "0"; - } - CYG_REPORT_RETVAL(true); - return; + if (CdlValueFormat_Hex == format) { + target = "0x0"; + } else { + target = "0"; + } + CYG_REPORT_RETVAL(true); + return; } // A local buffer to construct partial strings. This avoids @@ -455,93 +455,93 @@ Cdl::integer_to_string(cdl_int value, std::string& target, CdlValueFormat format char local_buf[24]; char *local_ptr = &(local_buf[23]); *local_ptr-- = '\0'; - + if (CdlValueFormat_Hex == format) { - // Output the data as 0x... with either 8 or 16 digits, - // depending on the size. - int i; - for (i = 0; i < 8; i++) { - int tmp = (int) (value & 0x0F); - value = value >> 4; - if (tmp < 10) { - *local_ptr-- = '0' + tmp; - } else { - *local_ptr-- = 'A' + (tmp - 10); - } - } - // Beware of right shifts that preserve the sign bit. - { - int tmp1 = (value & 0x0FFFF); - int tmp2 = ((value >> 16) & 0x0FFFF); - value = (tmp2 << 16) + tmp1; - } - if (value != 0) { - for (i = 0; i < 8; i++) { - int tmp = (int) (value & 0x0F); - value = value >> 4; - if (tmp < 10) { - *local_ptr-- = '0' + tmp; - } else { - *local_ptr-- = 'A' + (tmp - 10); - } - } - } - *local_ptr-- = 'x'; - *local_ptr = '0'; - target = std::string(local_ptr); - + // Output the data as 0x... with either 8 or 16 digits, + // depending on the size. + int i; + for (i = 0; i < 8; i++) { + int tmp = (int) (value & 0x0F); + value = value >> 4; + if (tmp < 10) { + *local_ptr-- = '0' + tmp; + } else { + *local_ptr-- = 'A' + (tmp - 10); + } + } + // Beware of right shifts that preserve the sign bit. + { + int tmp1 = (value & 0x0FFFF); + int tmp2 = ((value >> 16) & 0x0FFFF); + value = (tmp2 << 16) + tmp1; + } + if (value != 0) { + for (i = 0; i < 8; i++) { + int tmp = (int) (value & 0x0F); + value = value >> 4; + if (tmp < 10) { + *local_ptr-- = '0' + tmp; + } else { + *local_ptr-- = 'A' + (tmp - 10); + } + } + } + *local_ptr-- = 'x'; + *local_ptr = '0'; + target = std::string(local_ptr); + } else if (CdlValueFormat_Octal == format) { - // Simply output the data three bits at a time, do not worry about any - // particular width restrictions. However it is necessary to worry - // about masking. - cdl_int mask = 0x1FFFFFFF; - mask = (mask << 16) | 0x0FFFF; - mask = (mask << 16) | 0x0FFFF; - - target = ""; - while (value > 0) { - int tmp = value & 0x07; - value = (value >> 3) & mask; - *local_ptr-- = '0' + tmp; - } - *local_ptr = '0'; - target = std::string(local_ptr); - + // Simply output the data three bits at a time, do not worry about any + // particular width restrictions. However it is necessary to worry + // about masking. + cdl_int mask = 0x1FFFFFFF; + mask = (mask << 16) | 0x0FFFF; + mask = (mask << 16) | 0x0FFFF; + + target = ""; + while (value > 0) { + int tmp = value & 0x07; + value = (value >> 3) & mask; + *local_ptr-- = '0' + tmp; + } + *local_ptr = '0'; + target = std::string(local_ptr); + } else { - // A simple decimal number - // Switch to positive arithmetic. - bool negative = false; - if (value < 0) { - negative = true; - value = 0 - value; - // Only MININT cannot be converted using the above line - if (value < 0) { - target = "-9223372036854775808"; - CYG_REPORT_RETVAL(true); - return; - } - } - - while (value > 0) { - int rem = (int) (value % 10); - value = value / 10; - *local_ptr-- = '0' + rem; - } - if (negative) { - *local_ptr-- = '-'; - } - local_ptr++; - target = std::string(local_ptr); + // A simple decimal number + // Switch to positive arithmetic. + bool negative = false; + if (value < 0) { + negative = true; + value = 0 - value; + // Only MININT cannot be converted using the above line + if (value < 0) { + target = "-9223372036854775808"; + CYG_REPORT_RETVAL(true); + return; + } + } + + while (value > 0) { + int rem = (int) (value % 10); + value = value / 10; + *local_ptr-- = '0' + rem; + } + if (negative) { + *local_ptr-- = '-'; + } + local_ptr++; + target = std::string(local_ptr); } - + CYG_REPORT_RETURN(); return; } //}}} -//{{{ double_to_string() +//{{{ double_to_string() // ---------------------------------------------------------------------------- @@ -554,7 +554,7 @@ Cdl::double_to_string(double value, CdlValueFormat format) } void -Cdl::double_to_string(double value, std::string& result, CdlValueFormat format) +Cdl::double_to_string(double value, std::string &result, CdlValueFormat format) { CYG_REPORT_FUNCNAME("Cdl::double_to_String"); @@ -567,7 +567,7 @@ Cdl::double_to_string(double value, std::string& result, CdlValueFormat format) } //}}} -//{{{ bool_to_string() +//{{{ bool_to_string() // ---------------------------------------------------------------------------- // Should the string results be 1/0 or true/false? Not that @@ -581,22 +581,22 @@ Cdl::bool_to_string(bool value) } void -Cdl::bool_to_string(bool value, std::string& target) +Cdl::bool_to_string(bool value, std::string &target) { CYG_REPORT_FUNCNAME("Cdl::bool_to_string"); CYG_REPORT_FUNCARG1( "value arg %ld", (long) value); if (value) - target = "1"; + target = "1"; else - target = "0"; + target = "0"; CYG_REPORT_RETURN(); } //}}} -//{{{ integer_to_double() +//{{{ integer_to_double() // ---------------------------------------------------------------------------- // Currently integer to double cannot fail, although there may well be loss @@ -614,7 +614,7 @@ Cdl::integer_to_double(cdl_int value) } void -Cdl::integer_to_double(cdl_int value, double& target) +Cdl::integer_to_double(cdl_int value, double &target) { CYG_REPORT_FUNCNAME("Cdl::integer_to_double"); @@ -624,29 +624,29 @@ Cdl::integer_to_double(cdl_int value, double& target) } //}}} -//{{{ double_to_integer() +//{{{ double_to_integer() // Conversion from double to integer is only allowed if there is no loss // of data. modf() is useful here bool -Cdl::double_to_integer(double value, cdl_int& target) +Cdl::double_to_integer(double value, cdl_int &target) { CYG_REPORT_FUNCNAMETYPE("Cdl::double_to_integer", "result %d"); bool result = false; - + double integral; double frac; frac = modf(value, &integral); if (0.0 == frac) { - // Looking good, but integral may still be too big. - cdl_int tmp = (cdl_int) integral; - if (tmp == value) { - // No fraction, no loss of data, everything looking good - target = tmp; - result = true; - } + // Looking good, but integral may still be too big. + cdl_int tmp = (cdl_int) integral; + if (tmp == value) { + // No fraction, no loss of data, everything looking good + target = tmp; + result = true; + } } CYG_REPORT_RETVAL(result); @@ -656,24 +656,24 @@ Cdl::double_to_integer(double value, cdl_int& target) //}}} //}}} -//{{{ Cdl::xxx_to_yyy() - CDL-specific data types +//{{{ Cdl::xxx_to_yyy() - CDL-specific data types // ---------------------------------------------------------------------------- // Conversions between strings and flavors. static struct { - char* name; - CdlValueFlavor flavor; + const char *name; + CdlValueFlavor flavor; } valid_flavors[] = { - { "none", CdlValueFlavor_None }, - { "bool", CdlValueFlavor_Bool }, - { "booldata", CdlValueFlavor_BoolData }, - { "data", CdlValueFlavor_Data }, - { 0, CdlValueFlavor_Invalid } + { "none", CdlValueFlavor_None }, + { "bool", CdlValueFlavor_Bool }, + { "booldata", CdlValueFlavor_BoolData }, + { "data", CdlValueFlavor_Data }, + { 0, CdlValueFlavor_Invalid } }; bool -Cdl::string_to_flavor(std::string name, CdlValueFlavor& target) +Cdl::string_to_flavor(std::string name, CdlValueFlavor &target) { CYG_REPORT_FUNCNAMETYPE("Cdl::string_to_flavor", "success %d"); @@ -683,51 +683,51 @@ Cdl::string_to_flavor(std::string name, CdlValueFlavor& target) // Tcl is a case-sensitive language, but the conversion is unlikely ever // to be harmfull. for (std::string::iterator str_i = name.begin(); str_i != name.end(); str_i++) { - if (isupper(*str_i)) { - *str_i = tolower(*str_i); - } + if (isupper(*str_i)) { + *str_i = tolower(*str_i); + } } - + // Now look for a match in the table. int match = -1; int i; - const char* c_str = name.c_str(); + const char *c_str = name.c_str(); int len = strlen(c_str); for (i = 0; 0 != valid_flavors[i].name; i++) { - if (0 == strncmp(c_str, valid_flavors[i].name, len)) { - // Check for an ambiguous string match. - // This cannot actually happen with the current flavor names. - if ( -1 != match) { - break; - } - match = i; - } - + if (0 == strncmp(c_str, valid_flavors[i].name, len)) { + // Check for an ambiguous string match. + // This cannot actually happen with the current flavor names. + if ( -1 != match) { + break; + } + match = i; + } + } if (-1 != match) { - target = valid_flavors[match].flavor; - result = true; + target = valid_flavors[match].flavor; + result = true; } CYG_REPORT_RETVAL(result); return result; } bool -Cdl::flavor_to_string(CdlValueFlavor flavor, std::string& target) +Cdl::flavor_to_string(CdlValueFlavor flavor, std::string &target) { CYG_REPORT_FUNCNAMETYPE("Cdl::flavor_to_string", "success %d"); bool result = false; for (int i = 0; 0 != valid_flavors[i].name; i++) { - if (flavor == valid_flavors[i].flavor) { - target = valid_flavors[i].name; - result = true; - break; - } + if (flavor == valid_flavors[i].flavor) { + target = valid_flavors[i].name; + result = true; + break; + } } - + CYG_REPORT_RETVAL(result); return result; } @@ -736,18 +736,18 @@ Cdl::flavor_to_string(CdlValueFlavor flavor, std::string& target) // Similar support for value sources. static struct { - char* name; - CdlValueSource source; + const char *name; + CdlValueSource source; } valid_sources[] = { - { "default", CdlValueSource_Default }, - { "inferred", CdlValueSource_Inferred }, - { "wizard", CdlValueSource_Wizard }, - { "user", CdlValueSource_User }, - { 0, CdlValueSource_Invalid } + { "default", CdlValueSource_Default }, + { "inferred", CdlValueSource_Inferred }, + { "wizard", CdlValueSource_Wizard }, + { "user", CdlValueSource_User }, + { 0, CdlValueSource_Invalid } }; bool -Cdl::string_to_source(std::string name, CdlValueSource& target) +Cdl::string_to_source(std::string name, CdlValueSource &target) { CYG_REPORT_FUNCNAMETYPE("Cdl::string_to_source", "success %d"); @@ -757,57 +757,57 @@ Cdl::string_to_source(std::string name, CdlValueSource& target) // Tcl is a case-sensitive language, but the conversion is unlikely ever // to be harmfull. for (std::string::iterator str_i = name.begin(); str_i != name.end(); str_i++) { - if (isupper(*str_i)) { - *str_i = tolower(*str_i); - } + if (isupper(*str_i)) { + *str_i = tolower(*str_i); + } } - + // Now look for a match in the table. int match = -1; int i; - const char* c_str = name.c_str(); + const char *c_str = name.c_str(); int len = strlen(c_str); for (i = 0; 0 != valid_sources[i].name; i++) { - if (0 == strncmp(c_str, valid_sources[i].name, len)) { - // Check for an ambiguous string match. - // This cannot actually happen with the current source names. - if ( -1 != match) { - break; - } - match = i; - } - + if (0 == strncmp(c_str, valid_sources[i].name, len)) { + // Check for an ambiguous string match. + // This cannot actually happen with the current source names. + if ( -1 != match) { + break; + } + match = i; + } + } if (-1 != match) { - target = valid_sources[match].source; - result = true; + target = valid_sources[match].source; + result = true; } CYG_REPORT_RETVAL(result); return result; } bool -Cdl::source_to_string(CdlValueSource source, std::string& target) +Cdl::source_to_string(CdlValueSource source, std::string &target) { CYG_REPORT_FUNCNAMETYPE("Cdl::source_to_string", "success %d"); bool result = false; for (int i = 0; 0 != valid_sources[i].name; i++) { - if (source == valid_sources[i].source) { - target = valid_sources[i].name; - result = true; - break; - } + if (source == valid_sources[i].source) { + target = valid_sources[i].name; + result = true; + break; + } } - + CYG_REPORT_RETVAL(result); return result; } //}}} -//{{{ Cdl::get_library_version() +//{{{ Cdl::get_library_version() // ---------------------------------------------------------------------------- // The version of the library actually lives inside configure.in. It gets @@ -819,7 +819,7 @@ Cdl::get_library_version(void) } //}}} -//{{{ Cdl::set_interactive() +//{{{ Cdl::set_interactive() // ---------------------------------------------------------------------------- // Some CDL scripts and some bits of the library may want to adapt depending @@ -847,7 +847,7 @@ Cdl::is_interactive(void) } //}}} -//{{{ version support() +//{{{ version support() // ---------------------------------------------------------------------------- // Packages may need to impose constraints on which versions of other @@ -881,134 +881,134 @@ is_separator(int ch) { return ('.' == ch) || ('-' == ch) || ('_' == ch); } - + int Cdl::compare_versions(std::string arg1, std::string arg2) { CYG_REPORT_FUNCNAMETYPE("Cdl::compare_versions", "result %d"); if (arg1 == arg2) { - CYG_REPORT_RETVAL(0); - return 0; + CYG_REPORT_RETVAL(0); + return 0; } // The version number "current" is special, it always indicates the most // recent version e.g. as checked out from a CVS repository. if ("current" == arg1) { - CYG_REPORT_RETVAL(-1); - return -1; + CYG_REPORT_RETVAL(-1); + return -1; } if ("current" == arg2) { - CYG_REPORT_RETVAL(1); - return 1; + CYG_REPORT_RETVAL(1); + return 1; } - const char* ptr1 = arg1.c_str(); - const char* ptr2 = arg2.c_str(); + const char *ptr1 = arg1.c_str(); + const char *ptr2 = arg2.c_str(); int num1 = 0; int num2 = 0; // If both strings start with 'v' or 'V', skip this. A minor variation in // case at the start of a string should be ignored. if ((('v' == *ptr1) || ('V' == *ptr1)) && - (('v' == *ptr2) || ('V' == *ptr2))) { - ptr1++; - ptr2++; + (('v' == *ptr2) || ('V' == *ptr2))) { + ptr1++; + ptr2++; } // Now process the rest of the version string, one unit at a time. while (1) { - if (('\0' == *ptr1) && ('\0' == *ptr2)) { - // Both strings have terminated at the same time. There - // may have been some spurious leading zeroes in numbers, - // or irrelevant differences in the separators. - CYG_REPORT_RETVAL(0); - return 0; - } - - if ('\0' == *ptr1) { - // The first string has ended first. If the second string currently - // points at a separator then arg2 is a derived version, e.g. - // v0.3.p1, and hence newer. Otherwise arg2 is an experimental - // version v0.3beta and hence older. - if (is_separator(*ptr2)) { - CYG_REPORT_RETVAL(1); - return 1; - } else { - CYG_REPORT_RETVAL(-1); - return -1; - } - } - - if ('\0' == *ptr2) { - // As per the previous test. - if (is_separator(*ptr1)) { - CYG_REPORT_RETVAL(-1); - return -1; - } else { - CYG_REPORT_RETVAL(1); - return 1; - } - } - - // If both strings currently point at numerical data, do a conversion and - // a numerical comparison. - if (isdigit(*ptr1) && isdigit(*ptr2)) { - num1 = 0; - num2 = 0; - // Strictly speaking there should be some overflow tests here, but it - // is not worth the trouble. - do { - num1 = (10 * num1) + (*ptr1++ - '0'); - } while(isdigit(*ptr1)); - do { - num2 = (10 * num2) + (*ptr2++ - '0'); - } while(isdigit(*ptr2)); - // v2.0 is newer than v1.0 - if (num1 < num2) { - CYG_REPORT_RETVAL(1); - return 1; - } else if (num1 > num2) { - CYG_REPORT_RETVAL(-1); - return -1; - } else { - continue; - } - } - - // Non-numerical data. If the two characters are the same then - // move on. Note: this has to happen after numerical conversions - // to distinguish v10.0 and v1.0 - if (*ptr1 == *ptr2) { - ptr1++; ptr2++; - continue; - } - - // If both strings are currently at a separator then move on. All - // separators can be used interchangeably. - if (is_separator(*ptr1) && is_separator(*ptr2)) { - ptr1++; ptr2++; - continue; - } - - // If only one string is at a separator, special action - // is needed. v1.1alpha is interpreted as earlier than - // v1.1, but v1.1.3 is a later release. - if (is_separator(*ptr1)) { - return -1; - } else if (is_separator(*ptr2)) { - return 1; - } - - // Two different characters, e.g. v1.0alpha vs. v1.0beta - if (*ptr1 < *ptr2) { - CYG_REPORT_RETVAL(1); - return 1; - } else { - CYG_REPORT_RETVAL(-1); - return -1; - } + if (('\0' == *ptr1) && ('\0' == *ptr2)) { + // Both strings have terminated at the same time. There + // may have been some spurious leading zeroes in numbers, + // or irrelevant differences in the separators. + CYG_REPORT_RETVAL(0); + return 0; + } + + if ('\0' == *ptr1) { + // The first string has ended first. If the second string currently + // points at a separator then arg2 is a derived version, e.g. + // v0.3.p1, and hence newer. Otherwise arg2 is an experimental + // version v0.3beta and hence older. + if (is_separator(*ptr2)) { + CYG_REPORT_RETVAL(1); + return 1; + } else { + CYG_REPORT_RETVAL(-1); + return -1; + } + } + + if ('\0' == *ptr2) { + // As per the previous test. + if (is_separator(*ptr1)) { + CYG_REPORT_RETVAL(-1); + return -1; + } else { + CYG_REPORT_RETVAL(1); + return 1; + } + } + + // If both strings currently point at numerical data, do a conversion and + // a numerical comparison. + if (isdigit(*ptr1) && isdigit(*ptr2)) { + num1 = 0; + num2 = 0; + // Strictly speaking there should be some overflow tests here, but it + // is not worth the trouble. + do { + num1 = (10 * num1) + (*ptr1++ - '0'); + } while(isdigit(*ptr1)); + do { + num2 = (10 * num2) + (*ptr2++ - '0'); + } while(isdigit(*ptr2)); + // v2.0 is newer than v1.0 + if (num1 < num2) { + CYG_REPORT_RETVAL(1); + return 1; + } else if (num1 > num2) { + CYG_REPORT_RETVAL(-1); + return -1; + } else { + continue; + } + } + + // Non-numerical data. If the two characters are the same then + // move on. Note: this has to happen after numerical conversions + // to distinguish v10.0 and v1.0 + if (*ptr1 == *ptr2) { + ptr1++; ptr2++; + continue; + } + + // If both strings are currently at a separator then move on. All + // separators can be used interchangeably. + if (is_separator(*ptr1) && is_separator(*ptr2)) { + ptr1++; ptr2++; + continue; + } + + // If only one string is at a separator, special action + // is needed. v1.1alpha is interpreted as earlier than + // v1.1, but v1.1.3 is a later release. + if (is_separator(*ptr1)) { + return -1; + } else if (is_separator(*ptr2)) { + return 1; + } + + // Two different characters, e.g. v1.0alpha vs. v1.0beta + if (*ptr1 < *ptr2) { + CYG_REPORT_RETVAL(1); + return 1; + } else { + CYG_REPORT_RETVAL(-1); + return -1; + } } // Not reachable. @@ -1020,32 +1020,32 @@ Cdl::compare_versions(std::string arg1, std::string arg2) // iterates through the string looking for sequences of numbers. static void -version_extract_number(const std::string& version, unsigned int& index, std::string& result) +version_extract_number(const std::string &version, unsigned int &index, std::string &result) { CYG_REPORT_FUNCNAME("version_extract_number"); // The calling code is expected to supply a sensible default. // Search for a digit for ( ; index < version.size(); index++) { - if (isdigit(version[index])) { - break; - } + if (isdigit(version[index])) { + break; + } } if (index != version.size()) { - result = ""; - if ((index > 0) && ('-' == version[index-1])) { - result = "-"; - } - do { - result += version[index++]; - } while ((index < version.size()) && isdigit(version[index])); + result = ""; + if ((index > 0) && ('-' == version[index-1])) { + result = "-"; + } + do { + result += version[index++]; + } while ((index < version.size()) && isdigit(version[index])); } - + CYG_REPORT_RETURN(); } void -Cdl::split_version_string(const std::string& version, std::string& major, std::string& minor, std::string& release) +Cdl::split_version_string(const std::string &version, std::string &major, std::string &minor, std::string &release) { CYG_REPORT_FUNCNAME("CdlMisc::split_version_string"); @@ -1053,12 +1053,12 @@ Cdl::split_version_string(const std::string& version, std::string& major, std::s version_extract_number(version, index, major); version_extract_number(version, index, minor); version_extract_number(version, index, release); - + CYG_REPORT_RETURN(); } //}}} -//{{{ Cdl::get_short_form() +//{{{ Cdl::get_short_form() // ---------------------------------------------------------------------------- // It is occasionally useful to take a full CDL name such as CYgpkg_KERNEL @@ -1066,7 +1066,7 @@ Cdl::split_version_string(const std::string& version, std::string& major, std::s // everything up to and including the first underscore, then lowercasing // all subsequent characters. std::string -Cdl::get_short_form(const std::string& original) +Cdl::get_short_form(const std::string &original) { CYG_REPORT_FUNCNAME("CdlMisc::get_short_form"); @@ -1074,21 +1074,21 @@ Cdl::get_short_form(const std::string& original) unsigned int size = original.size(); unsigned int i; for (i = 0; i < size; i++) { - if ('_' == original[i]) { - i++; - break; - } + if ('_' == original[i]) { + i++; + break; + } } // Either at end of string, or just past the first underscore for ( ; i < size; i++) { - if (isupper(original[i])) { - result += tolower(original[i]); - } else { - result += original[i]; - } + if (isupper(original[i])) { + result += tolower(original[i]); + } else { + result += original[i]; + } } - + CYG_REPORT_RETURN(); return result; } diff --git a/tools/src/libcdl/component.cxx b/tools/src/libcdl/component.cxx index 180fe7ff..a2e8b383 100644 --- a/tools/src/libcdl/component.cxx +++ b/tools/src/libcdl/component.cxx @@ -1,4 +1,4 @@ -//{{{ Banner +//{{{ Banner //============================================================================ // @@ -8,29 +8,29 @@ // //============================================================================ //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 2002 Bart Veer // Copyright (C) 1999, 2000 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //============================================================================ //#####DESCRIPTIONBEGIN#### @@ -44,7 +44,7 @@ //============================================================================ //}}} -//{{{ #include's +//{{{ #include's // ---------------------------------------------------------------------------- #include "cdlconfig.h" @@ -61,13 +61,13 @@ //}}} -//{{{ Statics +//{{{ Statics // ---------------------------------------------------------------------------- CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlComponentBody); //}}} -//{{{ Constructor +//{{{ Constructor // ---------------------------------------------------------------------------- CdlComponentBody::CdlComponentBody(std::string name_arg) @@ -90,7 +90,7 @@ CdlComponentBody::CdlComponentBody(std::string name_arg) } //}}} -//{{{ Destructor +//{{{ Destructor // ---------------------------------------------------------------------------- @@ -102,12 +102,12 @@ CdlComponentBody::~CdlComponentBody() cdlcomponentbody_cookie = CdlComponentBody_Invalid; CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } //}}} -//{{{ parse_component() +//{{{ parse_component() // ---------------------------------------------------------------------------- // Parsing a component definition. This routine gets invoked directly from the @@ -119,12 +119,12 @@ CdlComponentBody::parse_component(CdlInterpreter interp, int argc, const char* a CYG_REPORT_FUNCNAMETYPE("CdlComponentBody::parse_component", "result %d"); CYG_REPORT_FUNCARG1("argc %d", argc); CYG_PRECONDITION_CLASSC(interp); - + std::string diag_argv0 = CdlParse::get_tcl_cmd_name(argv[0]); CdlLoadable loadable = interp->get_loadable(); CdlPackage package = dynamic_cast(loadable); - CdlContainer parent = interp->get_container(); + CdlContainer parent = interp->get_container(); CdlToplevel toplevel = interp->get_toplevel(); CYG_ASSERT_CLASSC(loadable); // There should always be a loadable during parsing CYG_ASSERT_CLASSC(package); // And packages are the only loadable for software CDL. @@ -141,57 +141,57 @@ CdlComponentBody::parse_component(CdlInterpreter interp, int argc, const char* a bool ok = true; int result = TCL_OK; try { - - // Currently there are no options. This may change in future. - if (3 != argc) { - CdlParse::report_error(interp, "", - std::string("Incorrect number of arguments to `") + diag_argv0 + - "'\nExpecting name and properties list."); - ok = false; - goto done; - } - if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[2]))) { - CdlParse::report_error(interp, "", - std::string("Invalid property list for cdl_component `") + argv[1] + "'."); - ok = false; - goto done; - } - - if (0 != toplevel->lookup(argv[1])) { - CdlParse::report_error(interp, "", - std::string("Component `") + argv[1] + - "' cannot be loaded.\nThe name is already in use."); - ok = false; - } else { - new_component = new CdlComponentBody(argv[1]); - toplevel->add_node(package, parent, new_component); - } + + // Currently there are no options. This may change in future. + if (3 != argc) { + CdlParse::report_error(interp, "", + std::string("Incorrect number of arguments to `") + diag_argv0 + + "'\nExpecting name and properties list."); + ok = false; + goto done; + } + if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[2]))) { + CdlParse::report_error(interp, "", + std::string("Invalid property list for cdl_component `") + argv[1] + "'."); + ok = false; + goto done; + } + + if (0 != toplevel->lookup(argv[1])) { + CdlParse::report_error(interp, "", + std::string("Component `") + argv[1] + + "' cannot be loaded.\nThe name is already in use."); + ok = false; + } else { + new_component = new CdlComponentBody(argv[1]); + toplevel->add_node(package, parent, new_component); + } done: - if (!ok) { - // Just because this component cannot be created, that is no - // reason to abort the whole parsing process. - CYG_REPORT_RETVAL(TCL_OK); - return TCL_OK; - } + if (!ok) { + // Just because this component cannot be created, that is no + // reason to abort the whole parsing process. + CYG_REPORT_RETVAL(TCL_OK); + return TCL_OK; + } } catch(std::bad_alloc e) { - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); - result = TCL_ERROR; + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); + result = TCL_ERROR; } catch(CdlParseException e) { - interp->set_result(e.get_message()); - result = TCL_ERROR; + interp->set_result(e.get_message()); + result = TCL_ERROR; } catch(...) { - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); - result = TCL_ERROR; + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); + result = TCL_ERROR; } if (TCL_OK != result) { - CYG_REPORT_RETVAL(result); - return result; + CYG_REPORT_RETVAL(result); + return result; } // At this stage new_component has been created and added to the hierarchy. // The main work now is to add the properties. - + // Push the component as the current node early on. This aids // diagnostics. Also make it the new container. CdlNode old_node = interp->push_node(new_component); @@ -206,122 +206,122 @@ CdlComponentBody::parse_component(CdlInterpreter interp, int argc, const char* a std::vector* old_commands = 0; static CdlInterpreterCommandEntry commands[] = { - CdlInterpreterCommandEntry("script", &CdlComponentBody::parse_script ), - CdlInterpreterCommandEntry("cdl_component", &CdlComponentBody::parse_component ), - CdlInterpreterCommandEntry("cdl_option", &CdlOptionBody::parse_option ), - CdlInterpreterCommandEntry("cdl_interface", &CdlInterfaceBody::parse_interface ), - CdlInterpreterCommandEntry("cdl_dialog", &CdlDialogBody::parse_dialog ), - CdlInterpreterCommandEntry("cdl_wizard", &CdlWizardBody::parse_wizard ), - CdlInterpreterCommandEntry("", 0 ) + CdlInterpreterCommandEntry("script", &CdlComponentBody::parse_script ), + CdlInterpreterCommandEntry("cdl_component", &CdlComponentBody::parse_component ), + CdlInterpreterCommandEntry("cdl_option", &CdlOptionBody::parse_option ), + CdlInterpreterCommandEntry("cdl_interface", &CdlInterfaceBody::parse_interface ), + CdlInterpreterCommandEntry("cdl_dialog", &CdlDialogBody::parse_dialog ), + CdlInterpreterCommandEntry("cdl_wizard", &CdlWizardBody::parse_wizard ), + CdlInterpreterCommandEntry("", 0 ) }; static CdlInterpreterCommandEntry script_commands[] = { - CdlInterpreterCommandEntry("cdl_component", &CdlComponentBody::parse_component ), - CdlInterpreterCommandEntry("cdl_option", &CdlOptionBody::parse_option ), - CdlInterpreterCommandEntry("cdl_interface", &CdlInterfaceBody::parse_interface ), - CdlInterpreterCommandEntry("cdl_dialog", &CdlDialogBody::parse_dialog ), - CdlInterpreterCommandEntry("cdl_wizard", &CdlWizardBody::parse_wizard ), - CdlInterpreterCommandEntry("", 0 ), + CdlInterpreterCommandEntry("cdl_component", &CdlComponentBody::parse_component ), + CdlInterpreterCommandEntry("cdl_option", &CdlOptionBody::parse_option ), + CdlInterpreterCommandEntry("cdl_interface", &CdlInterfaceBody::parse_interface ), + CdlInterpreterCommandEntry("cdl_dialog", &CdlDialogBody::parse_dialog ), + CdlInterpreterCommandEntry("cdl_wizard", &CdlWizardBody::parse_wizard ), + CdlInterpreterCommandEntry("", 0 ), }; int i; - + // All parsing errors may result in an exception, under the control of // application code. This exception must not pass through the Tcl interpreter. try { - for (i = 0; 0 != commands[i].command; i++) { - new_commands.push_back(commands[i]); - } - CdlBuildableBody::add_property_parsers(new_commands); - CdlDefinableBody::add_property_parsers(new_commands); - CdlParentableBody::add_property_parsers(new_commands); - CdlValuableBody::add_property_parsers(new_commands); - CdlUserVisibleBody::add_property_parsers(new_commands); - CdlNodeBody::add_property_parsers(new_commands); - - // Now evaluate the body. If an error occurs then typically - // this will be reported via CdlParse::report_error(), - // but any exceptions will have been intercepted and - // turned into a Tcl error. - old_commands = interp->push_commands(new_commands); - result = interp->eval(argv[2], tcl_result); - interp->pop_commands(old_commands); - - if (TCL_OK != result) { - // No point in taking any further action, just go with the flow - goto done2; - } - - // Even if there were errors, they were not fatal. There may - // now be a number of properties for this component, and some - // validation should take place. Start with the base classes. - new_component->CdlNodeBody::check_properties(interp); - new_component->CdlUserVisibleBody::check_properties(interp); - new_component->CdlValuableBody::check_properties(interp); - new_component->CdlParentableBody::check_properties(interp); - new_component->CdlBuildableBody::check_properties(interp); - new_component->CdlDefinableBody::check_properties(interp); - - // There should be at most one each of wizard and script. - if (new_component->count_properties(CdlPropertyId_Wizard) > 1) { - CdlParse::report_error(interp, "", "A component should have at most one `wizard' property."); - } - if (new_component->count_properties(CdlPropertyId_Script) > 1) { - CdlParse::report_error(interp, "", "A component should have at most one `script' property."); - } - - // If there is a script property, life gets more interesting. - if (new_component->has_property(CdlPropertyId_Script)) { - CdlProperty_String prop = dynamic_cast(new_component->get_property(CdlPropertyId_Script)); - CYG_PRECONDITION_CLASSC(prop); - std::string script_name = prop->get_string(); - - // Try to locate this script. - std::string script_filename = package->find_absolute_file(script_name, "cdl", false); - if ("" == script_filename) { - CdlParse::report_error(interp, "", "Unable to find script `" + script_name + "'."); - } else { - // The script exists, so we need to try and execute it. - // The current container is still set correctly, but we need - // to change the filename and install a different set - // of commands. - old_context = interp->push_context(script_filename); - new_commands.clear(); - for (i = 0; 0 != script_commands[i].command; i++) { - new_commands.push_back(script_commands[i]); - } - old_commands = interp->push_commands(new_commands); - result = interp->eval_file(script_filename, tcl_result); - interp->pop_commands(old_commands); - interp->pop_context(old_context); - } - } + for (i = 0; 0 != commands[i].command; i++) { + new_commands.push_back(commands[i]); + } + CdlBuildableBody::add_property_parsers(new_commands); + CdlDefinableBody::add_property_parsers(new_commands); + CdlParentableBody::add_property_parsers(new_commands); + CdlValuableBody::add_property_parsers(new_commands); + CdlUserVisibleBody::add_property_parsers(new_commands); + CdlNodeBody::add_property_parsers(new_commands); + + // Now evaluate the body. If an error occurs then typically + // this will be reported via CdlParse::report_error(), + // but any exceptions will have been intercepted and + // turned into a Tcl error. + old_commands = interp->push_commands(new_commands); + result = interp->eval(argv[2], tcl_result); + interp->pop_commands(old_commands); + + if (TCL_OK != result) { + // No point in taking any further action, just go with the flow + goto done2; + } + + // Even if there were errors, they were not fatal. There may + // now be a number of properties for this component, and some + // validation should take place. Start with the base classes. + new_component->CdlNodeBody::check_properties(interp); + new_component->CdlUserVisibleBody::check_properties(interp); + new_component->CdlValuableBody::check_properties(interp); + new_component->CdlParentableBody::check_properties(interp); + new_component->CdlBuildableBody::check_properties(interp); + new_component->CdlDefinableBody::check_properties(interp); + + // There should be at most one each of wizard and script. + if (new_component->count_properties(CdlPropertyId_Wizard) > 1) { + CdlParse::report_error(interp, "", "A component should have at most one `wizard' property."); + } + if (new_component->count_properties(CdlPropertyId_Script) > 1) { + CdlParse::report_error(interp, "", "A component should have at most one `script' property."); + } + + // If there is a script property, life gets more interesting. + if (new_component->has_property(CdlPropertyId_Script)) { + CdlProperty_String prop = dynamic_cast(new_component->get_property(CdlPropertyId_Script)); + CYG_PRECONDITION_CLASSC(prop); + std::string script_name = prop->get_string(); + + // Try to locate this script. + std::string script_filename = package->find_absolute_file(script_name, "cdl", false); + if ("" == script_filename) { + CdlParse::report_error(interp, "", "Unable to find script `" + script_name + "'."); + } else { + // The script exists, so we need to try and execute it. + // The current container is still set correctly, but we need + // to change the filename and install a different set + // of commands. + old_context = interp->push_context(script_filename); + new_commands.clear(); + for (i = 0; 0 != script_commands[i].command; i++) { + new_commands.push_back(script_commands[i]); + } + old_commands = interp->push_commands(new_commands); + result = interp->eval_file(script_filename, tcl_result); + interp->pop_commands(old_commands); + interp->pop_context(old_context); + } + } done2: - // Dummy command just to keep the compiler happy - old_context = ""; - + // Dummy command just to keep the compiler happy + old_context = ""; + } catch (std::bad_alloc e) { - // Errors at this stage should be reported via Tcl, not via C++. - // However there is no point in continuing with the parsing operation, - // just give up. - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); - result = TCL_ERROR; + // Errors at this stage should be reported via Tcl, not via C++. + // However there is no point in continuing with the parsing operation, + // just give up. + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); + result = TCL_ERROR; } catch (CdlParseException e) { - interp->set_result(e.get_message()); - result = TCL_ERROR; + interp->set_result(e.get_message()); + result = TCL_ERROR; } catch(...) { - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); - result = TCL_ERROR; + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); + result = TCL_ERROR; } // Restore the interpreter to its prior state. interp->pop_node(old_node); interp->pop_container(old_container); if (0 != old_commands) { - interp->pop_commands(old_commands); + interp->pop_commands(old_commands); } - + CYG_REPORT_RETVAL(result); return result; } @@ -335,13 +335,13 @@ CdlComponentBody::parse_script(CdlInterpreter interp, int argc, const char* argv CYG_REPORT_FUNCNAMETYPE("parse_script", "result %d"); int result = CdlParse::parse_string_property(interp, argc, argv, CdlPropertyId_Script, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } //}}} -//{{{ Propagation support +//{{{ Propagation support // ---------------------------------------------------------------------------- void @@ -351,12 +351,12 @@ CdlComponentBody::update(CdlTransaction transaction, CdlUpdate update) this->CdlValuableBody::update(transaction, update); this->CdlContainerBody::update(transaction, update); - + CYG_REPORT_RETURN(); } //}}} -//{{{ Persistence support +//{{{ Persistence support // ---------------------------------------------------------------------------- void @@ -379,31 +379,31 @@ CdlComponentBody::save(CdlInterpreter interp, Tcl_Channel chan, int indentation, CYG_PRECONDITION_CLASSC(interp); if (!minimal || this->has_additional_savefile_information() || this->value_savefile_entry_needed()) { - // Start with the UserVisible data, which will result in a suitable set - // of comments before the package definition itself. - this->CdlUserVisibleBody::save(interp, chan, indentation, minimal); - - // Now output the line "cdl_component {" - // The name is guaranteed to be a valid C preprocessor symbol, so it - // is not going to need any quoting. - std::string data = std::string(indentation, ' ') + "cdl_component " + get_name() + " {\n"; - interp->write_data(chan, data); - - // Deal with the value - bool modifiable = !(CdlValueFlavor_None == this->get_flavor()) && - !this->has_property(CdlPropertyId_Calculated); - this->CdlValuableBody::save(interp, chan, indentation + 4, modifiable, minimal); - - // And with any unrecognised data - this->CdlNodeBody::save(interp, chan, indentation + 4, minimal); - - // Close the cdl_component body. A blank line is added here. - interp->write_data(chan, "};\n\n"); + // Start with the UserVisible data, which will result in a suitable set + // of comments before the package definition itself. + this->CdlUserVisibleBody::save(interp, chan, indentation, minimal); + + // Now output the line "cdl_component {" + // The name is guaranteed to be a valid C preprocessor symbol, so it + // is not going to need any quoting. + std::string data = std::string(indentation, ' ') + "cdl_component " + get_name() + " {\n"; + interp->write_data(chan, data); + + // Deal with the value + bool modifiable = !(CdlValueFlavor_None == this->get_flavor()) && + !this->has_property(CdlPropertyId_Calculated); + this->CdlValuableBody::_save(interp, chan, indentation + 4, modifiable, minimal); + + // And with any unrecognised data + this->CdlNodeBody::save(interp, chan, indentation + 4, minimal); + + // Close the cdl_component body. A blank line is added here. + interp->write_data(chan, "};\n\n"); } - + // Packages are containers, so dump the contents as well. this->CdlContainerBody::save(interp, chan, indentation, minimal); - + CYG_REPORT_RETURN(); } @@ -422,41 +422,41 @@ CdlComponentBody::savefile_component_command(CdlInterpreter interp, int argc, co std::vector subcommands; std::vector* toplevel_commands = 0; CdlNode old_node = 0; - + try { - - if (3 != argc) { - CdlParse::report_error(interp, "", "Invalid cdl_component command in savefile, expecting two arguments."); - } else { - - CdlNode current_node = config->lookup(argv[1]); - if (0 == current_node) { - // FIXME: save value in limbo - CdlParse::report_error(interp, "", - std::string("The savefile contains a cdl_component command for an unknown component `") - + argv[1] + "'"); - } else { - config->get_savefile_subcommands("cdl_component", subcommands); - toplevel_commands = interp->push_commands(subcommands); - old_node = interp->push_node(current_node); - - std::string tcl_result; - result = interp->eval(argv[2], tcl_result); - - interp->pop_commands(toplevel_commands); - toplevel_commands = 0; - interp->pop_node(old_node); - old_node = 0; - } - } + + if (3 != argc) { + CdlParse::report_error(interp, "", "Invalid cdl_component command in savefile, expecting two arguments."); + } else { + + CdlNode current_node = config->lookup(argv[1]); + if (0 == current_node) { + // FIXME: save value in limbo + CdlParse::report_error(interp, "", + std::string("The savefile contains a cdl_component command for an unknown component `") + + argv[1] + "'"); + } else { + config->get_savefile_subcommands("cdl_component", subcommands); + toplevel_commands = interp->push_commands(subcommands); + old_node = interp->push_node(current_node); + + std::string tcl_result; + result = interp->eval(argv[2], tcl_result); + + interp->pop_commands(toplevel_commands); + toplevel_commands = 0; + interp->pop_node(old_node); + old_node = 0; + } + } } catch(...) { - if (0 != old_node) { - interp->pop_node(old_node); - } - if (0 != toplevel_commands) { - interp->pop_commands(toplevel_commands); - } - throw; + if (0 != old_node) { + interp->pop_node(old_node); + } + if (0 != toplevel_commands) { + interp->pop_commands(toplevel_commands); + } + throw; } CYG_REPORT_RETVAL(result); @@ -464,7 +464,7 @@ CdlComponentBody::savefile_component_command(CdlInterpreter interp, int argc, co } //}}} -//{{{ check_this() +//{{{ check_this() // ---------------------------------------------------------------------------- @@ -472,21 +472,21 @@ bool CdlComponentBody::check_this(cyg_assert_class_zeal zeal) const { if (CdlComponentBody_Magic != cdlcomponentbody_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); return CdlNodeBody::check_this(zeal) && - CdlContainerBody::check_this(zeal) && - CdlUserVisibleBody::check_this(zeal) && - CdlParentableBody::check_this(zeal) && - CdlValuableBody::check_this(zeal) && - CdlBuildableBody::check_this(zeal) && - CdlDefinableBody::check_this(zeal); + CdlContainerBody::check_this(zeal) && + CdlUserVisibleBody::check_this(zeal) && + CdlParentableBody::check_this(zeal) && + CdlValuableBody::check_this(zeal) && + CdlBuildableBody::check_this(zeal) && + CdlDefinableBody::check_this(zeal); } //}}} -//{{{ Misc +//{{{ Misc // ---------------------------------------------------------------------------- diff --git a/tools/src/libcdl/config.cxx b/tools/src/libcdl/config.cxx index 3aeb5c50..478a4d7d 100644 --- a/tools/src/libcdl/config.cxx +++ b/tools/src/libcdl/config.cxx @@ -1,4 +1,4 @@ -//{{{ Banner +//{{{ Banner //============================================================================ // @@ -8,29 +8,29 @@ // //============================================================================ //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 2002 Bart Veer // Copyright (C) 1999, 2000 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //============================================================================ //#####DESCRIPTIONBEGIN#### @@ -44,7 +44,7 @@ //============================================================================ //}}} -//{{{ #include's +//{{{ #include's // ---------------------------------------------------------------------------- #include "cdlconfig.h" @@ -61,13 +61,13 @@ //}}} -//{{{ CdlConfiguration constants and statics +//{{{ CdlConfiguration constants and statics // ---------------------------------------------------------------------------- CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlConfigurationBody); //}}} -//{{{ CdlConfiguration:: creation +//{{{ CdlConfiguration:: creation // ---------------------------------------------------------------------------- // The toplevel class will take care of just about everything. @@ -84,10 +84,10 @@ CdlConfigurationBody::CdlConfigurationBody(std::string name, CdlPackagesDatabase database = db; save_file = ""; description = ""; - + cdlconfigurationbody_cookie = CdlConfigurationBody_Magic; CYGDBG_MEMLEAK_CONSTRUCTOR(); - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); } @@ -110,7 +110,7 @@ CdlConfigurationBody::make(std::string name, CdlPackagesDatabase db, CdlInterpre } //}}} -//{{{ CdlConfiguration:: destructor +//{{{ CdlConfiguration:: destructor // ---------------------------------------------------------------------------- CdlConfigurationBody::~CdlConfigurationBody() @@ -135,27 +135,27 @@ CdlConfigurationBody::~CdlConfigurationBody() CdlLocalTransaction transaction(this); const std::vector& loadables = this->get_loadables(); for (int i = loadables.size() - 1; i >= 0; i--) { - CdlPackage pkg = dynamic_cast(loadables[i]); - if (0 != pkg) { - this->unload_package(transaction.get(), pkg); - } + CdlPackage pkg = dynamic_cast(loadables[i]); + if (0 != pkg) { + this->unload_package(transaction.get(), pkg); + } } transaction.propagate(); transaction.commit(); - + cdlconfigurationbody_cookie = CdlConfigurationBody_Invalid; current_hardware = ""; current_template = ""; database = 0; save_file = ""; - + CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } //}}} -//{{{ CdlConfiguration::check_this() +//{{{ CdlConfiguration::check_this() // ---------------------------------------------------------------------------- // There is very little information associated with a configuration. @@ -164,38 +164,38 @@ bool CdlConfigurationBody::check_this(cyg_assert_class_zeal zeal) const { if (CdlConfigurationBody_Magic != cdlconfigurationbody_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); switch(zeal) { case cyg_system_test : case cyg_extreme : - if ((0 == database) || !database->check_this(cyg_quick)) { - return false; - } + if ((0 == database) || !database->check_this(cyg_quick)) { + return false; + } case cyg_thorough : - if (("" != current_hardware) && !database->is_known_target(current_hardware)) { - return false; - } - if (("" != current_template) && !database->is_known_template(current_template)) { - return false; - } + if (("" != current_hardware) && !database->is_known_target(current_hardware)) { + return false; + } + if (("" != current_template) && !database->is_known_template(current_template)) { + return false; + } case cyg_quick : - if (0 == database) { - return false; - } + if (0 == database) { + return false; + } case cyg_trivial : case cyg_none : default : - break; + break; } return CdlNodeBody::check_this(zeal) && CdlContainerBody::check_this(zeal) && CdlToplevelBody::check_this(zeal); } //}}} -//{{{ CdlConfiguration:: basic info +//{{{ CdlConfiguration:: basic info // ---------------------------------------------------------------------------- // Provide ready access to configuration-specific data. @@ -230,7 +230,7 @@ CdlConfigurationBody::set_hardware_name(std::string new_name) CYG_PRECONDITION_THISC(); current_hardware = new_name; - + CYG_REPORT_RETURN(); } @@ -253,7 +253,7 @@ CdlConfigurationBody::set_template_name(std::string new_name) CYG_PRECONDITION_THISC(); current_template = new_name; - + CYG_REPORT_RETURN(); } @@ -280,7 +280,7 @@ CdlConfigurationBody::get_class_name() const } //}}} -//{{{ Load and unload operations - wrappers +//{{{ Load and unload operations - wrappers // ---------------------------------------------------------------------------- // These members are basically wrappers for the functions that do the @@ -289,7 +289,7 @@ CdlConfigurationBody::get_class_name() const void CdlConfigurationBody::load_package(std::string name, std::string version, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) { CYG_REPORT_FUNCNAME("CdlConfiguration::load_package"); CYG_REPORT_FUNCARG1XV(this); @@ -349,7 +349,7 @@ CdlConfigurationBody::unload_package(CdlTransaction transaction, std::string nam void CdlConfigurationBody::change_package_version(std::string name, std::string version, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) { CYG_REPORT_FUNCNAME("CdlConfiguration::change_package_version"); CYG_REPORT_FUNCARG1XV(this); @@ -363,7 +363,7 @@ CdlConfigurationBody::change_package_version(std::string name, std::string versi void CdlConfigurationBody::change_package_version(CdlPackage package, std::string version, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) { CYG_REPORT_FUNCNAME("CdlConfiguration::change_package_version"); CYG_REPORT_FUNCARG1XV(this); @@ -377,7 +377,7 @@ CdlConfigurationBody::change_package_version(CdlPackage package, std::string ver void CdlConfigurationBody::change_package_version(CdlTransaction transaction, std::string name, std::string new_version, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) { CYG_REPORT_FUNCNAME("CdlConfiguration::change_package_version"); CYG_REPORT_FUNCARG2XV(this, transaction); @@ -388,15 +388,15 @@ CdlConfigurationBody::change_package_version(CdlTransaction transaction, std::st CdlPackage package = 0; CdlNode node = this->lookup(name); if (0 != node) { - package = dynamic_cast(node); + package = dynamic_cast(node); } // For now it is illegal to change the version of package that has // not been loaded yet if (0 == package) { - throw CdlInputOutputException(std::string("Cannot change version of \"") + name + "\" , this package is not loaded"); + throw CdlInputOutputException(std::string("Cannot change version of \"") + name + "\" , this package is not loaded"); } CYG_ASSERT_CLASSC(package); - + this->change_package_version(transaction, package, new_version, error_fn, warn_fn, limbo); CYG_REPORT_RETURN(); @@ -404,7 +404,7 @@ CdlConfigurationBody::change_package_version(CdlTransaction transaction, std::st void CdlConfigurationBody::add(std::string filename, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn) { CYG_REPORT_FUNCNAME("CdlConfiguration::add"); CYG_REPORT_FUNCARG1XV(this); @@ -418,7 +418,7 @@ CdlConfigurationBody::add(std::string filename, void CdlConfigurationBody::set_template(std::string name, std::string version, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) { CYG_REPORT_FUNCNAME("CdlConfiguration::set_template"); CYG_REPORT_FUNCARG1XV(this); @@ -432,7 +432,7 @@ CdlConfigurationBody::set_template(std::string name, std::string version, void CdlConfigurationBody::set_template_file(std::string filename, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) { CYG_REPORT_FUNCNAME("CdlConfiguration::set_template_file"); CYG_REPORT_FUNCARG1XV(this); @@ -446,23 +446,23 @@ CdlConfigurationBody::set_template_file(std::string filename, void CdlConfigurationBody::set_template(CdlTransaction transaction, std::string template_name, std::string version, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) { CYG_REPORT_FUNCNAME("CdlConfiguration::set_template"); CYG_REPORT_FUNCARG2XV(this, transaction); // Some consistency checks before doing anything damaging if (!this->database->is_known_template(template_name)) { - throw CdlInputOutputException("Unknown template " + template_name); + throw CdlInputOutputException("Unknown template " + template_name); } std::string template_filename = this->database->get_template_filename(template_name, version); if ("" == template_filename) { - if ("" == version) { - throw CdlInputOutputException("There is no template file corresponding to " + template_name); - } else { - throw CdlInputOutputException("There is no temmplate file corresponding to version " - + version + " of " + template_name); - } + if ("" == version) { + throw CdlInputOutputException("There is no template file corresponding to " + template_name); + } else { + throw CdlInputOutputException("There is no temmplate file corresponding to version " + + version + " of " + template_name); + } } // Now use set_template_file() to do the hard work. @@ -487,7 +487,7 @@ CdlConfigurationBody::unload_template(bool limbo) void CdlConfigurationBody::set_hardware(std::string name, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) { CYG_REPORT_FUNCNAME("CdlConfiguration::set_hardware"); CYG_REPORT_FUNCARG1XV(this); @@ -513,7 +513,7 @@ CdlConfigurationBody::unload_hardware(bool limbo) } //}}} -//{{{ Load and unload - transaction support +//{{{ Load and unload - transaction support // ---------------------------------------------------------------------------- // A number of commit/cancel auxiliary classes are needed to allow the @@ -527,30 +527,30 @@ class CdlConfiguration_CommitCancelLoad : public: CdlConfiguration_CommitCancelLoad(CdlPackage package_arg) - : CdlTransactionCommitCancelOp() + : CdlTransactionCommitCancelOp() { - CYG_ASSERT_CLASSC(package_arg); - package = package_arg; + CYG_ASSERT_CLASSC(package_arg); + package = package_arg; } ~CdlConfiguration_CommitCancelLoad() { - package = 0; + package = 0; } void commit(CdlTransaction transaction) { - CYG_ASSERT_CLASSC(package); - CdlLoadableBody::transaction_commit_load(transaction, package); - package = 0; + CYG_ASSERT_CLASSC(package); + CdlLoadableBody::transaction_commit_load(transaction, package); + package = 0; } void cancel(CdlTransaction transaction) { - CYG_ASSERT_CLASSC(package); - CdlLoadableBody::transaction_cancel_load(transaction, package); - package = 0; + CYG_ASSERT_CLASSC(package); + CdlLoadableBody::transaction_cancel_load(transaction, package); + package = 0; } - + protected: - + private: CdlConfiguration_CommitCancelLoad() { @@ -565,26 +565,26 @@ class CdlConfiguration_CommitCancelUnload : public: CdlConfiguration_CommitCancelUnload(CdlPackage package_arg) - : CdlTransactionCommitCancelOp() + : CdlTransactionCommitCancelOp() { - CYG_ASSERT_CLASSC(package_arg); - package = package_arg; + CYG_ASSERT_CLASSC(package_arg); + package = package_arg; } ~CdlConfiguration_CommitCancelUnload() { - package = 0; + package = 0; } void commit(CdlTransaction transaction) { - CYG_PRECONDITION_CLASSC(package); - CdlLoadableBody::transaction_commit_unload(transaction, package); - package = 0; + CYG_PRECONDITION_CLASSC(package); + CdlLoadableBody::transaction_commit_unload(transaction, package); + package = 0; } void cancel(CdlTransaction transaction) { - CYG_PRECONDITION_CLASSC(package); - CdlLoadableBody::transaction_cancel_unload(transaction, package); - package = 0; + CYG_PRECONDITION_CLASSC(package); + CdlLoadableBody::transaction_cancel_unload(transaction, package); + package = 0; } protected: @@ -603,34 +603,34 @@ class CdlConfiguration_CommitCancelHardwareName : public CdlTransactionCommitCancelOp { friend class CdlTest; - + public: CdlConfiguration_CommitCancelHardwareName(std::string old_name_arg) - : CdlTransactionCommitCancelOp() + : CdlTransactionCommitCancelOp() { - old_name = old_name_arg; + old_name = old_name_arg; } ~CdlConfiguration_CommitCancelHardwareName() { - old_name = ""; + old_name = ""; } void commit(CdlTransaction transaction) { - // The new name is already installed, nothing more needs to happen. - CYG_UNUSED_PARAM(CdlTransaction, transaction); + // The new name is already installed, nothing more needs to happen. + CYG_UNUSED_PARAM(CdlTransaction, transaction); } void cancel(CdlTransaction transaction) { - // Restore the old name - CdlToplevel toplevel = transaction->get_toplevel(); - CYG_ASSERTC(0 != toplevel); - CdlConfiguration configuration = dynamic_cast(toplevel); - CYG_ASSERT_CLASSC(configuration); + // Restore the old name + CdlToplevel toplevel = transaction->get_toplevel(); + CYG_ASSERTC(0 != toplevel); + CdlConfiguration configuration = dynamic_cast(toplevel); + CYG_ASSERT_CLASSC(configuration); - configuration->set_hardware_name(old_name); - CYG_UNUSED_PARAM(CdlTransaction, transaction); + configuration->set_hardware_name(old_name); + CYG_UNUSED_PARAM(CdlTransaction, transaction); } - + protected: private: @@ -644,34 +644,34 @@ class CdlConfiguration_CommitCancelTemplateName : public CdlTransactionCommitCancelOp { friend class CdlTest; - + public: CdlConfiguration_CommitCancelTemplateName(std::string old_name_arg) - : CdlTransactionCommitCancelOp() + : CdlTransactionCommitCancelOp() { - old_name = old_name_arg; + old_name = old_name_arg; } ~CdlConfiguration_CommitCancelTemplateName() { - old_name = ""; + old_name = ""; } void commit(CdlTransaction transaction) { - // The new name is already installed, nothing more needs to happen. - CYG_UNUSED_PARAM(CdlTransaction, transaction); + // The new name is already installed, nothing more needs to happen. + CYG_UNUSED_PARAM(CdlTransaction, transaction); } void cancel(CdlTransaction transaction) { - // Restore the old name - CdlToplevel toplevel = transaction->get_toplevel(); - CYG_ASSERTC(0 != toplevel); - CdlConfiguration configuration = dynamic_cast(toplevel); - CYG_ASSERT_CLASSC(configuration); + // Restore the old name + CdlToplevel toplevel = transaction->get_toplevel(); + CYG_ASSERTC(0 != toplevel); + CdlConfiguration configuration = dynamic_cast(toplevel); + CYG_ASSERT_CLASSC(configuration); - configuration->set_template_name(old_name); - CYG_UNUSED_PARAM(CdlTransaction, transaction); + configuration->set_template_name(old_name); + CYG_UNUSED_PARAM(CdlTransaction, transaction); } - + protected: private: @@ -682,7 +682,7 @@ class CdlConfiguration_CommitCancelTemplateName : }; //}}} -//{{{ CdlConfiguration::load_package() +//{{{ CdlConfiguration::load_package() // ---------------------------------------------------------------------------- // Loading a package into the current level. This involves the following @@ -726,7 +726,7 @@ class CdlConfiguration_CommitCancelTemplateName : void CdlConfigurationBody::load_package(CdlTransaction transaction, std::string name, std::string version, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) { CYG_REPORT_FUNCNAME("CdlConfiguration::load_package"); CYG_REPORT_FUNCARG1XV(this); @@ -737,15 +737,15 @@ CdlConfigurationBody::load_package(CdlTransaction transaction, std::string name, // Locate the database entry. Also check the version (filling it in if necessary). // Get hold of the package directory and the initial script. if (!database->is_known_package(name)) { - throw CdlInputOutputException("Unknown package " + name); + throw CdlInputOutputException("Unknown package " + name); } const std::vector& versions = database->get_package_versions(name); if ("" == version) { - version = *(versions.begin()); + version = *(versions.begin()); } else { - if (std::find(versions.begin(), versions.end(), version) == versions.end()) { - throw CdlInputOutputException("Package " + name + " does not have an installed version `" + version + "'."); - } + if (std::find(versions.begin(), versions.end(), version) == versions.end()) { + throw CdlInputOutputException("Package " + name + " does not have an installed version `" + version + "'."); + } } std::string directory = database->get_package_directory(name); std::string script = database->get_package_script(name); @@ -759,137 +759,137 @@ CdlConfigurationBody::load_package(CdlTransaction transaction, std::string name, std::string tcl_cmd = "regsub -all -- {\\\\} [file join " + directory + " " + version + "] / result; return $result"; std::string tcl_result; if (TCL_OK != interp->eval(tcl_cmd, tcl_result)) { - throw CdlInputOutputException("Cannot load package `" + name + "', internal error constructing pathname."); + throw CdlInputOutputException("Cannot load package `" + name + "', internal error constructing pathname."); } directory = tcl_result; - + tcl_cmd = "file isdirectory [file join \"" + database->get_component_repository() + "\" " + directory + "]"; if ((TCL_OK != interp->eval(tcl_cmd, tcl_result)) || ("1" != tcl_result)) { - throw CdlInputOutputException("Cannot load package `" + name + "', there is no directory `" + directory + "'."); + throw CdlInputOutputException("Cannot load package `" + name + "', there is no directory `" + directory + "'."); } - + // Make sure that there is no name conflict. No resources have been allocated // yet, so this is a good time. CdlNode node = lookup(name); if (0 != node) { - if (0 != dynamic_cast(node)) { - throw CdlInputOutputException("Package `" + name + "' is already loaded."); - } else { + if (0 != dynamic_cast(node)) { + throw CdlInputOutputException("Package `" + name + "' is already loaded."); + } else { - std::string msg = "Name clash for package `" + name + "',there is a `" + - node->get_class_name() + " " + name + "' already loaded"; - CdlLoadable owner_pkg = node->get_owner(); - if (0 != owner_pkg) { - msg += " in package " + owner_pkg->get_name(); - } - throw CdlInputOutputException(msg); - } + std::string msg = "Name clash for package `" + name + "',there is a `" + + node->get_class_name() + " " + name + "' already loaded"; + CdlLoadable owner_pkg = node->get_owner(); + if (0 != owner_pkg) { + msg += " in package " + owner_pkg->get_name(); + } + throw CdlInputOutputException(msg); + } } // Now create the package object itself. CdlPackage package = 0; bool bound = false; CdlConfiguration_CommitCancelLoad* load_op = 0; - + try { - package = new CdlPackageBody(name, this, directory); - - // The package should be added to the hierarchy immediately. - // All nodes will get added to the hierarchy as they are - // created, an operation that has to be undone during - // failure. - this->add_node(package, this, package); - - // Load the package data. The various nodes will all end up - // in a hierarchy below the package, but without any checks - // for name conflicts etc and ignoring any re-parenting. - CdlInterpreter interp = package->get_interpreter(); - CYG_ASSERT_CLASSC(interp); - - interp->add_command("unknown", &CdlParse::unknown_command); - CdlInterpreterBody::DiagSupport diag_support(interp, error_fn, warn_fn); - - // Next figure out the script name, and make sure that it exists. - std::string actual_script = package->find_absolute_file(script, "cdl"); - if ("" == actual_script) { - throw CdlInputOutputException("Package " + name + ", unable to find initial script " + script); - } - tcl_cmd = "file isfile \"" + actual_script + "\""; - if ((TCL_OK != interp->eval(tcl_cmd, tcl_result)) || ("1" != tcl_result)) { - throw CdlInputOutputException("Package " + name + ", " + actual_script + " is not a CDL script"); - } - - // The script is valid. Set up the interpreter appropriately. - CdlParse::clear_error_count(interp); - static CdlInterpreterCommandEntry commands[] = - { - CdlInterpreterCommandEntry("cdl_package", &CdlPackageBody::parse_package ), - CdlInterpreterCommandEntry("cdl_component", &CdlComponentBody::parse_component ), - CdlInterpreterCommandEntry("cdl_option", &CdlOptionBody::parse_option ), - CdlInterpreterCommandEntry("cdl_interface", &CdlInterfaceBody::parse_interface ), - CdlInterpreterCommandEntry("cdl_dialog", &CdlDialogBody::parse_dialog ), - CdlInterpreterCommandEntry("cdl_wizard", &CdlWizardBody::parse_wizard ), - CdlInterpreterCommandEntry("", 0 ) - }; - CdlInterpreterBody::CommandSupport interp_cmds(interp, commands); - CdlInterpreterBody::ContainerSupport interp_container(interp, package); - CdlInterpreterBody::ContextSupport interp_context(interp, actual_script); - - // The interpreter is now ready. - (void) interp->eval_file(actual_script); - - // Clean out the commands etc. This interpreter may get used again - // in future, and it should not be possible to define new options - // etc. in that invocation. - interp->remove_command("unknown"); - - // All the data has been read in without generating an - // exception. However there may have been errors reported via - // the parse_error_fn, and any errors at all should result - // in an exception. - int error_count = CdlParse::get_error_count(interp); - if (error_count > 0) { - std::string tmp; - Cdl::integer_to_string(error_count, tmp); - throw CdlParseException("Package " + name + ", " + tmp + " error" + - ((error_count > 1) ? "s" : "") + - " occurred while reading in the CDL data."); - } - - // All the data has been read in, implying that there are no - // fatal problems with the data. Now try to bind all - // references to and from this loadable. - package->bind(transaction); - bound = true; - - // Finally, create a suitable transaction commit/cancel object - // and add it to the transaction. - load_op = new CdlConfiguration_CommitCancelLoad(package); - transaction->add_commit_cancel_op(load_op); - + package = new CdlPackageBody(name, this, directory); + + // The package should be added to the hierarchy immediately. + // All nodes will get added to the hierarchy as they are + // created, an operation that has to be undone during + // failure. + this->add_node(package, this, package); + + // Load the package data. The various nodes will all end up + // in a hierarchy below the package, but without any checks + // for name conflicts etc and ignoring any re-parenting. + CdlInterpreter interp = package->get_interpreter(); + CYG_ASSERT_CLASSC(interp); + + interp->add_command("unknown", &CdlParse::unknown_command); + CdlInterpreterBody::DiagSupport diag_support(interp, error_fn, warn_fn); + + // Next figure out the script name, and make sure that it exists. + std::string actual_script = package->find_absolute_file(script, "cdl"); + if ("" == actual_script) { + throw CdlInputOutputException("Package " + name + ", unable to find initial script " + script); + } + tcl_cmd = "file isfile \"" + actual_script + "\""; + if ((TCL_OK != interp->eval(tcl_cmd, tcl_result)) || ("1" != tcl_result)) { + throw CdlInputOutputException("Package " + name + ", " + actual_script + " is not a CDL script"); + } + + // The script is valid. Set up the interpreter appropriately. + CdlParse::clear_error_count(interp); + static CdlInterpreterCommandEntry commands[] = + { + CdlInterpreterCommandEntry("cdl_package", &CdlPackageBody::parse_package ), + CdlInterpreterCommandEntry("cdl_component", &CdlComponentBody::parse_component ), + CdlInterpreterCommandEntry("cdl_option", &CdlOptionBody::parse_option ), + CdlInterpreterCommandEntry("cdl_interface", &CdlInterfaceBody::parse_interface ), + CdlInterpreterCommandEntry("cdl_dialog", &CdlDialogBody::parse_dialog ), + CdlInterpreterCommandEntry("cdl_wizard", &CdlWizardBody::parse_wizard ), + CdlInterpreterCommandEntry("", 0 ) + }; + CdlInterpreterBody::CommandSupport interp_cmds(interp, commands); + CdlInterpreterBody::ContainerSupport interp_container(interp, package); + CdlInterpreterBody::ContextSupport interp_context(interp, actual_script); + + // The interpreter is now ready. + (void) interp->eval_file(actual_script); + + // Clean out the commands etc. This interpreter may get used again + // in future, and it should not be possible to define new options + // etc. in that invocation. + interp->remove_command("unknown"); + + // All the data has been read in without generating an + // exception. However there may have been errors reported via + // the parse_error_fn, and any errors at all should result + // in an exception. + int error_count = CdlParse::get_error_count(interp); + if (error_count > 0) { + std::string tmp; + Cdl::integer_to_string(error_count, tmp); + throw CdlParseException("Package " + name + ", " + tmp + " error" + + ((error_count > 1) ? "s" : "") + + " occurred while reading in the CDL data."); + } + + // All the data has been read in, implying that there are no + // fatal problems with the data. Now try to bind all + // references to and from this loadable. + package->bind(transaction); + bound = true; + + // Finally, create a suitable transaction commit/cancel object + // and add it to the transaction. + load_op = new CdlConfiguration_CommitCancelLoad(package); + transaction->add_commit_cancel_op(load_op); + } catch (...) { - // Something went wrong during the create or load. It is necessary - // to delete the package. Undo all the operations above, in - // reverse order. The add_commit_cancel_op() was the last step, - // so need not be undone here. - if (0 != load_op) { - delete load_op; - } - - if (0 != package) { - // Note: no attempt is made to recover from errors here - if (bound) { - package->unbind(transaction); - } - this->remove_loadable_from_toplevel(package); - delete package; - } - throw; + // Something went wrong during the create or load. It is necessary + // to delete the package. Undo all the operations above, in + // reverse order. The add_commit_cancel_op() was the last step, + // so need not be undone here. + if (0 != load_op) { + delete load_op; + } + + if (0 != package) { + // Note: no attempt is made to recover from errors here + if (bound) { + package->unbind(transaction); + } + this->remove_loadable_from_toplevel(package); + delete package; + } + throw; } // FIXME: implement limbo support - + // We also have a sensible value for the package as a whole. // Use this value for both default and user - after all the // user has selected the package. @@ -900,7 +900,7 @@ CdlConfigurationBody::load_package(CdlTransaction transaction, std::string name, } //}}} -//{{{ CdlConfiguration::unload_package() +//{{{ CdlConfiguration::unload_package() // ---------------------------------------------------------------------------- // Unloading a package is very simple. If requested, save all current @@ -924,52 +924,52 @@ CdlConfigurationBody::unload_package(CdlTransaction transaction, CdlPackage pack CYG_PRECONDITION_CLASSC(package); if (limbo) { - const std::vector& pkg_contents = package->get_owned(); - std::vector::const_iterator node_i; - - for (node_i = pkg_contents.begin(); node_i != pkg_contents.end(); node_i++) { - CdlValuable valuable = dynamic_cast(*node_i); - if (0 != valuable) { - if (valuable->has_source(CdlValueSource_Inferred) || - valuable->has_source(CdlValueSource_Wizard) || - valuable->has_source(CdlValueSource_User)) { - - set_limbo_value(valuable); - } - } - } + const std::vector& pkg_contents = package->get_owned(); + std::vector::const_iterator node_i; + + for (node_i = pkg_contents.begin(); node_i != pkg_contents.end(); node_i++) { + CdlValuable valuable = dynamic_cast(*node_i); + if (0 != valuable) { + if (valuable->has_source(CdlValueSource_Inferred) || + valuable->has_source(CdlValueSource_Wizard) || + valuable->has_source(CdlValueSource_User)) { + + set_limbo_value(valuable); + } + } + } } bool unbound = false; bool removed = false; CdlConfiguration_CommitCancelUnload* unload_op = 0; try { - - package->unbind(transaction); - unbound = true; - this->remove_loadable_from_toplevel(package); - removed = true; - unload_op = new CdlConfiguration_CommitCancelUnload(package); - transaction->add_commit_cancel_op(unload_op); - + + package->unbind(transaction); + unbound = true; + this->remove_loadable_from_toplevel(package); + removed = true; + unload_op = new CdlConfiguration_CommitCancelUnload(package); + transaction->add_commit_cancel_op(unload_op); + } catch(...) { - if (0 != unload_op) { - delete unload_op; - } - if (removed) { - this->add_loadable_to_toplevel(package); - } - if (unbound) { - package->bind(transaction); - } - throw; - } - + if (0 != unload_op) { + delete unload_op; + } + if (removed) { + this->add_loadable_to_toplevel(package); + } + if (unbound) { + package->bind(transaction); + } + throw; + } + CYG_REPORT_RETURN(); } //}}} -//{{{ CdlConfiguration::change_package_version() +//{{{ CdlConfiguration::change_package_version() // ---------------------------------------------------------------------------- // Changing a package version is just a case of unloading the old version @@ -979,7 +979,7 @@ CdlConfigurationBody::unload_package(CdlTransaction transaction, CdlPackage pack void CdlConfigurationBody::change_package_version(CdlTransaction transaction, CdlPackage package, std::string new_version, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) { CYG_REPORT_FUNCNAME("CdlConfiguration::change_package_version"); CYG_REPORT_FUNCARG3XV(this, transaction, package); @@ -993,34 +993,34 @@ CdlConfigurationBody::change_package_version(CdlTransaction transaction, CdlPack std::string name = package->get_name(); const std::vector& pkg_versions = database->get_package_versions(name); if ("" == new_version) { - new_version = *(pkg_versions.begin()); + new_version = *(pkg_versions.begin()); } else if (std::find(pkg_versions.begin(), pkg_versions.end(), new_version) == pkg_versions.end()) { - throw CdlInputOutputException("Version " + new_version + " of package " + name + " is not installed."); + throw CdlInputOutputException("Version " + new_version + " of package " + name + " is not installed."); } bool unloaded = false; try { - this->unload_package(transaction, package, limbo); - unloaded = true; - this->load_package(transaction, name, new_version, error_fn, warn_fn, limbo); + this->unload_package(transaction, package, limbo); + unloaded = true; + this->load_package(transaction, name, new_version, error_fn, warn_fn, limbo); } catch(...) { - if (unloaded) { - // There should be a commit/cancel op for the unload package step. - // This can be undone. - CdlTransactionCommitCancelOp* unload_op = transaction->get_last_commit_cancel_op(); - CYG_ASSERTC(0 != unload_op); - CYG_ASSERTC(0 != dynamic_cast(unload_op)); - transaction->cancel_last_commit_cancel_op(); - CYG_UNUSED_PARAM(CdlTransactionCommitCancelOp*, unload_op); - } - throw; + if (unloaded) { + // There should be a commit/cancel op for the unload package step. + // This can be undone. + CdlTransactionCommitCancelOp* unload_op = transaction->get_last_commit_cancel_op(); + CYG_ASSERTC(0 != unload_op); + CYG_ASSERTC(0 != dynamic_cast(unload_op)); + transaction->cancel_last_commit_cancel_op(); + CYG_UNUSED_PARAM(CdlTransactionCommitCancelOp*, unload_op); + } + throw; } CYG_REPORT_RETURN(); } //}}} -//{{{ CdlConfiguration::set_hardware() etc. +//{{{ CdlConfiguration::set_hardware() etc. // ---------------------------------------------------------------------------- // Setting the hardware involves unloading the old hardware, if any, and @@ -1031,7 +1031,7 @@ CdlConfigurationBody::change_package_version(CdlTransaction transaction, CdlPack void CdlConfigurationBody::set_hardware(CdlTransaction transaction, std::string target_name, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) { CYG_REPORT_FUNCNAME("CdlConfiguration::set_hardware"); CYG_REPORT_FUNCARG2XV(this, transaction); @@ -1040,153 +1040,153 @@ CdlConfigurationBody::set_hardware(CdlTransaction transaction, std::string targe // Minimal consistency check before attempting anything complicated. if (!database->is_known_target(target_name)) { - throw CdlInputOutputException("Unknown target " + target_name); + throw CdlInputOutputException("Unknown target " + target_name); } CdlInterpreter interp = this->get_interpreter(); CdlInterpreterBody::DiagSupport diag_support(interp, error_fn, warn_fn); CdlInterpreterBody::ContextSupport context_support(interp, "Hardware selection"); - + CdlConfiguration_CommitCancelHardwareName* rename_op = new CdlConfiguration_CommitCancelHardwareName(current_hardware); try { - transaction->add_commit_cancel_op(rename_op); - const std::vector& loadables = this->get_loadables(); - int i; - for (i = (int) loadables.size() - 1; i >= 0; i--) { - CdlPackage package = dynamic_cast(loadables[i]); - if ((0 != package) && package->belongs_to_hardware()) { - this->unload_package(transaction, package, limbo); - } - } - current_hardware = ""; - - if ("" != target_name) { - - const std::vector& packages = database->get_target_packages(target_name); - std::vector::const_iterator name_i; - for (name_i = packages.begin(); name_i != packages.end(); name_i++) { - // Target specifications may refer to packages that are not - // installed. This is useful in e.g. an anoncvs environment. - if (database->is_known_package(*name_i)) { - // It is possible for a hardware package to have been - // loaded separately, in which case there is no point in - // loading it again. - if (0 == this->lookup(*name_i)) { - this->load_package(transaction, *name_i, "", - error_fn, warn_fn, limbo); - CdlPackage package = dynamic_cast(this->lookup(*name_i)); - CYG_LOOP_INVARIANT_CLASSC(package); - package->loaded_for_hardware = true; - } - } else { - CdlParse::report_warning(interp, "", - std::string("The target specification lists a package `") + *name_i + - "' which is not present in the component repository."); - } - } - } - current_hardware = target_name; - + transaction->add_commit_cancel_op(rename_op); + const std::vector& loadables = this->get_loadables(); + int i; + for (i = (int) loadables.size() - 1; i >= 0; i--) { + CdlPackage package = dynamic_cast(loadables[i]); + if ((0 != package) && package->belongs_to_hardware()) { + this->unload_package(transaction, package, limbo); + } + } + current_hardware = ""; + + if ("" != target_name) { + + const std::vector& packages = database->get_target_packages(target_name); + std::vector::const_iterator name_i; + for (name_i = packages.begin(); name_i != packages.end(); name_i++) { + // Target specifications may refer to packages that are not + // installed. This is useful in e.g. an anoncvs environment. + if (database->is_known_package(*name_i)) { + // It is possible for a hardware package to have been + // loaded separately, in which case there is no point in + // loading it again. + if (0 == this->lookup(*name_i)) { + this->load_package(transaction, *name_i, "", + error_fn, warn_fn, limbo); + CdlPackage package = dynamic_cast(this->lookup(*name_i)); + CYG_LOOP_INVARIANT_CLASSC(package); + package->loaded_for_hardware = true; + } + } else { + CdlParse::report_warning(interp, "", + std::string("The target specification lists a package `") + *name_i + + "' which is not present in the component repository."); + } + } + } + current_hardware = target_name; + } catch(...) { - // Cancel all operations up to and including the rename_op - CdlTransactionCommitCancelOp* cancel_op = 0; - do { - cancel_op = transaction->get_last_commit_cancel_op(); - CYG_LOOP_INVARIANTC(0 != cancel_op); - transaction->cancel_last_commit_cancel_op(); - } while(cancel_op != rename_op); - throw; + // Cancel all operations up to and including the rename_op + CdlTransactionCommitCancelOp* cancel_op = 0; + do { + cancel_op = transaction->get_last_commit_cancel_op(); + CYG_LOOP_INVARIANTC(0 != cancel_op); + transaction->cancel_last_commit_cancel_op(); + } while(cancel_op != rename_op); + throw; } // There may have been enables/disables and value data for that target // FIXME: any problems get ignored quietly. There should at least // be some warnings. if ("" != target_name) { - const std::vector& enables = database->get_target_enables(target_name); - const std::vector& disables = database->get_target_disables(target_name); - const std::vector >& set_values = database->get_target_set_values(target_name); - - if ((0 != enables.size()) || (0 != disables.size()) || (0 != set_values.size())) { - std::vector::const_iterator opt_i; - CdlNode node; - CdlValuable valuable; - CdlValueFlavor flavor; - - for (opt_i = enables.begin(); opt_i != enables.end(); opt_i++) { - valuable = 0; - node = this->lookup(*opt_i); - if (0 != node) { - valuable = dynamic_cast(node); - if (0 != valuable) { - } - } - if (0 != valuable) { - flavor = valuable->get_flavor(); - if ((CdlValueFlavor_Bool == flavor) || (CdlValueFlavor_BoolData == flavor)) { - valuable->enable(transaction, CdlValueSource_User); - } else { - CdlParse::report_warning(interp, std::string("target `") + target_name + "'", - std::string("The option `") + *opt_i + - "' is supposed to be enabled for this target.\n" + - "However the option does not have a bool or booldata flavors."); - } - } else { - CdlParse::report_warning(interp, std::string("target `") + target_name + "'", - std::string("The option `") + *opt_i + - "' is supposed to be enabled for this target.\n" + - "However this option is not in the current configuration."); - } - } - for (opt_i = disables.begin(); opt_i != disables.end(); opt_i++) { - valuable = 0; - node = this->lookup(*opt_i); - if (0 != node) { - valuable = dynamic_cast(node); - } - if (0 != valuable) { - flavor = valuable->get_flavor(); - if ((CdlValueFlavor_Bool == flavor) || (CdlValueFlavor_BoolData == flavor)) { - valuable->disable(transaction, CdlValueSource_User); - } else { - CdlParse::report_warning(interp, std::string("target `") + target_name + "'", - std::string("The option `") + *opt_i + - "' is supposed to be disabled for this target.\n" + - "However the option does not have a bool or booldata flavors."); - } - } else { - CdlParse::report_warning(interp, std::string("target `") + target_name + "'", - std::string("The option `") + *opt_i + - "' is supposed to be disabled for this target.\n" + - "However this option is not in the current configuration."); - } - } - std::vector >::const_iterator value_i; - for (value_i = set_values.begin(); value_i != set_values.end(); value_i++) { - valuable = 0; - node = this->lookup(value_i->first); - if (0 != node) { - valuable = dynamic_cast(node); - } - if (0 != valuable) { - flavor = valuable->get_flavor(); - if ((CdlValueFlavor_BoolData == flavor) || (CdlValueFlavor_Data == flavor)) { - valuable->set_value(transaction, value_i->second, CdlValueSource_User); - } else { - CdlParse::report_warning(interp, std::string("target `") + target_name + "'", - std::string("The option `") + *opt_i + - "' is supposed to be given the value `" + value_i->second + - "' for this target.\n" + - "However the option does not have a data or booldata flavor."); - } - } else { - CdlParse::report_warning(interp, std::string("target `") + target_name + "'", - std::string("The option `") + *opt_i + - "' is supposed to be given the value `" + value_i->second + - "' for this target.\n" + - "However this option is not in the current configuration."); - } - } - } + const std::vector& enables = database->get_target_enables(target_name); + const std::vector& disables = database->get_target_disables(target_name); + const std::vector >& set_values = database->get_target_set_values(target_name); + + if ((0 != enables.size()) || (0 != disables.size()) || (0 != set_values.size())) { + std::vector::const_iterator opt_i; + CdlNode node; + CdlValuable valuable; + CdlValueFlavor flavor; + + for (opt_i = enables.begin(); opt_i != enables.end(); opt_i++) { + valuable = 0; + node = this->lookup(*opt_i); + if (0 != node) { + valuable = dynamic_cast(node); + if (0 != valuable) { + } + } + if (0 != valuable) { + flavor = valuable->get_flavor(); + if ((CdlValueFlavor_Bool == flavor) || (CdlValueFlavor_BoolData == flavor)) { + valuable->enable(transaction, CdlValueSource_User); + } else { + CdlParse::report_warning(interp, std::string("target `") + target_name + "'", + std::string("The option `") + *opt_i + + "' is supposed to be enabled for this target.\n" + + "However the option does not have a bool or booldata flavors."); + } + } else { + CdlParse::report_warning(interp, std::string("target `") + target_name + "'", + std::string("The option `") + *opt_i + + "' is supposed to be enabled for this target.\n" + + "However this option is not in the current configuration."); + } + } + for (opt_i = disables.begin(); opt_i != disables.end(); opt_i++) { + valuable = 0; + node = this->lookup(*opt_i); + if (0 != node) { + valuable = dynamic_cast(node); + } + if (0 != valuable) { + flavor = valuable->get_flavor(); + if ((CdlValueFlavor_Bool == flavor) || (CdlValueFlavor_BoolData == flavor)) { + valuable->disable(transaction, CdlValueSource_User); + } else { + CdlParse::report_warning(interp, std::string("target `") + target_name + "'", + std::string("The option `") + *opt_i + + "' is supposed to be disabled for this target.\n" + + "However the option does not have a bool or booldata flavors."); + } + } else { + CdlParse::report_warning(interp, std::string("target `") + target_name + "'", + std::string("The option `") + *opt_i + + "' is supposed to be disabled for this target.\n" + + "However this option is not in the current configuration."); + } + } + std::vector >::const_iterator value_i; + for (value_i = set_values.begin(); value_i != set_values.end(); value_i++) { + valuable = 0; + node = this->lookup(value_i->first); + if (0 != node) { + valuable = dynamic_cast(node); + } + if (0 != valuable) { + flavor = valuable->get_flavor(); + if ((CdlValueFlavor_BoolData == flavor) || (CdlValueFlavor_Data == flavor)) { + valuable->set_value(transaction, value_i->second, CdlValueSource_User); + } else { + CdlParse::report_warning(interp, std::string("target `") + target_name + "'", + std::string("The option `") + *opt_i + + "' is supposed to be given the value `" + value_i->second + + "' for this target.\n" + + "However the option does not have a data or booldata flavor."); + } + } else { + CdlParse::report_warning(interp, std::string("target `") + target_name + "'", + std::string("The option `") + *opt_i + + "' is supposed to be given the value `" + value_i->second + + "' for this target.\n" + + "However this option is not in the current configuration."); + } + } + } } CYG_REPORT_RETURN(); @@ -1201,41 +1201,41 @@ CdlConfigurationBody::unload_hardware(CdlTransaction transaction, bool limbo) CdlConfiguration_CommitCancelHardwareName* rename_op = new CdlConfiguration_CommitCancelHardwareName(current_hardware); try { - transaction->add_commit_cancel_op(rename_op); + transaction->add_commit_cancel_op(rename_op); } catch(...) { - delete rename_op; - throw; + delete rename_op; + throw; } current_hardware = ""; try { - const std::vector& loadables = this->get_loadables(); - for (int i = (int) loadables.size() - 1; i >= 0; i--) { - CdlPackage package = dynamic_cast(loadables[i]); - if ((0 != package) && package->belongs_to_hardware()) { - this->unload_package(transaction, package, limbo); - } - } + const std::vector& loadables = this->get_loadables(); + for (int i = (int) loadables.size() - 1; i >= 0; i--) { + CdlPackage package = dynamic_cast(loadables[i]); + if ((0 != package) && package->belongs_to_hardware()) { + this->unload_package(transaction, package, limbo); + } + } } catch(...) { - CdlTransactionCommitCancelOp* cancel_op = 0; - do { - cancel_op = transaction->get_last_commit_cancel_op(); - CYG_LOOP_INVARIANTC(0 != cancel_op); - transaction->cancel_last_commit_cancel_op(); - } while(cancel_op != rename_op); - throw; + CdlTransactionCommitCancelOp* cancel_op = 0; + do { + cancel_op = transaction->get_last_commit_cancel_op(); + CYG_LOOP_INVARIANTC(0 != cancel_op); + transaction->cancel_last_commit_cancel_op(); + } while(cancel_op != rename_op); + throw; } CYG_REPORT_RETURN(); } //}}} -//{{{ CdlConfiguration::set_template() etc +//{{{ CdlConfiguration::set_template() etc // ---------------------------------------------------------------------------- void CdlConfigurationBody::set_template_file(CdlTransaction transaction, std::string filename, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn, bool limbo) { CYG_REPORT_FUNCNAME("CdlConfiguration::set_template_file"); CYG_REPORT_FUNCARG3XV(this, transaction, limbo); @@ -1258,46 +1258,46 @@ CdlConfigurationBody::set_template_file(CdlTransaction transaction, std::string // with savefiles. const std::vector& loadables = this->get_loadables(); unsigned int load_i = loadables.size(); - + try { - transaction->add_commit_cancel_op(rename_op); - const std::vector& loadables = this->get_loadables(); - for (i = (int) loadables.size() - 1; i >= 0; i--) { - CdlPackage package = dynamic_cast(loadables[i]); - if ((0 != package) && package->belongs_to_template()) { - this->unload_package(transaction, package, limbo); - } - } - current_template = ""; - - this->add(transaction, filename, error_fn, warn_fn); - this->current_template = filename; - this->set_name(saved_name); - this->description = saved_description; - this->current_hardware = saved_hardware; - - for ( ; load_i < loadables.size(); load_i++) { - CdlPackage pkg = dynamic_cast(loadables[load_i]); - CYG_ASSERT_CLASSC(pkg); - pkg->loaded_for_template = true; - } - + transaction->add_commit_cancel_op(rename_op); + const std::vector& loadables = this->get_loadables(); + for (i = (int) loadables.size() - 1; i >= 0; i--) { + CdlPackage package = dynamic_cast(loadables[i]); + if ((0 != package) && package->belongs_to_template()) { + this->unload_package(transaction, package, limbo); + } + } + current_template = ""; + + this->add(transaction, filename, error_fn, warn_fn); + this->current_template = filename; + this->set_name(saved_name); + this->description = saved_description; + this->current_hardware = saved_hardware; + + for ( ; load_i < loadables.size(); load_i++) { + CdlPackage pkg = dynamic_cast(loadables[load_i]); + CYG_ASSERT_CLASSC(pkg); + pkg->loaded_for_template = true; + } + } catch(...) { - - this->set_name(saved_name); - this->description = saved_description; - this->current_hardware = saved_hardware; - - // Cancel all operations up to and including the rename_op - CdlTransactionCommitCancelOp* cancel_op = 0; - do { - cancel_op = transaction->get_last_commit_cancel_op(); - CYG_LOOP_INVARIANTC(0 != cancel_op); - transaction->cancel_last_commit_cancel_op(); - } while(cancel_op != rename_op); - throw; - } - + + this->set_name(saved_name); + this->description = saved_description; + this->current_hardware = saved_hardware; + + // Cancel all operations up to and including the rename_op + CdlTransactionCommitCancelOp* cancel_op = 0; + do { + cancel_op = transaction->get_last_commit_cancel_op(); + CYG_LOOP_INVARIANTC(0 != cancel_op); + transaction->cancel_last_commit_cancel_op(); + } while(cancel_op != rename_op); + throw; + } + CYG_REPORT_RETURN(); } @@ -1312,38 +1312,38 @@ CdlConfigurationBody::unload_template(CdlTransaction transaction, bool limbo) CdlConfiguration_CommitCancelTemplateName* rename_op = new CdlConfiguration_CommitCancelTemplateName(current_template); try { - transaction->add_commit_cancel_op(rename_op); + transaction->add_commit_cancel_op(rename_op); } catch(...) { - delete rename_op; - throw; + delete rename_op; + throw; } current_template = ""; try { - const std::vector& loadables = this->get_loadables(); - for (int i = (int) loadables.size() - 1; i >= 0; i--) { - CdlPackage package = dynamic_cast(loadables[i]); - if ((0 != package) && package->belongs_to_template()) { - this->unload_package(transaction, package, limbo); - } - } + const std::vector& loadables = this->get_loadables(); + for (int i = (int) loadables.size() - 1; i >= 0; i--) { + CdlPackage package = dynamic_cast(loadables[i]); + if ((0 != package) && package->belongs_to_template()) { + this->unload_package(transaction, package, limbo); + } + } } catch(...) { - CdlTransactionCommitCancelOp* cancel_op = 0; - do { - cancel_op = transaction->get_last_commit_cancel_op(); - CYG_LOOP_INVARIANTC(0 != cancel_op); - transaction->cancel_last_commit_cancel_op(); - } while(cancel_op != rename_op); - throw; - } - + CdlTransactionCommitCancelOp* cancel_op = 0; + do { + cancel_op = transaction->get_last_commit_cancel_op(); + CYG_LOOP_INVARIANTC(0 != cancel_op); + transaction->cancel_last_commit_cancel_op(); + } while(cancel_op != rename_op); + throw; + } + CYG_REPORT_RETURN(); } //}}} -//{{{ Persistence support +//{{{ Persistence support -//{{{ initialize_savefile_support() +//{{{ initialize_savefile_support() // ---------------------------------------------------------------------------- // Initialization. The purpose of this code is to determine all the @@ -1361,7 +1361,7 @@ CdlConfigurationBody::initialize_savefile_support() CYG_REPORT_FUNCNAME("CdlConfiguration::initialize_savefile_support"); CYG_REPORT_FUNCARG1XV(this); CYG_PRECONDITION_THISC(); - + // Start with the generic stuff such as cdl_savefile_version and // cdl_command. this->CdlToplevelBody::initialize_savefile_support(); @@ -1380,7 +1380,7 @@ CdlConfigurationBody::initialize_savefile_support() } //}}} -//{{{ CdlConfiguration::save() - internal +//{{{ CdlConfiguration::save() - internal // ---------------------------------------------------------------------------- // The exported interface is CdlConfiguration::save(). This takes a single @@ -1401,7 +1401,7 @@ CdlConfigurationBody::save(CdlInterpreter interp, Tcl_Channel chan, int indentat std::string text = ""; if (!minimal) { - text = + text = "# This section defines the toplevel configuration object. The only\n\ # values that can be changed are the name of the configuration and\n\ # the description field. It is not possible to modify the target,\n\ @@ -1415,38 +1415,38 @@ CdlConfigurationBody::save(CdlInterpreter interp, Tcl_Channel chan, int indentat std::string config_data = this->get_description(); if (!minimal || ("" != text)) { - text += " description " + CdlInterpreterBody::quote(config_data) + " ;\n"; + text += " description " + CdlInterpreterBody::quote(config_data) + " ;\n"; } // Repeat the warning. if (!minimal) { - text += "\n # These fields should not be modified.\n"; + text += "\n # These fields should not be modified.\n"; } config_data = this->get_hardware(); if ("" != config_data) { - text += " hardware " + CdlInterpreterBody::quote(config_data) + " ;\n"; + text += " hardware " + CdlInterpreterBody::quote(config_data) + " ;\n"; } config_data = this->get_template(); if ("" != config_data) { - text += " template " + CdlInterpreterBody::quote(config_data) + " ;\n"; + text += " template " + CdlInterpreterBody::quote(config_data) + " ;\n"; } std::vector::const_iterator load_i; const std::vector& packages = get_loadables(); for (load_i = packages.begin(); load_i != packages.end(); load_i++) { - CdlPackage pkg = dynamic_cast(*load_i); - CYG_ASSERT_CLASSC(pkg); - text += " package "; - if (pkg->belongs_to_template()) { - text += "-template "; - } - if (pkg->belongs_to_hardware()) { - text += "-hardware "; - } - text += CdlInterpreterBody::quote(pkg->get_name()) + " " + CdlInterpreterBody::quote(pkg->get_value()) + " ;\n"; + CdlPackage pkg = dynamic_cast(*load_i); + CYG_ASSERT_CLASSC(pkg); + text += " package "; + if (pkg->belongs_to_template()) { + text += "-template "; + } + if (pkg->belongs_to_hardware()) { + text += "-hardware "; + } + text += CdlInterpreterBody::quote(pkg->get_name()) + " " + CdlInterpreterBody::quote(pkg->get_value()) + " ;\n"; } interp->write_data(chan, text); - + // If the package was loaded from a file then there may be additional // data associated with the configuration that is not currently // recognised. This call preserves that data. @@ -1458,7 +1458,7 @@ CdlConfigurationBody::save(CdlInterpreter interp, Tcl_Channel chan, int indentat } //}}} -//{{{ CdlConfiguration::save() - exported interface +//{{{ CdlConfiguration::save() - exported interface // ---------------------------------------------------------------------------- // This is the exported interface for saving a configuration. The specified @@ -1478,7 +1478,7 @@ CdlConfigurationBody::save(std::string filename, bool minimal) // This happens during the first save or load operation, or when // the application starts to register its own savefile extensions. if (!CdlToplevelBody::savefile_support_initialized()) { - this->initialize_savefile_support(); + this->initialize_savefile_support(); } // A Tcl interpreter is needed for the call to OpenFileChannel(), @@ -1490,7 +1490,7 @@ CdlConfigurationBody::save(std::string filename, bool minimal) // is not manipulated in any way. Instead just pass it to Tcl. Tcl_Channel chan = Tcl_OpenFileChannel(interp->get_tcl_interpreter(), const_cast(filename.c_str()), "w", 0666); if (0 == chan) { - throw CdlInputOutputException("Unable to open file " + filename + "\n" + interp->get_result()); + throw CdlInputOutputException("Unable to open file " + filename + "\n" + interp->get_result()); } // The channel may end up being registered in various different @@ -1504,37 +1504,37 @@ CdlConfigurationBody::save(std::string filename, bool minimal) std::string tmp; try { - if (!minimal) { - interp->write_data(chan, "# eCos saved configuration\n\n"); - } - - CdlToplevelBody::save_separator(interp, chan, "commands", minimal); - this->CdlToplevelBody::save_command_details(interp, chan, 0, minimal); - CdlToplevelBody::save_separator(interp, chan, "toplevel", minimal); - this->save(interp, chan, 0, minimal); - CdlToplevelBody::save_separator(interp, chan, "conflicts", minimal); - this->CdlToplevelBody::save_conflicts(interp, chan, 0, minimal); - CdlToplevelBody::save_separator(interp, chan, "contents", minimal); - this->CdlContainerBody::save(interp, chan, 0, minimal); - this->save_unsupported_commands(interp, chan, 0, minimal); - + if (!minimal) { + interp->write_data(chan, "# eCos saved configuration\n\n"); + } + + CdlToplevelBody::save_separator(interp, chan, "commands", minimal); + this->CdlToplevelBody::save_command_details(interp, chan, 0, minimal); + CdlToplevelBody::save_separator(interp, chan, "toplevel", minimal); + this->save(interp, chan, 0, minimal); + CdlToplevelBody::save_separator(interp, chan, "conflicts", minimal); + this->CdlToplevelBody::save_conflicts(interp, chan, 0, minimal); + CdlToplevelBody::save_separator(interp, chan, "contents", minimal); + this->CdlContainerBody::save(interp, chan, 0, minimal); + this->save_unsupported_commands(interp, chan, 0, minimal); + } catch(...) { - Tcl_UnregisterChannel(0, chan); - // NOTE: deleting the file is necessary, it is a bad idea to - // end up with incomplete save files. It would be even better - // to write to a temporary file and only overwrite the old - // savefile on success. - // - // Tcl does not provide direct access to the file delete - // facility, so it is necessary to evaluate a script. This - // introduces quoting and security problems, since the - // filename might contain spaces, square brackets, braces... - // To avoid these problems a variable is used. - interp->set_variable("__cdlconfig_filename", filename); - interp->eval("file delete $__cdlconfig_filename", tmp); - interp->unset_variable("__cdlconfig_filename"); - - throw; + Tcl_UnregisterChannel(0, chan); + // NOTE: deleting the file is necessary, it is a bad idea to + // end up with incomplete save files. It would be even better + // to write to a temporary file and only overwrite the old + // savefile on success. + // + // Tcl does not provide direct access to the file delete + // facility, so it is necessary to evaluate a script. This + // introduces quoting and security problems, since the + // filename might contain spaces, square brackets, braces... + // To avoid these problems a variable is used. + interp->set_variable("__cdlconfig_filename", filename); + interp->eval("file delete $__cdlconfig_filename", tmp); + interp->unset_variable("__cdlconfig_filename"); + + throw; } // This call will perform the appropriate close. @@ -1542,32 +1542,32 @@ CdlConfigurationBody::save(std::string filename, bool minimal) } //}}} -//{{{ CdlConfiguration::load() and add() +//{{{ CdlConfiguration::load() and add() // ---------------------------------------------------------------------------- // Most of the work is done in add(). load() simply creates a new configuration // and then invokes add(). CdlConfiguration CdlConfigurationBody::load(std::string filename, CdlPackagesDatabase db, CdlInterpreter interp, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn) { CYG_REPORT_FUNCNAMETYPE("CdlConfiguration::load", "result %p"); CYG_REPORT_FUNCARG4XV(db, interp, error_fn, warn_fn); CYG_PRECONDITION_CLASSC(db); CYG_PRECONDITION_CLASSC(interp); - + CdlConfiguration result = CdlConfigurationBody::make("eCos", db, interp); if (0 == result) { - CYG_REPORT_RETVAL(result); - return result; + CYG_REPORT_RETVAL(result); + return result; } - + try { - result->add(filename, error_fn, warn_fn); - result->save_file = filename; + result->add(filename, error_fn, warn_fn); + result->save_file = filename; } catch(...) { - delete result; - throw; + delete result; + throw; } CYG_REPORT_RETVAL(result); @@ -1577,7 +1577,7 @@ CdlConfigurationBody::load(std::string filename, CdlPackagesDatabase db, CdlInte // ---------------------------------------------------------------------------- void CdlConfigurationBody::add(CdlTransaction transaction, std::string filename, - CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn) + CdlDiagnosticFnPtr error_fn, CdlDiagnosticFnPtr warn_fn) { CYG_REPORT_FUNCNAME("CdlConfiguration::add"); CYG_REPORT_FUNCARG3XV(this, error_fn, warn_fn); @@ -1586,9 +1586,9 @@ CdlConfigurationBody::add(CdlTransaction transaction, std::string filename, // Initialize the savefile support, so that it is known what // commands can occur in a savefile. if (!CdlToplevelBody::savefile_support_initialized()) { - this->initialize_savefile_support(); + this->initialize_savefile_support(); } - + // The interpreter should not have any left-over junk. CdlInterpreter interp = this->get_interpreter(); CYG_PRECONDITION_CLASSC(interp); @@ -1603,30 +1603,30 @@ CdlConfigurationBody::add(CdlTransaction transaction, std::string filename, CdlInterpreterBody::ContextSupport context_support(interp, filename); try { - interp->set_transaction(transaction); - - std::vector commands; - this->get_savefile_commands(commands); - CdlInterpreterBody::CommandSupport interp_cmds(interp, commands); - - interp->eval_file(filename); - - // All the data has been read in without generating an - // exception. However there may have been errors reported via - // the error_fn handling, and any errors at all should result - // in an exception. - int error_count = CdlParse::get_error_count(interp); - if (error_count > 0) { - std::string tmp; - Cdl::integer_to_string(error_count, tmp); - throw CdlInputOutputException("Invalid savefile \"" + filename + "\".\n" + - tmp + " error" + ((error_count > 1) ? "s" : "") + - " occurred while reading in the savefile data."); - } - + interp->set_transaction(transaction); + + std::vector commands; + this->get_savefile_commands(commands); + CdlInterpreterBody::CommandSupport interp_cmds(interp, commands); + + interp->eval_file(filename); + + // All the data has been read in without generating an + // exception. However there may have been errors reported via + // the error_fn handling, and any errors at all should result + // in an exception. + int error_count = CdlParse::get_error_count(interp); + if (error_count > 0) { + std::string tmp; + Cdl::integer_to_string(error_count, tmp); + throw CdlInputOutputException("Invalid savefile \"" + filename + "\".\n" + + tmp + " error" + ((error_count > 1) ? "s" : "") + + " occurred while reading in the savefile data."); + } + } catch(...) { - interp->set_transaction(0); - throw; + interp->set_transaction(0); + throw; } interp->set_transaction(0); @@ -1635,7 +1635,7 @@ CdlConfigurationBody::add(CdlTransaction transaction, std::string filename, } //}}} -//{{{ savefile commands +//{{{ savefile commands // ---------------------------------------------------------------------------- // A cdl_configuration command does not actually do very much. It acts as @@ -1645,7 +1645,7 @@ CdlConfigurationBody::add(CdlTransaction transaction, std::string filename, // This is not done, to allow multiple savefiles to be loaded into // a single configuration in future. int -CdlConfigurationBody::savefile_configuration_command(CdlInterpreter interp, int argc, const char* argv[]) +CdlConfigurationBody::savefile_configuration_command(CdlInterpreter interp, int argc, const char *argv[]) { CYG_REPORT_FUNCNAMETYPE("CdlConfiguration::savefile_configuration_command", "result %d"); CYG_PRECONDITION_CLASSC(interp); @@ -1658,32 +1658,32 @@ CdlConfigurationBody::savefile_configuration_command(CdlInterpreter interp, int std::vector subcommands; std::vector* toplevel_commands = 0; - + try { - std::vector > options; - int data_index = CdlParse::parse_options(interp, "cdl_configuration command", 0, argc, argv, 1, options); - - // A broken cdl_configuration command is pretty fatal, chances are - // that the entire load is going to fail. - if (data_index != (argc - 2)) { - CdlParse::report_error(interp, "", "Invalid cdl_configuration command in savefile, expecting two arguments."); - } else { - config->set_name(argv[1]); - config->get_savefile_subcommands("cdl_configuration", subcommands); - toplevel_commands = interp->push_commands(subcommands); - - std::string tcl_result; - result = interp->eval(argv[2], tcl_result); - - interp->pop_commands(toplevel_commands); - toplevel_commands = 0; - } - + std::vector > options; + int data_index = CdlParse::parse_options(interp, "cdl_configuration command", 0, argc, argv, 1, options); + + // A broken cdl_configuration command is pretty fatal, chances are + // that the entire load is going to fail. + if (data_index != (argc - 2)) { + CdlParse::report_error(interp, "", "Invalid cdl_configuration command in savefile, expecting two arguments."); + } else { + config->set_name(argv[1]); + config->get_savefile_subcommands("cdl_configuration", subcommands); + toplevel_commands = interp->push_commands(subcommands); + + std::string tcl_result; + result = interp->eval(argv[2], tcl_result); + + interp->pop_commands(toplevel_commands); + toplevel_commands = 0; + } + } catch(...) { - if (0 != toplevel_commands) { - interp->pop_commands(toplevel_commands); - } - throw; + if (0 != toplevel_commands) { + interp->pop_commands(toplevel_commands); + } + throw; } CYG_REPORT_RETVAL(result); @@ -1692,7 +1692,7 @@ CdlConfigurationBody::savefile_configuration_command(CdlInterpreter interp, int // ---------------------------------------------------------------------------- int -CdlConfigurationBody::savefile_description_command(CdlInterpreter interp, int argc, const char* argv[]) +CdlConfigurationBody::savefile_description_command(CdlInterpreter interp, int argc, const char *argv[]) { CYG_REPORT_FUNCNAME("CdlConfiguration::savefile_description_command"); CYG_PRECONDITION_CLASSC(interp); @@ -1704,19 +1704,19 @@ CdlConfigurationBody::savefile_description_command(CdlInterpreter interp, int ar std::vector > options; int data_index = CdlParse::parse_options(interp, "cdl_configuration/description command", 0, argc, argv, 1, options); - + if (data_index != (argc - 1)) { - CdlParse::report_warning(interp, "", - "Ignoring invalid configuration description command, expecting a single argument."); + CdlParse::report_warning(interp, "", + "Ignoring invalid configuration description command, expecting a single argument."); } else { - config->description = argv[1]; - } + config->description = argv[1]; + } return TCL_OK; } // ---------------------------------------------------------------------------- int -CdlConfigurationBody::savefile_hardware_command(CdlInterpreter interp, int argc, const char* argv[]) +CdlConfigurationBody::savefile_hardware_command(CdlInterpreter interp, int argc, const char *argv[]) { CYG_REPORT_FUNCNAME("CdlConfiguration::savefile_hardware_command"); CYG_PRECONDITION_CLASSC(interp); @@ -1728,11 +1728,11 @@ CdlConfigurationBody::savefile_hardware_command(CdlInterpreter interp, int argc, std::vector > options; int data_index = CdlParse::parse_options(interp, "cdl_configuration/hardware command", 0, argc, argv, 1, options); - + if (data_index != (argc - 1)) { - CdlParse::report_warning(interp, "", "Ignoring invalid configuration hardware command, expecting a single argument."); + CdlParse::report_warning(interp, "", "Ignoring invalid configuration hardware command, expecting a single argument."); } else { - config->current_hardware = argv[1]; + config->current_hardware = argv[1]; } return TCL_OK; @@ -1740,7 +1740,7 @@ CdlConfigurationBody::savefile_hardware_command(CdlInterpreter interp, int argc, // ---------------------------------------------------------------------------- int -CdlConfigurationBody::savefile_template_command(CdlInterpreter interp, int argc, const char* argv[]) +CdlConfigurationBody::savefile_template_command(CdlInterpreter interp, int argc, const char *argv[]) { CYG_REPORT_FUNCNAME("CdlConfiguration::savefile_template_command"); CYG_PRECONDITION_CLASSC(interp); @@ -1752,23 +1752,23 @@ CdlConfigurationBody::savefile_template_command(CdlInterpreter interp, int argc, std::vector > options; int data_index = CdlParse::parse_options(interp, "cdl_configuration/template command", 0, argc, argv, 1, options); - + if (data_index != (argc - 1)) { - CdlParse::report_warning(interp, "", "Ignoring invalid configuration template command, expecting a single argument."); + CdlParse::report_warning(interp, "", "Ignoring invalid configuration template command, expecting a single argument."); } else { - config->current_template = argv[1]; + config->current_template = argv[1]; } - + return TCL_OK; } // ---------------------------------------------------------------------------- int -CdlConfigurationBody::savefile_package_command(CdlInterpreter interp, int argc, const char* argv[]) +CdlConfigurationBody::savefile_package_command(CdlInterpreter interp, int argc, const char *argv[]) { CYG_REPORT_FUNCNAME("CdlConfiguration::savefile_package_command"); CYG_PRECONDITION_CLASSC(interp); - + CdlToplevel toplevel = interp->get_toplevel(); CYG_ASSERT_CLASSC(toplevel); CdlConfiguration config = dynamic_cast(toplevel); @@ -1779,86 +1779,85 @@ CdlConfigurationBody::savefile_package_command(CdlInterpreter interp, int argc, std::string pkgname; std::string pkgversion; CdlPackage pkg = 0; - + std::vector > options; - static char* optlist[] = { - "template:f", - "hardware:f", - 0 + static const char *optlist[] = { + "template:f", + "hardware:f", + 0 }; int data_index = CdlParse::parse_options(interp, "cdl_configuration/package command", optlist, argc, argv, 1, options); if (data_index == (argc - 1)) { - CdlParse::report_warning(interp, "", std::string("Missing version information for package `") - + argv[argc - 1] + "'."); - pkgname = argv[argc - 1]; - pkgversion = ""; + CdlParse::report_warning(interp, "", std::string("Missing version information for package `") + + argv[argc - 1] + "'."); + pkgname = argv[argc - 1]; + pkgversion = ""; } else if (data_index == (argc - 2)) { - pkgname = argv[argc - 2]; - pkgversion = argv[argc - 1]; + pkgname = argv[argc - 2]; + pkgversion = argv[argc - 1]; } else { - // If we cannot load all the packages then much of the - // savefile is likely to be problematical. - CdlParse::report_error(interp, "", "Invalid cdl_configuration/package command, expecting name and version"); - CYG_REPORT_RETURN(); - return TCL_OK; + // If we cannot load all the packages then much of the + // savefile is likely to be problematical. + CdlParse::report_error(interp, "", "Invalid cdl_configuration/package command, expecting name and version"); + CYG_REPORT_RETURN(); + return TCL_OK; } if (0 != config->lookup(pkgname)) { - // If the package was already loaded, check the version string. If the versions - // are identical then we do not need to worry any further. Otherwise a mismatch - // warning is appropriate. - CdlNode node = config->lookup(pkgname); - CYG_ASSERT_CLASSC(node); - pkg = dynamic_cast(node); - if (0 == pkg) { - // The name is in use, but it is not a package - CdlParse::report_error(interp, "", - std::string("Unable to load package `") + pkgname + "', the name is already in use."); - } else if (pkgversion != pkg->get_value()) { - CdlParse::report_warning(interp, "", - std::string("Cannot load version `") + pkgversion + "' of package `" + - pkgname + "', version `" + pkg->get_value() + "' is already loaded."); - } + // If the package was already loaded, check the version string. If the versions + // are identical then we do not need to worry any further. Otherwise a mismatch + // warning is appropriate. + CdlNode node = config->lookup(pkgname); + CYG_ASSERT_CLASSC(node); + pkg = dynamic_cast(node); + if (0 == pkg) { + // The name is in use, but it is not a package + CdlParse::report_error(interp, "", + std::string("Unable to load package `") + pkgname + "', the name is already in use."); + } else if (pkgversion != pkg->get_value()) { + CdlParse::report_warning(interp, "", + std::string("Cannot load version `") + pkgversion + "' of package `" + + pkgname + "', version `" + pkg->get_value() + "' is already loaded."); + } } else if (!db->is_known_package(pkgname)) { - CdlParse::report_error(interp, "", - std::string("Attempt to load an unknown package `") + pkgname + "'."); + CdlParse::report_error(interp, "", + std::string("Attempt to load an unknown package `") + pkgname + "'."); } else { - if ("" != pkgversion) { - const std::vector& versions = db->get_package_versions(pkgname); - if (versions.end() == std::find(versions.begin(), versions.end(), pkgversion)) { - CdlParse::report_warning(interp, "", - std::string("The savefile specifies version `") + pkgversion + - "' for package `" + pkgname + "'\nThis version is not available.\n" + - "Using the most recent version instead."); - pkgversion = ""; - } - } - CdlDiagnosticFnPtr error_fn = interp->get_error_fn_ptr(); - CdlDiagnosticFnPtr warn_fn = interp->get_warning_fn_ptr(); - CdlTransaction transaction = interp->get_transaction(); - config->load_package(transaction, pkgname, pkgversion, error_fn, warn_fn, false); - CdlNode pkg_node = config->lookup(pkgname); - CYG_ASSERTC(0 != pkg_node); - pkg = dynamic_cast(pkg_node); - CYG_ASSERT_CLASSC(pkg); + if ("" != pkgversion) { + const std::vector& versions = db->get_package_versions(pkgname); + if (versions.end() == std::find(versions.begin(), versions.end(), pkgversion)) { + CdlParse::report_warning(interp, "", + std::string("The savefile specifies version `") + pkgversion + + "' for package `" + pkgname + "'\nThis version is not available.\n" + + "Using the most recent version instead."); + pkgversion = ""; + } + } + CdlDiagnosticFnPtr error_fn = interp->get_error_fn_ptr(); + CdlDiagnosticFnPtr warn_fn = interp->get_warning_fn_ptr(); + CdlTransaction transaction = interp->get_transaction(); + config->load_package(transaction, pkgname, pkgversion, error_fn, warn_fn, false); + CdlNode pkg_node = config->lookup(pkgname); + CYG_ASSERTC(0 != pkg_node); + pkg = dynamic_cast(pkg_node); + CYG_ASSERT_CLASSC(pkg); } if ((0 != pkg) && (0 != options.size())) { - std::vector >::const_iterator opt_i; - for (opt_i = options.begin(); opt_i != options.end(); opt_i++) { - if (opt_i->first == "template") { - pkg->loaded_for_template = true; - } else if (opt_i->first == "hardware") { - pkg->loaded_for_hardware = true; - } - } - } - + std::vector >::const_iterator opt_i; + for (opt_i = options.begin(); opt_i != options.end(); opt_i++) { + if (opt_i->first == "template") { + pkg->loaded_for_template = true; + } else if (opt_i->first == "hardware") { + pkg->loaded_for_hardware = true; + } + } + } + return TCL_OK; } //}}} //}}} - diff --git a/tools/src/libcdl/database.cxx b/tools/src/libcdl/database.cxx index 1ff986d8..d5efdabf 100644 --- a/tools/src/libcdl/database.cxx +++ b/tools/src/libcdl/database.cxx @@ -1,4 +1,4 @@ -//{{{ Banner +//{{{ Banner //============================================================================ // @@ -10,29 +10,29 @@ // //============================================================================ //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 2002 Bart Veer // Copyright (C) 1999, 2000, 2001 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //============================================================================ //#####DESCRIPTIONBEGIN#### @@ -46,7 +46,7 @@ //============================================================================ //}}} -//{{{ #include's +//{{{ #include's // ---------------------------------------------------------------------------- #include "cdlconfig.h" @@ -66,12 +66,12 @@ //}}} -//{{{ Statics +//{{{ Statics // ---------------------------------------------------------------------------- // Some test cases may want to read in a file other than // "ecos.db", e.g. to facilitate testing the error conditions. -char* +const char* CdlPackagesDatabaseBody::database_name = "ecos.db"; // Should warnings be issued for minor database inconsistencies? @@ -96,9 +96,9 @@ static std::string diag_target = std::string("target "); CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlPackagesDatabaseBody); //}}} -//{{{ Tcl commands for the parser +//{{{ Tcl commands for the parser -//{{{ CdlDbParser class +//{{{ CdlDbParser class // ---------------------------------------------------------------------------- // Commands that get invoked from inside the Tcl interpreter. These @@ -124,7 +124,7 @@ class CdlDbParser { }; //}}} -//{{{ CdlDbParser::package-related +//{{{ CdlDbParser::package-related // ---------------------------------------------------------------------------- // package @@ -138,125 +138,125 @@ CdlDbParser::new_package(CdlInterpreter interp, int argc, const char* argv[]) CdlPackagesDatabase db = static_cast(interp->get_assoc_data(dbparser_database_key)); CYG_INVARIANT_CLASSC(CdlPackagesDatabaseBody, db); - + if (3 != argc) { - if (argc < 2) { - CdlParse::report_error(interp, "", "Invalid package command, missing name and contents."); - } else if (argc == 2) { - CdlParse::report_error(interp, diag_package + argv[1], "Invalid package command, missing body."); - } else { - CdlParse::report_error(interp, diag_package + argv[1], - "Invalid package command, expecting just name and body."); - } - CYG_REPORT_RETVAL(TCL_OK); - return TCL_OK; + if (argc < 2) { + CdlParse::report_error(interp, "", "Invalid package command, missing name and contents."); + } else if (argc == 2) { + CdlParse::report_error(interp, diag_package + argv[1], "Invalid package command, missing body."); + } else { + CdlParse::report_error(interp, diag_package + argv[1], + "Invalid package command, expecting just name and body."); + } + CYG_REPORT_RETVAL(TCL_OK); + return TCL_OK; } std::string pkg_name = argv[1]; // Better make sure that this is not a duplicate definition. if (std::find(db->package_names.begin(), db->package_names.end(), pkg_name) != db->package_names.end()) { - CdlParse::report_warning(interp, diag_package + pkg_name, "Duplicate package entry, ignoring second occurence."); - CYG_REPORT_RETVAL(TCL_OK); - return TCL_OK; + CdlParse::report_warning(interp, diag_package + pkg_name, "Duplicate package entry, ignoring second occurence."); + CYG_REPORT_RETVAL(TCL_OK); + return TCL_OK; } - + // The package data is constructed locally. It only gets added to // the database in the absence of errors. bool package_ok = true; int old_error_count = CdlParse::get_error_count(interp); - + CdlPackagesDatabaseBody::package_data package; package.description = ""; package.directory = ""; package.script = ""; package.hardware = false; - + // aliases and versions are vectors and will take care of themselves // And the name had better be valid as well. if (!Cdl::is_valid_cdl_name(pkg_name)) { - CdlParse::report_error(interp, diag_package + pkg_name, "This is not a valid CDL name."); + CdlParse::report_error(interp, diag_package + pkg_name, "This is not a valid CDL name."); } - + // Sort out the commands, then invoke the script in argv[2]. There is // no need to worry about error recovery here, any errors will be // fatal anyway. CdlInterpreterCommandEntry commands[] = { - CdlInterpreterCommandEntry("description", &CdlDbParser::package_description ), - CdlInterpreterCommandEntry("alias", &CdlDbParser::package_alias ), - CdlInterpreterCommandEntry("directory", &CdlDbParser::package_directory ), - CdlInterpreterCommandEntry("script", &CdlDbParser::package_script ), - CdlInterpreterCommandEntry("hardware", &CdlDbParser::package_hardware ), - CdlInterpreterCommandEntry("", 0 ) + CdlInterpreterCommandEntry("description", &CdlDbParser::package_description ), + CdlInterpreterCommandEntry("alias", &CdlDbParser::package_alias ), + CdlInterpreterCommandEntry("directory", &CdlDbParser::package_directory ), + CdlInterpreterCommandEntry("script", &CdlDbParser::package_script ), + CdlInterpreterCommandEntry("hardware", &CdlDbParser::package_hardware ), + CdlInterpreterCommandEntry("", 0 ) }; CdlInterpreterBody::CommandSupport cmds(interp, commands); CdlInterpreterBody::VariableSupport interp_name(interp, dbparser_pkgname, pkg_name); CdlInterpreterBody::AssocSupport interp_data(interp, dbparser_pkgdata, static_cast(&package)); int result = interp->eval(argv[2]); if (TCL_OK == result) { - - // The body has been parsed OK. Check that it is valid. - if ("" == package.directory) { - CdlParse::report_error(interp, diag_package + pkg_name, "Missing directory specification."); - } - if ("" == package.script) { - CdlParse::report_error(interp, diag_package + pkg_name, "Missing script specification."); - } - if (0 == package.aliases.size()) { - CdlParse::report_error(interp, diag_package + pkg_name, "At least one alias should be supplied."); - } - - // Additional checks. Is the package directory actually present? - // Note that there are scenarios where a package may be listed - // in the database but not installed, e.g. an anoncvs checkout - // of selected modules. - if ("" != package.directory) { - std::string repo = interp->get_variable(dbparser_component_repository); - CYG_ASSERTC("" != repo); - - std::string pkgdir = repo + "/" + package.directory; - if (!interp->is_directory(pkgdir)) { - if (CdlPackagesDatabaseBody::verbose_mode) { - CdlParse::report_warning(interp, diag_package + pkg_name, - std::string("This package is not present in the component repository.\n" - "There is no directory `") + pkgdir + "'."); - } - package_ok = false; - } else { - - // Now look for version subdirectories. There should be at least one. - std::vector subdirs; - unsigned int i; - interp->locate_subdirs(pkgdir, subdirs); - std::sort(subdirs.begin(), subdirs.end(), Cdl::version_cmp()); - - for (i = 0; i < subdirs.size(); i++) { - if (("CVS" == subdirs[i]) || ("cvs" == subdirs[i])) { - continue; - } - if ("" != package.script) { - if (!(interp->is_file(pkgdir + "/" + subdirs[i] + "/cdl/" + package.script) || - interp->is_file(pkgdir + "/" + subdirs[i] + "/" + package.script))) { - CdlParse::report_warning(interp, diag_package + pkg_name, - std::string("Version subdirectory `") + subdirs[i] + - "' does not have a CDL script `" + package.script + "'."); - continue; - } - } - package.versions.push_back(subdirs[i]); - } - if (0 == package.versions.size()) { - CdlParse::report_warning(interp, diag_package + pkg_name, - "This package does not have any valid version subdirectories."); - package_ok = false; - } - } - } + + // The body has been parsed OK. Check that it is valid. + if ("" == package.directory) { + CdlParse::report_error(interp, diag_package + pkg_name, "Missing directory specification."); + } + if ("" == package.script) { + CdlParse::report_error(interp, diag_package + pkg_name, "Missing script specification."); + } + if (0 == package.aliases.size()) { + CdlParse::report_error(interp, diag_package + pkg_name, "At least one alias should be supplied."); + } + + // Additional checks. Is the package directory actually present? + // Note that there are scenarios where a package may be listed + // in the database but not installed, e.g. an anoncvs checkout + // of selected modules. + if ("" != package.directory) { + std::string repo = interp->get_variable(dbparser_component_repository); + CYG_ASSERTC("" != repo); + + std::string pkgdir = repo + "/" + package.directory; + if (!interp->is_directory(pkgdir)) { + if (CdlPackagesDatabaseBody::verbose_mode) { + CdlParse::report_warning(interp, diag_package + pkg_name, + std::string("This package is not present in the component repository.\n" + "There is no directory `") + pkgdir + "'."); + } + package_ok = false; + } else { + + // Now look for version subdirectories. There should be at least one. + std::vector subdirs; + unsigned int i; + interp->locate_subdirs(pkgdir, subdirs); + std::sort(subdirs.begin(), subdirs.end(), Cdl::version_cmp()); + + for (i = 0; i < subdirs.size(); i++) { + if (("CVS" == subdirs[i]) || ("cvs" == subdirs[i])) { + continue; + } + if ("" != package.script) { + if (!(interp->is_file(pkgdir + "/" + subdirs[i] + "/cdl/" + package.script) || + interp->is_file(pkgdir + "/" + subdirs[i] + "/" + package.script))) { + CdlParse::report_warning(interp, diag_package + pkg_name, + std::string("Version subdirectory `") + subdirs[i] + + "' does not have a CDL script `" + package.script + "'."); + continue; + } + } + package.versions.push_back(subdirs[i]); + } + if (0 == package.versions.size()) { + CdlParse::report_warning(interp, diag_package + pkg_name, + "This package does not have any valid version subdirectories."); + package_ok = false; + } + } + } } // If the package is still ok, now is the time to add it to the database. if (package_ok && (old_error_count == CdlParse::get_error_count(interp))) { - db->package_names.push_back(pkg_name); - db->packages[pkg_name] = package; + db->package_names.push_back(pkg_name); + db->packages[pkg_name] = package; } CYG_REPORT_RETVAL(result); @@ -274,16 +274,16 @@ CdlDbParser::package_description(CdlInterpreter interp, int argc, const char* ar std::string name = interp->get_variable(dbparser_pkgname); CYG_ASSERTC("" != name); CdlPackagesDatabaseBody::package_data* package = - static_cast(interp->get_assoc_data(dbparser_pkgdata)); + static_cast(interp->get_assoc_data(dbparser_pkgdata)); if (2 != argc) { - CdlParse::report_error(interp, diag_package + name, "Invalid description, expecting a single string."); + CdlParse::report_error(interp, diag_package + name, "Invalid description, expecting a single string."); } else if ("" != package->description) { - CdlParse::report_warning(interp, diag_package + name, "A package should have only one description."); + CdlParse::report_warning(interp, diag_package + name, "A package should have only one description."); } else { - package->description = argv[1]; + package->description = argv[1]; } - + CYG_REPORT_RETVAL(TCL_OK); return TCL_OK; } @@ -300,33 +300,33 @@ CdlDbParser::package_alias(CdlInterpreter interp, int argc, const char* argv[]) std::string name = interp->get_variable(dbparser_pkgname); CYG_ASSERTC("" != name); CdlPackagesDatabaseBody::package_data* package = - static_cast(interp->get_assoc_data(dbparser_pkgdata)); + static_cast(interp->get_assoc_data(dbparser_pkgdata)); // There should be one argument, a list of valid packages. // Also, the alias command should be used only once if (2 != argc) { - CdlParse::report_error(interp, diag_package + name, - "The alias command should be followed by a list of known aliases."); + CdlParse::report_error(interp, diag_package + name, + "The alias command should be followed by a list of known aliases."); } else if (0 < package->aliases.size()) { - CdlParse::report_warning(interp, diag_package + name, "There should be only one list of aliases."); + CdlParse::report_warning(interp, diag_package + name, "There should be only one list of aliases."); } else { - int list_count = 0; - const char** list_entries = 0; - Tcl_Interp* tcl_interp = interp->get_tcl_interpreter(); - if (TCL_OK != Tcl_SplitList(tcl_interp, CDL_TCL_CONST_CAST(char*, argv[1]), &list_count, CDL_TCL_CONST_CAST(char***, &list_entries))) { - CdlParse::report_error(interp, diag_package + name, Tcl_GetStringResult(tcl_interp)); - } else { - if (0 == list_count) { - CdlParse::report_error(interp, diag_package + name, "At least one alias should be supplied."); - } else { - for (int i = 0; i < list_count; i++) { - package->aliases.push_back(list_entries[i]); - } - } - Tcl_Free((char*)list_entries); - } + int list_count = 0; + const char** list_entries = 0; + Tcl_Interp* tcl_interp = interp->get_tcl_interpreter(); + if (TCL_OK != Tcl_SplitList(tcl_interp, CDL_TCL_CONST_CAST(char*, argv[1]), &list_count, CDL_TCL_CONST_CAST(char***, &list_entries))) { + CdlParse::report_error(interp, diag_package + name, Tcl_GetStringResult(tcl_interp)); + } else { + if (0 == list_count) { + CdlParse::report_error(interp, diag_package + name, "At least one alias should be supplied."); + } else { + for (int i = 0; i < list_count; i++) { + package->aliases.push_back(list_entries[i]); + } + } + Tcl_Free((char*)list_entries); + } } - + CYG_REPORT_RETVAL(TCL_OK); return TCL_OK; } @@ -343,16 +343,16 @@ CdlDbParser::package_directory(CdlInterpreter interp, int argc, const char* argv std::string name = interp->get_variable(dbparser_pkgname); CYG_ASSERTC("" != name); CdlPackagesDatabaseBody::package_data* package = - static_cast(interp->get_assoc_data(dbparser_pkgdata)); + static_cast(interp->get_assoc_data(dbparser_pkgdata)); // There should be exactly one argument, and the directory command // should be used only once. if (2 != argc) { - CdlParse::report_error(interp, diag_package + name, "Only one directory can be specified."); + CdlParse::report_error(interp, diag_package + name, "Only one directory can be specified."); } else if ("" != package->directory) { - CdlParse::report_warning(interp, diag_package + name, "A package can be located in only one directory."); + CdlParse::report_warning(interp, diag_package + name, "A package can be located in only one directory."); } else { - package->directory = argv[1]; + package->directory = argv[1]; } CYG_REPORT_RETVAL(TCL_OK); return TCL_OK; @@ -370,16 +370,16 @@ CdlDbParser::package_hardware(CdlInterpreter interp, int argc, const char* argv[ std::string name = interp->get_variable(dbparser_pkgname); CYG_ASSERTC("" != name); CdlPackagesDatabaseBody::package_data* package = - static_cast(interp->get_assoc_data(dbparser_pkgdata)); + static_cast(interp->get_assoc_data(dbparser_pkgdata)); if (1 != argc) { - CdlParse::report_error(interp, diag_package + name, "There should be no further data after hardware."); + CdlParse::report_error(interp, diag_package + name, "There should be no further data after hardware."); } else if (package->hardware) { - CdlParse::report_warning(interp, diag_package + name, "The hardware property should be specified only once"); + CdlParse::report_warning(interp, diag_package + name, "The hardware property should be specified only once"); } else { - package->hardware = true; + package->hardware = true; } - + CYG_REPORT_RETVAL(TCL_OK); return TCL_OK; } @@ -395,16 +395,16 @@ CdlDbParser::package_script(CdlInterpreter interp, int argc, const char* argv[]) std::string name = interp->get_variable(dbparser_pkgname); CYG_ASSERTC("" != name); CdlPackagesDatabaseBody::package_data* package = - static_cast(interp->get_assoc_data(dbparser_pkgdata)); + static_cast(interp->get_assoc_data(dbparser_pkgdata)); // There should be exactly one argument, and the script command // should be used only once if (2 != argc) { - CdlParse::report_error(interp, diag_package + name, "Only one CDL script can be specified."); + CdlParse::report_error(interp, diag_package + name, "Only one CDL script can be specified."); } else if ("" != package->script) { - CdlParse::report_warning(interp, diag_package + name, "A package can have only one starting CDL script."); + CdlParse::report_warning(interp, diag_package + name, "A package can have only one starting CDL script."); } else { - package->script = argv[1]; + package->script = argv[1]; } CYG_REPORT_RETVAL(TCL_OK); @@ -412,7 +412,7 @@ CdlDbParser::package_script(CdlInterpreter interp, int argc, const char* argv[]) } //}}} -//{{{ CdlDbParser::target-related +//{{{ CdlDbParser::target-related // ---------------------------------------------------------------------------- // target @@ -426,27 +426,27 @@ CdlDbParser::new_target(CdlInterpreter interp, int argc, const char* argv[]) CdlPackagesDatabase db = static_cast(interp->get_assoc_data(dbparser_database_key)); CYG_INVARIANT_CLASSC(CdlPackagesDatabaseBody, db); - + if (3 != argc) { - if (argc < 2) { - CdlParse::report_error(interp, "", "Invalid target command, missing name and contents."); - } else if (argc == 2) { - CdlParse::report_error(interp, diag_target + argv[1], "Invalid target command, missing body."); - } else { - CdlParse::report_error(interp, diag_target + argv[1], "Invalid target command, expecting just name and body."); - } - CYG_REPORT_RETVAL(TCL_OK); - return TCL_OK; + if (argc < 2) { + CdlParse::report_error(interp, "", "Invalid target command, missing name and contents."); + } else if (argc == 2) { + CdlParse::report_error(interp, diag_target + argv[1], "Invalid target command, missing body."); + } else { + CdlParse::report_error(interp, diag_target + argv[1], "Invalid target command, expecting just name and body."); + } + CYG_REPORT_RETVAL(TCL_OK); + return TCL_OK; } - + std::string target_name = argv[1]; // Better make sure that this is not a duplicate definition. if (std::find(db->target_names.begin(), db->target_names.end(), target_name) != db->target_names.end()) { - CdlParse::report_warning(interp, diag_target + target_name, - "Duplicate target entry, ignoring second occurence."); - CYG_REPORT_RETVAL(TCL_OK); - return TCL_OK; + CdlParse::report_warning(interp, diag_target + target_name, + "Duplicate target entry, ignoring second occurence."); + CYG_REPORT_RETVAL(TCL_OK); + return TCL_OK; } // The target data is constructed locally. It only gets added to the @@ -462,34 +462,34 @@ CdlDbParser::new_target(CdlInterpreter interp, int argc, const char* argv[]) // no need to worry about error recovery here, any errors will be // fatal anyway. CdlInterpreterCommandEntry commands[] = { - CdlInterpreterCommandEntry("description", &CdlDbParser::target_description ), - CdlInterpreterCommandEntry("alias", &CdlDbParser::target_alias ), - CdlInterpreterCommandEntry("packages", &CdlDbParser::target_packages ), - CdlInterpreterCommandEntry("enable", &CdlDbParser::target_enable ), - CdlInterpreterCommandEntry("disable", &CdlDbParser::target_disable ), - CdlInterpreterCommandEntry("set_value", &CdlDbParser::target_set_value ), - CdlInterpreterCommandEntry("", 0 ) + CdlInterpreterCommandEntry("description", &CdlDbParser::target_description ), + CdlInterpreterCommandEntry("alias", &CdlDbParser::target_alias ), + CdlInterpreterCommandEntry("packages", &CdlDbParser::target_packages ), + CdlInterpreterCommandEntry("enable", &CdlDbParser::target_enable ), + CdlInterpreterCommandEntry("disable", &CdlDbParser::target_disable ), + CdlInterpreterCommandEntry("set_value", &CdlDbParser::target_set_value ), + CdlInterpreterCommandEntry("", 0 ) }; CdlInterpreterBody::CommandSupport interp_cmds(interp, commands); CdlInterpreterBody::VariableSupport interp_name(interp, dbparser_targetname, target_name); CdlInterpreterBody::AssocSupport interp_data(interp, dbparser_targetdata, static_cast(&target)); int result = interp->eval(argv[2]); if (TCL_OK == result) { - - if (0 == target.aliases.size()) { - CdlParse::report_error(interp, diag_target + target_name, "At least one alias should be supplied."); - } - - // There is no check for > 0 hardware packages. This is an unlikely - // scenario but should be allowed for. - // Add this target to the list. + + if (0 == target.aliases.size()) { + CdlParse::report_error(interp, diag_target + target_name, "At least one alias should be supplied."); + } + + // There is no check for > 0 hardware packages. This is an unlikely + // scenario but should be allowed for. + // Add this target to the list. } if (target_ok && (old_error_count == CdlParse::get_error_count(interp))) { - db->target_names.push_back(target_name); - db->targets[target_name] = target; + db->target_names.push_back(target_name); + db->targets[target_name] = target; } - + CYG_REPORT_RETVAL(result); return result; } @@ -505,16 +505,16 @@ CdlDbParser::target_description(CdlInterpreter interp, int argc, const char* arg std::string name = interp->get_variable(dbparser_targetname); CYG_ASSERTC("" != name); CdlPackagesDatabaseBody::target_data* target = - static_cast(interp->get_assoc_data(dbparser_targetdata)); + static_cast(interp->get_assoc_data(dbparser_targetdata)); if (2 != argc) { - CdlParse::report_error(interp, diag_target + name, "The target description should be a single string."); + CdlParse::report_error(interp, diag_target + name, "The target description should be a single string."); } else if ("" != target->description) { - CdlParse::report_warning(interp, diag_target + name, "A target should have only one description."); + CdlParse::report_warning(interp, diag_target + name, "A target should have only one description."); } else { - target->description = argv[1]; + target->description = argv[1]; } - + CYG_REPORT_RETVAL(TCL_OK); return TCL_OK; } @@ -531,32 +531,32 @@ CdlDbParser::target_alias(CdlInterpreter interp, int argc, const char* argv[]) std::string name = interp->get_variable(dbparser_targetname); CYG_ASSERTC("" != name); CdlPackagesDatabaseBody::target_data* target = - static_cast(interp->get_assoc_data(dbparser_targetdata)); + static_cast(interp->get_assoc_data(dbparser_targetdata)); // There should be one argument, a list of valid aliases // The alias command should be used only once if (2 != argc) { - CdlParse::report_error(interp, diag_target + name, "The alias command should be followed by a list of known aliases"); + CdlParse::report_error(interp, diag_target + name, "The alias command should be followed by a list of known aliases"); } else if (0 < target->aliases.size()) { - CdlParse::report_warning(interp, diag_target + name, "There should be only one list of aliases."); + CdlParse::report_warning(interp, diag_target + name, "There should be only one list of aliases."); } else { - int list_count = 0; - const char** list_entries = 0; - Tcl_Interp* tcl_interp = interp->get_tcl_interpreter(); - if (TCL_OK != Tcl_SplitList(tcl_interp, CDL_TCL_CONST_CAST(char*, argv[1]), &list_count, CDL_TCL_CONST_CAST(char***, &list_entries))) { - CdlParse::report_error(interp, diag_target + name, Tcl_GetStringResult(tcl_interp)); - } else { - if (0 == list_count) { - CdlParse::report_error(interp, diag_target + name, "At least one alias should be supplied."); - } else { - for (int i = 0; i < list_count; i++) { - target->aliases.push_back(list_entries[i]); - } - } - Tcl_Free((char*)list_entries); - } + int list_count = 0; + const char** list_entries = 0; + Tcl_Interp* tcl_interp = interp->get_tcl_interpreter(); + if (TCL_OK != Tcl_SplitList(tcl_interp, CDL_TCL_CONST_CAST(char*, argv[1]), &list_count, CDL_TCL_CONST_CAST(char***, &list_entries))) { + CdlParse::report_error(interp, diag_target + name, Tcl_GetStringResult(tcl_interp)); + } else { + if (0 == list_count) { + CdlParse::report_error(interp, diag_target + name, "At least one alias should be supplied."); + } else { + for (int i = 0; i < list_count; i++) { + target->aliases.push_back(list_entries[i]); + } + } + Tcl_Free((char*)list_entries); + } } - + CYG_REPORT_RETVAL(TCL_OK); return TCL_OK; } @@ -573,31 +573,31 @@ CdlDbParser::target_packages(CdlInterpreter interp, int argc, const char* argv[] std::string name = interp->get_variable(dbparser_targetname); CYG_ASSERTC("" != name); CdlPackagesDatabaseBody::target_data* target = - static_cast(interp->get_assoc_data(dbparser_targetdata)); + static_cast(interp->get_assoc_data(dbparser_targetdata)); // There should be one argument, a list of valid packages. // The packages command should be used only once if (2 != argc) { - CdlParse::report_error(interp, diag_target + name, "`packages' should be followed by a list of known packages."); + CdlParse::report_error(interp, diag_target + name, "`packages' should be followed by a list of known packages."); } else if (0 < target->packages.size()) { - CdlParse::report_warning(interp, diag_target + name, "There should be only one list of packages."); + CdlParse::report_warning(interp, diag_target + name, "There should be only one list of packages."); } else { - int list_count = 0; - const char** list_entries = 0; - Tcl_Interp* tcl_interp = interp->get_tcl_interpreter(); - if (TCL_OK != Tcl_SplitList(tcl_interp, CDL_TCL_CONST_CAST(char*, argv[1]), &list_count, CDL_TCL_CONST_CAST(char***, &list_entries))) { - CdlParse::report_error(interp, diag_target + name, Tcl_GetStringResult(tcl_interp)); - } else { - // Allow for a dummy target spec, just in case it proves useful. - if (0 != list_count) { - for (int i = 0; i < list_count; i++) { - target->packages.push_back(list_entries[i]); - } - } - Tcl_Free((char*)list_entries); - } + int list_count = 0; + const char** list_entries = 0; + Tcl_Interp* tcl_interp = interp->get_tcl_interpreter(); + if (TCL_OK != Tcl_SplitList(tcl_interp, CDL_TCL_CONST_CAST(char*, argv[1]), &list_count, CDL_TCL_CONST_CAST(char***, &list_entries))) { + CdlParse::report_error(interp, diag_target + name, Tcl_GetStringResult(tcl_interp)); + } else { + // Allow for a dummy target spec, just in case it proves useful. + if (0 != list_count) { + for (int i = 0; i < list_count; i++) { + target->packages.push_back(list_entries[i]); + } + } + Tcl_Free((char*)list_entries); + } } - + CYG_REPORT_RETVAL(TCL_OK); return TCL_OK; } @@ -614,30 +614,30 @@ CdlDbParser::target_enable(CdlInterpreter interp, int argc, const char* argv[]) std::string name = interp->get_variable(dbparser_targetname); CYG_ASSERTC("" != name); CdlPackagesDatabaseBody::target_data* target = - static_cast(interp->get_assoc_data(dbparser_targetdata)); + static_cast(interp->get_assoc_data(dbparser_targetdata)); // There should be one argument, a list of valid flags. if (2 != argc) { - CdlParse::report_error(interp, diag_target + name, "`enable' should be followed by a list of CDL options."); + CdlParse::report_error(interp, diag_target + name, "`enable' should be followed by a list of CDL options."); } else { - int list_count = 0; - const char** list_entries = 0; - Tcl_Interp* tcl_interp = interp->get_tcl_interpreter(); - if (TCL_OK != Tcl_SplitList(tcl_interp, CDL_TCL_CONST_CAST(char*, argv[1]), &list_count, CDL_TCL_CONST_CAST(char***, &list_entries))) { - CdlParse::report_error(interp, diag_target + name, Tcl_GetStringResult(tcl_interp)); - } else { - for (int i = 0; i < list_count; i++) { - target->enable.push_back(list_entries[i]); - } - Tcl_Free((char *) list_entries); - } + int list_count = 0; + const char** list_entries = 0; + Tcl_Interp* tcl_interp = interp->get_tcl_interpreter(); + if (TCL_OK != Tcl_SplitList(tcl_interp, CDL_TCL_CONST_CAST(char*, argv[1]), &list_count, CDL_TCL_CONST_CAST(char***, &list_entries))) { + CdlParse::report_error(interp, diag_target + name, Tcl_GetStringResult(tcl_interp)); + } else { + for (int i = 0; i < list_count; i++) { + target->enable.push_back(list_entries[i]); + } + Tcl_Free((char *) list_entries); + } } CYG_REPORT_RETVAL(TCL_OK); return TCL_OK; } - + // Syntax: disable { opt1 opt2 ... } // For example: disable { CYGPKG_HAL_ARM_CL7xxx_7111 } int @@ -650,23 +650,23 @@ CdlDbParser::target_disable(CdlInterpreter interp, int argc, const char* argv[]) std::string name = interp->get_variable(dbparser_targetname); CYG_ASSERTC("" != name); CdlPackagesDatabaseBody::target_data* target = - static_cast(interp->get_assoc_data(dbparser_targetdata)); + static_cast(interp->get_assoc_data(dbparser_targetdata)); // There should be one argument, a list of valid flags. if (2 != argc) { - CdlParse::report_error(interp, diag_target + name, "`disable' should be followed by a list of CDL options."); + CdlParse::report_error(interp, diag_target + name, "`disable' should be followed by a list of CDL options."); } else { - int list_count = 0; - const char** list_entries = 0; - Tcl_Interp* tcl_interp = interp->get_tcl_interpreter(); - if (TCL_OK != Tcl_SplitList(tcl_interp, CDL_TCL_CONST_CAST(char*, argv[1]), &list_count, CDL_TCL_CONST_CAST(char***, &list_entries))) { - CdlParse::report_error(interp, diag_target + name, Tcl_GetStringResult(tcl_interp)); - } else { - for (int i = 0; i < list_count; i++) { - target->disable.push_back(list_entries[i]); - } - Tcl_Free((char *) list_entries); - } + int list_count = 0; + const char** list_entries = 0; + Tcl_Interp* tcl_interp = interp->get_tcl_interpreter(); + if (TCL_OK != Tcl_SplitList(tcl_interp, CDL_TCL_CONST_CAST(char*, argv[1]), &list_count, CDL_TCL_CONST_CAST(char***, &list_entries))) { + CdlParse::report_error(interp, diag_target + name, Tcl_GetStringResult(tcl_interp)); + } else { + for (int i = 0; i < list_count; i++) { + target->disable.push_back(list_entries[i]); + } + Tcl_Free((char *) list_entries); + } } CYG_REPORT_RETVAL(TCL_OK); @@ -685,13 +685,13 @@ CdlDbParser::target_set_value(CdlInterpreter interp, int argc, const char* argv[ std::string name = interp->get_variable(dbparser_targetname); CYG_ASSERTC("" != name); CdlPackagesDatabaseBody::target_data* target = - static_cast(interp->get_assoc_data(dbparser_targetdata)); + static_cast(interp->get_assoc_data(dbparser_targetdata)); // There should be one argument, a list of valid flags. if (3 != argc) { - CdlParse::report_error(interp, diag_target + name, "`set_value' should be followed by an option name and its value."); + CdlParse::report_error(interp, diag_target + name, "`set_value' should be followed by an option name and its value."); } else { - target->set_values.push_back(std::make_pair(std::string(argv[1]), std::string(argv[2]))); + target->set_values.push_back(std::make_pair(std::string(argv[1]), std::string(argv[2]))); } CYG_REPORT_RETVAL(TCL_OK); @@ -701,7 +701,7 @@ CdlDbParser::target_set_value(CdlInterpreter interp, int argc, const char* argv[ //}}} //}}} -//{{{ CdlPackagesDatabase:: creation +//{{{ CdlPackagesDatabase:: creation // ---------------------------------------------------------------------------- // The exported interface is make(). The hard work is done inside the @@ -715,22 +715,22 @@ CdlPackagesDatabaseBody::make(std::string repo, CdlDiagnosticFnPtr error_fn, Cdl // Where is the component repository? The location may come from the // parent or from an environment variable ECOS_REPOSITORY if ("" == repo) { - char *env = getenv("ECOS_REPOSITORY"); - if (0 == env) { - throw CdlInputOutputException(std::string("No component repository specified and no ") + - std::string("ECOS_REPOSITORY environment variable")); - } else { - repo = env; - } + char *env = getenv("ECOS_REPOSITORY"); + if (0 == env) { + throw CdlInputOutputException(std::string("No component repository specified and no ") + + std::string("ECOS_REPOSITORY environment variable")); + } else { + repo = env; + } } // Replace any backslashes in the repository with forward slashes. // The latter are used throughout the library // NOTE: this is not i18n-friendly. for (unsigned int i = 0; i < repo.size(); i++) { - if ('\\' == repo[i]) { - repo[i] = '/'; - } + if ('\\' == repo[i]) { + repo[i] = '/'; + } } CdlPackagesDatabase result = new CdlPackagesDatabaseBody(repo, error_fn, warn_fn); CYG_REPORT_RETVAL(result); @@ -748,7 +748,7 @@ CdlPackagesDatabaseBody::CdlPackagesDatabaseBody(std::string repo, CdlDiagnostic // so make sure that the database is valid first. component_repository = repo; cdlpackagesdatabasebody_cookie = CdlPackagesDatabaseBody_Magic; - + // We want to read in the entire packages file. Portability problems // can be largely eliminated by using a Tcl interpreter for this, but // under Windows there is a problem if the pathname is a cygwin one. @@ -767,104 +767,104 @@ CdlPackagesDatabaseBody::CdlPackagesDatabaseBody(std::string repo, CdlDiagnostic CdlInterpreter interp = CdlInterpreterBody::make(); try { - - CdlInterpreterBody::ContextSupport context(interp, database_name); - CdlInterpreterCommandEntry commands[] = - { - CdlInterpreterCommandEntry("package", &CdlDbParser::new_package ), - CdlInterpreterCommandEntry("target", &CdlDbParser::new_target ), - CdlInterpreterCommandEntry("", 0 ) - }; - CdlInterpreterBody::CommandSupport cmds(interp, commands); - CdlInterpreterBody::DiagSupport diag(interp, error_fn, warn_fn); - CdlInterpreterBody::AssocSupport assoc(interp, dbparser_database_key, static_cast(this)); - CdlInterpreterBody::VariableSupport var(interp, dbparser_component_repository, repo); - interp->add_command("unknown", &CdlParse::unknown_command); - CdlParse::clear_error_count(interp); - - // Ignore errors at this stage, instead check error count at the end. - (void) interp->eval_file(component_repository + "/" + database_name); - - // Now start looking for templates. These should reside in the - // templates subdirectory of the component repository. Each template - // should be in its own directory, and inside each directory should - // be versioned template files with a .ect extension. - std::string templates_dir = repo + "/" + "templates"; - std::vector subdirs; - interp->locate_subdirs(templates_dir, subdirs); - - unsigned int i; - for (i = 0; i < subdirs.size(); i++) { - // Do not add the template to the known ones until we are sure there is - // at least one valid template. - std::vector files; - interp->locate_files(templates_dir + "/" + subdirs[i], files); - unsigned int j; - for (j = 0; j < files.size(); j++) { - if ((4 < files[j].size()) && (".ect" == files[j].substr(files[j].size() - 4))) { - break; - } - } - if (j != files.size()) { - this->template_names.push_back(subdirs[i]); - for ( ; j < files.size(); j++) { - if ((4 < files[j].size()) && (".ect" == files[j].substr(files[j].size() - 4))) { - this->templates[subdirs[i]].versions.push_back(files[j].substr(0, files[j].size() - 4)); - } - } - } - } - - // Consistency checks. All target-specific packages should - // have the hardware attribute. Also, all the packages should - // exist. Problems only result in warnings and only when - // operating in verbose mode, to allow for somewhat - // inconsistent repositories e.g. an anoncvs tree. - if (CdlPackagesDatabaseBody::verbose_mode) { - std::vector::const_iterator name_i; - std::vector::const_iterator name_j; - for (name_i = target_names.begin(); name_i != target_names.end(); name_i++) { - for (name_j = targets[*name_i].packages.begin(); name_j != targets[*name_i].packages.end(); name_j++) { - if (std::find(package_names.begin(), package_names.end(), *name_j) == package_names.end()) { - CdlParse::report_warning(interp, diag_target + *name_i, - std::string("This target refers to an unknown package `") + *name_j + "'."); - } - if (!packages[*name_j].hardware) { - CdlParse::report_warning(interp, diag_target + *name_i, - std::string("This target refers to a package `") + *name_j + - "' that is not hardware-specific."); - } - } - } - } - // Now, were there any errors while reading in the database? - // If so it is necessary to throw an exception here, to make sure - // that things get cleaned up properly. - int error_count = CdlParse::get_error_count(interp); - if (0 != error_count) { - throw CdlInputOutputException("Invalid package database."); - } + + CdlInterpreterBody::ContextSupport context(interp, database_name); + CdlInterpreterCommandEntry commands[] = + { + CdlInterpreterCommandEntry("package", &CdlDbParser::new_package ), + CdlInterpreterCommandEntry("target", &CdlDbParser::new_target ), + CdlInterpreterCommandEntry("", 0 ) + }; + CdlInterpreterBody::CommandSupport cmds(interp, commands); + CdlInterpreterBody::DiagSupport diag(interp, error_fn, warn_fn); + CdlInterpreterBody::AssocSupport assoc(interp, dbparser_database_key, static_cast(this)); + CdlInterpreterBody::VariableSupport var(interp, dbparser_component_repository, repo); + interp->add_command("unknown", &CdlParse::unknown_command); + CdlParse::clear_error_count(interp); + + // Ignore errors at this stage, instead check error count at the end. + (void) interp->eval_file(component_repository + "/" + database_name); + + // Now start looking for templates. These should reside in the + // templates subdirectory of the component repository. Each template + // should be in its own directory, and inside each directory should + // be versioned template files with a .ect extension. + std::string templates_dir = repo + "/" + "templates"; + std::vector subdirs; + interp->locate_subdirs(templates_dir, subdirs); + + unsigned int i; + for (i = 0; i < subdirs.size(); i++) { + // Do not add the template to the known ones until we are sure there is + // at least one valid template. + std::vector files; + interp->locate_files(templates_dir + "/" + subdirs[i], files); + unsigned int j; + for (j = 0; j < files.size(); j++) { + if ((4 < files[j].size()) && (".ect" == files[j].substr(files[j].size() - 4))) { + break; + } + } + if (j != files.size()) { + this->template_names.push_back(subdirs[i]); + for ( ; j < files.size(); j++) { + if ((4 < files[j].size()) && (".ect" == files[j].substr(files[j].size() - 4))) { + this->templates[subdirs[i]].versions.push_back(files[j].substr(0, files[j].size() - 4)); + } + } + } + } + + // Consistency checks. All target-specific packages should + // have the hardware attribute. Also, all the packages should + // exist. Problems only result in warnings and only when + // operating in verbose mode, to allow for somewhat + // inconsistent repositories e.g. an anoncvs tree. + if (CdlPackagesDatabaseBody::verbose_mode) { + std::vector::const_iterator name_i; + std::vector::const_iterator name_j; + for (name_i = target_names.begin(); name_i != target_names.end(); name_i++) { + for (name_j = targets[*name_i].packages.begin(); name_j != targets[*name_i].packages.end(); name_j++) { + if (std::find(package_names.begin(), package_names.end(), *name_j) == package_names.end()) { + CdlParse::report_warning(interp, diag_target + *name_i, + std::string("This target refers to an unknown package `") + *name_j + "'."); + } + if (!packages[*name_j].hardware) { + CdlParse::report_warning(interp, diag_target + *name_i, + std::string("This target refers to a package `") + *name_j + + "' that is not hardware-specific."); + } + } + } + } + // Now, were there any errors while reading in the database? + // If so it is necessary to throw an exception here, to make sure + // that things get cleaned up properly. + int error_count = CdlParse::get_error_count(interp); + if (0 != error_count) { + throw CdlInputOutputException("Invalid package database."); + } } catch(...) { - // Something has gone wrong. Clear out all of the data accumulated so far, as well - // as the interpreter. - delete interp; - package_names.clear(); - target_names.clear(); - template_names.clear(); - packages.clear(); - targets.clear(); - templates.clear(); - throw; + // Something has gone wrong. Clear out all of the data accumulated so far, as well + // as the interpreter. + delete interp; + package_names.clear(); + target_names.clear(); + template_names.clear(); + packages.clear(); + targets.clear(); + templates.clear(); + throw; } delete interp; CYGDBG_MEMLEAK_CONSTRUCTOR(); - + CYG_REPORT_RETURN(); } //}}} -//{{{ CdlPackagesDatabase:: destructor +//{{{ CdlPackagesDatabase:: destructor // ---------------------------------------------------------------------------- CdlPackagesDatabaseBody::~CdlPackagesDatabaseBody() @@ -883,12 +883,12 @@ CdlPackagesDatabaseBody::~CdlPackagesDatabaseBody() templates.clear(); CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } //}}} -//{{{ CdlPackagesDatabase:: check_this() +//{{{ CdlPackagesDatabase:: check_this() // ---------------------------------------------------------------------------- @@ -896,7 +896,7 @@ bool CdlPackagesDatabaseBody::check_this(cyg_assert_class_zeal zeal) const { if (CdlPackagesDatabaseBody_Magic != cdlpackagesdatabasebody_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); @@ -904,68 +904,68 @@ CdlPackagesDatabaseBody::check_this(cyg_assert_class_zeal zeal) const case cyg_system_test : case cyg_extreme : { - std::vector::const_iterator names_i; - std::map::const_iterator pkgs_i; - - // Every entry in the names vector should have an entry in the packages vector. - for (names_i = package_names.begin(); names_i != package_names.end(); names_i++) { - if (packages.find(*names_i) == packages.end()) { - return false; - } - } - // The inverse should be true as well - for (pkgs_i = packages.begin(); pkgs_i != packages.end(); pkgs_i++) { - if (std::find(package_names.begin(), package_names.end(), pkgs_i->first) == package_names.end()) { - return false; - } - } - - // Repeat for targets. - std::map::const_iterator targets_i; - for (names_i = target_names.begin(); names_i != target_names.end(); names_i++) { - if (targets.find(*names_i) == targets.end()) { - return false; - } - } - for (targets_i = targets.begin(); targets_i != targets.end(); targets_i++) { - if (std::find(target_names.begin(), target_names.end(), targets_i->first) == target_names.end()) { - return false; - } - } - - // And for templates - std::map::const_iterator templates_i; - for (names_i = template_names.begin(); names_i != template_names.end(); names_i++) { - if (templates.find(*names_i) == templates.end()) { - return false; - } - } - // The inverse should be true as well - for (templates_i = templates.begin(); templates_i != templates.end(); templates_i++) { - if (std::find(template_names.begin(), template_names.end(), templates_i->first) == template_names.end()) { - return false; - } - } - - // Possibly the package directories should be validated as - // well, not to mention the various version subdirectories, - // but doing file I/O inside an assertion is excessive. + std::vector::const_iterator names_i; + std::map::const_iterator pkgs_i; + + // Every entry in the names vector should have an entry in the packages vector. + for (names_i = package_names.begin(); names_i != package_names.end(); names_i++) { + if (packages.find(*names_i) == packages.end()) { + return false; + } + } + // The inverse should be true as well + for (pkgs_i = packages.begin(); pkgs_i != packages.end(); pkgs_i++) { + if (std::find(package_names.begin(), package_names.end(), pkgs_i->first) == package_names.end()) { + return false; + } + } + + // Repeat for targets. + std::map::const_iterator targets_i; + for (names_i = target_names.begin(); names_i != target_names.end(); names_i++) { + if (targets.find(*names_i) == targets.end()) { + return false; + } + } + for (targets_i = targets.begin(); targets_i != targets.end(); targets_i++) { + if (std::find(target_names.begin(), target_names.end(), targets_i->first) == target_names.end()) { + return false; + } + } + + // And for templates + std::map::const_iterator templates_i; + for (names_i = template_names.begin(); names_i != template_names.end(); names_i++) { + if (templates.find(*names_i) == templates.end()) { + return false; + } + } + // The inverse should be true as well + for (templates_i = templates.begin(); templates_i != templates.end(); templates_i++) { + if (std::find(template_names.begin(), template_names.end(), templates_i->first) == template_names.end()) { + return false; + } + } + + // Possibly the package directories should be validated as + // well, not to mention the various version subdirectories, + // but doing file I/O inside an assertion is excessive. } case cyg_thorough : case cyg_quick: - if ("" == component_repository) { - return false; - } + if ("" == component_repository) { + return false; + } case cyg_trivial: case cyg_none : - break; + break; } return true; } //}}} -//{{{ CdlPackagesDatabase:: misc +//{{{ CdlPackagesDatabase:: misc // ---------------------------------------------------------------------------- @@ -987,12 +987,12 @@ CdlPackagesDatabaseBody::set_verbose(bool new_mode) CYG_REPORT_FUNCARG1XV(new_mode); verbose_mode = new_mode; - + CYG_REPORT_RETURN(); } //}}} -//{{{ CdlPackagesDatabase:: get package information +//{{{ CdlPackagesDatabase:: get package information // ---------------------------------------------------------------------------- @@ -1016,7 +1016,7 @@ CdlPackagesDatabaseBody::is_known_package(std::string name) const bool result = false; if (std::find(package_names.begin(), package_names.end(), name) != package_names.end()) { - result = true; + result = true; } CYG_REPORT_RETVAL(result); @@ -1032,10 +1032,10 @@ CdlPackagesDatabaseBody::get_package_description(std::string pkg_name) const std::map::const_iterator pkgs_i = packages.find(pkg_name); if (pkgs_i != packages.end()) { - CYG_REPORT_RETURN(); - return pkgs_i->second.description; + CYG_REPORT_RETURN(); + return pkgs_i->second.description; } - + CYG_FAIL("Invalid package name passed to CdlPackagesDatabase::get_package_description()"); static std::string dummy = ""; return dummy; @@ -1050,10 +1050,10 @@ CdlPackagesDatabaseBody::get_package_aliases(std::string pkg_name) const std::map::const_iterator pkgs_i = packages.find(pkg_name); if (pkgs_i != packages.end()) { - CYG_REPORT_RETURN(); - return pkgs_i->second.aliases; + CYG_REPORT_RETURN(); + return pkgs_i->second.aliases; } - + CYG_FAIL("Invalid package name passed to CdlPackagesDatabase::get_package_aliases()"); static std::vector dummy; return dummy; @@ -1068,10 +1068,10 @@ CdlPackagesDatabaseBody::get_package_versions(std::string pkg_name) const std::map::const_iterator pkgs_i = packages.find(pkg_name); if (pkgs_i != packages.end()) { - CYG_REPORT_RETURN(); - return pkgs_i->second.versions; + CYG_REPORT_RETURN(); + return pkgs_i->second.versions; } - + CYG_FAIL("Invalid package name passed to CdlPackagesDatabase::get_package_versions()"); static std::vector dummy; return dummy; @@ -1086,10 +1086,10 @@ CdlPackagesDatabaseBody::get_package_directory(std::string pkg_name) const std::map::const_iterator pkgs_i = packages.find(pkg_name); if (pkgs_i != packages.end()) { - CYG_REPORT_RETURN(); - return pkgs_i->second.directory; + CYG_REPORT_RETURN(); + return pkgs_i->second.directory; } - + CYG_FAIL("Invalid package name passed to CdlPackagesDatabase::get_package_directory()"); static std::string dummy = ""; return dummy; @@ -1104,10 +1104,10 @@ CdlPackagesDatabaseBody::get_package_script(std::string pkg_name) const std::map::const_iterator pkgs_i = packages.find(pkg_name); if (pkgs_i != packages.end()) { - CYG_REPORT_RETURN(); - return pkgs_i->second.script; + CYG_REPORT_RETURN(); + return pkgs_i->second.script; } - + CYG_FAIL("Invalid package name passed to CdlPackagesDatabase::get_package_script()"); static std::string dummy = ""; return dummy; @@ -1122,16 +1122,16 @@ CdlPackagesDatabaseBody::is_hardware_package(std::string pkg_name) const std::map::const_iterator pkgs_i = packages.find(pkg_name); if (pkgs_i != packages.end()) { - CYG_REPORT_RETURN(); - return pkgs_i->second.hardware; + CYG_REPORT_RETURN(); + return pkgs_i->second.hardware; } - + CYG_FAIL("Invalid package name passed to CdlPackagesDatabase::is_hardware_package()"); return false; } //}}} -//{{{ CdlPackagesDatabase:: get target information +//{{{ CdlPackagesDatabase:: get target information // ---------------------------------------------------------------------------- @@ -1154,7 +1154,7 @@ CdlPackagesDatabaseBody::is_known_target(std::string name) const bool result = false; if (std::find(target_names.begin(), target_names.end(), name) != target_names.end()) { - result = true; + result = true; } CYG_REPORT_RETVAL(result); @@ -1169,10 +1169,10 @@ CdlPackagesDatabaseBody::get_target_description(std::string target_name) const std::map::const_iterator target_i = targets.find(target_name); if (target_i != targets.end()) { - CYG_REPORT_RETURN(); - return target_i->second.description; + CYG_REPORT_RETURN(); + return target_i->second.description; } - + CYG_FAIL("Invalid target name passed to CdlPackagesDatabase::get_target_description()"); static std::string dummy = ""; return dummy; @@ -1186,10 +1186,10 @@ CdlPackagesDatabaseBody::get_target_aliases(std::string target_name) const std::map::const_iterator target_i = targets.find(target_name); if (target_i != targets.end()) { - CYG_REPORT_RETURN(); - return target_i->second.aliases; + CYG_REPORT_RETURN(); + return target_i->second.aliases; } - + CYG_FAIL("Invalid target name passed to CdlPackagesDatabase::get_target_aliases()"); static std::vector dummy; return dummy; @@ -1203,10 +1203,10 @@ CdlPackagesDatabaseBody::get_target_packages(std::string target_name) const std::map::const_iterator target_i = targets.find(target_name); if (target_i != targets.end()) { - CYG_REPORT_RETURN(); - return target_i->second.packages; + CYG_REPORT_RETURN(); + return target_i->second.packages; } - + CYG_FAIL("Invalid target name passed to CdlPackagesDatabase::get_target_packages()"); static std::vector dummy; return dummy; @@ -1220,10 +1220,10 @@ CdlPackagesDatabaseBody::get_target_enables(std::string target_name) const std::map::const_iterator target_i = this->targets.find(target_name); if (target_i != this->targets.end()) { - CYG_REPORT_RETURN(); - return target_i->second.enable; + CYG_REPORT_RETURN(); + return target_i->second.enable; } - + CYG_FAIL("Invalid target name passed to CdlPackagesDatabase::get_target_enables()"); static std::vector dummy; return dummy; @@ -1237,10 +1237,10 @@ CdlPackagesDatabaseBody::get_target_disables(std::string target_name) const std::map::const_iterator target_i = this->targets.find(target_name); if (target_i != this->targets.end()) { - CYG_REPORT_RETURN(); - return target_i->second.disable; + CYG_REPORT_RETURN(); + return target_i->second.disable; } - + CYG_FAIL("Invalid target name passed to CdlPackagesDatabase::get_target_disables()"); static std::vector dummy; return dummy; @@ -1254,17 +1254,17 @@ CdlPackagesDatabaseBody::get_target_set_values(std::string target_name) const std::map::const_iterator target_i = this->targets.find(target_name); if (target_i != this->targets.end()) { - CYG_REPORT_RETURN(); - return target_i->second.set_values; + CYG_REPORT_RETURN(); + return target_i->second.set_values; } - + CYG_FAIL("Invalid target name passed to CdlPackagesDatabase::get_target_values()"); static std::vector > dummy; return dummy; } //}}} -//{{{ CdlPackagesDatabase:: get template information +//{{{ CdlPackagesDatabase:: get template information // ---------------------------------------------------------------------------- // Templates are different from packages and targets. The ecos.db file @@ -1292,7 +1292,7 @@ CdlPackagesDatabaseBody::is_known_template(std::string name) const bool result = false; if (std::find(template_names.begin(), template_names.end(), name) != template_names.end()) { - result = true; + result = true; } CYG_REPORT_RETVAL(result); @@ -1308,10 +1308,10 @@ CdlPackagesDatabaseBody::get_template_versions(std::string template_name) const std::map::const_iterator template_i = templates.find(template_name); if (template_i != templates.end()) { - CYG_REPORT_RETURN(); - return template_i->second.versions; + CYG_REPORT_RETURN(); + return template_i->second.versions; } - + CYG_FAIL("Invalid template name passed to CdlPackagesDatabase::get_template_versions()"); static std::vector dummy; return dummy; @@ -1330,21 +1330,21 @@ CdlPackagesDatabaseBody::get_template_filename(std::string template_name, std::s // version should be used. std::map::const_iterator template_i = templates.find(template_name); if (template_i == templates.end()) { - CYG_FAIL("Invalid template name passed to CdlPackagesDatabase::get_template_filename"); - CYG_REPORT_RETURN(); - return ""; + CYG_FAIL("Invalid template name passed to CdlPackagesDatabase::get_template_filename"); + CYG_REPORT_RETURN(); + return ""; } if ("" == version_name) { - CYG_ASSERTC(0 != template_i->second.versions.size()); - version_name = template_i->second.versions[0]; + CYG_ASSERTC(0 != template_i->second.versions.size()); + version_name = template_i->second.versions[0]; } else { - std::vector::const_iterator vsn_i = std::find(template_i->second.versions.begin(), - template_i->second.versions.end(), version_name); - if (vsn_i == template_i->second.versions.end()) { - CYG_FAIL("Invalid template version passed to CdlPackagesDatabase::get_template_filename"); - CYG_REPORT_RETURN(); - return ""; - } + std::vector::const_iterator vsn_i = std::find(template_i->second.versions.begin(), + template_i->second.versions.end(), version_name); + if (vsn_i == template_i->second.versions.end()) { + CYG_FAIL("Invalid template version passed to CdlPackagesDatabase::get_template_filename"); + CYG_REPORT_RETURN(); + return ""; + } } std::string result = component_repository + "/templates/" + template_name + "/" + version_name + ".ect"; @@ -1367,23 +1367,23 @@ CdlPackagesDatabaseBody::get_template_description(std::string template_name, std // Is this a known template? std::map::iterator template_i = templates.find(template_name); if (template_i == templates.end()) { - CYG_FAIL("Invalid template name passed to CdlPackagesDatabase::get_template_description"); - CYG_REPORT_RETURN(); - return ""; + CYG_FAIL("Invalid template name passed to CdlPackagesDatabase::get_template_description"); + CYG_REPORT_RETURN(); + return ""; } // Is it a known version of the template? if ("" == version_name) { - CYG_ASSERTC(0 != template_i->second.versions.size()); - version_name = template_i->second.versions[0]; + CYG_ASSERTC(0 != template_i->second.versions.size()); + version_name = template_i->second.versions[0]; } else { - if (std::find(template_i->second.versions.begin(), template_i->second.versions.end(), version_name) == - template_i->second.versions.end()) { + if (std::find(template_i->second.versions.begin(), template_i->second.versions.end(), version_name) == + template_i->second.versions.end()) { - CYG_FAIL("Invalid template version passed to CdlPackagesDatabase::get_template_description"); - CYG_REPORT_RETURN(); - return ""; - } + CYG_FAIL("Invalid template version passed to CdlPackagesDatabase::get_template_description"); + CYG_REPORT_RETURN(); + return ""; + } } // We have a valid template and version. Has the version file in @@ -1391,17 +1391,17 @@ CdlPackagesDatabaseBody::get_template_description(std::string template_name, std std::map::iterator version_i; version_i = template_i->second.version_details.find(version_name); if (version_i != template_i->second.version_details.end()) { - CYG_REPORT_RETURN(); - return version_i->second.description; + CYG_REPORT_RETURN(); + return version_i->second.description; } - + std::string filename = this->get_template_filename(template_name, version_name); if ("" == filename) { - CYG_REPORT_RETURN(); - return ""; - } + CYG_REPORT_RETURN(); + return ""; + } extract_template_details(filename, template_i->second.version_details[version_name].description, - template_i->second.version_details[version_name].packages); + template_i->second.version_details[version_name].packages); CYG_REPORT_RETURN(); return template_i->second.version_details[version_name].description; } @@ -1417,27 +1417,27 @@ CdlPackagesDatabaseBody::get_template_packages(std::string template_name, std::s CYG_PRECONDITION_THISC(); static std::vector dummy; - + // Is this a known template? std::map::iterator template_i = templates.find(template_name); if (template_i == templates.end()) { - CYG_FAIL("Invalid template name passed to CdlPackagesDatabase::get_template_packages"); - CYG_REPORT_RETURN(); - return dummy; + CYG_FAIL("Invalid template name passed to CdlPackagesDatabase::get_template_packages"); + CYG_REPORT_RETURN(); + return dummy; } // Is it a known version of the template? if ("" == version_name) { - CYG_ASSERTC(0 != template_i->second.versions.size()); - version_name = template_i->second.versions[0]; + CYG_ASSERTC(0 != template_i->second.versions.size()); + version_name = template_i->second.versions[0]; } else { - if (std::find(template_i->second.versions.begin(), template_i->second.versions.end(), version_name) == - template_i->second.versions.end()) { + if (std::find(template_i->second.versions.begin(), template_i->second.versions.end(), version_name) == + template_i->second.versions.end()) { - CYG_FAIL("Invalid template version passed to CdlPackagesDatabase::get_packages"); - CYG_REPORT_RETURN(); - return dummy; - } + CYG_FAIL("Invalid template version passed to CdlPackagesDatabase::get_packages"); + CYG_REPORT_RETURN(); + return dummy; + } } // We have a valid template and version. Has the version file in @@ -1445,17 +1445,17 @@ CdlPackagesDatabaseBody::get_template_packages(std::string template_name, std::s std::map::iterator version_i; version_i = template_i->second.version_details.find(version_name); if (version_i != template_i->second.version_details.end()) { - CYG_REPORT_RETURN(); - return version_i->second.packages; + CYG_REPORT_RETURN(); + return version_i->second.packages; } - + std::string filename = this->get_template_filename(template_name, version_name); if ("" == filename) { - CYG_REPORT_RETURN(); - return dummy; - } + CYG_REPORT_RETURN(); + return dummy; + } extract_template_details(filename, template_i->second.version_details[version_name].description, - template_i->second.version_details[version_name].packages); + template_i->second.version_details[version_name].packages); CYG_REPORT_RETURN(); return template_i->second.version_details[version_name].packages; } @@ -1481,23 +1481,23 @@ extract_cdl_configuration(CdlInterpreter interp, int argc, const char* argv[]) CYG_PRECONDITION_CLASSC(interp); int result = TCL_OK; - + // usage: cdl_configuration if (3 != argc) { - interp->set_result("Invalid cdl_configuration command in template, expecting two arguments"); - result = TCL_ERROR; + interp->set_result("Invalid cdl_configuration command in template, expecting two arguments"); + result = TCL_ERROR; } else { - // Ignore the first argument for now. - std::string tmp; - result = interp->eval(argv[2], tmp); - - // After processing the cdl_configuration command the description and - // package information should be known. There is no point in processing - // the rest of the file. - if (TCL_OK == result) { - interp->set_result("OK"); - result = TCL_ERROR; - } + // Ignore the first argument for now. + std::string tmp; + result = interp->eval(argv[2], tmp); + + // After processing the cdl_configuration command the description and + // package information should be known. There is no point in processing + // the rest of the file. + if (TCL_OK == result) { + interp->set_result("OK"); + result = TCL_ERROR; + } } CYG_REPORT_RETVAL(result); @@ -1512,16 +1512,16 @@ extract_cdl_description(CdlInterpreter interp, int argc, const char* argv[]) CYG_PRECONDITION_CLASSC(interp); int result = TCL_OK; - + // usage: package if (2 != argc) { - interp->set_result("Invalid description command in template, expecting just one argument"); - result = TCL_ERROR; + interp->set_result("Invalid description command in template, expecting just one argument"); + result = TCL_ERROR; } else { - ClientData client_data = interp->get_assoc_data(template_description_key); - CYG_ASSERTC(0 != client_data); - std::string* result_ptr = static_cast(client_data); - *result_ptr = argv[1]; + ClientData client_data = interp->get_assoc_data(template_description_key); + CYG_ASSERTC(0 != client_data); + std::string* result_ptr = static_cast(client_data); + *result_ptr = argv[1]; } CYG_REPORT_RETVAL(result); @@ -1536,16 +1536,16 @@ extract_cdl_package(CdlInterpreter interp, int argc, const char* argv[]) CYG_PRECONDITION_CLASSC(interp); int result = TCL_OK; - + // usage: package if (2 > argc) { - interp->set_result("Invalid package command in template, expecting two arguments"); - result = TCL_ERROR; + interp->set_result("Invalid package command in template, expecting two arguments"); + result = TCL_ERROR; } else { - ClientData client_data = interp->get_assoc_data(template_packages_key); - CYG_ASSERTC(0 != client_data); - std::vector* result_ptr = static_cast*>(client_data); - result_ptr->push_back(argv[1]); + ClientData client_data = interp->get_assoc_data(template_packages_key); + CYG_ASSERTC(0 != client_data); + std::vector* result_ptr = static_cast*>(client_data); + result_ptr->push_back(argv[1]); } CYG_REPORT_RETVAL(result); return result; @@ -1554,7 +1554,7 @@ extract_cdl_package(CdlInterpreter interp, int argc, const char* argv[]) void CdlPackagesDatabaseBody::extract_template_details(std::string filename, std::string& description, - std::vector& packages) + std::vector& packages) { CYG_REPORT_FUNCNAME("CdlPackagesDatabase::extract_template_description"); @@ -1563,19 +1563,19 @@ CdlPackagesDatabaseBody::extract_template_details(std::string filename, std::str interp->set_assoc_data(template_packages_key, static_cast(&packages)); static CdlInterpreterCommandEntry extract_commands[] = { - CdlInterpreterCommandEntry("cdl_savefile_version", &extract_ignore ), - CdlInterpreterCommandEntry("cdl_savefile_command", &extract_ignore ), - CdlInterpreterCommandEntry("cdl_configuration", &extract_cdl_configuration ), - CdlInterpreterCommandEntry("hardware", &extract_ignore ), - CdlInterpreterCommandEntry("template", &extract_ignore ), - CdlInterpreterCommandEntry("description", &extract_cdl_description ), - CdlInterpreterCommandEntry("package", &extract_cdl_package ), - CdlInterpreterCommandEntry("unknown", &extract_ignore ), - CdlInterpreterCommandEntry("", 0 ) + CdlInterpreterCommandEntry("cdl_savefile_version", &extract_ignore ), + CdlInterpreterCommandEntry("cdl_savefile_command", &extract_ignore ), + CdlInterpreterCommandEntry("cdl_configuration", &extract_cdl_configuration ), + CdlInterpreterCommandEntry("hardware", &extract_ignore ), + CdlInterpreterCommandEntry("template", &extract_ignore ), + CdlInterpreterCommandEntry("description", &extract_cdl_description ), + CdlInterpreterCommandEntry("package", &extract_cdl_package ), + CdlInterpreterCommandEntry("unknown", &extract_ignore ), + CdlInterpreterCommandEntry("", 0 ) }; std::vector new_commands; for (int i = 0; 0 != extract_commands[i].command; i++) { - new_commands.push_back(extract_commands[i]); + new_commands.push_back(extract_commands[i]); } interp->push_commands(new_commands); @@ -1583,20 +1583,20 @@ CdlPackagesDatabaseBody::extract_template_details(std::string filename, std::str int result = interp->eval_file(filename, tmp); // Special escape mechanism, see extract_cdl_configuration() above if ((TCL_ERROR == result) && ("OK" == tmp)) { - result = TCL_OK; + result = TCL_OK; } -#if 0 +#if 0 if (TCL_OK != result) { - // No obvious way of recovering just yet + // No obvious way of recovering just yet } #endif delete interp; - + CYG_REPORT_RETURN(); } //}}} -//{{{ CdlPackagesDatabase:: get_valid_cflags() +//{{{ CdlPackagesDatabase:: get_valid_cflags() // ---------------------------------------------------------------------------- @@ -1607,18 +1607,18 @@ CdlPackagesDatabaseBody::get_valid_cflags() static std::vector result_vec; static const char* valid_flags[] = { - "ARCHFLAGS", "CARCHFLAGS", "CXXARCHFLAGS", "LDARCHFLAGS", - "ERRFLAGS", "CERRFLAGS", "CXXERRFLAGS", "LDERRFLAGS", - "LANGFLAGS", "CLANGFLAGS", "CXXLANGFLAGS", "LDLANGFLAGS", - "DBGFLAGS", "CDBGFLAGS", "CXXDBGFLAGS", "LDDBGFLAGS", - "EXTRAFLAGS", "CEXTRAFLAGS", "CXXEXTRAFLAGS", "LDEXTRAFLAGS", - 0 + "ARCHFLAGS", "CARCHFLAGS", "CXXARCHFLAGS", "LDARCHFLAGS", + "ERRFLAGS", "CERRFLAGS", "CXXERRFLAGS", "LDERRFLAGS", + "LANGFLAGS", "CLANGFLAGS", "CXXLANGFLAGS", "LDLANGFLAGS", + "DBGFLAGS", "CDBGFLAGS", "CXXDBGFLAGS", "LDDBGFLAGS", + "EXTRAFLAGS", "CEXTRAFLAGS", "CXXEXTRAFLAGS", "LDEXTRAFLAGS", + 0 }; if (0 == result_vec.size()) { - for (int i = 0; 0 != valid_flags[i]; i++) { - result_vec.push_back(valid_flags[i]); - } + for (int i = 0; 0 != valid_flags[i]; i++) { + result_vec.push_back(valid_flags[i]); + } } CYG_REPORT_RETURN(); return result_vec; diff --git a/tools/src/libcdl/dialog.cxx b/tools/src/libcdl/dialog.cxx index fcf91c64..b8ab3810 100644 --- a/tools/src/libcdl/dialog.cxx +++ b/tools/src/libcdl/dialog.cxx @@ -106,8 +106,8 @@ CdlDialogBody::dialogs_are_enabled() // There is no data associated with a custom dialog object. CdlDialogBody::CdlDialogBody(std::string name_arg) : CdlNodeBody(name_arg), - CdlParentableBody(), - CdlUserVisibleBody() + CdlUserVisibleBody(), + CdlParentableBody() { CYG_REPORT_FUNCNAME("CdlDialogBody:: constructor"); CYG_REPORT_FUNCARG1XV(this); diff --git a/tools/src/libcdl/interface.cxx b/tools/src/libcdl/interface.cxx index 20a7224c..8e57e5f4 100644 --- a/tools/src/libcdl/interface.cxx +++ b/tools/src/libcdl/interface.cxx @@ -1,4 +1,4 @@ -//{{{ Banner +//{{{ Banner //============================================================================ // @@ -8,29 +8,29 @@ // //============================================================================ //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 2002 Bart Veer // Copyright (C) 1999, 2000 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //============================================================================ //#####DESCRIPTIONBEGIN#### @@ -44,7 +44,7 @@ //============================================================================ //}}} -//{{{ #include's +//{{{ #include's // ---------------------------------------------------------------------------- #include "cdlconfig.h" @@ -61,13 +61,13 @@ //}}} -//{{{ Statics +//{{{ Statics // ---------------------------------------------------------------------------- CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlInterfaceBody); //}}} -//{{{ Constructor +//{{{ Constructor // ---------------------------------------------------------------------------- CdlInterfaceBody::CdlInterfaceBody(std::string name_arg, bool generated_arg) @@ -90,7 +90,7 @@ CdlInterfaceBody::CdlInterfaceBody(std::string name_arg, bool generated_arg) } //}}} -//{{{ Destructor +//{{{ Destructor // ---------------------------------------------------------------------------- CdlInterfaceBody::~CdlInterfaceBody() @@ -101,12 +101,12 @@ CdlInterfaceBody::~CdlInterfaceBody() cdlinterfacebody_cookie = CdlInterfaceBody_Invalid; CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } //}}} -//{{{ parse_interface() +//{{{ parse_interface() // ---------------------------------------------------------------------------- // Parsing an interface definition. This is basically the same as parsing @@ -118,11 +118,11 @@ CdlInterfaceBody::parse_interface(CdlInterpreter interp, int argc, const char* a CYG_REPORT_FUNCNAMETYPE("CdlInterface::parse_interface", "result %d"); CYG_REPORT_FUNCARG1("argc %d", argc); CYG_PRECONDITION_CLASSC(interp); - + std::string diag_argv0 = CdlParse::get_tcl_cmd_name(argv[0]); CdlLoadable loadable = interp->get_loadable(); - CdlContainer parent = interp->get_container(); + CdlContainer parent = interp->get_container(); CdlToplevel toplevel = interp->get_toplevel(); CYG_ASSERT_CLASSC(loadable); // There should always be a loadable during parsing CYG_ASSERT_CLASSC(parent); @@ -138,52 +138,52 @@ CdlInterfaceBody::parse_interface(CdlInterpreter interp, int argc, const char* a bool ok = true; int result = TCL_OK; try { - - // Currently there are no command-line options. This may change in future. - if (3 != argc) { - CdlParse::report_error(interp, "", std::string("Incorrect number of arguments to `") + diag_argv0 + - "'\nExpecting name and properties list."); - ok = false; - } else if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[2]))) { - CdlParse::report_error(interp, "", std::string("Invalid property list for cdl_interface `") + argv[1] + "'."); - ok = false; - } else if (0 != toplevel->lookup(argv[1])) { - // FIXME: interfaces can be generated implicitly because of an - // unresolved implements property. This code should look for - // an existing auto-generated interface object and replace it - // if necessary. - CdlParse::report_error(interp, "", std::string("Interface `") + argv[1] + - "' cannot be loaded.\nThe name is already in use."); - ok = false; - } else { - new_interface = new CdlInterfaceBody(argv[1], false); - toplevel->add_node(loadable, parent, new_interface); - } - - if (!ok) { - // Just because this component cannot be created, that is no - // reason to abort the whole parsing process. - CYG_REPORT_RETVAL(TCL_OK); - return TCL_OK; - } + + // Currently there are no command-line options. This may change in future. + if (3 != argc) { + CdlParse::report_error(interp, "", std::string("Incorrect number of arguments to `") + diag_argv0 + + "'\nExpecting name and properties list."); + ok = false; + } else if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[2]))) { + CdlParse::report_error(interp, "", std::string("Invalid property list for cdl_interface `") + argv[1] + "'."); + ok = false; + } else if (0 != toplevel->lookup(argv[1])) { + // FIXME: interfaces can be generated implicitly because of an + // unresolved implements property. This code should look for + // an existing auto-generated interface object and replace it + // if necessary. + CdlParse::report_error(interp, "", std::string("Interface `") + argv[1] + + "' cannot be loaded.\nThe name is already in use."); + ok = false; + } else { + new_interface = new CdlInterfaceBody(argv[1], false); + toplevel->add_node(loadable, parent, new_interface); + } + + if (!ok) { + // Just because this component cannot be created, that is no + // reason to abort the whole parsing process. + CYG_REPORT_RETVAL(TCL_OK); + return TCL_OK; + } } catch(std::bad_alloc e) { - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); - result = TCL_ERROR; + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); + result = TCL_ERROR; } catch(CdlParseException e) { - interp->set_result(e.get_message()); - result = TCL_ERROR; + interp->set_result(e.get_message()); + result = TCL_ERROR; } catch(...) { - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); - result = TCL_ERROR; + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); + result = TCL_ERROR; } if (TCL_OK != result) { - CYG_REPORT_RETVAL(result); - return result; + CYG_REPORT_RETVAL(result); + return result; } // At this stage new_interface has been created and added to the // hierarchy. The main work now is to add the properties. - + // Push the option as the current node early on. This aids // diagnostics. CdlNode old_node = interp->push_node(new_interface); @@ -195,120 +195,120 @@ CdlInterfaceBody::parse_interface(CdlInterpreter interp, int argc, const char* a std::vector* old_commands = 0; static CdlInterpreterCommandEntry commands[] = { - CdlInterpreterCommandEntry("", 0) + CdlInterpreterCommandEntry("", 0) }; int i; - + // All parsing errors may result in an exception, under the control of // application code. This exception must not pass through the Tcl interpreter. try { - for (i = 0; 0 != commands[i].command; i++) { - new_commands.push_back(commands[i]); - } - CdlDefinableBody::add_property_parsers(new_commands); - CdlBuildableBody::add_property_parsers(new_commands); - CdlParentableBody::add_property_parsers(new_commands); - CdlValuableBody::add_property_parsers(new_commands); - CdlUserVisibleBody::add_property_parsers(new_commands); - CdlNodeBody::add_property_parsers(new_commands); - - // Now evaluate the body. If an error occurs then typically - // this will be reported via CdlParse::report_error(), - // but any exceptions will have been intercepted and - // turned into a Tcl error. - old_commands = interp->push_commands(new_commands); - result = interp->eval(argv[2], tcl_result); - interp->pop_commands(old_commands); - - if (TCL_OK == result) { - // Even if there were errors, they were not fatal. There may - // now be a number of properties for this option, and some - // validation should take place. Start with the base classes. - new_interface->CdlNodeBody::check_properties(interp); - new_interface->CdlUserVisibleBody::check_properties(interp); - new_interface->CdlValuableBody::check_properties(interp); - new_interface->CdlParentableBody::check_properties(interp); - new_interface->CdlBuildableBody::check_properties(interp); - new_interface->CdlDefinableBody::check_properties(interp); - - // The flavor "none" makes no sense for interfaces. - // The flavor "bool" makes very little sense, but may be useful - // in weird cases. Both booldata and data make sense. - // The default flavor is "data", because interfaces are - // essentially just counters. - if (new_interface->has_property(CdlPropertyId_Flavor)) { - if (CdlValueFlavor_None == new_interface->get_flavor()) { - CdlParse::report_error(interp, "", "An interface should not have the `none' flavor."); - } - } - - // Interfaces cannot be modified directly by the user, so - // there is no point in entry_proc, check_proc, dialog or - // wizard - if (new_interface->has_property(CdlPropertyId_EntryProc)) { - CdlParse::report_error(interp, "", "An interface should not have an `entry_proc' property."); - } - if (new_interface->has_property(CdlPropertyId_CheckProc)) { - CdlParse::report_error(interp, "", "An interface should not have a `check_proc' property."); - } - if (new_interface->has_property(CdlPropertyId_Dialog)) { - CdlParse::report_error(interp, "", "An interface should not have a `dialog' property."); - } - if (new_interface->has_property(CdlPropertyId_Wizard)) { - CdlParse::report_error(interp, "", "An interface should not have a `wizard' property."); - } - // Calculated does not make sense, an interface is implicitly calculated - // Nor does default_value. - if (new_interface->has_property(CdlPropertyId_Calculated)) { - CdlParse::report_error(interp, "", "An interface should not have a `calculated' property."); - } - if (new_interface->has_property(CdlPropertyId_DefaultValue)) { - CdlParse::report_error(interp, "", "An interface should not have a `default_value' property."); - } - // active_if might make sense, as a way of controlling - // whether or not a #define will be generated. - - // legal_values, requires and implements are all sensible - // properties for an interface. - - // group may or may not make sense, allow it for now. - - // For the uservisible base class, allow all of display, - // doc and description. At worst these are harmless - - // For the parentable base class, allow parent. Again this - // is harmless. - - // Also allow all of the definable and buildable - // properties. - } + for (i = 0; 0 != commands[i].command; i++) { + new_commands.push_back(commands[i]); + } + CdlDefinableBody::add_property_parsers(new_commands); + CdlBuildableBody::add_property_parsers(new_commands); + CdlParentableBody::add_property_parsers(new_commands); + CdlValuableBody::add_property_parsers(new_commands); + CdlUserVisibleBody::add_property_parsers(new_commands); + CdlNodeBody::add_property_parsers(new_commands); + + // Now evaluate the body. If an error occurs then typically + // this will be reported via CdlParse::report_error(), + // but any exceptions will have been intercepted and + // turned into a Tcl error. + old_commands = interp->push_commands(new_commands); + result = interp->eval(argv[2], tcl_result); + interp->pop_commands(old_commands); + + if (TCL_OK == result) { + // Even if there were errors, they were not fatal. There may + // now be a number of properties for this option, and some + // validation should take place. Start with the base classes. + new_interface->CdlNodeBody::check_properties(interp); + new_interface->CdlUserVisibleBody::check_properties(interp); + new_interface->CdlValuableBody::check_properties(interp); + new_interface->CdlParentableBody::check_properties(interp); + new_interface->CdlBuildableBody::check_properties(interp); + new_interface->CdlDefinableBody::check_properties(interp); + + // The flavor "none" makes no sense for interfaces. + // The flavor "bool" makes very little sense, but may be useful + // in weird cases. Both booldata and data make sense. + // The default flavor is "data", because interfaces are + // essentially just counters. + if (new_interface->has_property(CdlPropertyId_Flavor)) { + if (CdlValueFlavor_None == new_interface->get_flavor()) { + CdlParse::report_error(interp, "", "An interface should not have the `none' flavor."); + } + } + + // Interfaces cannot be modified directly by the user, so + // there is no point in entry_proc, check_proc, dialog or + // wizard + if (new_interface->has_property(CdlPropertyId_EntryProc)) { + CdlParse::report_error(interp, "", "An interface should not have an `entry_proc' property."); + } + if (new_interface->has_property(CdlPropertyId_CheckProc)) { + CdlParse::report_error(interp, "", "An interface should not have a `check_proc' property."); + } + if (new_interface->has_property(CdlPropertyId_Dialog)) { + CdlParse::report_error(interp, "", "An interface should not have a `dialog' property."); + } + if (new_interface->has_property(CdlPropertyId_Wizard)) { + CdlParse::report_error(interp, "", "An interface should not have a `wizard' property."); + } + // Calculated does not make sense, an interface is implicitly calculated + // Nor does default_value. + if (new_interface->has_property(CdlPropertyId_Calculated)) { + CdlParse::report_error(interp, "", "An interface should not have a `calculated' property."); + } + if (new_interface->has_property(CdlPropertyId_DefaultValue)) { + CdlParse::report_error(interp, "", "An interface should not have a `default_value' property."); + } + // active_if might make sense, as a way of controlling + // whether or not a #define will be generated. + + // legal_values, requires and implements are all sensible + // properties for an interface. + + // group may or may not make sense, allow it for now. + + // For the uservisible base class, allow all of display, + // doc and description. At worst these are harmless + + // For the parentable base class, allow parent. Again this + // is harmless. + + // Also allow all of the definable and buildable + // properties. + } } catch (std::bad_alloc e) { - // Errors at this stage should be reported via Tcl, not via C++. - // However there is no point in continuing with the parsing operation, - // just give up. - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); - result = TCL_ERROR; + // Errors at this stage should be reported via Tcl, not via C++. + // However there is no point in continuing with the parsing operation, + // just give up. + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); + result = TCL_ERROR; } catch (CdlParseException e) { - interp->set_result(e.get_message()); - result = TCL_ERROR; + interp->set_result(e.get_message()); + result = TCL_ERROR; } catch(...) { - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); - result = TCL_ERROR; + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); + result = TCL_ERROR; } // Restore the interpreter to its prior state. interp->pop_node(old_node); if (0 != old_commands) { - interp->pop_commands(old_commands); + interp->pop_commands(old_commands); } - + CYG_REPORT_RETVAL(result); return result; } //}}} -//{{{ Persistence support +//{{{ Persistence support // ---------------------------------------------------------------------------- @@ -334,46 +334,46 @@ CdlInterfaceBody::save(CdlInterpreter interp, Tcl_Channel chan, int indentation, // Interfaces contain only calculated data, so for a minimal save // there is no point in storing any of the data. if (!minimal || this->has_additional_savefile_information()) { - // Start with the UserVisible data, which will result in a suitable set - // of comments before the package definition itself. - this->CdlUserVisibleBody::save(interp, chan, indentation, minimal); - - // Now output the line "cdl_interface {" - // The name is guaranteed to be a valid C preprocessor symbol, so it - // is not going to need any quoting. - std::string data = std::string(indentation, ' ') + "cdl_interface " + get_name() + " {\n"; - - // Start with details of everything that implements this interface. - if (!minimal) { - const std::vector& referrers = this->get_referrers(); - std::vector::const_iterator ref_i; - int real_referrers = 0; - for (ref_i = referrers.begin(); ref_i != referrers.end(); ref_i++) { - CdlNode node = ref_i->get_source(); - CdlProperty prop = ref_i->get_source_property(); - - CdlValuable valuable = dynamic_cast(node); - if ((0 != valuable) && (CdlPropertyId_Implements == prop->get_property_name())) { - real_referrers++; - data += std::string(indentation, ' ') + " # Implemented by " + valuable->get_name() + ", " + - (valuable->is_active() ? "active" : "inactive") + ", " + - (valuable->is_enabled() ? "enabled" : "disabled") + '\n'; - } - } - if (0 == real_referrers) { - data += std::string(indentation, ' ') + " # No options implement this inferface\n"; - } - } - interp->write_data(chan, data); - - // Deal with the value - this->CdlValuableBody::save(interp, chan, indentation + 4, false, minimal); - - // Close the cdl_interface body. A blank line is added here. - data = "};\n\n"; - interp->write_data(chan, data); + // Start with the UserVisible data, which will result in a suitable set + // of comments before the package definition itself. + this->CdlUserVisibleBody::save(interp, chan, indentation, minimal); + + // Now output the line "cdl_interface {" + // The name is guaranteed to be a valid C preprocessor symbol, so it + // is not going to need any quoting. + std::string data = std::string(indentation, ' ') + "cdl_interface " + get_name() + " {\n"; + + // Start with details of everything that implements this interface. + if (!minimal) { + const std::vector& referrers = this->get_referrers(); + std::vector::const_iterator ref_i; + int real_referrers = 0; + for (ref_i = referrers.begin(); ref_i != referrers.end(); ref_i++) { + CdlNode node = ref_i->get_source(); + CdlProperty prop = ref_i->get_source_property(); + + CdlValuable valuable = dynamic_cast(node); + if ((0 != valuable) && (CdlPropertyId_Implements == prop->get_property_name())) { + real_referrers++; + data += std::string(indentation, ' ') + " # Implemented by " + valuable->get_name() + ", " + + (valuable->is_active() ? "active" : "inactive") + ", " + + (valuable->is_enabled() ? "enabled" : "disabled") + '\n'; + } + } + if (0 == real_referrers) { + data += std::string(indentation, ' ') + " # No options implement this inferface\n"; + } + } + interp->write_data(chan, data); + + // Deal with the value + this->CdlValuableBody::_save(interp, chan, indentation + 4, false, minimal); + + // Close the cdl_interface body. A blank line is added here. + data = "};\n\n"; + interp->write_data(chan, data); } - + CYG_REPORT_RETURN(); } @@ -390,41 +390,41 @@ CdlInterfaceBody::savefile_interface_command(CdlInterpreter interp, int argc, co std::vector subcommands; std::vector* toplevel_commands = 0; CdlNode old_node = 0; - + try { - - if (3 != argc) { - CdlParse::report_error(interp, "", "Invalid cdl_interface command in savefile, expecting two arguments."); - } else { - - CdlNode current_node = toplevel->lookup(argv[1]); - if (0 == current_node) { - // FIXME: save value in limbo - CdlParse::report_error(interp, "", - std::string("The savefile contains a cdl_interface command for an unknown interface `") - + argv[1] + "'."); - } else { - toplevel->get_savefile_subcommands("cdl_interface", subcommands); - toplevel_commands = interp->push_commands(subcommands); - old_node = interp->push_node(current_node); - - std::string tcl_result; - result = interp->eval(argv[2], tcl_result); - - interp->pop_commands(toplevel_commands); - toplevel_commands = 0; - interp->pop_node(old_node); - old_node = 0; - } - } + + if (3 != argc) { + CdlParse::report_error(interp, "", "Invalid cdl_interface command in savefile, expecting two arguments."); + } else { + + CdlNode current_node = toplevel->lookup(argv[1]); + if (0 == current_node) { + // FIXME: save value in limbo + CdlParse::report_error(interp, "", + std::string("The savefile contains a cdl_interface command for an unknown interface `") + + argv[1] + "'."); + } else { + toplevel->get_savefile_subcommands("cdl_interface", subcommands); + toplevel_commands = interp->push_commands(subcommands); + old_node = interp->push_node(current_node); + + std::string tcl_result; + result = interp->eval(argv[2], tcl_result); + + interp->pop_commands(toplevel_commands); + toplevel_commands = 0; + interp->pop_node(old_node); + old_node = 0; + } + } } catch(...) { - if (0 != old_node) { - interp->pop_node(old_node); - } - if (0 != toplevel_commands) { - interp->pop_commands(toplevel_commands); - } - throw; + if (0 != old_node) { + interp->pop_node(old_node); + } + if (0 != toplevel_commands) { + interp->pop_commands(toplevel_commands); + } + throw; } CYG_REPORT_RETVAL(result); @@ -432,7 +432,7 @@ CdlInterfaceBody::savefile_interface_command(CdlInterpreter interp, int argc, co } //}}} -//{{{ check_this() +//{{{ check_this() // ---------------------------------------------------------------------------- @@ -440,19 +440,19 @@ bool CdlInterfaceBody::check_this(cyg_assert_class_zeal zeal) const { if (CdlInterfaceBody_Magic != cdlinterfacebody_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); return CdlNodeBody::check_this(zeal) && - CdlUserVisibleBody::check_this(zeal) && - CdlValuableBody::check_this(zeal) && - CdlParentableBody::check_this(zeal) && - CdlBuildableBody::check_this(zeal) && - CdlDefinableBody::check_this(zeal); + CdlUserVisibleBody::check_this(zeal) && + CdlValuableBody::check_this(zeal) && + CdlParentableBody::check_this(zeal) && + CdlBuildableBody::check_this(zeal) && + CdlDefinableBody::check_this(zeal); } //}}} -//{{{ recalculate() +//{{{ recalculate() // ---------------------------------------------------------------------------- // There has been a change in the configuration which may affect the value @@ -472,57 +472,57 @@ CdlInterfaceBody::recalculate(CdlTransaction transaction) std::vector::const_iterator valuable_i; this->get_implementers(implementers); for (valuable_i = implementers.begin(); valuable_i != implementers.end(); valuable_i++) { - if (transaction->is_active(*valuable_i)) { - const CdlValue& implementer_value = transaction->get_whole_value(*valuable_i); - if (implementer_value.is_enabled()) { - count++; - } - } + if (transaction->is_active(*valuable_i)) { + const CdlValue& implementer_value = transaction->get_whole_value(*valuable_i); + if (implementer_value.is_enabled()) { + count++; + } + } } // What to do with the count depends on the flavor. switch(this->get_flavor()) { case CdlValueFlavor_Bool : - { - bool new_bool = (count > 0); - if (new_bool != old_value.is_enabled()) { - CdlValue new_value = old_value; - new_value.set_enabled(new_bool, CdlValueSource_Default); - transaction->set_whole_value(this, old_value, new_value); - } - break; - } + { + bool new_bool = (count > 0); + if (new_bool != old_value.is_enabled()) { + CdlValue new_value = old_value; + new_value.set_enabled(new_bool, CdlValueSource_Default); + transaction->set_whole_value(this, old_value, new_value); + } + break; + } case CdlValueFlavor_BoolData: - { - // The only thing that actually needs checking is the count value. - // Iff that has changed then the boolean part may need changing as well. - if (count != old_value.get_integer_value()) { - CdlValue new_value = old_value; - new_value.set_enabled_and_value(count > 0, count, CdlValueSource_Default); - transaction->set_whole_value(this, old_value, new_value); - } - - break; - } + { + // The only thing that actually needs checking is the count value. + // Iff that has changed then the boolean part may need changing as well. + if (count != old_value.get_integer_value()) { + CdlValue new_value = old_value; + new_value.set_enabled_and_value(count > 0, count, CdlValueSource_Default); + transaction->set_whole_value(this, old_value, new_value); + } + + break; + } case CdlValueFlavor_Data: - { - if (count != old_value.get_integer_value()) { - CdlValue new_value = old_value; - new_value.set_integer_value(count, CdlValueSource_Default); - transaction->set_whole_value(this, old_value, new_value); - } - break; - } - + { + if (count != old_value.get_integer_value()) { + CdlValue new_value = old_value; + new_value.set_integer_value(count, CdlValueSource_Default); + transaction->set_whole_value(this, old_value, new_value); + } + break; + } + default: - break; + break; } - + CYG_REPORT_RETURN(); } //}}} -//{{{ misc +//{{{ misc // ---------------------------------------------------------------------------- @@ -553,15 +553,15 @@ CdlInterfaceBody::get_implementers(std::vector& implementers) const const std::vector& referrers = this->get_referrers(); std::vector::const_iterator ref_i; for (ref_i = referrers.begin(); ref_i != referrers.end(); ref_i++) { - CdlNode node = ref_i->get_source(); - CdlProperty prop = ref_i->get_source_property(); + CdlNode node = ref_i->get_source(); + CdlProperty prop = ref_i->get_source_property(); - CdlValuable valuable = dynamic_cast(node); - if ((0 != valuable) && (CdlPropertyId_Implements == prop->get_property_name())) { - implementers.push_back(valuable); - } + CdlValuable valuable = dynamic_cast(node); + if ((0 != valuable) && (CdlPropertyId_Implements == prop->get_property_name())) { + implementers.push_back(valuable); + } } - + CYG_REPORT_RETURN(); } diff --git a/tools/src/libcdl/interp.cxx b/tools/src/libcdl/interp.cxx index 28408dd6..823b4c04 100644 --- a/tools/src/libcdl/interp.cxx +++ b/tools/src/libcdl/interp.cxx @@ -67,7 +67,7 @@ // ---------------------------------------------------------------------------- // This key is used for accessing AssocData in the Tcl interpreters, // specifically the CdlInterpreter object. -char* CdlInterpreterBody::cdlinterpreter_assoc_data_key = "__cdlinterpreter"; +const char* CdlInterpreterBody::cdlinterpreter_assoc_data_key = "__cdlinterpreter"; CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlInterpreterBody); diff --git a/tools/src/libcdl/option.cxx b/tools/src/libcdl/option.cxx index e4b07059..1d408a87 100644 --- a/tools/src/libcdl/option.cxx +++ b/tools/src/libcdl/option.cxx @@ -1,4 +1,4 @@ -//{{{ Banner +//{{{ Banner //============================================================================ // @@ -8,29 +8,29 @@ // //============================================================================ //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 2002 Bart Veer // Copyright (C) 1999, 2000 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //============================================================================ //#####DESCRIPTIONBEGIN#### @@ -44,7 +44,7 @@ //============================================================================ //}}} -//{{{ #include's +//{{{ #include's // ---------------------------------------------------------------------------- #include "cdlconfig.h" @@ -61,13 +61,13 @@ //}}} -//{{{ Statics +//{{{ Statics // ---------------------------------------------------------------------------- CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlOptionBody); //}}} -//{{{ Constructor +//{{{ Constructor // ---------------------------------------------------------------------------- CdlOptionBody::CdlOptionBody(std::string name_arg) @@ -89,7 +89,7 @@ CdlOptionBody::CdlOptionBody(std::string name_arg) } //}}} -//{{{ Destructor +//{{{ Destructor // ---------------------------------------------------------------------------- @@ -101,12 +101,12 @@ CdlOptionBody::~CdlOptionBody() cdloptionbody_cookie = CdlOptionBody_Invalid; CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } //}}} -//{{{ parse_option() +//{{{ parse_option() // ---------------------------------------------------------------------------- // Parsing an option definition. This is basically the same as @@ -119,12 +119,12 @@ CdlOptionBody::parse_option(CdlInterpreter interp, int argc, const char* argv[]) CYG_REPORT_FUNCNAMETYPE("CdlOptionBody::parse_option", "result %d"); CYG_REPORT_FUNCARG1("argc %d", argc); CYG_PRECONDITION_CLASSC(interp); - + std::string diag_argv0 = CdlParse::get_tcl_cmd_name(argv[0]); CdlLoadable loadable = interp->get_loadable(); CdlPackage package = dynamic_cast(loadable); - CdlContainer parent = interp->get_container(); + CdlContainer parent = interp->get_container(); CdlToplevel toplevel = interp->get_toplevel(); CYG_ASSERT_CLASSC(loadable); // There should always be a loadable during parsing CYG_ASSERT_CLASSC(package); // And packages are the only loadable for software CDL @@ -141,50 +141,50 @@ CdlOptionBody::parse_option(CdlInterpreter interp, int argc, const char* argv[]) bool ok = true; int result = TCL_OK; try { - - // Currently there are no command-line options. This may change in future. - if (3 != argc) { - CdlParse::report_error(interp, "", - std::string("Incorrect number of arguments to `") + diag_argv0 + - "'\nExpecting name and properties list."); - ok = false; - } else if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[2]))) { - CdlParse::report_error(interp, "", - std::string("Invalid property list for cdl_option `") + argv[1] + "'."); - ok = false; - } else if (0 != toplevel->lookup(argv[1])) { - CdlParse::report_error(interp, "", - std::string("Option `") + argv[1] + "' cannot be loaded.\nThe name is already in use."); - ok = false; - } else { - new_option = new CdlOptionBody(argv[1]); - toplevel->add_node(package, parent, new_option); - } - - if (!ok) { - // Just because this component cannot be created, that is no - // reason to abort the whole parsing process. - CYG_REPORT_RETVAL(TCL_OK); - return TCL_OK; - } + + // Currently there are no command-line options. This may change in future. + if (3 != argc) { + CdlParse::report_error(interp, "", + std::string("Incorrect number of arguments to `") + diag_argv0 + + "'\nExpecting name and properties list."); + ok = false; + } else if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[2]))) { + CdlParse::report_error(interp, "", + std::string("Invalid property list for cdl_option `") + argv[1] + "'."); + ok = false; + } else if (0 != toplevel->lookup(argv[1])) { + CdlParse::report_error(interp, "", + std::string("Option `") + argv[1] + "' cannot be loaded.\nThe name is already in use."); + ok = false; + } else { + new_option = new CdlOptionBody(argv[1]); + toplevel->add_node(package, parent, new_option); + } + + if (!ok) { + // Just because this component cannot be created, that is no + // reason to abort the whole parsing process. + CYG_REPORT_RETVAL(TCL_OK); + return TCL_OK; + } } catch(std::bad_alloc e) { - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); - result = TCL_ERROR; + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); + result = TCL_ERROR; } catch(CdlParseException e) { - interp->set_result(e.get_message()); - result = TCL_ERROR; + interp->set_result(e.get_message()); + result = TCL_ERROR; } catch(...) { - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); - result = TCL_ERROR; + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); + result = TCL_ERROR; } if (TCL_OK != result) { - CYG_REPORT_RETVAL(result); - return result; + CYG_REPORT_RETVAL(result); + return result; } // At this stage new_option has been created and added to the hierarchy. // The main work now is to add the properties. - + // Push the option as the current node early on. This aids // diagnostics. CdlNode old_node = interp->push_node(new_option); @@ -196,70 +196,70 @@ CdlOptionBody::parse_option(CdlInterpreter interp, int argc, const char* argv[]) std::vector* old_commands = 0; static CdlInterpreterCommandEntry commands[] = { - CdlInterpreterCommandEntry("", 0 ) + CdlInterpreterCommandEntry("", 0 ) }; int i; - + // All parsing errors may result in an exception, under the control of // application code. This exception must not pass through the Tcl interpreter. try { - for (i = 0; 0 != commands[i].command; i++) { - new_commands.push_back(commands[i]); - } - CdlDefinableBody::add_property_parsers(new_commands); - CdlBuildableBody::add_property_parsers(new_commands); - CdlParentableBody::add_property_parsers(new_commands); - CdlValuableBody::add_property_parsers(new_commands); - CdlUserVisibleBody::add_property_parsers(new_commands); - CdlNodeBody::add_property_parsers(new_commands); - - // Now evaluate the body. If an error occurs then typically - // this will be reported via CdlParse::report_error(), - // but any exceptions will have been intercepted and - // turned into a Tcl error. - old_commands = interp->push_commands(new_commands); - result = interp->eval(argv[2], tcl_result); - interp->pop_commands(old_commands); - - if (TCL_OK == result) { - // Even if there were errors, they were not fatal. There may - // now be a number of properties for this option, and some - // validation should take place. Start with the base classes. - new_option->CdlNodeBody::check_properties(interp); - new_option->CdlUserVisibleBody::check_properties(interp); - new_option->CdlValuableBody::check_properties(interp); - new_option->CdlParentableBody::check_properties(interp); - new_option->CdlBuildableBody::check_properties(interp); - new_option->CdlDefinableBody::check_properties(interp); - } - + for (i = 0; 0 != commands[i].command; i++) { + new_commands.push_back(commands[i]); + } + CdlDefinableBody::add_property_parsers(new_commands); + CdlBuildableBody::add_property_parsers(new_commands); + CdlParentableBody::add_property_parsers(new_commands); + CdlValuableBody::add_property_parsers(new_commands); + CdlUserVisibleBody::add_property_parsers(new_commands); + CdlNodeBody::add_property_parsers(new_commands); + + // Now evaluate the body. If an error occurs then typically + // this will be reported via CdlParse::report_error(), + // but any exceptions will have been intercepted and + // turned into a Tcl error. + old_commands = interp->push_commands(new_commands); + result = interp->eval(argv[2], tcl_result); + interp->pop_commands(old_commands); + + if (TCL_OK == result) { + // Even if there were errors, they were not fatal. There may + // now be a number of properties for this option, and some + // validation should take place. Start with the base classes. + new_option->CdlNodeBody::check_properties(interp); + new_option->CdlUserVisibleBody::check_properties(interp); + new_option->CdlValuableBody::check_properties(interp); + new_option->CdlParentableBody::check_properties(interp); + new_option->CdlBuildableBody::check_properties(interp); + new_option->CdlDefinableBody::check_properties(interp); + } + } catch (std::bad_alloc e) { - // Errors at this stage should be reported via Tcl, not via C++. - // However there is no point in continuing with the parsing operation, - // just give up. - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); - result = TCL_ERROR; + // Errors at this stage should be reported via Tcl, not via C++. + // However there is no point in continuing with the parsing operation, + // just give up. + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); + result = TCL_ERROR; } catch (CdlParseException e) { - interp->set_result(e.get_message()); - result = TCL_ERROR; + interp->set_result(e.get_message()); + result = TCL_ERROR; } catch(...) { - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); - result = TCL_ERROR; + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); + result = TCL_ERROR; } // Restore the interpreter to its prior state. interp->pop_node(old_node); if (0 != old_commands) { - interp->pop_commands(old_commands); + interp->pop_commands(old_commands); } - + CYG_REPORT_RETVAL(result); return result; } //}}} -//{{{ Persistence support +//{{{ Persistence support // ---------------------------------------------------------------------------- void @@ -282,28 +282,28 @@ CdlOptionBody::save(CdlInterpreter interp, Tcl_Channel chan, int indentation, bo CYG_PRECONDITION_CLASSC(interp); if (!minimal || this->has_additional_savefile_information() || this->value_savefile_entry_needed()) { - // Start with the UserVisible data, which will result in a suitable set - // of comments before the package definition itself. - this->CdlUserVisibleBody::save(interp, chan, indentation, minimal); - - // Now output the line "cdl_option {" - // The name is guaranteed to be a valid C preprocessor symbol, so it - // is not going to need any quoting. - std::string data = std::string(indentation, ' ') + "cdl_option " + get_name() + " {\n"; - interp->write_data(chan, data); - - // Deal with the value - bool modifiable = !(CdlValueFlavor_None == this->get_flavor()) && - !this->has_property(CdlPropertyId_Calculated); - this->CdlValuableBody::save(interp, chan, indentation + 4, modifiable, minimal); - - // And with any unrecognised data - this->CdlNodeBody::save(interp, chan, indentation + 4, minimal); - - // Close the cdl_option body. A blank line is added here. - interp->write_data(chan, "};\n\n"); + // Start with the UserVisible data, which will result in a suitable set + // of comments before the package definition itself. + this->CdlUserVisibleBody::save(interp, chan, indentation, minimal); + + // Now output the line "cdl_option {" + // The name is guaranteed to be a valid C preprocessor symbol, so it + // is not going to need any quoting. + std::string data = std::string(indentation, ' ') + "cdl_option " + get_name() + " {\n"; + interp->write_data(chan, data); + + // Deal with the value + bool modifiable = !(CdlValueFlavor_None == this->get_flavor()) && + !this->has_property(CdlPropertyId_Calculated); + this->CdlValuableBody::_save(interp, chan, indentation + 4, modifiable, minimal); + + // And with any unrecognised data + this->CdlNodeBody::save(interp, chan, indentation + 4, minimal); + + // Close the cdl_option body. A blank line is added here. + interp->write_data(chan, "};\n\n"); } - + CYG_REPORT_RETURN(); } @@ -322,41 +322,41 @@ CdlOptionBody::savefile_option_command(CdlInterpreter interp, int argc, const ch std::vector subcommands; std::vector* toplevel_commands = 0; CdlNode old_node = 0; - + try { - - if (3 != argc) { - CdlParse::report_error(interp, "", "Invalid cdl_option command in savefile, expecting two arguments."); - } else { - - CdlNode current_node = config->lookup(argv[1]); - if (0 == current_node) { - // FIXME: save value in limbo - CdlParse::report_error(interp, "", - std::string("The savefile contains a cdl_option for an unknown option `") - + argv[1] + "'"); - } else { - config->get_savefile_subcommands("cdl_option", subcommands); - toplevel_commands = interp->push_commands(subcommands); - old_node = interp->push_node(current_node); - - std::string tcl_result; - result = interp->eval(argv[2], tcl_result); - - interp->pop_commands(toplevel_commands); - toplevel_commands = 0; - interp->pop_node(old_node); - old_node = 0; - } - } + + if (3 != argc) { + CdlParse::report_error(interp, "", "Invalid cdl_option command in savefile, expecting two arguments."); + } else { + + CdlNode current_node = config->lookup(argv[1]); + if (0 == current_node) { + // FIXME: save value in limbo + CdlParse::report_error(interp, "", + std::string("The savefile contains a cdl_option for an unknown option `") + + argv[1] + "'"); + } else { + config->get_savefile_subcommands("cdl_option", subcommands); + toplevel_commands = interp->push_commands(subcommands); + old_node = interp->push_node(current_node); + + std::string tcl_result; + result = interp->eval(argv[2], tcl_result); + + interp->pop_commands(toplevel_commands); + toplevel_commands = 0; + interp->pop_node(old_node); + old_node = 0; + } + } } catch(...) { - if (0 != old_node) { - interp->pop_node(old_node); - } - if (0 != toplevel_commands) { - interp->pop_commands(toplevel_commands); - } - throw; + if (0 != old_node) { + interp->pop_node(old_node); + } + if (0 != toplevel_commands) { + interp->pop_commands(toplevel_commands); + } + throw; } CYG_REPORT_RETVAL(result); @@ -364,27 +364,27 @@ CdlOptionBody::savefile_option_command(CdlInterpreter interp, int argc, const ch } //}}} -//{{{ check_this() +//{{{ check_this() // ---------------------------------------------------------------------------- bool CdlOptionBody::check_this(cyg_assert_class_zeal zeal) const { if (CdlOptionBody_Magic != cdloptionbody_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); - + return CdlNodeBody::check_this(zeal) && - CdlUserVisibleBody::check_this(zeal) && - CdlValuableBody::check_this(zeal) && - CdlParentableBody::check_this(zeal) && - CdlBuildableBody::check_this(zeal) && - CdlDefinableBody::check_this(zeal); + CdlUserVisibleBody::check_this(zeal) && + CdlValuableBody::check_this(zeal) && + CdlParentableBody::check_this(zeal) && + CdlBuildableBody::check_this(zeal) && + CdlDefinableBody::check_this(zeal); } //}}} -//{{{ misc +//{{{ misc // ---------------------------------------------------------------------------- diff --git a/tools/src/libcdl/package.cxx b/tools/src/libcdl/package.cxx index 91e1879c..c385f764 100644 --- a/tools/src/libcdl/package.cxx +++ b/tools/src/libcdl/package.cxx @@ -1,4 +1,4 @@ -//{{{ Banner +//{{{ Banner //============================================================================ // @@ -8,29 +8,29 @@ // //============================================================================ //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 2002 Bart Veer // Copyright (C) 1999, 2000 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //============================================================================ //#####DESCRIPTIONBEGIN#### @@ -44,7 +44,7 @@ //============================================================================ //}}} -//{{{ #include's +//{{{ #include's // ---------------------------------------------------------------------------- #include "cdlconfig.h" @@ -61,13 +61,13 @@ //}}} -//{{{ Statics +//{{{ Statics // ---------------------------------------------------------------------------- CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlPackageBody); //}}} -//{{{ Constructor +//{{{ Constructor // ---------------------------------------------------------------------------- // Constructor. The real work is actually done in the base classes @@ -91,13 +91,13 @@ CdlPackageBody::CdlPackageBody(std::string name_arg, CdlConfiguration toplevel, loaded_for_hardware = false; cdlpackagebody_cookie = CdlPackageBody_Magic; CYGDBG_MEMLEAK_CONSTRUCTOR(); - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); } //}}} -//{{{ Destructor +//{{{ Destructor // ---------------------------------------------------------------------------- // Most of the work is done in the base classes. @@ -112,12 +112,12 @@ CdlPackageBody::~CdlPackageBody() loaded_for_hardware = false; cdlpackagebody_cookie = CdlPackageBody_Invalid; CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } //}}} -//{{{ parse_package() +//{{{ parse_package() // ---------------------------------------------------------------------------- // Parsing a package definition. This routine gets invoked directly from the @@ -145,15 +145,15 @@ CdlPackageBody::parse_package(CdlInterpreter interp, int argc, const char* argv[ CYG_REPORT_FUNCNAMETYPE("CdlPackageBody::parse_package", "result %d"); CYG_REPORT_FUNCARG1("argc %d", argc); CYG_PRECONDITION_CLASSC(interp); - + std::string diag_argv0 = CdlParse::get_tcl_cmd_name(argv[0]); CdlLoadable loadable = interp->get_loadable(); CdlPackage package = dynamic_cast(loadable); - CdlContainer parent = package->get_parent(); + CdlContainer parent = package->get_parent(); CdlToplevel toplevel = interp->get_toplevel(); std::string filename = interp->get_context(); - + CYG_ASSERT_CLASSC(loadable); // There should always be a loadable during parsing CYG_ASSERT_CLASSC(package); // And packages are the only loadable for software CDL CYG_ASSERT_CLASSC(toplevel); @@ -166,10 +166,10 @@ CdlPackageBody::parse_package(CdlInterpreter interp, int argc, const char* argv[ // can only exist at the toplevel of the original script courtesy // of commands being pushed and popped. CYG_ASSERTC(0 == interp->get_node()); - + // Also, the package should be the current container. CYG_ASSERTC(package == dynamic_cast(interp->get_container())); - + // Declare these outside the scope of the try statement, to allow // goto calls for the error handling. const std::vector& properties = package->get_properties(); @@ -177,133 +177,133 @@ CdlPackageBody::parse_package(CdlInterpreter interp, int argc, const char* argv[ CdlInterpreterBody::NodeSupport interp_node(interp, package); static CdlInterpreterCommandEntry commands[] = { - CdlInterpreterCommandEntry("hardware", &parse_hardware ), - CdlInterpreterCommandEntry("license_proc", &parse_license_proc ), - CdlInterpreterCommandEntry("install_proc", &parse_install_proc ), - CdlInterpreterCommandEntry("cdl_component", &CdlComponentBody::parse_component ), - CdlInterpreterCommandEntry("cdl_option", &CdlOptionBody::parse_option ), - CdlInterpreterCommandEntry("cdl_interface", &CdlInterfaceBody::parse_interface ), - CdlInterpreterCommandEntry("cdl_dialog", &CdlDialogBody::parse_dialog ), - CdlInterpreterCommandEntry("cdl_wizard", &CdlWizardBody::parse_wizard ), - CdlInterpreterCommandEntry("", 0 ) + CdlInterpreterCommandEntry("hardware", &parse_hardware ), + CdlInterpreterCommandEntry("license_proc", &parse_license_proc ), + CdlInterpreterCommandEntry("install_proc", &parse_install_proc ), + CdlInterpreterCommandEntry("cdl_component", &CdlComponentBody::parse_component ), + CdlInterpreterCommandEntry("cdl_option", &CdlOptionBody::parse_option ), + CdlInterpreterCommandEntry("cdl_interface", &CdlInterfaceBody::parse_interface ), + CdlInterpreterCommandEntry("cdl_dialog", &CdlDialogBody::parse_dialog ), + CdlInterpreterCommandEntry("cdl_wizard", &CdlWizardBody::parse_wizard ), + CdlInterpreterCommandEntry("", 0 ) }; std::vector new_commands; int i; - + // All parsing errors may result in an exception, under the control of // application code. This exception must not pass through the Tcl interpreter. int result = TCL_OK; try { - // Currently there are no options. This may change in future. - if (3 != argc) { - CdlParse::report_error(interp, "", - std::string("Incorrect number of arguments to `") + diag_argv0 + - "'\nExpecting name and properties list."); - } else if (argv[1] != loadable->get_name()) { - CdlParse::report_error(interp, "", - std::string("Incorrect package name in CDL script.\n") + - "This package is `" + loadable->get_name() + "'\n" + - "The CDL script `" + filename + "' defines a package `" + argv[1] + "'."); - } else if (0 != properties.size()) { - CdlParse::report_error(interp, "", - std::string("Duplicate cdl_package commands for package `") + argv[1] + "'."); - } else if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[2]))) { - CdlParse::report_error(interp, "", - std::string("Invalid property list for cdl_package `") + argv[1] + "'."); - } else { - - for (i = 0; 0 != commands[i].command; i++) { - new_commands.push_back(commands[i]); - } - - CdlBuildLoadableBody::add_property_parsers(new_commands); - CdlBuildableBody::add_property_parsers(new_commands); - CdlDefineLoadableBody::add_property_parsers(new_commands); - CdlDefinableBody::add_property_parsers(new_commands); - CdlParentableBody::add_property_parsers(new_commands); - CdlValuableBody::add_property_parsers(new_commands); - CdlUserVisibleBody::add_property_parsers(new_commands); - CdlNodeBody::add_property_parsers(new_commands); - - // Now evaluate the body. If an error occurs then typically - // this will be reported via CdlParse::report_error(), - // but any exceptions will have been intercepted and - // turned into a Tcl error. - CdlInterpreterBody::CommandSupport interp_cmds(interp, new_commands); - result = interp->eval(argv[2]); - if (TCL_OK == result) { - - // Even if there were errors, they were not fatal. There may - // now be a number of properties for this package, and some - // validation should take place. Start with the base classes. - package->CdlNodeBody::check_properties(interp); - package->CdlUserVisibleBody::check_properties(interp); - package->CdlValuableBody::check_properties(interp); - package->CdlParentableBody::check_properties(interp); - package->CdlBuildableBody::check_properties(interp); - package->CdlBuildLoadableBody::check_properties(interp); - package->CdlDefinableBody::check_properties(interp); - package->CdlDefineLoadableBody::check_properties(interp); - - // Some of the properties in the base classes are not actually - // appropriate. A package is valuable, but it can only be - // modified by loading and unloading. Many of the value-related - // properties do not make sense. - if (package->count_properties(CdlPropertyId_Flavor) > 0) { - CdlParse::report_error(interp, "", "A package should not have a `flavor' property."); - } - if (package->count_properties(CdlPropertyId_EntryProc) > 0) { - CdlParse::report_error(interp, "", "A package should not have an `entry_proc' property."); - } - if (package->count_properties(CdlPropertyId_CheckProc) > 0) { - CdlParse::report_error(interp, "", "A package should not have a `check_proc' property."); - } - // BLV: this reasoning is faulty, it should be possible to - // control the enabled aspect via an expression. That would - // need option processing for the default_value property. - if (package->count_properties(CdlPropertyId_DefaultValue) > 0) { - CdlParse::report_error(interp, "", "A package should not have a `default_value' property."); - } - if (package->count_properties(CdlPropertyId_LegalValues) > 0) { - CdlParse::report_error(interp, "", "A package should not have a `legal_values' property."); - } - if (package->count_properties(CdlPropertyId_Calculated) > 0) { - CdlParse::report_error(interp, "", "A package should not have a `calculated' property."); - } - if (package->count_properties(CdlPropertyId_Dialog) > 0) { - CdlParse::report_error(interp, "", "A package should not have a `dialog' property."); - } - - // There should be at most one each of license_proc, install_proc, include_dir, - // export_to, library, makefile, and wizard. - if (package->count_properties(CdlPropertyId_LicenseProc) > 1) { - CdlParse::report_error(interp, "", "A package should have at most one `license_proc' property."); - } - if (package->count_properties(CdlPropertyId_InstallProc) > 1) { - CdlParse::report_error(interp, "", "A package should have at most one `install_proc' property."); - } - } - } - + // Currently there are no options. This may change in future. + if (3 != argc) { + CdlParse::report_error(interp, "", + std::string("Incorrect number of arguments to `") + diag_argv0 + + "'\nExpecting name and properties list."); + } else if (argv[1] != loadable->get_name()) { + CdlParse::report_error(interp, "", + std::string("Incorrect package name in CDL script.\n") + + "This package is `" + loadable->get_name() + "'\n" + + "The CDL script `" + filename + "' defines a package `" + argv[1] + "'."); + } else if (0 != properties.size()) { + CdlParse::report_error(interp, "", + std::string("Duplicate cdl_package commands for package `") + argv[1] + "'."); + } else if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[2]))) { + CdlParse::report_error(interp, "", + std::string("Invalid property list for cdl_package `") + argv[1] + "'."); + } else { + + for (i = 0; 0 != commands[i].command; i++) { + new_commands.push_back(commands[i]); + } + + CdlBuildLoadableBody::add_property_parsers(new_commands); + CdlBuildableBody::add_property_parsers(new_commands); + CdlDefineLoadableBody::add_property_parsers(new_commands); + CdlDefinableBody::add_property_parsers(new_commands); + CdlParentableBody::add_property_parsers(new_commands); + CdlValuableBody::add_property_parsers(new_commands); + CdlUserVisibleBody::add_property_parsers(new_commands); + CdlNodeBody::add_property_parsers(new_commands); + + // Now evaluate the body. If an error occurs then typically + // this will be reported via CdlParse::report_error(), + // but any exceptions will have been intercepted and + // turned into a Tcl error. + CdlInterpreterBody::CommandSupport interp_cmds(interp, new_commands); + result = interp->eval(argv[2]); + if (TCL_OK == result) { + + // Even if there were errors, they were not fatal. There may + // now be a number of properties for this package, and some + // validation should take place. Start with the base classes. + package->CdlNodeBody::check_properties(interp); + package->CdlUserVisibleBody::check_properties(interp); + package->CdlValuableBody::check_properties(interp); + package->CdlParentableBody::check_properties(interp); + package->CdlBuildableBody::check_properties(interp); + package->CdlBuildLoadableBody::check_properties(interp); + package->CdlDefinableBody::check_properties(interp); + package->CdlDefineLoadableBody::check_properties(interp); + + // Some of the properties in the base classes are not actually + // appropriate. A package is valuable, but it can only be + // modified by loading and unloading. Many of the value-related + // properties do not make sense. + if (package->count_properties(CdlPropertyId_Flavor) > 0) { + CdlParse::report_error(interp, "", "A package should not have a `flavor' property."); + } + if (package->count_properties(CdlPropertyId_EntryProc) > 0) { + CdlParse::report_error(interp, "", "A package should not have an `entry_proc' property."); + } + if (package->count_properties(CdlPropertyId_CheckProc) > 0) { + CdlParse::report_error(interp, "", "A package should not have a `check_proc' property."); + } + // BLV: this reasoning is faulty, it should be possible to + // control the enabled aspect via an expression. That would + // need option processing for the default_value property. + if (package->count_properties(CdlPropertyId_DefaultValue) > 0) { + CdlParse::report_error(interp, "", "A package should not have a `default_value' property."); + } + if (package->count_properties(CdlPropertyId_LegalValues) > 0) { + CdlParse::report_error(interp, "", "A package should not have a `legal_values' property."); + } + if (package->count_properties(CdlPropertyId_Calculated) > 0) { + CdlParse::report_error(interp, "", "A package should not have a `calculated' property."); + } + if (package->count_properties(CdlPropertyId_Dialog) > 0) { + CdlParse::report_error(interp, "", "A package should not have a `dialog' property."); + } + + // There should be at most one each of license_proc, install_proc, include_dir, + // export_to, library, makefile, and wizard. + if (package->count_properties(CdlPropertyId_LicenseProc) > 1) { + CdlParse::report_error(interp, "", "A package should have at most one `license_proc' property."); + } + if (package->count_properties(CdlPropertyId_InstallProc) > 1) { + CdlParse::report_error(interp, "", "A package should have at most one `install_proc' property."); + } + } + } + } catch (std::bad_alloc e) { - // Errors at this stage should be reported via Tcl, not via C++ - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); - result = TCL_ERROR; + // Errors at this stage should be reported via Tcl, not via C++ + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Out of memory")); + result = TCL_ERROR; } catch (CdlParseException e) { - interp->set_result(e.get_message()); - result = TCL_ERROR; + interp->set_result(e.get_message()); + result = TCL_ERROR; } catch(...) { - interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); - result = TCL_ERROR; + interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception")); + result = TCL_ERROR; } - + CYG_REPORT_RETVAL(result); return result; } //}}} -//{{{ Package properties +//{{{ Package properties // ---------------------------------------------------------------------------- // Syntax: hardware @@ -313,7 +313,7 @@ CdlPackageBody::parse_hardware(CdlInterpreter interp, int argc, const char* argv CYG_REPORT_FUNCNAMETYPE("parse_hardware", "result %d"); int result = CdlParse::parse_minimal_property(interp, argc, argv, CdlPropertyId_Hardware, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -326,7 +326,7 @@ CdlPackageBody::parse_install_proc(CdlInterpreter interp, int argc, const char* CYG_REPORT_FUNCNAMETYPE("parse_install_proc", "result %d"); int result = CdlParse::parse_tclcode_property(interp, argc, argv, CdlPropertyId_InstallProc, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -341,7 +341,7 @@ CdlPackageBody::parse_license_proc(CdlInterpreter interp, int argc, const char* CYG_REPORT_FUNCNAMETYPE("parse_license_proc", "result %d"); int result = CdlParse::parse_tclcode_property(interp, argc, argv, CdlPropertyId_LicenseProc, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -357,7 +357,7 @@ CdlPackageBody::is_hardware_package() const bool result = false; if (has_property(CdlPropertyId_Hardware)) { - result = true; + result = true; } CYG_REPORT_RETVAL(result); @@ -373,7 +373,7 @@ CdlPackageBody::has_install_proc() const bool result = false; if (has_property(CdlPropertyId_InstallProc)) { - result = true; + result = true; } CYG_REPORT_RETVAL(result); @@ -391,8 +391,8 @@ CdlPackageBody::get_install_proc() const cdl_tcl_code& result = null_result; CdlProperty prop = get_property(CdlPropertyId_InstallProc); if (0 != prop) { - CdlProperty_TclCode tclprop = dynamic_cast(prop); - result = tclprop->get_code(); + CdlProperty_TclCode tclprop = dynamic_cast(prop); + result = tclprop->get_code(); } CYG_REPORT_RETURN(); @@ -408,7 +408,7 @@ CdlPackageBody::has_license_proc() const bool result = false; if (has_property(CdlPropertyId_LicenseProc)) { - result = true; + result = true; } CYG_REPORT_RETVAL(result); @@ -426,8 +426,8 @@ CdlPackageBody::get_license_proc() const cdl_tcl_code& result = null_result; CdlProperty prop = get_property(CdlPropertyId_LicenseProc); if (0 != prop) { - CdlProperty_TclCode tclprop = dynamic_cast(prop); - result = tclprop->get_code(); + CdlProperty_TclCode tclprop = dynamic_cast(prop); + result = tclprop->get_code(); } CYG_REPORT_RETURN(); @@ -435,7 +435,7 @@ CdlPackageBody::get_license_proc() const } //}}} -//{{{ Propagation support +//{{{ Propagation support // ---------------------------------------------------------------------------- void @@ -445,12 +445,12 @@ CdlPackageBody::update(CdlTransaction transaction, CdlUpdate update) this->CdlValuableBody::update(transaction, update); this->CdlContainerBody::update(transaction, update); - + CYG_REPORT_RETURN(); } //}}} -//{{{ Persistence support +//{{{ Persistence support // ---------------------------------------------------------------------------- @@ -475,43 +475,42 @@ CdlPackageBody::save(CdlInterpreter interp, Tcl_Channel chan, int indentation, b // to allow the package to be loaded. It is still necessary to output // a cdl_package command if there were additional savefile strings. if (!minimal || this->has_additional_savefile_information()) { - - // Start with the UserVisible data, which will result in a suitable set - // of comments before the package definition itself. - this->CdlUserVisibleBody::save(interp, chan, indentation, minimal); - - // Now output the line "cdl_package {" - // The name is guaranteed to be a valid C preprocessor symbol, so it - // is not going to need any quoting. - std::string data = std::string(indentation, ' ') + "cdl_package " + get_name() + " {\n"; - std::string indent_string = std::string(indentation + 4, ' '); - - // The value associated with a package cannot be changed simply - // by editing the savefile. Add a comment to that effect. - if (!minimal) { - data += indent_string + "# Packages cannot be added or removed, nor can their version be changed,\n"; - data += indent_string + "# simply by editing their value. Instead the appropriate configuration\n"; - data += indent_string + "# should be used to perform these actions.\n\n"; - } - - // Output the command and the comment. - interp->write_data(chan, data); - - // Deal with the value - this->CdlValuableBody::save(interp, chan, indentation + 4, false, minimal); - - // And with any unrecognised data - this->CdlNodeBody::save(interp, chan, indentation + 4, minimal); - - // Close the cdl_package body. A blank line is added here. - data = "};\n\n"; - - interp->write_data(chan, data); + // Start with the UserVisible data, which will result in a suitable set + // of comments before the package definition itself. + this->CdlUserVisibleBody::save(interp, chan, indentation, minimal); + + // Now output the line "cdl_package {" + // The name is guaranteed to be a valid C preprocessor symbol, so it + // is not going to need any quoting. + std::string data = std::string(indentation, ' ') + "cdl_package " + get_name() + " {\n"; + std::string indent_string = std::string(indentation + 4, ' '); + + // The value associated with a package cannot be changed simply + // by editing the savefile. Add a comment to that effect. + if (!minimal) { + data += indent_string + "# Packages cannot be added or removed, nor can their version be changed,\n"; + data += indent_string + "# simply by editing their value. Instead the appropriate configuration\n"; + data += indent_string + "# should be used to perform these actions.\n\n"; + } + + // Output the command and the comment. + interp->write_data(chan, data); + + // Deal with the value + this->CdlValuableBody::_save(interp, chan, indentation + 4, false, minimal); + + // And with any unrecognised data + this->CdlNodeBody::save(interp, chan, indentation + 4, minimal); + + // Close the cdl_package body. A blank line is added here. + data = "};\n\n"; + + interp->write_data(chan, data); } - + // Packages are containers, so dump the contents as well. this->CdlContainerBody::save(interp, chan, indentation, minimal); - + CYG_REPORT_RETURN(); } @@ -530,40 +529,38 @@ CdlPackageBody::savefile_package_command(CdlInterpreter interp, int argc, const std::vector subcommands; std::vector* toplevel_commands = 0; CdlNode old_node = 0; - + try { - - if (3 != argc) { - CdlParse::report_error(interp, "", "Invalid cdl_package command in savefile, expecting two arguments."); - } else { - - CdlNode current_node = config->lookup(argv[1]); - if (0 == current_node) { - CdlParse::report_error(interp, "", - std::string("The savefile contains a cdl_package command for `") + - argv[1] + "' which has not been loaded."); - } else { - config->get_savefile_subcommands("cdl_package", subcommands); - toplevel_commands = interp->push_commands(subcommands); - old_node = interp->push_node(current_node); - - std::string tcl_result; - result = interp->eval(argv[2], tcl_result); - - interp->pop_commands(toplevel_commands); - toplevel_commands = 0; - interp->pop_node(old_node); - old_node = 0; - } - } + if (3 != argc) { + CdlParse::report_error(interp, "", "Invalid cdl_package command in savefile, expecting two arguments."); + } else { + CdlNode current_node = config->lookup(argv[1]); + if (0 == current_node) { + CdlParse::report_error(interp, "", + std::string("The savefile contains a cdl_package command for `") + + argv[1] + "' which has not been loaded."); + } else { + config->get_savefile_subcommands("cdl_package", subcommands); + toplevel_commands = interp->push_commands(subcommands); + old_node = interp->push_node(current_node); + + std::string tcl_result; + result = interp->eval(argv[2], tcl_result); + + interp->pop_commands(toplevel_commands); + toplevel_commands = 0; + interp->pop_node(old_node); + old_node = 0; + } + } } catch(...) { - if (0 != old_node) { - interp->pop_node(old_node); - } - if (0 != toplevel_commands) { - interp->pop_commands(toplevel_commands); - } - throw; + if (0 != old_node) { + interp->pop_node(old_node); + } + if (0 != toplevel_commands) { + interp->pop_commands(toplevel_commands); + } + throw; } CYG_REPORT_RETVAL(result); @@ -571,7 +568,7 @@ CdlPackageBody::savefile_package_command(CdlInterpreter interp, int argc, const } //}}} -//{{{ check_this() +//{{{ check_this() // ---------------------------------------------------------------------------- @@ -579,24 +576,24 @@ bool CdlPackageBody::check_this(cyg_assert_class_zeal zeal) const { if (CdlPackageBody_Magic != cdlpackagebody_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); - + return CdlNodeBody::check_this(zeal) && - CdlContainerBody::check_this(zeal) && - CdlLoadableBody::check_this(zeal) && - CdlUserVisibleBody::check_this(zeal) && - CdlValuableBody::check_this(zeal) && - CdlParentableBody::check_this(zeal) && - CdlBuildableBody::check_this(zeal) && - CdlBuildLoadableBody::check_this(zeal) && - CdlDefinableBody::check_this(zeal) && - CdlDefineLoadableBody::check_this(zeal); + CdlContainerBody::check_this(zeal) && + CdlLoadableBody::check_this(zeal) && + CdlUserVisibleBody::check_this(zeal) && + CdlValuableBody::check_this(zeal) && + CdlParentableBody::check_this(zeal) && + CdlBuildableBody::check_this(zeal) && + CdlBuildLoadableBody::check_this(zeal) && + CdlDefinableBody::check_this(zeal) && + CdlDefineLoadableBody::check_this(zeal); } //}}} -//{{{ Misc +//{{{ Misc // ---------------------------------------------------------------------------- @@ -623,15 +620,15 @@ CdlPackageBody::get_config_header() const CYG_PRECONDITION_CLASSC(this); std::string result = ""; -#if 0 +#if 0 if (has_property(CdlPropertyId_Hardware)) { - result = "hardware.h"; + result = "hardware.h"; } else { - result = CdlDefineLoadableBody::get_config_header(); + result = CdlDefineLoadableBody::get_config_header(); } #else result = CdlDefineLoadableBody::get_config_header(); -#endif +#endif CYG_REPORT_RETURN(); return result; @@ -645,7 +642,7 @@ CdlPackageBody::belongs_to_template() const CYG_PRECONDITION_THISC(); bool result = loaded_for_template; - + CYG_REPORT_RETVAL(result); return result; } @@ -658,7 +655,7 @@ CdlPackageBody::belongs_to_hardware() const CYG_PRECONDITION_THISC(); bool result = loaded_for_hardware; - + CYG_REPORT_RETVAL(result); return result; } diff --git a/tools/src/libcdl/parse.cxx b/tools/src/libcdl/parse.cxx index 2bcceee0..e660ebff 100644 --- a/tools/src/libcdl/parse.cxx +++ b/tools/src/libcdl/parse.cxx @@ -1,4 +1,4 @@ -//{{{ Banner +//{{{ Banner //============================================================================ // @@ -8,43 +8,43 @@ // //============================================================================ //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 2002 Bart Veer // Copyright (C) 1999, 2000 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //============================================================================ //#####DESCRIPTIONBEGIN#### // -// Author(s): bartv -// Contact(s): bartv -// Date: 1999/02/23 -// Version: 0.02 +// Author(s): bartv +// Contact(s): bartv +// Date: 1999/02/23 +// Version: 0.02 // //####DESCRIPTIONEND#### //============================================================================ //}}} -//{{{ #include's +//{{{ #include's // ---------------------------------------------------------------------------- #include @@ -62,7 +62,7 @@ //}}} -//{{{ Description +//{{{ Description // ---------------------------------------------------------------------------- // All CDL data is read via a Tcl interpreter, so the parsing is done by @@ -74,7 +74,7 @@ // stays in a consistent state. In particular it is not possible to let // arbitrary C++ exceptions to go straight through the Tcl interpreter, // this is likely to result in a corrupted interpreter. -// +// // Also, it is not a good idea to abort parsing as soon as anything // goes wrong. Instead there should be an error handling callback associated // with the interpreter, which can be used to report errors. This @@ -98,7 +98,7 @@ // will be intercepted by the CdlInterpreter class. //}}} -//{{{ Statics +//{{{ Statics // ---------------------------------------------------------------------------- // The string "property " is needed in various places. Provide it as a static @@ -106,9 +106,9 @@ static std::string property_string = "property "; //}}} -//{{{ Generic parsing-related utilities +//{{{ Generic parsing-related utilities -//{{{ argv manipulation +//{{{ argv manipulation // ---------------------------------------------------------------------------- // Some of the properties have aliases in the CDL data, so argv[0] has to be @@ -118,11 +118,11 @@ std::string CdlParse::get_tcl_cmd_name(std::string name) { std::string result; - + if ((name[0] == ':') && (name[1] == ':')) { - result = std::string(name, 2, name.size() - 2); + result = std::string(name, 2, name.size() - 2); } else { - result = name; + result = name; } return result; } @@ -137,12 +137,12 @@ CdlParse::concatenate_argv(int argc, const char* argv[], int index) std::string result = ""; for ( int i = index ; i < argc; i++) { - if (i > index) { - result += ' '; - } - result += std::string(argv[i]); + if (i > index) { + result += ' '; + } + result += std::string(argv[i]); } - + CYG_REPORT_RETURN(); return result; } @@ -201,168 +201,168 @@ CdlParse::concatenate_argv(int argc, const char* argv[], int index) // flags consist of zero or more characters indicating how the option // should be interpreted. Valid flags are: // -// f - this option takes no data, it is just a boolean flag. The -// default behaviour assumes name/value pairs. +// f - this option takes no data, it is just a boolean flag. The +// default behaviour assumes name/value pairs. // -// m - this option can occur multiple times. The default behaviour -// is that each option can only occur once. +// m - this option can occur multiple times. The default behaviour +// is that each option can only occur once. // Utility function to get hold of an option name without the colon // or terminating flags. static std::string -get_option_string(char* name) +get_option_string(const char* name) { std::string result = ""; while ((*name != ':') && (*name != '\0')) { - result += *name++; + result += *name++; } return result; } int -CdlParse::parse_options(CdlInterpreter interp, std::string diag_prefix, char** options, - int argc, const char* argv[], int index, - std::vector >& result) +CdlParse::parse_options(CdlInterpreter interp, std::string diag_prefix, const char** options, + int argc, const char* argv[], int index, + std::vector >& result) { CYG_REPORT_FUNCNAMETYPE("CdlParse::parse_options", "final index %d"); CYG_REPORT_FUNCARG4XV(interp, options, argc, argv); CYG_PRECONDITION_CLASSC(interp); - CYG_PRECONDITIONC(argc > 0); // The property name must be present. + CYG_PRECONDITIONC(argc > 0); // The property name must be present. // It is possible for some of the arguments to have been processed already. CYG_PRECONDITIONC((index > 0) && (index <= argc)); while((index < argc) && ('-' == argv[index][0])) { - std::string name = ""; - std::string value = ""; - - // The sequence -- should always terminate option processing. - if (0 == strcmp(argv[index], "--")) { - index++; - break; - } - - const char* arg_ptr = argv[index]; - // Skip the initial -, and the second one as well if it is present. - if ('-' == *++arg_ptr) { - arg_ptr++; - } - - // Construct the option name. This is the current argument up - // to but not including the '=' character or EOD. - while (('=' != *arg_ptr) && ('\0' != *arg_ptr)) { - name += *arg_ptr++; - } - - if ("" == name) { - // One of "-", "-=xxx", or "--=x" - CdlParse::report_warning(interp, diag_prefix, std::string("Invalid option string `") + argv[index] + "'."); - } - - // Do not try to extract the value unless we are sure there - // should be one. Instead try to match the option name. The - // current value of name should be a unique substring of - // one of the known option strings. - // - // Note that the supplied options descriptor can be NULL, - // since most properties do not yet take any options. - // In that case opt_index will remain at -1, and we should - // get an "invalid option" diagnostic. - unsigned int i; - int opt_index = -1; - if (0 != options) { - for (i = 0; 0 != options[i]; i++) { - if (0 == strncmp(name.c_str(), options[i], name.size())) { - if (-1 != opt_index) { - CdlParse::report_warning(interp, diag_prefix, - std::string("Ambiguous option name `") + name + "'.\n" + - "It can match `" + get_option_string(options[opt_index]) + "'\n" + - "or `" + get_option_string(options[i]) + "'."); - index++; - break; - } else { - opt_index = i; - } - } - } - } - if (-1 == opt_index) { - CdlParse::report_warning(interp, diag_prefix, std::string("Invalid option `") + name + "'."); - index++; - break; - } - - // The option has been identified successfully. Extract the flags. - bool flag_flag = false; - bool multiple_flag = false; - char* tmp = options[opt_index]; - while (('\0' != *tmp) && (':' != *tmp)) { - tmp++; - } - if (':' == *tmp) { - do { - tmp++; - if ('f' == *tmp) { - flag_flag = true; - } else if ('m' == *tmp) { - multiple_flag = true; - } else if ('\0' != *tmp) { - CYG_FAIL("Invalid property option"); - } - } while ('\0' != *tmp); - } - - // We now know the full option name. Use it for future diagnostics. - name = get_option_string(options[opt_index]); - - // Take care of the value. - if (flag_flag) { - // There should not be a value. If the current argument is of the - // form x=y then this is an error. - if ('=' == *arg_ptr) { - CdlParse::report_warning(interp, diag_prefix, std::string("Option `") + name + "' does not take any data."); - } - // Leave index pointing at the next argument to be processed. - index++; - } else { - if ('=' == *arg_ptr) { - value = std::string(++arg_ptr); - } else if (++index == argc) { - CdlParse::report_warning(interp, diag_prefix, std::string("Missing data for option `") + name + "'."); - } else { - value = argv[index]; - } - index++; - } - // At this stage index points at the next argument to be processed, and should not - // be updated again. - - // Unless the option can occur multiple times, make sure that it is not already - // present in the options vector. - if (!multiple_flag) { - for (i = 0; i < result.size(); i++) { - if (name == result[i].first) { - CdlParse::report_warning(interp, diag_prefix, std::string("Option `") + name + "' can only be used once."); - break; - } - } - } - - // The name/value pair is valid, so add it to the result vector. - result.push_back(std::make_pair(name, value)); + std::string name = ""; + std::string value = ""; + + // The sequence -- should always terminate option processing. + if (0 == strcmp(argv[index], "--")) { + index++; + break; + } + + const char* arg_ptr = argv[index]; + // Skip the initial -, and the second one as well if it is present. + if ('-' == *++arg_ptr) { + arg_ptr++; + } + + // Construct the option name. This is the current argument up + // to but not including the '=' character or EOD. + while (('=' != *arg_ptr) && ('\0' != *arg_ptr)) { + name += *arg_ptr++; + } + + if ("" == name) { + // One of "-", "-=xxx", or "--=x" + CdlParse::report_warning(interp, diag_prefix, std::string("Invalid option string `") + argv[index] + "'."); + } + + // Do not try to extract the value unless we are sure there + // should be one. Instead try to match the option name. The + // current value of name should be a unique substring of + // one of the known option strings. + // + // Note that the supplied options descriptor can be NULL, + // since most properties do not yet take any options. + // In that case opt_index will remain at -1, and we should + // get an "invalid option" diagnostic. + unsigned int i; + int opt_index = -1; + if (options) { + for (i = 0; options[i] != NULL; i++) { + if (strncmp(name.c_str(), options[i], name.size()) == 0) { + if (opt_index != -1) { + CdlParse::report_warning(interp, diag_prefix, + std::string("Ambiguous option name `") + name + "'.\n" + + "It can match `" + get_option_string(options[opt_index]) + "'\n" + + "or `" + get_option_string(options[i]) + "'."); + index++; + break; + } else { + opt_index = i; + } + } + } + } + if (opt_index == -1) { + CdlParse::report_warning(interp, diag_prefix, std::string("Invalid option `") + name + "'."); + index++; + break; + } + + // The option has been identified successfully. Extract the flags. + bool flag_flag = false; + bool multiple_flag = false; + const char* tmp = options[opt_index]; + while (('\0' != *tmp) && (':' != *tmp)) { + tmp++; + } + if (':' == *tmp) { + do { + tmp++; + if ('f' == *tmp) { + flag_flag = true; + } else if ('m' == *tmp) { + multiple_flag = true; + } else if ('\0' != *tmp) { + CYG_FAIL("Invalid property option"); + } + } while ('\0' != *tmp); + } + + // We now know the full option name. Use it for future diagnostics. + name = get_option_string(options[opt_index]); + + // Take care of the value. + if (flag_flag) { + // There should not be a value. If the current argument is of the + // form x=y then this is an error. + if ('=' == *arg_ptr) { + CdlParse::report_warning(interp, diag_prefix, std::string("Option `") + name + "' does not take any data."); + } + // Leave index pointing at the next argument to be processed. + index++; + } else { + if ('=' == *arg_ptr) { + value = std::string(++arg_ptr); + } else if (++index == argc) { + CdlParse::report_warning(interp, diag_prefix, std::string("Missing data for option `") + name + "'."); + } else { + value = argv[index]; + } + index++; + } + // At this stage index points at the next argument to be processed, and should not + // be updated again. + + // Unless the option can occur multiple times, make sure that it is not already + // present in the options vector. + if (!multiple_flag) { + for (i = 0; i < result.size(); i++) { + if (name == result[i].first) { + CdlParse::report_warning(interp, diag_prefix, std::string("Option `") + name + "' can only be used once."); + break; + } + } + } + + // The name/value pair is valid, so add it to the result vector. + result.push_back(std::make_pair(name, value)); } - + CYG_REPORT_RETVAL(index); return index; } //}}} -//{{{ Diagnostic construction +//{{{ Diagnostic construction // Construct a suitable diagnostic for a parsing error. This may occur // when reading in a CDL script, a savefile, a database, or anything -// similar. +// similar. // // A diagnostic should take the following form: // @@ -409,67 +409,67 @@ CdlParse::construct_diagnostic(CdlInterpreter interp, std::string classification CYG_REPORT_FUNCNAME("CdlParse::construct_diagnostic"); CYG_PRECONDITION_CLASSC(interp); - std::string context = interp->get_context(); - CdlNode current_node = interp->get_node(); + std::string context = interp->get_context(); + CdlNode current_node = interp->get_node(); std::string result; if ("" == context) { - result = ""; + result = ""; } else { - result = context; + result = context; } - if (0 != current_node) { - result += ", " + current_node->get_class_name() + " " + current_node->get_name(); + if (current_node) { + result += ", " + current_node->get_class_name() + " " + current_node->get_name(); } if ("" != sub_id) { - result += ", " + sub_id; + result += ", " + sub_id; } result += ": " + classification; - + // Now it is time to start worrying about layout, indenting // subsequent lines, and so on. - int index = result.length(); + int index = result.length(); int message_len = message.length(); int message_index; bool indent_needed = false; // Find out how many characters there are in the message up to the first newline for (message_index = 0; (message_index < message_len) && ('\n' != message[message_index]); message_index++) { - ; + ; } // Should the message start on the next line, suitably indented? // This depends in part on whether or not there was a classification. if ("" == classification) { - // The current result ends with a colon and a space. - if ((index + message_index) <= 72) { - // The first line of the message can still fit. No need to do anything. - } else { - // Start indenting immediately, do not add anything else to the current line. - indent_needed = true; - } + // The current result ends with a colon and a space. + if ((index + message_index) <= 72) { + // The first line of the message can still fit. No need to do anything. + } else { + // Start indenting immediately, do not add anything else to the current line. + indent_needed = true; + } } else { - // We may want a comma and a space after the classification - if ((index + 2 + message_index) <= 72) { - result += ", "; - } else { - indent_needed = true; - } + // We may want a comma and a space after the classification + if ((index + 2 + message_index) <= 72) { + result += ", "; + } else { + indent_needed = true; + } } // Now we can process the message one character at a time, adding // newlines and indentation just in time. for (message_index = 0; message_index < message_len; message_index++) { - if (indent_needed) { - result += "\n "; - indent_needed = false; - } - - if ('\n' == message[message_index]) { - indent_needed = true; - } else { - result += message[message_index]; - } + if (indent_needed) { + result += "\n "; + indent_needed = false; + } + + if ('\n' == message[message_index]) { + indent_needed = true; + } else { + result += message[message_index]; + } } CYG_REPORT_RETURN(); @@ -477,13 +477,13 @@ CdlParse::construct_diagnostic(CdlInterpreter interp, std::string classification } //}}} -//{{{ Error count tracking +//{{{ Error count tracking // Keep track of the number of errors that have occurred while doing some // parsing. This functionality is not provided directly by the CdlInterpreter // class, instead it is implemented using assoc data. -static const char error_count_key[] = "CdlErrorCount"; +static const char error_count_key[] = "CdlErrorCount"; static void error_count_delproc(ClientData data, Tcl_Interp* interp) @@ -501,9 +501,9 @@ CdlParse::clear_error_count(CdlInterpreter interp) CYG_REPORT_FUNCARG1("interp %p", interp); CYG_PRECONDITION_CLASSC(interp); - int* newed_ptr = static_cast(interp->get_assoc_data(error_count_key)); - if (0 != newed_ptr) { - *newed_ptr = 0; + int* newed_ptr = static_cast(interp->get_assoc_data(error_count_key)); + if (newed_ptr) { + *newed_ptr = 0; } CYG_REPORT_RETURN(); @@ -516,14 +516,14 @@ CdlParse::incr_error_count(CdlInterpreter interp, int how_much) CYG_REPORT_FUNCARG2("interp %p, how_much %d", interp, how_much); CYG_PRECONDITION_CLASSC(interp); CYG_PRECONDITION(how_much > 0, "previous errors cannot be undone"); - + int* newed_ptr = static_cast(interp->get_assoc_data(error_count_key)); if (0 == newed_ptr) { - newed_ptr = new int(how_much); - interp->set_assoc_data(error_count_key, static_cast(newed_ptr), &error_count_delproc); + newed_ptr = new int(how_much); + interp->set_assoc_data(error_count_key, static_cast(newed_ptr), &error_count_delproc); } else { - CYG_ASSERT((*newed_ptr + how_much) > *newed_ptr, "number of parsing errors should not overflow"); - *newed_ptr += how_much; + CYG_ASSERT((*newed_ptr + how_much) > *newed_ptr, "number of parsing errors should not overflow"); + *newed_ptr += how_much; } CYG_REPORT_RETURN(); @@ -538,8 +538,8 @@ CdlParse::get_error_count(CdlInterpreter interp) int result = 0; int* newed_ptr = static_cast(interp->get_assoc_data(error_count_key)); - if (0 != newed_ptr) { - result = *newed_ptr; + if (newed_ptr) { + result = *newed_ptr; } CYG_REPORT_RETVAL(result); @@ -547,7 +547,7 @@ CdlParse::get_error_count(CdlInterpreter interp) } //}}} -//{{{ Error and warning reporting +//{{{ Error and warning reporting // Report errors and warnings. These will be called during parsing // operations, both of CDL and similar data scripts and for savefiles. @@ -560,7 +560,7 @@ CdlParse::get_error_count(CdlInterpreter interp) // Tcl interpreter // libcdl parsing code // report_error() -// +// // If the Tcl script is invalid then parsing errors may get reported // at the higher level code as well. // @@ -597,11 +597,11 @@ CdlParse::report_error(CdlInterpreter interp, std::string sub_id, std::string me // Now, either invoke the callback if it is provided, or throw the exception. CdlDiagnosticFnPtr fn = interp->get_error_fn_ptr(); if (0 == fn) { - throw CdlParseException(full_message); + throw CdlParseException(full_message); } else { - (*fn)(full_message); + (*fn)(full_message); } - + CYG_REPORT_RETURN(); } @@ -615,16 +615,16 @@ CdlParse::report_warning(CdlInterpreter interp, std::string sub_id, std::string // If there is no warning callback, do nothing. This is really a // bug in the calling application. CdlDiagnosticFnPtr fn = interp->get_warning_fn_ptr(); - if (0 != fn) { - std::string full_message = construct_diagnostic(interp, "warning", sub_id, message); - (*fn)(full_message); + if (fn) { + std::string full_message = construct_diagnostic(interp, "warning", sub_id, message); + fn(full_message); } CYG_REPORT_RETURN(); } //}}} -//{{{ The "unknown" command +//{{{ The "unknown" command // ---------------------------------------------------------------------------- // This routine should be installed in interpreters that get used for @@ -644,14 +644,14 @@ CdlParse::unknown_command(CdlInterpreter interp, int argc, const char* argv[]) report_error(interp, "", std::string("Unknown command `") + argv[1] + "'."); CYG_UNUSED_PARAM(int, argc); - + return TCL_OK; } //}}} //}}} -//{{{ Property-related parser utilities +//{{{ Property-related parser utilities // ---------------------------------------------------------------------------- // Utilities related to parsing properties, rather than more general parsing. @@ -663,19 +663,19 @@ CdlParse::report_property_parse_error(CdlInterpreter interp, std::string argv0, CYG_REPORT_FUNCNAME("CdlPase::report_property_parse_error"); incr_error_count(interp); - + std::string diag = construct_diagnostic(interp, "error", - std::string("property ") + CdlParse::get_tcl_cmd_name(argv0), - msg); + std::string("property ") + CdlParse::get_tcl_cmd_name(argv0), + msg); // Now, either invoke the callback if it is provided, or throw the exception. CdlDiagnosticFnPtr fn = interp->get_error_fn_ptr(); if (0 == fn) { - throw CdlParseException(diag); + throw CdlParseException(diag); } else { - (*fn)(diag); + (*fn)(diag); } - + CYG_REPORT_RETURN(); } @@ -694,13 +694,13 @@ CdlParse::report_property_parse_warning(CdlInterpreter interp, std::string argv0 CYG_REPORT_FUNCNAME("CdlPase::report_property_parse_warning"); CdlDiagnosticFnPtr fn = interp->get_error_fn_ptr(); - if (0 != fn) { - std::string diag = construct_diagnostic(interp, "error", - std::string("property ") + CdlParse::get_tcl_cmd_name(argv0), - msg); - (*fn)(diag); + if (fn) { + std::string diag = construct_diagnostic(interp, "error", + std::string("property ") + CdlParse::get_tcl_cmd_name(argv0), + msg); + fn(diag); } - + CYG_REPORT_RETURN(); } @@ -713,7 +713,7 @@ CdlParse::report_property_parse_warning(CdlInterpreter interp, CdlProperty prop, } //}}} -//{{{ Generic property parsers +//{{{ Generic property parsers // ---------------------------------------------------------------------------- // Generic parsers @@ -725,83 +725,78 @@ CdlParse::report_property_parse_warning(CdlInterpreter interp, CdlProperty prop, // function that performs a final sanity check before the property gets added // to the current entity. -//{{{ parse_minimal_property() +//{{{ parse_minimal_property() // ---------------------------------------------------------------------------- // A minimal property takes no arguments. int CdlParse::parse_minimal_property(CdlInterpreter interp, int argc, const char* argv[], std::string name, - char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_Minimal)) + const char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_Minimal)) { CYG_REPORT_FUNCNAME("parse_minimal_property"); CYG_PRECONDITION_CLASSC(interp); - + CdlProperty_Minimal new_property = 0; try { - std::vector > options; - int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); - - if (data_index < argc) { - CdlParse::report_property_parse_error(interp, argv[0], std::string("Unexpected data `") + argv[data_index] + "'."); - } else { - - // The command is valid, turn it into a property. - // The property has been parsed successfully. Add it to the current node - CdlNode current_node = interp->get_node(); - CYG_ASSERTC(0 != current_node); - new_property = CdlProperty_MinimalBody::make(current_node, name, argc, argv, options); - if (0 != final_parser) { - (*final_parser)(interp, new_property); - } - } + std::vector > options; + int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); + + if (data_index < argc) { + CdlParse::report_property_parse_error(interp, argv[0], std::string("Unexpected data `") + argv[data_index] + "'."); + } else { + + // The command is valid, turn it into a property. + // The property has been parsed successfully. Add it to the current node + CdlNode current_node = interp->get_node(); + CYG_ASSERTC(current_node != NULL); + new_property = CdlProperty_MinimalBody::make(current_node, name, argc, argv, options); + if (final_parser) { + final_parser(interp, new_property); + } + } } catch(...) { - - if (0 != new_property) { - delete new_property; - } - throw; + delete new_property; + throw; } - + return TCL_OK; } //}}} -//{{{ parse_string_property() +//{{{ parse_string_property() // ---------------------------------------------------------------------------- int CdlParse::parse_string_property(CdlInterpreter interp, int argc, const char* argv[], std::string name, - char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_String)) + const char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_String)) { CYG_REPORT_FUNCNAME("parse_string_property"); CYG_PRECONDITION_CLASSC(interp); - + CdlProperty_String new_property = 0; - + try { - std::vector > options; - int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); - - if (data_index == argc) { - CdlParse::report_property_parse_error(interp, argv[0], "Missing argument."); - } else if ((data_index + 1) < argc) { - CdlParse::report_property_parse_error(interp, argv[0], std::string("Too many arguments, expecting just one.")); - } else { - - CdlNode current_node = interp->get_node(); - CYG_ASSERTC(0 != current_node); - new_property = CdlProperty_StringBody::make(current_node, name, argv[data_index], argc, argv, options); - if (0 != final_parser) { - (*final_parser)(interp, new_property); - } - } + std::vector > options; + int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); + + if (data_index == argc) { + CdlParse::report_property_parse_error(interp, argv[0], "Missing argument."); + } else if ((data_index + 1) < argc) { + CdlParse::report_property_parse_error(interp, argv[0], std::string("Too many arguments, expecting just one.")); + } else { + + CdlNode current_node = interp->get_node(); + CYG_ASSERTC(current_node != NULL); + new_property = CdlProperty_StringBody::make(current_node, name, argv[data_index], argc, argv, options); + if (final_parser) { + final_parser(interp, new_property); + } + } } catch(...) { - if (0 != new_property) { - delete new_property; - } - throw; + delete new_property; + throw; } CYG_REPORT_RETURN(); @@ -809,304 +804,275 @@ CdlParse::parse_string_property(CdlInterpreter interp, int argc, const char* arg } //}}} -//{{{ parse_tclcode_property() +//{{{ parse_tclcode_property() // ---------------------------------------------------------------------------- int CdlParse::parse_tclcode_property(CdlInterpreter interp, int argc, const char* argv[], std::string name, - char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_TclCode)) + const char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_TclCode)) { CYG_REPORT_FUNCNAME("parse_tclcode_property"); CYG_PRECONDITION_CLASSC(interp); - + CdlProperty_TclCode new_property = 0; try { - std::vector > options; - int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); - - if (data_index == argc) { - CdlParse::report_property_parse_error(interp, argv[0], "Missing Tcl code."); - } else if ((data_index + 1) < argc) { - CdlParse::report_property_parse_error(interp, argv[0], std::string("Invalid number of arguments.\n") + - "Expecting one argument, a Tcl code fragment."); - } else if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[data_index]))) { - CdlParse::report_property_parse_error(interp, argv[0], "Incomplete Tcl code fragment."); - } else { - - CdlNode current_node = interp->get_node(); - CYG_ASSERTC(0 != current_node); - new_property = CdlProperty_TclCodeBody::make(current_node, name, argv[data_index], argc, argv, options); - if (0 != final_parser) { - (*final_parser)(interp, new_property); - } - } + std::vector > options; + int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); + + if (data_index == argc) { + CdlParse::report_property_parse_error(interp, argv[0], "Missing Tcl code."); + } else if ((data_index + 1) < argc) { + CdlParse::report_property_parse_error(interp, argv[0], std::string("Invalid number of arguments.\n") + + "Expecting one argument, a Tcl code fragment."); + } else if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[data_index]))) { + CdlParse::report_property_parse_error(interp, argv[0], "Incomplete Tcl code fragment."); + } else { + + CdlNode current_node = interp->get_node(); + CYG_ASSERTC(current_node != NULL); + new_property = CdlProperty_TclCodeBody::make(current_node, name, argv[data_index], argc, argv, options); + if (final_parser) { + final_parser(interp, new_property); + } + } } catch(...) { - if (0 != new_property) { - delete new_property; - } - throw; + delete new_property; + throw; } - + return TCL_OK; } //}}} -//{{{ parse_stringvector_property() +//{{{ parse_stringvector_property() // ---------------------------------------------------------------------------- int CdlParse::parse_stringvector_property(CdlInterpreter interp, int argc, const char* argv[], std::string name, - char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_StringVector), - bool allow_empty) + const char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_StringVector), + bool allow_empty) { CYG_REPORT_FUNCNAME("parse_tclcode_property"); CYG_PRECONDITION_CLASSC(interp); - + CdlProperty_StringVector new_property = 0; try { - std::vector > options; - int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); - - if (!allow_empty && (data_index == argc)) { - CdlParse::report_property_parse_error(interp, argv[0], "Missing arguments."); - } else { - - // Creating the property requires a vector of strings. - std::vector strings; - for ( ; data_index < argc; data_index++) { - strings.push_back(argv[data_index]); - } - CdlNode current_node = interp->get_node(); - CYG_ASSERTC(0 != current_node); - new_property = CdlProperty_StringVectorBody::make(current_node, name, strings, argc, argv, options); - if (0 != final_parser) { - (*final_parser)(interp, new_property); - } - } + std::vector > options; + int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); + + if (!allow_empty && (data_index == argc)) { + CdlParse::report_property_parse_error(interp, argv[0], "Missing arguments."); + } else { + + // Creating the property requires a vector of strings. + std::vector strings; + for ( ; data_index < argc; data_index++) { + strings.push_back(argv[data_index]); + } + CdlNode current_node = interp->get_node(); + CYG_ASSERTC(current_node != NULL); + new_property = CdlProperty_StringVectorBody::make(current_node, name, strings, argc, argv, options); + if (final_parser) { + final_parser(interp, new_property); + } + } } catch(...) { - - if (0 != new_property) { - delete new_property; - } - throw; + delete new_property; + throw; } - + return TCL_OK; } //}}} -//{{{ parse_reference_property() +//{{{ parse_reference_property() // ---------------------------------------------------------------------------- int CdlParse::parse_reference_property(CdlInterpreter interp, int argc, const char* argv[], std::string name, - char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_Reference), - bool allow_empty, CdlUpdateHandler update_handler) + const char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_Reference), + bool allow_empty, CdlUpdateHandler update_handler) { CYG_REPORT_FUNCNAME("parse_reference_property"); CYG_PRECONDITION_CLASSC(interp); - + CdlProperty_Reference new_property = 0; try { - std::vector > options; - int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); - - if (data_index == argc) { - CdlParse::report_property_parse_error(interp, argv[0], "Missing argument."); - } else if ((data_index + 1) < argc) { - CdlParse::report_property_parse_error(interp, argv[0], "Too many arguments, expecting just one."); - } else { - std::string refname = argv[data_index]; - if (!(Cdl::is_valid_cdl_name(refname) || (allow_empty && ("" == refname)))) { - CdlParse::report_property_parse_error(interp, argv[0], "`" + refname + "' is not a valid CDL name"); - } else { - CdlNode current_node = interp->get_node(); - CYG_ASSERTC(0 != current_node); - new_property = CdlProperty_ReferenceBody::make(current_node, name, refname, - update_handler, argc, argv, options); - if (0 != final_parser) { - (*final_parser)(interp, new_property); - } - } - } + std::vector > options; + int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); + + if (data_index == argc) { + CdlParse::report_property_parse_error(interp, argv[0], "Missing argument."); + } else if ((data_index + 1) < argc) { + CdlParse::report_property_parse_error(interp, argv[0], "Too many arguments, expecting just one."); + } else { + std::string refname = argv[data_index]; + if (!(Cdl::is_valid_cdl_name(refname) || (allow_empty && ("" == refname)))) { + CdlParse::report_property_parse_error(interp, argv[0], "`" + refname + "' is not a valid CDL name"); + } else { + CdlNode current_node = interp->get_node(); + CYG_ASSERTC(current_node != NULL); + new_property = CdlProperty_ReferenceBody::make(current_node, name, refname, + update_handler, argc, argv, options); + if (final_parser) { + final_parser(interp, new_property); + } + } + } } catch(...) { - if (0 != new_property) { - delete new_property; - } - throw; + delete new_property; + throw; } - + return TCL_OK; } //}}} -//{{{ parse_expression_property() +//{{{ parse_expression_property() // ---------------------------------------------------------------------------- int CdlParse::parse_expression_property(CdlInterpreter interp, int argc, const char* argv[], std::string name, - char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_Expression), - CdlUpdateHandler update_handler) + const char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_Expression), + CdlUpdateHandler update_handler) { CYG_REPORT_FUNCNAME("parse_expression_property"); CYG_PRECONDITION_CLASSC(interp); - + CdlProperty_Expression new_property = 0; CdlExpression expr = 0; try { - std::vector > options; - int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); - - std::string all_args = CdlParse::concatenate_argv(argc, argv, data_index); - if ("" == all_args) { - CdlParse::report_property_parse_error(interp, argv[0], "Missing expression data."); - } else { - - // The CdlExpression class has its own parsing routine. This - // will raise an exception if there are any problems. It is - // desirable to catch the exception and report the error via - // the normal reporting mechanisms, which may allow parsing to - // continue. - try { - expr = CdlExpressionBody::parse(all_args); - } catch(CdlParseException e) { - CdlParse::report_property_parse_error(interp, argv[0], e.get_message()); - } - if (0 != expr) { - CdlNode current_node = interp->get_node(); - CYG_ASSERTC(0 != current_node); - new_property = CdlProperty_ExpressionBody::make(current_node, name, expr, update_handler, argc, argv, options); - if (0 != final_parser) { - (*final_parser)(interp, new_property); - } - } - } + std::vector > options; + int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); + std::string all_args = CdlParse::concatenate_argv(argc, argv, data_index); + if ("" == all_args) { + CdlParse::report_property_parse_error(interp, argv[0], "Missing expression data."); + } else { + + // The CdlExpression class has its own parsing routine. This + // will raise an exception if there are any problems. It is + // desirable to catch the exception and report the error via + // the normal reporting mechanisms, which may allow parsing to + // continue. + try { + expr = CdlExpressionBody::parse(all_args); + } catch(CdlParseException e) { + CdlParse::report_property_parse_error(interp, argv[0], e.get_message()); + } + if (expr) { + CdlNode current_node = interp->get_node(); + CYG_ASSERTC(current_node != NULL); + new_property = CdlProperty_ExpressionBody::make(current_node, name, expr, update_handler, argc, argv, options); + if (final_parser) { + final_parser(interp, new_property); + } + } + } } catch(...) { - if (0 != expr) { - delete expr; - } - if (0 != new_property) { - delete new_property; - } - throw; - } - - if (0 != expr) { - delete expr; + delete expr; + delete new_property; + throw; } + + delete expr; return TCL_OK; } //}}} -//{{{ parse_list_expression_property() +//{{{ parse_list_expression_property() // ---------------------------------------------------------------------------- int CdlParse::parse_listexpression_property(CdlInterpreter interp, int argc, const char* argv[], std::string name, - char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_ListExpression), - CdlUpdateHandler update_handler) + const char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_ListExpression), + CdlUpdateHandler update_handler) { CYG_REPORT_FUNCNAME("parse_list_expression_property"); CYG_PRECONDITION_CLASSC(interp); - + CdlProperty_ListExpression new_property = 0; CdlListExpression expr = 0; try { - std::vector > options; - int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); - - std::string all_args = CdlParse::concatenate_argv(argc, argv, data_index); - if ("" == all_args) { - CdlParse::report_property_parse_error(interp, argv[0], "Missing list expression data."); - } else { - - try { - expr = CdlListExpressionBody::parse(all_args); - } catch(CdlParseException e) { - CdlParse::report_property_parse_error(interp, argv[0], e.get_message()); - } - if (0 != expr) { - CdlNode current_node = interp->get_node(); - CYG_ASSERTC(0 != current_node); - new_property = CdlProperty_ListExpressionBody::make(current_node, name, expr, update_handler, - argc, argv, options); - if (0 != final_parser) { - (*final_parser)(interp, new_property); - } - } - } + std::vector > options; + int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); + + std::string all_args = CdlParse::concatenate_argv(argc, argv, data_index); + if ("" == all_args) { + CdlParse::report_property_parse_error(interp, argv[0], "Missing list expression data."); + } else { + try { + expr = CdlListExpressionBody::parse(all_args); + } catch(CdlParseException e) { + CdlParse::report_property_parse_error(interp, argv[0], e.get_message()); + } + if (expr) { + CdlNode current_node = interp->get_node(); + CYG_ASSERTC(current_node != NULL); + new_property = CdlProperty_ListExpressionBody::make(current_node, name, expr, update_handler, + argc, argv, options); + if (final_parser) { + final_parser(interp, new_property); + } + } + } } catch(...) { - if (0 != expr) { - delete expr; - } - if (0 != new_property) { - delete new_property; - } - throw; - } - if (0 != expr) { - delete expr; + delete expr; + delete new_property; + throw; } + delete expr; return TCL_OK; } //}}} -//{{{ parse_goalexpression_property() +//{{{ parse_goalexpression_property() // ---------------------------------------------------------------------------- int CdlParse::parse_goalexpression_property(CdlInterpreter interp, int argc, const char* argv[], std::string name, - char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_GoalExpression), - CdlUpdateHandler update_handler) + const char** options_desc, void (*final_parser)(CdlInterpreter, CdlProperty_GoalExpression), + CdlUpdateHandler update_handler) { CYG_REPORT_FUNCNAMETYPE("parse_goal_expression_property", "result %d"); CYG_PRECONDITION_CLASSC(interp); - + CdlProperty_GoalExpression new_property = 0; CdlGoalExpression expr = 0; try { - std::vector > options; - int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); - - std::string all_args = CdlParse::concatenate_argv(argc, argv, data_index); - if ("" == all_args) { - CdlParse::report_property_parse_error(interp, argv[0], "Missing goal expression data."); - } else { - - try { - expr = CdlGoalExpressionBody::parse(all_args); - } catch(CdlParseException e) { - CdlParse::report_property_parse_error(interp, argv[0], e.get_message()); - } - if (0 != expr) { - CdlNode current_node = interp->get_node(); - CYG_ASSERTC(0 != current_node); - new_property = CdlProperty_GoalExpressionBody::make(current_node, name, expr, update_handler, - argc, argv, options); - if (0 != final_parser) { - (*final_parser)(interp, new_property); - } - } - } + std::vector > options; + int data_index = CdlParse::parse_options(interp, property_string + argv[0], options_desc, argc, argv, 1, options); + + std::string all_args = CdlParse::concatenate_argv(argc, argv, data_index); + if ("" == all_args) { + CdlParse::report_property_parse_error(interp, argv[0], "Missing goal expression data."); + } else { + try { + expr = CdlGoalExpressionBody::parse(all_args); + } catch(CdlParseException e) { + CdlParse::report_property_parse_error(interp, argv[0], e.get_message()); + } + if (expr) { + CdlNode current_node = interp->get_node(); + CYG_ASSERTC(current_node != NULL); + new_property = CdlProperty_GoalExpressionBody::make(current_node, name, expr, update_handler, + argc, argv, options); + if (final_parser) { + final_parser(interp, new_property); + } + } + } } catch(...) { - - if (0 != expr) { - delete expr; - } - if (0 != new_property) { - delete new_property; - } - throw; - } - if (0 != expr) { - delete expr; + delete expr; + delete new_property; + throw; } + delete expr; return TCL_OK; } diff --git a/tools/src/libcdl/value.cxx b/tools/src/libcdl/value.cxx index 610fffcb..b7961de9 100644 --- a/tools/src/libcdl/value.cxx +++ b/tools/src/libcdl/value.cxx @@ -1,4 +1,4 @@ -//{{{ Banner +//{{{ Banner //============================================================================ // @@ -8,29 +8,29 @@ // //============================================================================ //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 2002 Bart Veer // Copyright (C) 1999, 2000, 2001 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //============================================================================ //#####DESCRIPTIONBEGIN#### @@ -44,7 +44,7 @@ //============================================================================ //}}} -//{{{ #include's +//{{{ #include's // ---------------------------------------------------------------------------- #include "cdlconfig.h" @@ -61,7 +61,7 @@ //}}} -//{{{ Statics +//{{{ Statics // ---------------------------------------------------------------------------- CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlValue); @@ -69,9 +69,9 @@ CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlListValue); CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlValuableBody); //}}} -//{{{ CdlSimpleValue class +//{{{ CdlSimpleValue class -//{{{ Constructors +//{{{ Constructors // ---------------------------------------------------------------------------- @@ -99,7 +99,7 @@ CdlSimpleValue::CdlSimpleValue(std::string val) double_value = 0.0; valid_flags = string_valid; format = CdlValueFormat_Default; - + CYG_REPORT_RETURN(); } @@ -113,7 +113,7 @@ CdlSimpleValue::CdlSimpleValue(cdl_int val) double_value = 0.0; valid_flags = int_valid; format = CdlValueFormat_Default; - + CYG_REPORT_RETURN(); } @@ -141,7 +141,7 @@ CdlSimpleValue::CdlSimpleValue(bool val) double_value = 0.0; valid_flags = string_valid | int_valid; format = CdlValueFormat_Default; - + CYG_REPORT_RETURN(); } @@ -155,12 +155,12 @@ CdlSimpleValue::CdlSimpleValue(const CdlSimpleValue& original) double_value = original.double_value; valid_flags = original.valid_flags; format = original.format; - + CYG_REPORT_RETURN(); } //}}} -//{{{ Destructor +//{{{ Destructor // ---------------------------------------------------------------------------- @@ -179,7 +179,7 @@ CdlSimpleValue::~CdlSimpleValue() } //}}} -//{{{ Assignment operators +//{{{ Assignment operators // ---------------------------------------------------------------------------- @@ -190,13 +190,13 @@ CdlSimpleValue::operator=(const CdlSimpleValue& original) CYG_REPORT_FUNCARG2XV(this, &original); if (this != &original) { - value = original.value; - int_value = original.int_value; - double_value = original.double_value; - valid_flags = original.valid_flags; - format = original.format; + value = original.value; + int_value = original.int_value; + double_value = original.double_value; + valid_flags = original.valid_flags; + format = original.format; } - + CYG_REPORT_RETURN(); return *this; } @@ -228,7 +228,7 @@ CdlSimpleValue::operator=(cdl_int val) double_value = 0.0; valid_flags = int_valid; format = CdlValueFormat_Default; - + CYG_REPORT_RETURN(); return *this; } @@ -271,7 +271,7 @@ CdlSimpleValue::operator=(bool val) } //}}} -//{{{ CdlValuable -> CdlSimpleValue +//{{{ CdlValuable -> CdlSimpleValue // ---------------------------------------------------------------------------- // This routine bridges the gap between the full data held in the CdlValuable @@ -288,70 +288,70 @@ CdlSimpleValue::eval_valuable(CdlEvalContext& context, CdlValuable valuable, Cdl // always zero for the purposes of expression evaluation. // FIXME: this check should be on a per-transaction basis. if (((0 != context.transaction) && !context.transaction->is_active(valuable)) || - ((0 == context.transaction) && !valuable->is_active())) { - - result.value = "0"; - result.int_value = 0; - result.double_value = 0.0; - result.valid_flags = string_valid | int_valid; - result.format = CdlValueFormat_Default; - CYG_REPORT_RETURN(); - return; + ((0 == context.transaction) && !valuable->is_active())) { + + result.value = "0"; + result.int_value = 0; + result.double_value = 0.0; + result.valid_flags = string_valid | int_valid; + result.format = CdlValueFormat_Default; + CYG_REPORT_RETURN(); + return; } // Get hold of the underlying CdlValue object const CdlValue& val = (0 != context.transaction) ? - context.transaction->get_whole_value(valuable) : valuable->get_whole_value(); - + context.transaction->get_whole_value(valuable) : valuable->get_whole_value(); + // Otherwise the value depends on the flavor. switch(val.get_flavor()) { case CdlValueFlavor_None : { - // This could be treated as an error, but since valuables with flavor - // none are permanently enabled a constant "1" is a better result. - result.value = "1"; - result.int_value = 1; - result.double_value = 0.0; - result.valid_flags = string_valid | int_valid; - result.format = CdlValueFormat_Default; - break; + // This could be treated as an error, but since valuables with flavor + // none are permanently enabled a constant "1" is a better result. + result.value = "1"; + result.int_value = 1; + result.double_value = 0.0; + result.valid_flags = string_valid | int_valid; + result.format = CdlValueFormat_Default; + break; } case CdlValueFlavor_Bool : { - bool enabled = val.is_enabled(); - result.value = (enabled) ? "1" : "0"; - result.int_value = (enabled) ? 1 : 0; - result.double_value = 0.0; - result.valid_flags = string_valid | int_valid; - result.format = CdlValueFormat_Default; - break; + bool enabled = val.is_enabled(); + result.value = (enabled) ? "1" : "0"; + result.int_value = (enabled) ? 1 : 0; + result.double_value = 0.0; + result.valid_flags = string_valid | int_valid; + result.format = CdlValueFormat_Default; + break; } case CdlValueFlavor_BoolData : { - if (!val.is_enabled()) { - - result.value = "0"; - result.int_value = 0; - result.double_value = 0.0; - result.valid_flags = string_valid | int_valid; - result.format = CdlValueFormat_Default; - - } else { - - // Just use a copy constructor, let the compiler optimise things. - result = val.get_simple_value(); - } - break; + if (!val.is_enabled()) { + + result.value = "0"; + result.int_value = 0; + result.double_value = 0.0; + result.valid_flags = string_valid | int_valid; + result.format = CdlValueFormat_Default; + + } else { + + // Just use a copy constructor, let the compiler optimise things. + result = val.get_simple_value(); + } + break; } case CdlValueFlavor_Data : { - // Just like BoolData, but with no need to check the enabled flag. - result = val.get_simple_value(); - break; + // Just like BoolData, but with no need to check the enabled flag. + result = val.get_simple_value(); + break; } default: { - CYG_FAIL("Valuable object with an unknown flavor encountered."); + CYG_FAIL("Valuable object with an unknown flavor encountered."); } } @@ -359,7 +359,7 @@ CdlSimpleValue::eval_valuable(CdlEvalContext& context, CdlValuable valuable, Cdl } //}}} -//{{{ Getting the value +//{{{ Getting the value // ---------------------------------------------------------------------------- // Some of these calls involve conversion operators. @@ -371,14 +371,14 @@ CdlSimpleValue::get_value() const CYG_REPORT_FUNCARG1XV(this); if (!(valid_flags & string_valid)) { - if (valid_flags & int_valid) { - Cdl::integer_to_string(int_value, value, format); - } else if (valid_flags & double_valid) { - Cdl::double_to_string(double_value, value, format); - } else { - CYG_FAIL("Attempt to use uninitialized SimpleValue"); - } - valid_flags |= string_valid; + if (valid_flags & int_valid) { + Cdl::integer_to_string(int_value, value, format); + } else if (valid_flags & double_valid) { + Cdl::double_to_string(double_value, value, format); + } else { + CYG_FAIL("Attempt to use uninitialized SimpleValue"); + } + valid_flags |= string_valid; } CYG_REPORT_RETURN(); @@ -392,23 +392,23 @@ CdlSimpleValue::has_integer_value() const CYG_REPORT_FUNCARG1XV(this); if (!(valid_flags & (int_valid | int_invalid))) { - if (valid_flags & double_valid) { - if (Cdl::double_to_integer(double_value, int_value)) { - valid_flags |= int_valid; - } else { - valid_flags |= int_invalid; - } - } else if (valid_flags & string_valid) { - if (Cdl::string_to_integer(value, int_value)) { - valid_flags |= int_valid; - } else { - valid_flags |= int_invalid; - } - } else { - CYG_FAIL("Attempt to use uninitialized SimpleValue"); - } + if (valid_flags & double_valid) { + if (Cdl::double_to_integer(double_value, int_value)) { + valid_flags |= int_valid; + } else { + valid_flags |= int_invalid; + } + } else if (valid_flags & string_valid) { + if (Cdl::string_to_integer(value, int_value)) { + valid_flags |= int_valid; + } else { + valid_flags |= int_invalid; + } + } else { + CYG_FAIL("Attempt to use uninitialized SimpleValue"); + } } - + bool result = (valid_flags & int_valid); CYG_REPORT_RETVAL(result); return result; @@ -422,7 +422,7 @@ CdlSimpleValue::get_integer_value() const cdl_int result = 0; if ((valid_flags & int_valid) || has_integer_value()) { - result = int_value; + result = int_value; } CYG_REPORT_RETVAL((int) result); @@ -436,18 +436,18 @@ CdlSimpleValue::has_double_value() const CYG_REPORT_FUNCARG1XV(this); if (!(valid_flags & (double_valid | double_invalid))) { - if (valid_flags & int_valid) { - Cdl::integer_to_double(int_value, double_value); - valid_flags |= double_valid; - } else if (valid_flags & string_valid) { - if (Cdl::string_to_double(value, double_value)) { - valid_flags |= double_valid; - } else { - valid_flags |= double_invalid; - } - } else { - CYG_FAIL("Attempt to use uninitialized SimpleValue"); - } + if (valid_flags & int_valid) { + Cdl::integer_to_double(int_value, double_value); + valid_flags |= double_valid; + } else if (valid_flags & string_valid) { + if (Cdl::string_to_double(value, double_value)) { + valid_flags |= double_valid; + } else { + valid_flags |= double_invalid; + } + } else { + CYG_FAIL("Attempt to use uninitialized SimpleValue"); + } } bool result = (valid_flags & double_valid); CYG_REPORT_RETVAL(result); @@ -462,7 +462,7 @@ CdlSimpleValue::get_double_value() const double result = 0.0; if ((valid_flags & double_valid) || has_double_value()) { - result = double_value; + result = double_value; } CYG_REPORT_RETURN(); @@ -477,26 +477,26 @@ CdlSimpleValue::get_bool_value() const bool result = false; if (valid_flags & int_valid) { - if (0 != int_value) { - result = true; - } + if (0 != int_value) { + result = true; + } } else if (valid_flags & double_valid) { - // Leave it to the compiler to decide what is valid - result = double_value; + // Leave it to the compiler to decide what is valid + result = double_value; } else if (valid_flags & string_valid) { - // string_to_bool copes with "1", "true", and a few other cases. - // If the current value does not match any of these then - // true corresponds to a non-empty string. - if (!Cdl::string_to_bool(value, result)) { - if ("" == value) { - result = false; - } else { - result = true; - } - } + // string_to_bool copes with "1", "true", and a few other cases. + // If the current value does not match any of these then + // true corresponds to a non-empty string. + if (!Cdl::string_to_bool(value, result)) { + if ("" == value) { + result = false; + } else { + result = true; + } + } } else { - // No value defined, default to false. - result = false; + // No value defined, default to false. + result = false; } CYG_REPORT_RETVAL(result); @@ -504,7 +504,7 @@ CdlSimpleValue::get_bool_value() const } //}}} -//{{{ Updating the value +//{{{ Updating the value // ---------------------------------------------------------------------------- // Normally the assignment operators will be used for this instead. @@ -555,7 +555,7 @@ CdlSimpleValue::set_double_value(double val, CdlValueFormat new_format) } //}}} -//{{{ Value format support +//{{{ Value format support // ---------------------------------------------------------------------------- @@ -577,7 +577,7 @@ CdlSimpleValue::set_value_format(CdlValueFormat new_format) CYG_REPORT_FUNCARG2XV(this, new_format); format = new_format; - + CYG_REPORT_RETURN(); } @@ -612,7 +612,7 @@ CdlSimpleValue::set_value_format(CdlSimpleValue& val1, CdlSimpleValue& val2) } //}}} -//{{{ Comparison operators +//{{{ Comparison operators // ---------------------------------------------------------------------------- @@ -623,25 +623,25 @@ CdlSimpleValue::operator==(const CdlSimpleValue& other) const CYG_REPORT_FUNCARG2XV(this, &other); bool result = false; - + if (has_integer_value()) { - if (other.has_integer_value()) { - cdl_int val1 = get_integer_value(); - cdl_int val2 = other.get_integer_value(); - result = (val1 == val2); - } + if (other.has_integer_value()) { + cdl_int val1 = get_integer_value(); + cdl_int val2 = other.get_integer_value(); + result = (val1 == val2); + } } else if (has_double_value()) { - if (other.has_double_value()) { - double val1 = get_double_value(); - double val2 = other.get_double_value(); - result = (val1 == val2); - } + if (other.has_double_value()) { + double val1 = get_double_value(); + double val2 = other.get_double_value(); + result = (val1 == val2); + } } else { - std::string val1 = get_value(); - std::string val2 = other.get_value(); - result = (val1 == val2); + std::string val1 = get_value(); + std::string val2 = other.get_value(); + result = (val1 == val2); } - + CYG_REPORT_RETVAL(result); return result; } @@ -654,21 +654,21 @@ CdlSimpleValue::operator!=(const CdlSimpleValue& other) const bool result = true; if (has_integer_value()) { - if (other.has_integer_value()) { - cdl_int val1 = get_integer_value(); - cdl_int val2 = other.get_integer_value(); - result = (val1 != val2); - } + if (other.has_integer_value()) { + cdl_int val1 = get_integer_value(); + cdl_int val2 = other.get_integer_value(); + result = (val1 != val2); + } } else if (has_double_value()) { - if (other.has_double_value()) { - double val1 = get_double_value(); - double val2 = other.get_double_value(); - result = (val1 != val2); - } + if (other.has_double_value()) { + double val1 = get_double_value(); + double val2 = other.get_double_value(); + result = (val1 != val2); + } } else { - std::string val1 = get_value(); - std::string val2 = other.get_value(); - result = (val1 != val2); + std::string val1 = get_value(); + std::string val2 = other.get_value(); + result = (val1 != val2); } @@ -679,7 +679,7 @@ CdlSimpleValue::operator!=(const CdlSimpleValue& other) const //}}} //}}} -//{{{ CdlValue class +//{{{ CdlValue class // ---------------------------------------------------------------------------- // This should really be a class static constant, but VC++ does not implement @@ -688,7 +688,7 @@ CdlSimpleValue::operator!=(const CdlSimpleValue& other) const static const int CdlValue_number_of_sources = 4; -//{{{ Constructors +//{{{ Constructors // ---------------------------------------------------------------------------- // The default flavor depends on the type of entity being created. For @@ -711,13 +711,13 @@ CdlValue::CdlValue(CdlValueFlavor flavor_arg) enabled[CdlValueSource_User] = false; // The SimpleValues will initialize themselves. - + cdlvalue_cookie = CdlValue_Magic; CYGDBG_MEMLEAK_CONSTRUCTOR(); // This cannot happen until after the object is valid. set_flavor(flavor_arg); - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); } @@ -736,14 +736,14 @@ CdlValue::CdlValue(const CdlValue& original) flavor = original.flavor; current_source = original.current_source; for (int i = 0; i < CdlValue_number_of_sources; i++) { - source_valid[i] = original.source_valid[i]; - enabled[i] = original.enabled[i]; - values[i] = original.values[i]; + source_valid[i] = original.source_valid[i]; + enabled[i] = original.enabled[i]; + values[i] = original.values[i]; } cdlvalue_cookie = CdlValue_Magic; CYGDBG_MEMLEAK_CONSTRUCTOR(); - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); } @@ -759,13 +759,13 @@ CdlValue& CdlValue::operator=(const CdlValue& original) CYG_INVARIANT_CLASSOC(CdlValue, original); if (this != &original) { - flavor = original.flavor; - current_source = original.current_source; - for (int i = 0; i < CdlValue_number_of_sources; i++) { - source_valid[i] = original.source_valid[i]; - enabled[i] = original.enabled[i]; - values[i] = original.values[i]; - } + flavor = original.flavor; + current_source = original.current_source; + for (int i = 0; i < CdlValue_number_of_sources; i++) { + source_valid[i] = original.source_valid[i]; + enabled[i] = original.enabled[i]; + values[i] = original.values[i]; + } } cdlvalue_cookie = CdlValue_Magic; @@ -775,7 +775,7 @@ CdlValue& CdlValue::operator=(const CdlValue& original) } //}}} -//{{{ Destructor +//{{{ Destructor // ---------------------------------------------------------------------------- @@ -789,9 +789,9 @@ CdlValue::~CdlValue() flavor = CdlValueFlavor_Invalid; current_source = CdlValueSource_Invalid; for (int i = 0; i < CdlValue_number_of_sources; i++) { - source_valid[i] = false; - enabled[i] = false; - // The CdlSimpleValue array will take care of itself. + source_valid[i] = false; + enabled[i] = false; + // The CdlSimpleValue array will take care of itself. } CYGDBG_MEMLEAK_DESTRUCTOR(); @@ -799,41 +799,41 @@ CdlValue::~CdlValue() } //}}} -//{{{ check_this() +//{{{ check_this() // ---------------------------------------------------------------------------- bool CdlValue::check_this(cyg_assert_class_zeal zeal) const { if (CdlValue_Magic != cdlvalue_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); if (!source_valid[CdlValueSource_Default]) { - return false; + return false; } if ((CdlValueFlavor_None == flavor) || (CdlValueFlavor_Data == flavor)) { - for (int i = 0; i < CdlValue_number_of_sources; i++) { - if (!enabled[i]) { - return false; - } - } + for (int i = 0; i < CdlValue_number_of_sources; i++) { + if (!enabled[i]) { + return false; + } + } } for (int i = 0; i < CdlValue_number_of_sources; i++) { - if (source_valid[i]) { - if (!values[i].check_this(zeal)) { - return false; - } - } + if (source_valid[i]) { + if (!values[i].check_this(zeal)) { + return false; + } + } } - + return true; } //}}} -//{{{ Flavor manipulation +//{{{ Flavor manipulation // ---------------------------------------------------------------------------- // Get hold of the current flavor. @@ -863,94 +863,94 @@ CdlValue::set_flavor(CdlValueFlavor flavor_arg) { CYG_REPORT_FUNCNAME("CdlValue:: set_flavor"); CYG_REPORT_FUNCARG2XV(this, flavor_arg); - + // No precondition here, set_flavor() is called from inside the constructor CYG_PRECONDITIONC((CdlValueFlavor_None == flavor_arg) || \ - (CdlValueFlavor_Bool == flavor_arg) || \ - (CdlValueFlavor_BoolData == flavor_arg) || \ - (CdlValueFlavor_Data == flavor_arg)); + (CdlValueFlavor_Bool == flavor_arg) || \ + (CdlValueFlavor_BoolData == flavor_arg) || \ + (CdlValueFlavor_Data == flavor_arg)); flavor = flavor_arg; switch(flavor) { case CdlValueFlavor_None : - { - // All value sources are enabled, but "default" remains - // the only valid one. All data parts are set to "1", - // although that should not really matter. - enabled[CdlValueSource_Default] = true; - enabled[CdlValueSource_Inferred] = true; - enabled[CdlValueSource_Wizard] = true; - enabled[CdlValueSource_User] = true; - - CdlSimpleValue simple_val((cdl_int) 1); - values[CdlValueSource_Default] = simple_val; - values[CdlValueSource_Inferred] = simple_val; - values[CdlValueSource_Wizard] = simple_val; - values[CdlValueSource_User] = simple_val; - break; - } - + { + // All value sources are enabled, but "default" remains + // the only valid one. All data parts are set to "1", + // although that should not really matter. + enabled[CdlValueSource_Default] = true; + enabled[CdlValueSource_Inferred] = true; + enabled[CdlValueSource_Wizard] = true; + enabled[CdlValueSource_User] = true; + + CdlSimpleValue simple_val((cdl_int) 1); + values[CdlValueSource_Default] = simple_val; + values[CdlValueSource_Inferred] = simple_val; + values[CdlValueSource_Wizard] = simple_val; + values[CdlValueSource_User] = simple_val; + break; + } + case CdlValueFlavor_Bool : - { - // All value sources start out as disabled, but with a - // constant data part of 1. Users can only control the - // boolean part. This is consistent with header file - // generation: no #define is generated for disabled - // options, but if the option is enabled then the data - // part will be used for the value. - enabled[CdlValueSource_Default] = false; - enabled[CdlValueSource_Inferred] = false; - enabled[CdlValueSource_Wizard] = false; - enabled[CdlValueSource_User] = false; - - // BLV - keep the data part at 0 for now. There is too - // much confusion in the code between value as a string - // representation, and value as the data part of the - // bool/data pair. This needs to be fixed, but it requires - // significant API changes. -#if 0 - CdlSimpleValue simple_val(cdl_int(1)); + { + // All value sources start out as disabled, but with a + // constant data part of 1. Users can only control the + // boolean part. This is consistent with header file + // generation: no #define is generated for disabled + // options, but if the option is enabled then the data + // part will be used for the value. + enabled[CdlValueSource_Default] = false; + enabled[CdlValueSource_Inferred] = false; + enabled[CdlValueSource_Wizard] = false; + enabled[CdlValueSource_User] = false; + + // BLV - keep the data part at 0 for now. There is too + // much confusion in the code between value as a string + // representation, and value as the data part of the + // bool/data pair. This needs to be fixed, but it requires + // significant API changes. +#if 0 + CdlSimpleValue simple_val(cdl_int(1)); #else - CdlSimpleValue simple_val(cdl_int(0)); -#endif - values[CdlValueSource_Default] = simple_val; - values[CdlValueSource_Inferred] = simple_val; - values[CdlValueSource_Wizard] = simple_val; - values[CdlValueSource_User] = simple_val; - break; - } - + CdlSimpleValue simple_val(cdl_int(0)); +#endif + values[CdlValueSource_Default] = simple_val; + values[CdlValueSource_Inferred] = simple_val; + values[CdlValueSource_Wizard] = simple_val; + values[CdlValueSource_User] = simple_val; + break; + } + case CdlValueFlavor_BoolData : - { - // All value sources start out as disabled, just like - // booleans. Nothing is known about the data part. - enabled[CdlValueSource_Default] = false; - enabled[CdlValueSource_Inferred] = false; - enabled[CdlValueSource_Wizard] = false; - enabled[CdlValueSource_User] = false; - break; - } - + { + // All value sources start out as disabled, just like + // booleans. Nothing is known about the data part. + enabled[CdlValueSource_Default] = false; + enabled[CdlValueSource_Inferred] = false; + enabled[CdlValueSource_Wizard] = false; + enabled[CdlValueSource_User] = false; + break; + } + case CdlValueFlavor_Data : - { - // All value sources start out as enabled, and cannot be - // changed. Nothing is known about the data part. - enabled[CdlValueSource_Default] = true; - enabled[CdlValueSource_Inferred] = true; - enabled[CdlValueSource_Wizard] = true; - enabled[CdlValueSource_User] = true; - break; - } + { + // All value sources start out as enabled, and cannot be + // changed. Nothing is known about the data part. + enabled[CdlValueSource_Default] = true; + enabled[CdlValueSource_Inferred] = true; + enabled[CdlValueSource_Wizard] = true; + enabled[CdlValueSource_User] = true; + break; + } default : - break; + break; } - + CYG_REPORT_RETURN(); } //}}} -//{{{ Source manipulation +//{{{ Source manipulation // ---------------------------------------------------------------------------- @@ -1007,25 +1007,25 @@ CdlValue::invalidate_source(CdlValueSource source) CYG_PRECONDITIONC((0 <= source) && (source < CdlValue_number_of_sources)); if (CdlValueSource_Default != source) { - source_valid[source] = false; - if (current_source == source) { - if (source_valid[CdlValueSource_User]) { - current_source = CdlValueSource_User; - } else if (source_valid[CdlValueSource_Wizard]) { - current_source = CdlValueSource_Wizard; - } else if (source_valid[CdlValueSource_Inferred]) { - current_source = CdlValueSource_Inferred; - } else { - current_source = CdlValueSource_Default; - } - } + source_valid[source] = false; + if (current_source == source) { + if (source_valid[CdlValueSource_User]) { + current_source = CdlValueSource_User; + } else if (source_valid[CdlValueSource_Wizard]) { + current_source = CdlValueSource_Wizard; + } else if (source_valid[CdlValueSource_Inferred]) { + current_source = CdlValueSource_Inferred; + } else { + current_source = CdlValueSource_Default; + } + } } - + CYG_POSTCONDITIONC(source_valid[current_source]); } //}}} -//{{{ Retrieving the data +//{{{ Retrieving the data // ---------------------------------------------------------------------------- // Check the enabled flag for the appropriate source. The specified source @@ -1044,7 +1044,7 @@ CdlValue::is_enabled(CdlValueSource source) const CYG_PRECONDITION_THISC(); if (CdlValueSource_Current == source) { - source = current_source; + source = current_source; } CYG_PRECONDITIONC((0 <= source) && (source < CdlValue_number_of_sources)); CYG_PRECONDITIONC(source_valid[source]); @@ -1065,7 +1065,7 @@ CdlValue::get_value(CdlValueSource source) const CYG_PRECONDITION_THISC(); if (CdlValueSource_Current == source) { - source = current_source; + source = current_source; } CYG_PRECONDITIONC((0 <= source) && (source < CdlValue_number_of_sources)); CYG_PRECONDITIONC(source_valid[source]); @@ -1083,7 +1083,7 @@ CdlValue::has_integer_value(CdlValueSource source) const CYG_INVARIANT_THISC(CdlValue); if (CdlValueSource_Current == source) { - source = current_source; + source = current_source; } CYG_PRECONDITIONC((0 <= source) && (source < CdlValue_number_of_sources)); CYG_PRECONDITIONC(source_valid[source]); @@ -1099,9 +1099,9 @@ CdlValue::has_double_value(CdlValueSource source) const CYG_REPORT_FUNCNAMETYPE("CdlValue::has_value", "result %d"); CYG_REPORT_FUNCARG2XV(this, source); CYG_INVARIANT_THISC(CdlValue); - + if (CdlValueSource_Current == source) { - source = current_source; + source = current_source; } CYG_PRECONDITIONC((0 <= source) && (source < CdlValue_number_of_sources)); CYG_PRECONDITIONC(source_valid[source]); @@ -1119,7 +1119,7 @@ CdlValue::get_integer_value(CdlValueSource source) const CYG_PRECONDITION_THISC(); if (CdlValueSource_Current == source) { - source = current_source; + source = current_source; } CYG_PRECONDITIONC((0 <= source) && (source < CdlValue_number_of_sources)); CYG_PRECONDITIONC(source_valid[source]); @@ -1137,7 +1137,7 @@ CdlValue::get_double_value(CdlValueSource source) const CYG_PRECONDITION_THISC(); if (CdlValueSource_Current == source) { - source = current_source; + source = current_source; } CYG_PRECONDITIONC((0 <= source) && (source < CdlValue_number_of_sources)); CYG_PRECONDITIONC(source_valid[source]); @@ -1155,7 +1155,7 @@ CdlValue::get_simple_value(CdlValueSource source) const CYG_PRECONDITION_THISC(); if (CdlValueSource_Current == source) { - source = current_source; + source = current_source; } CYG_PRECONDITIONC((0 <= source) && (source < CdlValue_number_of_sources)); CYG_PRECONDITIONC(source_valid[source]); @@ -1165,7 +1165,7 @@ CdlValue::get_simple_value(CdlValueSource source) const } //}}} -//{{{ Value modification +//{{{ Value modification // ---------------------------------------------------------------------------- @@ -1181,9 +1181,9 @@ CdlValue::set_enabled(bool val, CdlValueSource source) enabled[source] = val; source_valid[source] = true; if (source > current_source) { - current_source = source; + current_source = source; } - + CYG_REPORT_RETURN(); } @@ -1195,13 +1195,13 @@ CdlValue::set_value(CdlSimpleValue& val, CdlValueSource source) CYG_INVARIANT_THISC(CdlValue); CYG_PRECONDITIONC((CdlValueFlavor_BoolData == flavor) || (CdlValueFlavor_Data == flavor)); CYG_PRECONDITIONC((0 <= source) && (source < CdlValue_number_of_sources)); - + values[source] = val; source_valid[source] = true; if (source > current_source) { - current_source = source; + current_source = source; } - + CYG_REPORT_RETURN(); } @@ -1218,9 +1218,9 @@ CdlValue::set_enabled_and_value(bool enabled_arg, CdlSimpleValue& val, CdlValueS values[source] = val; source_valid[source] = true; if (source > current_source) { - current_source = source; + current_source = source; } - + CYG_REPORT_RETURN(); } @@ -1239,30 +1239,30 @@ CdlValue::set(CdlSimpleValue& val, CdlValueSource source) switch(flavor) { case CdlValueFlavor_Bool: - enabled[source] = val.get_bool_value(); - break; + enabled[source] = val.get_bool_value(); + break; case CdlValueFlavor_BoolData: - if (!val.get_bool_value()) { - enabled[source] = false; - values[source] = (cdl_int) 0; - } else { - enabled[source] = true; - values[source] = val; - } - break; - + if (!val.get_bool_value()) { + enabled[source] = false; + values[source] = (cdl_int) 0; + } else { + enabled[source] = true; + values[source] = val; + } + break; + case CdlValueFlavor_Data: - values[source] = val; - break; - + values[source] = val; + break; + default: - CYG_FAIL("Unknown value flavor detected."); + CYG_FAIL("Unknown value flavor detected."); } - + source_valid[source] = true; if (source > current_source) { - current_source = source; + current_source = source; } CYG_REPORT_RETURN(); @@ -1271,7 +1271,7 @@ CdlValue::set(CdlSimpleValue& val, CdlValueSource source) //}}} //}}} -//{{{ CdlListValue class +//{{{ CdlListValue class // ---------------------------------------------------------------------------- // List values. Most of this is straightforward. @@ -1285,7 +1285,7 @@ CdlListValue::CdlListValue() // filled in already. cdllistvalue_cookie = CdlListValue_Magic; CYGDBG_MEMLEAK_CONSTRUCTOR(); - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); } @@ -1295,14 +1295,14 @@ CdlListValue::CdlListValue(const CdlListValue& original) CYG_REPORT_FUNCNAME("CdlListValue:: copy constructor"); CYG_REPORT_FUNCARG2XV(this, &original); CYG_INVARIANT_CLASSOC(CdlListValue, original); - + // This may get expensive, but should not happen very often. table = original.table; integer_ranges = original.integer_ranges; double_ranges = original.double_ranges; cdllistvalue_cookie = CdlListValue_Magic; CYGDBG_MEMLEAK_CONSTRUCTOR(); - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); } @@ -1314,14 +1314,14 @@ CdlListValue & CdlListValue::operator=(const CdlListValue& original) CYG_INVARIANT_CLASSOC(CdlListValue, original); if (this != &original) { - table.clear(); - integer_ranges.clear(); - double_ranges.clear(); - table = original.table; - integer_ranges = original.integer_ranges; - double_ranges = original.double_ranges; + table.clear(); + integer_ranges.clear(); + double_ranges.clear(); + table = original.table; + integer_ranges = original.integer_ranges; + double_ranges = original.double_ranges; } - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); return *this; @@ -1338,7 +1338,7 @@ CdlListValue::~CdlListValue() integer_ranges.clear(); double_ranges.clear(); CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } @@ -1418,15 +1418,15 @@ CdlListValue::is_member(CdlSimpleValue& val) const bool result = false; if (val.has_integer_value()) { - result = is_member(val.get_integer_value(), false); + result = is_member(val.get_integer_value(), false); } if (!result && val.has_double_value()) { - result = is_member(val.get_double_value(), false); + result = is_member(val.get_double_value(), false); } if (!result) { - result = is_member(val.get_value()); + result = is_member(val.get_value()); } - + CYG_REPORT_RETVAL(result); return result; } @@ -1440,23 +1440,23 @@ CdlListValue::is_member(std::string val, bool allow_conversions) const bool result = false; if (allow_conversions) { - cdl_int integer_value; - double double_value; - - if (Cdl::string_to_integer(val, integer_value)) { - result = is_member(integer_value, false); - } - if (!result && Cdl::string_to_double(val, double_value)) { - result = is_member(double_value, false); - } + cdl_int integer_value; + double double_value; + + if (Cdl::string_to_integer(val, integer_value)) { + result = is_member(integer_value, false); + } + if (!result && Cdl::string_to_double(val, double_value)) { + result = is_member(double_value, false); + } } if (!result) { - for (std::vector::const_iterator val_i = table.begin(); val_i != table.end(); val_i++) { - if (val_i->get_value() == val) { - result = true; - break; - } - } + for (std::vector::const_iterator val_i = table.begin(); val_i != table.end(); val_i++) { + if (val_i->get_value() == val) { + result = true; + break; + } + } } CYG_REPORT_RETVAL(result); @@ -1472,23 +1472,23 @@ CdlListValue::is_member(cdl_int val, bool allow_conversions) const bool result = false; for (std::vector::const_iterator val_i = table.begin(); val_i != table.end(); val_i++) { - if (val_i->has_integer_value() && (val_i->get_integer_value() == val)) { - result = true; - break; - } + if (val_i->has_integer_value() && (val_i->get_integer_value() == val)) { + result = true; + break; + } } if (!result) { - for (std::vector >::const_iterator i = integer_ranges.begin(); - i != integer_ranges.end(); i++) { - if ((val >= i->first) && (val <= i->second)) { - result = true; - break; - } - } + for (std::vector >::const_iterator i = integer_ranges.begin(); + i != integer_ranges.end(); i++) { + if ((val >= i->first) && (val <= i->second)) { + result = true; + break; + } + } } if (!result && allow_conversions) { - double double_value = Cdl::integer_to_double(val); - result = is_member(double_value, false); + double double_value = Cdl::integer_to_double(val); + result = is_member(double_value, false); } CYG_REPORT_RETVAL(result); @@ -1504,25 +1504,25 @@ CdlListValue::is_member(double val, bool allow_conversions) const bool result = false; for (std::vector::const_iterator val_i = table.begin(); val_i != table.end(); val_i++) { - if (val_i->has_double_value() && (val_i->get_double_value() == val)) { - result = true; - break; - } + if (val_i->has_double_value() && (val_i->get_double_value() == val)) { + result = true; + break; + } } if (!result) { - for (std::vector >::const_iterator i = double_ranges.begin(); - i != double_ranges.end(); i++) { - if ((val >= i->first) && (val <= i->second)) { - result = true; - break; - } - } + for (std::vector >::const_iterator i = double_ranges.begin(); + i != double_ranges.end(); i++) { + if ((val >= i->first) && (val <= i->second)) { + result = true; + break; + } + } } if (!result && allow_conversions) { - cdl_int integer_value; - if (Cdl::double_to_integer(val, integer_value)) { - result = is_member(integer_value, false); - } + cdl_int integer_value; + if (Cdl::double_to_integer(val, integer_value)) { + result = is_member(integer_value, false); + } } CYG_REPORT_RETVAL(result); @@ -1535,7 +1535,7 @@ bool CdlListValue::check_this(cyg_assert_class_zeal zeal) const { if (CdlListValue_Magic != cdllistvalue_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); @@ -1547,37 +1547,37 @@ CdlListValue::check_this(cyg_assert_class_zeal zeal) const //}}} -//{{{ dialog property +//{{{ dialog property // ---------------------------------------------------------------------------- // Syntax: dialog void CdlValuableBody::dialog_update_handler(CdlTransaction transaction, CdlNode source, CdlProperty prop, CdlNode dest, - CdlUpdate change) + CdlUpdate change) { CYG_REPORT_FUNCNAME("CdlValuable::dialog_update_handler"); CYG_PRECONDITION_CLASSC(transaction); CYG_PRECONDITION_CLASSC(source); CYG_PRECONDITION_CLASSC(prop); - + // The main update of interest is Loaded (iff dest != 0), and // Created. These updates indicate that the destination now exists, // so it is possible to check that the destination is a dialog. if (((CdlUpdate_Loaded == change) && (0 != dest)) || - (CdlUpdate_Created == change)) { - - CYG_ASSERT_CLASSC(dest); - CdlDialog dialog = dynamic_cast(dest); - if (0 == dialog) { - std::string msg = dest->get_class_name() + " " + dest->get_name() + - " cannot be used in a dialog property, it is not a custom dialog."; - CdlConflict_DataBody::make(transaction, source, prop, msg); - } - + (CdlUpdate_Created == change)) { + + CYG_ASSERT_CLASSC(dest); + CdlDialog dialog = dynamic_cast(dest); + if (0 == dialog) { + std::string msg = dest->get_class_name() + " " + dest->get_name() + + " cannot be used in a dialog property, it is not a custom dialog."; + CdlConflict_DataBody::make(transaction, source, prop, msg); + } + } else if (CdlUpdate_Destroyed == change) { - // If there was a data conflict object, it is no longer relevant - transaction->clear_structural_conflicts(source, prop, &CdlConflict_DataBody::test); + // If there was a data conflict object, it is no longer relevant + transaction->clear_structural_conflicts(source, prop, &CdlConflict_DataBody::test); } CYG_REPORT_RETURN(); @@ -1589,7 +1589,7 @@ CdlValuableBody::parse_dialog(CdlInterpreter interp, int argc, const char* argv[ CYG_REPORT_FUNCNAMETYPE("parse_dialog", "result %d"); int result = CdlParse::parse_reference_property(interp, argc, argv, CdlPropertyId_Dialog, 0, 0, false, &dialog_update_handler); - + CYG_REPORT_RETVAL(result); return result; } @@ -1606,16 +1606,16 @@ CdlValuableBody::has_dialog() const bool result = false; CdlProperty property = get_property(CdlPropertyId_Dialog); if (0 != property) { - CdlProperty_Reference ref_prop = dynamic_cast(property); - CYG_ASSERTC(0 != ref_prop); - - CdlNode destination = ref_prop->get_destination(); - if (0 != destination) { - CdlDialog dialog = dynamic_cast(destination); - if (0 != dialog) { - result = true; - } - } + CdlProperty_Reference ref_prop = dynamic_cast(property); + CYG_ASSERTC(0 != ref_prop); + + CdlNode destination = ref_prop->get_destination(); + if (0 != destination) { + CdlDialog dialog = dynamic_cast(destination); + if (0 != dialog) { + result = true; + } + } } CYG_REPORT_RETVAL(result); return result; @@ -1632,13 +1632,13 @@ CdlValuableBody::get_dialog() const CdlDialog result = 0; CdlProperty property = get_property(CdlPropertyId_Dialog); if (0 != property) { - CdlProperty_Reference ref_prop = dynamic_cast(property); - CYG_ASSERTC(0 != ref_prop); + CdlProperty_Reference ref_prop = dynamic_cast(property); + CYG_ASSERTC(0 != ref_prop); - CdlNode destination = ref_prop->get_destination(); - if (0 != destination) { - result = dynamic_cast(destination); - } + CdlNode destination = ref_prop->get_destination(); + if (0 != destination) { + result = dynamic_cast(destination); + } } CYG_REPORT_RETVAL(result); @@ -1646,37 +1646,37 @@ CdlValuableBody::get_dialog() const } //}}} -//{{{ wizard property +//{{{ wizard property // ---------------------------------------------------------------------------- // Syntax: wizard void CdlValuableBody::wizard_update_handler(CdlTransaction transaction, CdlNode source, CdlProperty prop, CdlNode dest, - CdlUpdate change) + CdlUpdate change) { CYG_REPORT_FUNCNAME("CdlValuable::wizard_update_handler"); CYG_PRECONDITION_CLASSC(transaction); CYG_PRECONDITION_CLASSC(source); CYG_PRECONDITION_CLASSC(prop); - + // The main update of interest is Loaded (iff dest != 0), and // Created. These updates indicate that the destination now exists, // so it is possible to check that the destination is a dialog. if (((CdlUpdate_Loaded == change) && (0 != dest)) || - (CdlUpdate_Created == change)) { - - CYG_ASSERT_CLASSC(dest); - CdlWizard wizard = dynamic_cast(dest); - if (0 == wizard) { - std::string msg = dest->get_class_name() + " " + dest->get_name() + - " cannot be used in a wizard property, it is not a wizard."; - CdlConflict_DataBody::make(transaction, source, prop, msg); - } - + (CdlUpdate_Created == change)) { + + CYG_ASSERT_CLASSC(dest); + CdlWizard wizard = dynamic_cast(dest); + if (0 == wizard) { + std::string msg = dest->get_class_name() + " " + dest->get_name() + + " cannot be used in a wizard property, it is not a wizard."; + CdlConflict_DataBody::make(transaction, source, prop, msg); + } + } else if (CdlUpdate_Destroyed == change) { - // If there was a data conflict object, it is no longer relevant - transaction->clear_structural_conflicts(source, prop, &CdlConflict_DataBody::test); + // If there was a data conflict object, it is no longer relevant + transaction->clear_structural_conflicts(source, prop, &CdlConflict_DataBody::test); } CYG_REPORT_RETURN(); @@ -1704,16 +1704,16 @@ CdlValuableBody::has_wizard() const bool result = false; CdlProperty property = get_property(CdlPropertyId_Wizard); if (0 != property) { - CdlProperty_Reference ref_prop = dynamic_cast(property); - CYG_ASSERTC(0 != ref_prop); - - CdlNode destination = ref_prop->get_destination(); - if (0 != destination) { - CdlWizard wizard = dynamic_cast(destination); - CYG_ASSERTC(0 != wizard); - CYG_UNUSED_PARAM(CdlWizard, wizard); - result = true; - } + CdlProperty_Reference ref_prop = dynamic_cast(property); + CYG_ASSERTC(0 != ref_prop); + + CdlNode destination = ref_prop->get_destination(); + if (0 != destination) { + CdlWizard wizard = dynamic_cast(destination); + CYG_ASSERTC(0 != wizard); + CYG_UNUSED_PARAM(CdlWizard, wizard); + result = true; + } } CYG_REPORT_RETVAL(result); return result; @@ -1729,14 +1729,14 @@ CdlValuableBody::get_wizard() const CdlWizard result = 0; CdlProperty property = get_property(CdlPropertyId_Wizard); if (0 != property) { - CdlProperty_Reference ref_prop = dynamic_cast(property); - CYG_ASSERTC(0 != ref_prop); - - CdlNode destination = ref_prop->get_destination(); - if (0 != destination) { - result = dynamic_cast(destination); - CYG_ASSERTC(0 != result); - } + CdlProperty_Reference ref_prop = dynamic_cast(property); + CYG_ASSERTC(0 != ref_prop); + + CdlNode destination = ref_prop->get_destination(); + if (0 != destination) { + result = dynamic_cast(destination); + CYG_ASSERTC(0 != result); + } } CYG_REPORT_RETVAL(result); @@ -1744,14 +1744,14 @@ CdlValuableBody::get_wizard() const } //}}} -//{{{ legal_values property +//{{{ legal_values property // ---------------------------------------------------------------------------- // Syntax: legal_values void CdlValuableBody::legal_values_update_handler(CdlTransaction transaction, CdlNode source, CdlProperty prop, CdlNode dest, - CdlUpdate change) + CdlUpdate change) { CYG_REPORT_FUNCNAME("legal_values_update_handler"); @@ -1761,8 +1761,8 @@ CdlValuableBody::legal_values_update_handler(CdlTransaction transaction, CdlNode // Any other change can affect the list expression and hence // invalidate the current value. if ((CdlUpdate_Loaded == change) || (CdlUpdate_Unloading == change)) { - CYG_REPORT_RETURN(); - return; + CYG_REPORT_RETURN(); + return; } CdlValuable valuable = dynamic_cast(source); @@ -1783,7 +1783,7 @@ CdlValuableBody::parse_legal_values(CdlInterpreter interp, int argc, const char* CYG_REPORT_FUNCNAMETYPE("parse_legal_values", "result %d"); int result = CdlParse::parse_listexpression_property(interp, argc, argv, CdlPropertyId_LegalValues, 0, 0, - &legal_values_update_handler); + &legal_values_update_handler); CYG_REPORT_RETVAL(result); return result; } @@ -1810,8 +1810,8 @@ CdlValuableBody::get_legal_values() const CdlProperty_ListExpression result = 0; CdlProperty property = get_property(CdlPropertyId_LegalValues); if (0 != property) { - result = dynamic_cast(property); - CYG_ASSERTC(0 != result); + result = dynamic_cast(property); + CYG_ASSERTC(0 != result); } CYG_REPORT_RETVAL(result); @@ -1819,22 +1819,22 @@ CdlValuableBody::get_legal_values() const } //}}} -//{{{ default_value property +//{{{ default_value property // ---------------------------------------------------------------------------- // syntax: default_value void CdlValuableBody::default_value_update_handler(CdlTransaction transaction, CdlNode source, CdlProperty prop, CdlNode dest, - CdlUpdate change) + CdlUpdate change) { CYG_REPORT_FUNCNAME("CdlValuable::default_value_update_handler"); CYG_REPORT_FUNCARG5XV(transaction, source, prop, dest, change); // Loaded and unloading should be ignored. if ((CdlUpdate_Loaded == change) || (CdlUpdate_Unloading == change)) { - CYG_REPORT_RETURN(); - return; + CYG_REPORT_RETURN(); + return; } // Init, Created, Destroyed, ValueChange and ActiveChange should @@ -1844,25 +1844,25 @@ CdlValuableBody::default_value_update_handler(CdlTransaction transaction, CdlNod CYG_ASSERTC(0 != valuable); CdlProperty_Expression expr = dynamic_cast(prop); CYG_ASSERTC(0 != expr); - + CdlSimpleValue val; try { - - CdlEvalContext context(transaction, source, prop); - expr->eval(context, val); - valuable->set(transaction, val, CdlValueSource_Default); + CdlEvalContext context(transaction, source, prop); + expr->eval(context, val); + + valuable->set(transaction, val, CdlValueSource_Default); } catch(CdlEvalException e) { - - // An EvalException conflict will have been created, so the - // user knows that this default_value is not kosher. It is - // still a good idea to make sure that the object retains a - // sensible value. - val = (cdl_int) 0; - valuable->set(transaction, val, CdlValueSource_Default); + + // An EvalException conflict will have been created, so the + // user knows that this default_value is not kosher. It is + // still a good idea to make sure that the object retains a + // sensible value. + val = (cdl_int) 0; + valuable->set(transaction, val, CdlValueSource_Default); } CYG_UNUSED_PARAM(CdlNode, dest); @@ -1874,7 +1874,7 @@ CdlValuableBody::parse_default_value(CdlInterpreter interp, int argc, const char { CYG_REPORT_FUNCNAMETYPE("parse_default_value", "result %d"); int result = CdlParse::parse_expression_property(interp, argc, argv, CdlPropertyId_DefaultValue, 0, 0, - &default_value_update_handler); + &default_value_update_handler); CYG_REPORT_RETVAL(result); return result; } @@ -1901,8 +1901,8 @@ CdlValuableBody::get_default_value_expression() const CdlProperty_Expression result = 0; CdlProperty property = get_property(CdlPropertyId_DefaultValue); if (0 != property) { - result = dynamic_cast(property); - CYG_ASSERTC(0 != result); + result = dynamic_cast(property); + CYG_ASSERTC(0 != result); } CYG_REPORT_RETVAL(result); @@ -1910,22 +1910,22 @@ CdlValuableBody::get_default_value_expression() const } //}}} -//{{{ calculated_property +//{{{ calculated_property // ---------------------------------------------------------------------------- // Syntax: calculated void CdlValuableBody::calculated_update_handler(CdlTransaction transaction, CdlNode source, CdlProperty prop, CdlNode dest, - CdlUpdate change) + CdlUpdate change) { CYG_REPORT_FUNCNAME("CdlValuable::default_value_update_handler"); CYG_REPORT_FUNCARG5XV(transaction, source, prop, dest, change); // Loaded and unloading should be ignored. if ((CdlUpdate_Loaded == change) || (CdlUpdate_Unloading == change)) { - CYG_REPORT_RETURN(); - return; + CYG_REPORT_RETURN(); + return; } // Init, Created, Destroyed, ValueChange and ActiveChange should @@ -1935,25 +1935,25 @@ CdlValuableBody::calculated_update_handler(CdlTransaction transaction, CdlNode s CYG_ASSERTC(0 != valuable); CdlProperty_Expression expr = dynamic_cast(prop); CYG_ASSERTC(0 != expr); - + CdlSimpleValue val; try { - - CdlEvalContext context(transaction, source, prop); - expr->eval(context, val); - valuable->set(transaction, val, CdlValueSource_Default); + CdlEvalContext context(transaction, source, prop); + expr->eval(context, val); + + valuable->set(transaction, val, CdlValueSource_Default); } catch(CdlEvalException e) { - - // An EvalException conflict will have been created, so the - // user knows that this default_value is not kosher. It is - // still a good idea to make sure that the object retains a - // sensible value. - val = (cdl_int) 0; - valuable->set(transaction, val, CdlValueSource_Default); + + // An EvalException conflict will have been created, so the + // user knows that this default_value is not kosher. It is + // still a good idea to make sure that the object retains a + // sensible value. + val = (cdl_int) 0; + valuable->set(transaction, val, CdlValueSource_Default); } CYG_UNUSED_PARAM(CdlNode, dest); @@ -1967,7 +1967,7 @@ CdlValuableBody::parse_calculated(CdlInterpreter interp, int argc, const char* a CYG_REPORT_FUNCNAMETYPE("parse_calculated", "result %d"); int result = CdlParse::parse_expression_property(interp, argc, argv, CdlPropertyId_Calculated, 0, 0, - &calculated_update_handler); + &calculated_update_handler); CYG_REPORT_RETVAL(result); return result; } @@ -1994,8 +1994,8 @@ CdlValuableBody::get_calculated_expression() const CdlProperty_Expression result = 0; CdlProperty property = get_property(CdlPropertyId_Calculated); if (0 != property) { - result = dynamic_cast(property); - CYG_ASSERTC(0 != result); + result = dynamic_cast(property); + CYG_ASSERTC(0 != result); } CYG_REPORT_RETVAL(result); @@ -2003,7 +2003,7 @@ CdlValuableBody::get_calculated_expression() const } //}}} -//{{{ active_if property +//{{{ active_if property // ---------------------------------------------------------------------------- // Syntax: @@ -2011,7 +2011,7 @@ CdlValuableBody::get_calculated_expression() const void CdlValuableBody::active_if_update_handler(CdlTransaction transaction, CdlNode source, CdlProperty prop, CdlNode dest, - CdlUpdate change) + CdlUpdate change) { CYG_REPORT_FUNCNAME("CdlValuable::active_if_update_handler"); CYG_REPORT_FUNCARG5XV(transaction, source, prop, dest, change); @@ -2022,8 +2022,8 @@ CdlValuableBody::active_if_update_handler(CdlTransaction transaction, CdlNode so // Loaded should be ignored here, the world is still getting sorted out. // Unloading is of no interest, the source is disappearing anyway. if ((CdlUpdate_Loaded == change) || (CdlUpdate_Unloading == change)) { - CYG_REPORT_RETURN(); - return; + CYG_REPORT_RETURN(); + return; } // Any other change warrants re-evaluating the active status of the source. @@ -2034,9 +2034,9 @@ CdlValuableBody::active_if_update_handler(CdlTransaction transaction, CdlNode so bool old_state = transaction->is_active(source); bool new_state = source->test_active(transaction); if (old_state != new_state) { - transaction->set_active(source, new_state); + transaction->set_active(source, new_state); } - + CYG_UNUSED_PARAM(CdlNode, dest); CYG_REPORT_RETURN(); } @@ -2047,7 +2047,7 @@ CdlValuableBody::parse_active_if(CdlInterpreter interp, int argc, const char* ar CYG_REPORT_FUNCNAMETYPE("parse_active_if", "result %d"); int result = CdlParse::parse_goalexpression_property(interp, argc, argv, CdlPropertyId_ActiveIf, 0, 0, - &active_if_update_handler); + &active_if_update_handler); CYG_REPORT_RETVAL(result); return result; } @@ -2075,23 +2075,23 @@ CdlValuableBody::get_active_if_conditions(std::vector::const_iterator i; for (i = properties.begin(); i != properties.end(); i++) { - CdlProperty_GoalExpression goal = dynamic_cast(*i); - CYG_ASSERTC(0 != goal); - result.push_back(goal); + CdlProperty_GoalExpression goal = dynamic_cast(*i); + CYG_ASSERTC(0 != goal); + result.push_back(goal); } CYG_REPORT_RETURN(); } //}}} -//{{{ requires property +//{{{ requires property // ---------------------------------------------------------------------------- // Syntax: requires void CdlValuableBody::requires_update_handler(CdlTransaction transaction, CdlNode source, CdlProperty prop, CdlNode dest, - CdlUpdate change) + CdlUpdate change) { CYG_REPORT_FUNCNAME("CdlValuable::requires_update_handler"); CYG_REPORT_FUNCARG5XV(transaction, source, prop, dest, change); @@ -2099,10 +2099,10 @@ CdlValuableBody::requires_update_handler(CdlTransaction transaction, CdlNode sou // Loaded and Unloading are not of interest. if ((CdlUpdate_Loaded == change) || (CdlUpdate_Unloading == change)) { - CYG_REPORT_RETURN(); - return; + CYG_REPORT_RETURN(); + return; } - + // Any other change should cause normal handling. This happens in // a separate function because "requires" properties also need to // be checked when e.g. the source becomes inactive. @@ -2123,7 +2123,7 @@ CdlValuableBody::parse_requires(CdlInterpreter interp, int argc, const char* arg CYG_REPORT_FUNCNAMETYPE("parse_requires", "result %d"); int result = CdlParse::parse_goalexpression_property(interp, argc, argv, CdlPropertyId_Requires, 0, 0, - &requires_update_handler); + &requires_update_handler); CYG_REPORT_RETVAL(result); return result; } @@ -2151,23 +2151,23 @@ CdlValuableBody::get_requires_goals(std::vector& res get_properties(CdlPropertyId_Requires, properties); std::vector::const_iterator i; for (i = properties.begin(); i != properties.end(); i++) { - CdlProperty_GoalExpression goal = dynamic_cast(*i); - CYG_ASSERTC(0 != goal); - result.push_back(goal); + CdlProperty_GoalExpression goal = dynamic_cast(*i); + CYG_ASSERTC(0 != goal); + result.push_back(goal); } CYG_REPORT_RETURN(); } //}}} -//{{{ implements property +//{{{ implements property // ---------------------------------------------------------------------------- // Syntax: implements void CdlValuableBody::implements_update_handler(CdlTransaction transaction, CdlNode source, CdlProperty prop, CdlNode dest, - CdlUpdate change) + CdlUpdate change) { CYG_REPORT_FUNCNAME("CdlValuable::implements_update_handler"); CYG_REPORT_FUNCARG5XV(transaction, source, prop, dest, change); @@ -2183,14 +2183,14 @@ CdlValuableBody::implements_update_handler(CdlTransaction transaction, CdlNode s // Any changes to the interface itself can be ignored. if ((CdlUpdate_ValueChange == change) || (CdlUpdate_ActiveChange == change)) { - CYG_REPORT_RETURN(); - return; + CYG_REPORT_RETURN(); + return; } // The second stage init is irrelevant if (CdlUpdate_Init == change) { - CYG_REPORT_RETURN(); - return; + CYG_REPORT_RETURN(); + return; } // Possibilities: @@ -2209,24 +2209,24 @@ CdlValuableBody::implements_update_handler(CdlTransaction transaction, CdlNode s // // If the dest is invalid, a structural conflict has to be created. if (CdlUpdate_Destroyed == change) { - // There is no need to do any clean-ups in the dest. - dest = 0; + // There is no need to do any clean-ups in the dest. + dest = 0; } if (0 == dest) { - transaction->clear_structural_conflicts(source, prop, &CdlConflict_DataBody::test); + transaction->clear_structural_conflicts(source, prop, &CdlConflict_DataBody::test); } else { - CdlInterface interface = dynamic_cast(dest); - - if (0 == interface) { - std::string msg = source->get_class_name() + " " + source->get_name() + " cannot implement " + - dest->get_name() + "\n The latter is not an interface."; - CdlConflict_DataBody::make(transaction, source, prop, msg); - } else { - transaction->clear_structural_conflicts(source, prop, &CdlConflict_DataBody::test); - interface->recalculate(transaction); - } + CdlInterface interface = dynamic_cast(dest); + + if (0 == interface) { + std::string msg = source->get_class_name() + " " + source->get_name() + " cannot implement " + + dest->get_name() + "\n The latter is not an interface."; + CdlConflict_DataBody::make(transaction, source, prop, msg); + } else { + transaction->clear_structural_conflicts(source, prop, &CdlConflict_DataBody::test); + interface->recalculate(transaction); + } } - + CYG_REPORT_RETURN(); } @@ -2236,8 +2236,8 @@ CdlValuableBody::parse_implements(CdlInterpreter interp, int argc, const char* a CYG_REPORT_FUNCNAMETYPE("parse_implements", "result %d"); int result = CdlParse::parse_reference_property(interp, argc, argv, CdlPropertyId_Implements, 0, 0, false, - &implements_update_handler); - + &implements_update_handler); + CYG_REPORT_RETVAL(result); return result; } @@ -2253,21 +2253,21 @@ CdlValuableBody::get_implemented_interfaces(std::vector& result) c get_properties(CdlPropertyId_Implements, properties); std::vector::const_iterator i; for (i = properties.begin(); i != properties.end(); i++) { - CdlProperty_Reference refprop = dynamic_cast(*i); - CYG_ASSERTC(0 != refprop); - CdlNode node = refprop->get_destination(); - if (0 != node) { - CdlInterface interface = dynamic_cast(node); - CYG_ASSERT_CLASSC(interface); - result.push_back(interface); - } + CdlProperty_Reference refprop = dynamic_cast(*i); + CYG_ASSERTC(0 != refprop); + CdlNode node = refprop->get_destination(); + if (0 != node) { + CdlInterface interface = dynamic_cast(node); + CYG_ASSERT_CLASSC(interface); + result.push_back(interface); + } } CYG_REPORT_RETURN(); } //}}} -//{{{ Other properties +//{{{ Other properties // ---------------------------------------------------------------------------- // Syntax: flavor @@ -2278,15 +2278,15 @@ parse_flavor_final_check(CdlInterpreter interp, CdlProperty_String prop) CYG_REPORT_FUNCNAME("parse_flavor_final_check"); CYG_PRECONDITION_CLASSC(interp); CYG_PRECONDITION_CLASSC(prop); - + const std::string& str = prop->get_string(); std::string copy = std::string(str); CdlValueFlavor flavor; if (!Cdl::string_to_flavor(copy, flavor)) { - CdlParse::report_property_parse_error(interp, prop, str + " is not a valid CDL flavor."); + CdlParse::report_property_parse_error(interp, prop, str + " is not a valid CDL flavor."); } - + CYG_REPORT_RETURN(); } @@ -2309,7 +2309,7 @@ CdlValuableBody::parse_group(CdlInterpreter interp, int argc, const char* argv[] CYG_REPORT_FUNCNAMETYPE("parse_group", "result %d"); int result = CdlParse::parse_string_property(interp, argc, argv, CdlPropertyId_Group, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -2323,7 +2323,7 @@ CdlValuableBody::parse_check_proc(CdlInterpreter interp, int argc, const char* a CYG_REPORT_FUNCNAMETYPE("parse_check_proc", "result %d"); int result = CdlParse::parse_tclcode_property(interp, argc, argv, CdlPropertyId_CheckProc, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -2350,11 +2350,11 @@ CdlValuableBody::get_check_proc() const cdl_tcl_code result = ""; CdlProperty property = get_property(CdlPropertyId_CheckProc); if (0 != property) { - CdlProperty_TclCode code_prop = dynamic_cast(property); - CYG_ASSERTC(0 != code_prop); - result = code_prop->get_code(); + CdlProperty_TclCode code_prop = dynamic_cast(property); + CYG_ASSERTC(0 != code_prop); + result = code_prop->get_code(); } - + CYG_REPORT_RETURN(); return result; } @@ -2368,7 +2368,7 @@ CdlValuableBody::parse_entry_proc(CdlInterpreter interp, int argc, const char* a CYG_REPORT_FUNCNAMETYPE("parse_entry_proc", "result %d"); int result = CdlParse::parse_tclcode_property(interp, argc, argv, CdlPropertyId_EntryProc, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -2394,9 +2394,9 @@ CdlValuableBody::get_entry_proc() const cdl_tcl_code result = ""; CdlProperty property = get_property(CdlPropertyId_EntryProc); if (0 != property) { - CdlProperty_TclCode code_prop = dynamic_cast(property); - CYG_ASSERTC(0 != code_prop); - result = code_prop->get_code(); + CdlProperty_TclCode code_prop = dynamic_cast(property); + CYG_ASSERTC(0 != code_prop); + result = code_prop->get_code(); } CYG_REPORT_RETURN(); @@ -2405,7 +2405,7 @@ CdlValuableBody::get_entry_proc() const //}}} -//{{{ CdlValuable misc +//{{{ CdlValuable misc // ---------------------------------------------------------------------------- // Objects with flavor none are not modifiable. Also, objects with the @@ -2420,9 +2420,9 @@ CdlValuableBody::is_modifiable() const bool result = true; if (CdlValueFlavor_None == get_flavor()) { - result = false; + result = false; } else if (has_property(CdlPropertyId_Calculated)) { - result = false; + result = false; } CYG_REPORT_RETVAL(result); @@ -2430,7 +2430,7 @@ CdlValuableBody::is_modifiable() const } //}}} -//{{{ CdlValuable::get_widget_hint() +//{{{ CdlValuable::get_widget_hint() // ---------------------------------------------------------------------------- @@ -2452,219 +2452,219 @@ CdlValuableBody::get_widget_hint(CdlWidgetHint& hint) // separate dialog, followed by a tree redisplay CdlConstLoadable loadable = dynamic_cast(this); if (0 != loadable) { - hint.value_widget = CdlValueWidget_Loadable; - CYG_REPORT_RETURN(); - return; + hint.value_widget = CdlValueWidget_Loadable; + CYG_REPORT_RETURN(); + return; } - + // If the valuable is not modifiable then we are already done. CdlValueFlavor flavor = this->get_flavor(); if ((CdlValueFlavor_None == flavor) || !this->is_modifiable()) { - CYG_REPORT_RETURN(); - return; + CYG_REPORT_RETURN(); + return; } // If there is a custom dialog and dialogs are enabled, use it. if (this->has_dialog() && CdlDialogBody::dialogs_are_enabled()) { - if ((CdlValueFlavor_Bool == flavor) || (CdlValueFlavor_BoolData == flavor)) { - hint.bool_widget = CdlBoolWidget_CustomDialog; - } - if ((CdlValueFlavor_Data == flavor) || (CdlValueFlavor_BoolData == flavor)) { - hint.value_widget = CdlValueWidget_CustomDialog; - } - CYG_REPORT_RETURN(); - return; + if ((CdlValueFlavor_Bool == flavor) || (CdlValueFlavor_BoolData == flavor)) { + hint.bool_widget = CdlBoolWidget_CustomDialog; + } + if ((CdlValueFlavor_Data == flavor) || (CdlValueFlavor_BoolData == flavor)) { + hint.value_widget = CdlValueWidget_CustomDialog; + } + CYG_REPORT_RETURN(); + return; } - + // Process the bool part, if any if ((CdlValueFlavor_Bool == flavor) || (CdlValueFlavor_BoolData == flavor)) { - - // Default to a CheckButton - hint.bool_widget = CdlBoolWidget_CheckButton; - - // Under some circumstances it is appropriate to use a radio button instead. - // This is the case when there are several mutually exclusive entities. - // Most of the time radio buttons should actually be handled by a single - // option which has a list of legal values. There are a couple of cases - // where this is not appropriate: - // - // 1) grouping. Some of the mutually exclusive entities could be containers. - // With clever use of a single option and some active_if properties it - // would be possible to get almost the same effect, but not quite. - // - // 2) external packages. It should be possible to have a third party package - // which could add e.g. a new scheduler. - // - // The implementation of this involves interfaces. Basically mutually - // exclusive entities should implement the same interface, and that - // interface should have an explicit requires $cdl_value == 1 - // In addition all of the options involved should have the same parent. - // An entity may implement multiple interfaces, so they all have to be checked - CdlInterface radio_interface = 0; - std::vector implements = this->get_properties(CdlPropertyId_Implements); - std::vector::const_iterator imp_i; - for (imp_i = implements.begin(); (imp_i != implements.end()) && (0 == radio_interface); imp_i++) { - CdlProperty_Reference refprop = dynamic_cast(*imp_i); - CYG_ASSERT_CLASSC(refprop); - - CdlNode destnode = refprop->get_destination(); - if (0 == destnode) { - continue; - } - CdlInterface interface = dynamic_cast(destnode); - CYG_ASSERT_CLASSC(interface); - - std::vector requires; - std::vector::const_iterator req_i; - interface->get_requires_goals(requires); - for (req_i = requires.begin(); req_i != requires.end(); req_i++) { - - CdlExpression expr = (*req_i)->get_expression(); - CdlSubexpression& subexpr = expr->sub_expressions[expr->first_subexpression]; - if (CdlExprOp_Equal != subexpr.op) { - continue; - } - - CdlSubexpression& lhs = expr->sub_expressions[subexpr.lhs_index]; - CdlSubexpression& rhs = expr->sub_expressions[subexpr.rhs_index]; - CdlSubexpression* ref_operand = &lhs; - - // Allow for "a == 1" or "1 == a" - if ((CdlExprOp_IntegerConstant == lhs.op) && (1 == lhs.constants.get_integer_value())) { - ref_operand = &rhs; - } else if ((CdlExprOp_IntegerConstant == rhs.op) && (1 == rhs.constants.get_integer_value())) { - ref_operand = &lhs; - } else { - continue; - } - - if (CdlExprOp_Reference != ref_operand->op) { - continue; - } - CdlReference& ref = expr->references[ref_operand->reference_index]; - if (ref.get_destination() == interface) { - break; - } - } - if (req_i == requires.end()) { - continue; - } - - CdlContainer parent = this->get_parent(); - CYG_ASSERT_CLASSC(parent); - - std::vector implementers; - std::vector::const_iterator imp_i; - interface->get_implementers(implementers); - for (imp_i = implementers.begin(); imp_i != implementers.end(); imp_i++) { - if (parent != (*imp_i)->get_parent()) { - break; - } - } - - if (imp_i == implementers.end()) { - // An interface has been found that matches the constraints. - radio_interface = interface; - } - } - if (0 != radio_interface) { - hint.bool_widget = CdlBoolWidget_Radio; - hint.radio_button_interface = radio_interface->get_name(); - } + + // Default to a CheckButton + hint.bool_widget = CdlBoolWidget_CheckButton; + + // Under some circumstances it is appropriate to use a radio button instead. + // This is the case when there are several mutually exclusive entities. + // Most of the time radio buttons should actually be handled by a single + // option which has a list of legal values. There are a couple of cases + // where this is not appropriate: + // + // 1) grouping. Some of the mutually exclusive entities could be containers. + // With clever use of a single option and some active_if properties it + // would be possible to get almost the same effect, but not quite. + // + // 2) external packages. It should be possible to have a third party package + // which could add e.g. a new scheduler. + // + // The implementation of this involves interfaces. Basically mutually + // exclusive entities should implement the same interface, and that + // interface should have an explicit requires $cdl_value == 1 + // In addition all of the options involved should have the same parent. + // An entity may implement multiple interfaces, so they all have to be checked + CdlInterface radio_interface = 0; + std::vector implements = this->get_properties(CdlPropertyId_Implements); + std::vector::const_iterator imp_i; + for (imp_i = implements.begin(); (imp_i != implements.end()) && (0 == radio_interface); imp_i++) { + CdlProperty_Reference refprop = dynamic_cast(*imp_i); + CYG_ASSERT_CLASSC(refprop); + + CdlNode destnode = refprop->get_destination(); + if (0 == destnode) { + continue; + } + CdlInterface interface = dynamic_cast(destnode); + CYG_ASSERT_CLASSC(interface); + + std::vector requires; + std::vector::const_iterator req_i; + interface->get_requires_goals(requires); + for (req_i = requires.begin(); req_i != requires.end(); req_i++) { + + CdlExpression expr = (*req_i)->get_expression(); + CdlSubexpression& subexpr = expr->sub_expressions[expr->first_subexpression]; + if (CdlExprOp_Equal != subexpr.op) { + continue; + } + + CdlSubexpression& lhs = expr->sub_expressions[subexpr.lhs_index]; + CdlSubexpression& rhs = expr->sub_expressions[subexpr.rhs_index]; + CdlSubexpression* ref_operand = &lhs; + + // Allow for "a == 1" or "1 == a" + if ((CdlExprOp_IntegerConstant == lhs.op) && (1 == lhs.constants.get_integer_value())) { + ref_operand = &rhs; + } else if ((CdlExprOp_IntegerConstant == rhs.op) && (1 == rhs.constants.get_integer_value())) { + ref_operand = &lhs; + } else { + continue; + } + + if (CdlExprOp_Reference != ref_operand->op) { + continue; + } + CdlReference& ref = expr->references[ref_operand->reference_index]; + if (ref.get_destination() == interface) { + break; + } + } + if (req_i == requires.end()) { + continue; + } + + CdlContainer parent = this->get_parent(); + CYG_ASSERT_CLASSC(parent); + + std::vector implementers; + std::vector::const_iterator imp_i; + interface->get_implementers(implementers); + for (imp_i = implementers.begin(); imp_i != implementers.end(); imp_i++) { + if (parent != (*imp_i)->get_parent()) { + break; + } + } + + if (imp_i == implementers.end()) { + // An interface has been found that matches the constraints. + radio_interface = interface; + } + } + if (0 != radio_interface) { + hint.bool_widget = CdlBoolWidget_Radio; + hint.radio_button_interface = radio_interface->get_name(); + } } // Process the data part, if any if ((CdlValueFlavor_Data == flavor) || (CdlValueFlavor_BoolData == flavor)) { - - // Default to a simple entry box. - hint.value_widget = CdlValueWidget_EntryBox; - - // If there is a legal_values list, this will normally indicate - // which widget should be used. - if (this->has_legal_values()) { - // The legal_values expression needs to be evaluated and examined. - // If the result is a simple numerical range then all we need to - // figure out is whether to default to decimal, hex, octal or double. - // Otherwise if the result is a simple list and all of the entries - // are numerical, that is sufficient information. If a list with - // non-numerical entries that is fine as well. Anything more complicated - // needs to revert to an entry box. - CdlProperty_ListExpression lexpr = this->get_legal_values(); - CdlEvalContext context(0, this, lexpr); - CdlListValue val; - - try { - lexpr->eval(context, val); - const std::vector& table = val.get_table(); - const std::vector >& int_ranges = val.get_integer_ranges(); - const std::vector >& double_ranges = val.get_double_ranges(); - - if ((0 == table.size()) && (0 == int_ranges.size()) && (1 == double_ranges.size())) { - - // A straightforward range of double precision numbers - hint.value_widget = CdlValueWidget_DoubleRange; - - } else if ((0 == table.size()) && (1 == int_ranges.size()) && (0 == double_ranges.size())) { - - // Bummer. The formatting information has been lost. - // To fix this the two sets of ranges should be collapsed into pairs of - // CdlSimpleValue's. - hint.value_widget = CdlValueWidget_DecimalRange; - - } else if ((1 <= table.size() && (0 == int_ranges.size()) && (0 == double_ranges.size()))) { - - // If all of the values are numerical, then we have a numeric set. - // Otherwise we have a string set. - bool all_numeric = true; - std::vector::const_iterator tab_i; - for (tab_i = table.begin(); (tab_i != table.end()) && all_numeric; tab_i++) { - if (!tab_i->has_double_value() && !tab_i->has_integer_value()) { - all_numeric = false; - } - } - if (all_numeric) { - hint.value_widget = CdlValueWidget_NumericSet; - } else { - hint.value_widget = CdlValueWidget_StringSet; - } - - } else { - // The list expression is a complex combination. Leave it as an entry box. - // In some cases it would be possible to do better, for example - // legal_values -1 1 to 4 8 to 12 - // Support for cases like these may get added in future, if such cases - // ever arise in practice. - } - - } catch(...) { - // Not a lot that can be done here, unfortunately - } - } else { - // There is no legal_values property, so an entry box is probably the - // right thing to use. There is a special case for multiline strings, - // identified by a default_value expression that contains a newline. - if (this->has_default_value_expression()) { - CdlProperty_Expression expr = this->get_default_value_expression(); - CdlEvalContext context(0, this, expr); - CdlSimpleValue val; - try { - expr->eval(context, val); - std::string tmp = val.get_value(); - if (std::string::npos != tmp.find('\n')) { - hint.value_widget = CdlValueWidget_MultilineString; - } - } catch(...) { - // Not a lot that can be done here, unfortunately - } - } - } + + // Default to a simple entry box. + hint.value_widget = CdlValueWidget_EntryBox; + + // If there is a legal_values list, this will normally indicate + // which widget should be used. + if (this->has_legal_values()) { + // The legal_values expression needs to be evaluated and examined. + // If the result is a simple numerical range then all we need to + // figure out is whether to default to decimal, hex, octal or double. + // Otherwise if the result is a simple list and all of the entries + // are numerical, that is sufficient information. If a list with + // non-numerical entries that is fine as well. Anything more complicated + // needs to revert to an entry box. + CdlProperty_ListExpression lexpr = this->get_legal_values(); + CdlEvalContext context(0, this, lexpr); + CdlListValue val; + + try { + lexpr->eval(context, val); + const std::vector& table = val.get_table(); + const std::vector >& int_ranges = val.get_integer_ranges(); + const std::vector >& double_ranges = val.get_double_ranges(); + + if ((0 == table.size()) && (0 == int_ranges.size()) && (1 == double_ranges.size())) { + + // A straightforward range of double precision numbers + hint.value_widget = CdlValueWidget_DoubleRange; + + } else if ((0 == table.size()) && (1 == int_ranges.size()) && (0 == double_ranges.size())) { + + // Bummer. The formatting information has been lost. + // To fix this the two sets of ranges should be collapsed into pairs of + // CdlSimpleValue's. + hint.value_widget = CdlValueWidget_DecimalRange; + + } else if ((1 <= table.size() && (0 == int_ranges.size()) && (0 == double_ranges.size()))) { + + // If all of the values are numerical, then we have a numeric set. + // Otherwise we have a string set. + bool all_numeric = true; + std::vector::const_iterator tab_i; + for (tab_i = table.begin(); (tab_i != table.end()) && all_numeric; tab_i++) { + if (!tab_i->has_double_value() && !tab_i->has_integer_value()) { + all_numeric = false; + } + } + if (all_numeric) { + hint.value_widget = CdlValueWidget_NumericSet; + } else { + hint.value_widget = CdlValueWidget_StringSet; + } + + } else { + // The list expression is a complex combination. Leave it as an entry box. + // In some cases it would be possible to do better, for example + // legal_values -1 1 to 4 8 to 12 + // Support for cases like these may get added in future, if such cases + // ever arise in practice. + } + + } catch(...) { + // Not a lot that can be done here, unfortunately + } + } else { + // There is no legal_values property, so an entry box is probably the + // right thing to use. There is a special case for multiline strings, + // identified by a default_value expression that contains a newline. + if (this->has_default_value_expression()) { + CdlProperty_Expression expr = this->get_default_value_expression(); + CdlEvalContext context(0, this, expr); + CdlSimpleValue val; + try { + expr->eval(context, val); + std::string tmp = val.get_value(); + if (std::string::npos != tmp.find('\n')) { + hint.value_widget = CdlValueWidget_MultilineString; + } + } catch(...) { + // Not a lot that can be done here, unfortunately + } + } + } } - + CYG_REPORT_RETURN(); } //}}} -//{{{ CdlValuable get operations +//{{{ CdlValuable get operations // ---------------------------------------------------------------------------- const CdlValue& @@ -2926,7 +2926,7 @@ CdlValuableBody::get_simple_value(CdlTransaction transaction, CdlValueSource sou } //}}} -//{{{ CdlValuable internal modify ops +//{{{ CdlValuable internal modify ops // ---------------------------------------------------------------------------- // There has been a change to either the value itself or to the @@ -2944,46 +2944,46 @@ CdlValuableBody::check_value(CdlTransaction transaction) // values. CdlValueFlavor flavor = value.get_flavor(); if ((CdlValueFlavor_BoolData != flavor) && (CdlValueFlavor_Data != flavor)) { - CYG_REPORT_RETURN(); - return; + CYG_REPORT_RETURN(); + return; } // If the valuable is not currently active and enabled then it // does not matter whether or not the value is legal. Any old // conflicts should be destroyed. if (!(transaction->is_active(this) && this->is_enabled(transaction))) { - transaction->clear_conflicts(this, &CdlConflict_IllegalValueBody::test); - CYG_REPORT_RETURN(); - return; + transaction->clear_conflicts(this, &CdlConflict_IllegalValueBody::test); + CYG_REPORT_RETURN(); + return; } // If there is a legal_values property, check membership. if (this->has_property(CdlPropertyId_LegalValues)) { - CdlProperty_ListExpression lexpr = dynamic_cast(get_property(CdlPropertyId_LegalValues)); - CYG_ASSERT_CLASSC(lexpr); - - CdlSimpleValue val = this->get_simple_value(transaction); - CdlEvalContext context(transaction, this, lexpr); - try { - if (!lexpr->is_member(context, val)) { - if (!transaction->has_conflict(this, lexpr, &CdlConflict_IllegalValueBody::test)) { - CdlConflict_IllegalValueBody::make(transaction, this, lexpr); - } - - } else { - // Tne current value is legal. Get rid of any old conflicts. - transaction->clear_conflicts(this, lexpr, &CdlConflict_IllegalValueBody::test); - } - } catch(CdlEvalException e) { - // There should now be an EvalException conflict for this - // node, so there is no point in having an IllegalValue conflict - // as well. - transaction->clear_conflicts(this, lexpr, &CdlConflict_IllegalValueBody::test); - } - - // FIXME: add support for check_proc + CdlProperty_ListExpression lexpr = dynamic_cast(get_property(CdlPropertyId_LegalValues)); + CYG_ASSERT_CLASSC(lexpr); + + CdlSimpleValue val = this->get_simple_value(transaction); + CdlEvalContext context(transaction, this, lexpr); + try { + if (!lexpr->is_member(context, val)) { + if (!transaction->has_conflict(this, lexpr, &CdlConflict_IllegalValueBody::test)) { + CdlConflict_IllegalValueBody::make(transaction, this, lexpr); + } + + } else { + // Tne current value is legal. Get rid of any old conflicts. + transaction->clear_conflicts(this, lexpr, &CdlConflict_IllegalValueBody::test); + } + } catch(CdlEvalException e) { + // There should now be an EvalException conflict for this + // node, so there is no point in having an IllegalValue conflict + // as well. + transaction->clear_conflicts(this, lexpr, &CdlConflict_IllegalValueBody::test); + } + + // FIXME: add support for check_proc } - + CYG_REPORT_RETURN(); } @@ -3004,9 +3004,9 @@ CdlValuableBody::check_requires(CdlTransaction transaction) get_properties(CdlPropertyId_Requires, requires_properties); for (prop_i = requires_properties.begin(); prop_i != requires_properties.end(); prop_i++) { - CdlProperty_GoalExpression gexpr = dynamic_cast(*prop_i); - CYG_ASSERT_CLASSC(gexpr); - this->check_requires(transaction, gexpr); + CdlProperty_GoalExpression gexpr = dynamic_cast(*prop_i); + CYG_ASSERT_CLASSC(gexpr); + this->check_requires(transaction, gexpr); } CYG_REPORT_RETURN(); @@ -3024,29 +3024,29 @@ CdlValuableBody::check_requires(CdlTransaction transaction, CdlProperty_GoalExpr // If the valuable is not currently active and enabled then the "requires" // properties are irrelevant, and any old conflicts should be destroyed. if (!transaction->is_active(this) || !this->is_enabled(transaction)) { - transaction->clear_conflicts(this, gexpr, &CdlConflict_RequiresBody::test); - CYG_REPORT_RETURN(); - return; + transaction->clear_conflicts(this, gexpr, &CdlConflict_RequiresBody::test); + CYG_REPORT_RETURN(); + return; } // What is the current value of the goal expression? try { - CdlEvalContext context(transaction, this, gexpr); - if (gexpr->eval(context)) { - // The goal is satisfied. - transaction->clear_conflicts(this, gexpr, &CdlConflict_RequiresBody::test); - } else { - // The goal is not satisfied. Make sure there is a conflict object. - if (!transaction->has_conflict(this, gexpr, &CdlConflict_RequiresBody::test)) { - CdlConflict_RequiresBody::make(transaction, this, gexpr); - } - } + CdlEvalContext context(transaction, this, gexpr); + if (gexpr->eval(context)) { + // The goal is satisfied. + transaction->clear_conflicts(this, gexpr, &CdlConflict_RequiresBody::test); + } else { + // The goal is not satisfied. Make sure there is a conflict object. + if (!transaction->has_conflict(this, gexpr, &CdlConflict_RequiresBody::test)) { + CdlConflict_RequiresBody::make(transaction, this, gexpr); + } + } } catch(CdlEvalException e) { - // There should now be an EvalException conflict associated with this node, - // having a requires conflict as well serves no purpose - transaction->clear_conflicts(this, gexpr, &CdlConflict_RequiresBody::test); + // There should now be an EvalException conflict associated with this node, + // having a requires conflict as well serves no purpose + transaction->clear_conflicts(this, gexpr, &CdlConflict_RequiresBody::test); } - + CYG_REPORT_RETURN(); } @@ -3063,10 +3063,10 @@ CdlValuableBody::update(CdlTransaction transaction, CdlUpdate update) CYG_PRECONDITION_CLASSC(transaction); if ((CdlUpdate_ValueChange == update) || (CdlUpdate_ActiveChange == update)) { - this->check_value(transaction); - this->check_requires(transaction); + this->check_value(transaction); + this->check_requires(transaction); } - + CYG_REPORT_RETURN(); } @@ -3085,31 +3085,31 @@ CdlValuableBody::test_active(CdlTransaction transaction) bool result = true; if (!this->CdlNodeBody::test_active(transaction)) { - result = false; + result = false; } if (result) { - std::vector active_if_properties; - std::vector::const_iterator prop_i; - - this->get_properties(CdlPropertyId_ActiveIf, active_if_properties); - for (prop_i = active_if_properties.begin(); result && (prop_i != active_if_properties.end()); prop_i++) { - - CdlProperty_GoalExpression gexpr = dynamic_cast(*prop_i); - CYG_ASSERT_CLASSC(gexpr); - CdlEvalContext context(transaction, this, gexpr); - try { - if (!gexpr->eval(context)) { - result = false; - } - } catch(CdlEvalException e) { - // Hmmm, an active_if property cannot be evaluated. - // Tricky. If the node is inactive then its conflicts - // are ignored, which would be a bad thing. For now - // assume that the node is active, unless it was already - // inactive for other reasons. - } - } + std::vector active_if_properties; + std::vector::const_iterator prop_i; + + this->get_properties(CdlPropertyId_ActiveIf, active_if_properties); + for (prop_i = active_if_properties.begin(); result && (prop_i != active_if_properties.end()); prop_i++) { + + CdlProperty_GoalExpression gexpr = dynamic_cast(*prop_i); + CYG_ASSERT_CLASSC(gexpr); + CdlEvalContext context(transaction, this, gexpr); + try { + if (!gexpr->eval(context)) { + result = false; + } + } catch(CdlEvalException e) { + // Hmmm, an active_if property cannot be evaluated. + // Tricky. If the node is inactive then its conflicts + // are ignored, which would be a bad thing. For now + // assume that the node is active, unless it was already + // inactive for other reasons. + } + } } CYG_REPORT_RETVAL(result); @@ -3117,7 +3117,7 @@ CdlValuableBody::test_active(CdlTransaction transaction) } //}}} -//{{{ CdlValuable modify operations +//{{{ CdlValuable modify operations // ---------------------------------------------------------------------------- // Start with the non-transaction versions. These allocate a new transaction, @@ -3130,7 +3130,7 @@ CdlValuableBody::set_source(CdlValueSource source) CYG_REPORT_FUNCNAME("CdlValuable::set_source (no transaction)"); CYG_REPORT_FUNCARG2XV(this, source); CYG_PRECONDITION_THISC(); - + CdlTransaction transaction = CdlTransactionBody::make(get_toplevel()); this->set_source(transaction, source); transaction->body(); @@ -3160,7 +3160,7 @@ CdlValuableBody::set_enabled(bool val, CdlValueSource source) CYG_REPORT_FUNCNAME("CdlValuable::set_enabled (no transaction)"); CYG_REPORT_FUNCARG3XV(this, val, source); CYG_PRECONDITION_THISC(); - + CdlTransaction transaction = CdlTransactionBody::make(get_toplevel()); this->set_enabled(transaction, val, source); transaction->body(); @@ -3234,7 +3234,7 @@ CdlValuableBody::set_source(CdlTransaction transaction, CdlValueSource source) CYG_ASSERTC((source == CdlValueSource_Default) || !has_property(CdlPropertyId_Calculated)); CYG_PRECONDITION_THISC(); CYG_PRECONDITION_CLASSC(transaction); - + const CdlValue& old_value = transaction->get_whole_value(this); CdlValue new_value = old_value; new_value.set_source(source); @@ -3250,12 +3250,12 @@ CdlValuableBody::invalidate_source(CdlTransaction transaction, CdlValueSource so CYG_REPORT_FUNCARG3XV(this, transaction, source); CYG_PRECONDITION_THISC(); CYG_PRECONDITION_CLASSC(transaction); - + const CdlValue& old_value = transaction->get_whole_value(this); CdlValue new_value = old_value; new_value.invalidate_source(source); transaction->set_whole_value(this, old_value, new_value); - + CYG_REPORT_RETURN(); } @@ -3272,7 +3272,7 @@ CdlValuableBody::set_enabled(CdlTransaction transaction, bool enabled_arg, CdlVa CdlValue new_value = old_value; new_value.set_enabled(enabled_arg, source); transaction->set_whole_value(this, old_value, new_value); - + CYG_REPORT_RETURN(); } @@ -3284,30 +3284,30 @@ CdlValuableBody::set_value(CdlTransaction transaction, CdlSimpleValue& val, CdlV CYG_ASSERTC((source == CdlValueSource_Default) || !has_property(CdlPropertyId_Calculated)); CYG_PRECONDITION_THISC(); CYG_PRECONDITION_CLASSC(transaction); - + const CdlValue& old_value = transaction->get_whole_value(this); CdlValue new_value = old_value; new_value.set_value(val, source); transaction->set_whole_value(this, old_value, new_value); - + CYG_REPORT_RETURN(); } void CdlValuableBody::set_enabled_and_value(CdlTransaction transaction, bool enabled_arg, CdlSimpleValue& val, - CdlValueSource source) + CdlValueSource source) { CYG_REPORT_FUNCNAME("CdlValuable::set_enabled"); CYG_REPORT_FUNCARG3XV(this, transaction, source); CYG_ASSERTC((source == CdlValueSource_Default) || !has_property(CdlPropertyId_Calculated)); CYG_PRECONDITION_THISC(); CYG_PRECONDITION_CLASSC(transaction); - + const CdlValue& old_value = transaction->get_whole_value(this); CdlValue new_value = old_value; new_value.set_enabled_and_value(enabled_arg, val, source); transaction->set_whole_value(this, old_value, new_value); - + CYG_REPORT_RETURN(); } @@ -3319,12 +3319,12 @@ CdlValuableBody::set(CdlTransaction transaction, CdlSimpleValue& val, CdlValueSo CYG_ASSERTC((source == CdlValueSource_Default) || !has_property(CdlPropertyId_Calculated)); CYG_PRECONDITION_THISC(); CYG_PRECONDITION_CLASSC(transaction); - + const CdlValue& old_value = transaction->get_whole_value(this); CdlValue new_value = old_value; new_value.set(val, source); transaction->set_whole_value(this, old_value, new_value); - + CYG_REPORT_RETURN(); } @@ -3335,7 +3335,7 @@ CdlValuableBody::set(CdlTransaction transaction, const CdlValue& val) CYG_REPORT_FUNCARG2XV(this, transaction); CYG_PRECONDITION_THISC(); CYG_PRECONDITION_CLASSC(transaction); - + const CdlValue& old_value = transaction->get_whole_value(this); CdlValue new_value = val; transaction->set_whole_value(this, old_value, new_value); @@ -3344,7 +3344,7 @@ CdlValuableBody::set(CdlTransaction transaction, const CdlValue& val) } //}}} -//{{{ CdlValuable basics +//{{{ CdlValuable basics // ---------------------------------------------------------------------------- // The CdlValuable class implements the concept of CDL objects that take @@ -3358,7 +3358,7 @@ CdlValuableBody::CdlValuableBody(CdlValueFlavor flavor) cdlvaluablebody_cookie = CdlValuableBody_Magic; CYGDBG_MEMLEAK_CONSTRUCTOR(); - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); } @@ -3371,7 +3371,7 @@ CdlValuableBody::~CdlValuableBody() cdlvaluablebody_cookie = CdlValuableBody_Invalid; CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } @@ -3391,20 +3391,20 @@ bool CdlValuableBody::check_this(cyg_assert_class_zeal zeal) const { if (CdlValuableBody_Magic != cdlvaluablebody_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); if (has_property(CdlPropertyId_Calculated) && (CdlValueSource_Default != value.get_source())) { - CYG_FAIL("Calculated valuables can only have a default value."); - return false; + CYG_FAIL("Calculated valuables can only have a default value."); + return false; } - + return CdlNodeBody::check_this(zeal) && value.check_this(zeal); } //}}} -//{{{ CdlValuable parsing support +//{{{ CdlValuable parsing support // ---------------------------------------------------------------------------- // Parsing support. Adding the appropriate parsers is straightforward. @@ -3416,37 +3416,37 @@ CdlValuableBody::add_property_parsers(std::vector& p static CdlInterpreterCommandEntry commands[] = { - CdlInterpreterCommandEntry("active_if", &parse_active_if ), - CdlInterpreterCommandEntry("calculated", &parse_calculated ), - CdlInterpreterCommandEntry("check_proc", &parse_check_proc ), - CdlInterpreterCommandEntry("default_value", &parse_default_value), - CdlInterpreterCommandEntry("dialog", &parse_dialog ), - CdlInterpreterCommandEntry("entry_proc", &parse_entry_proc ), - CdlInterpreterCommandEntry("flavor", &parse_flavor ), - CdlInterpreterCommandEntry("group", &parse_group ), - CdlInterpreterCommandEntry("implements", &parse_implements ), - CdlInterpreterCommandEntry("legal_values", &parse_legal_values ), - CdlInterpreterCommandEntry("requires", &parse_requires ), - CdlInterpreterCommandEntry("wizard", &parse_wizard ), - CdlInterpreterCommandEntry("", 0 ) + CdlInterpreterCommandEntry("active_if", &parse_active_if ), + CdlInterpreterCommandEntry("calculated", &parse_calculated ), + CdlInterpreterCommandEntry("check_proc", &parse_check_proc ), + CdlInterpreterCommandEntry("default_value", &parse_default_value), + CdlInterpreterCommandEntry("dialog", &parse_dialog ), + CdlInterpreterCommandEntry("entry_proc", &parse_entry_proc ), + CdlInterpreterCommandEntry("flavor", &parse_flavor ), + CdlInterpreterCommandEntry("group", &parse_group ), + CdlInterpreterCommandEntry("implements", &parse_implements ), + CdlInterpreterCommandEntry("legal_values", &parse_legal_values ), + CdlInterpreterCommandEntry("requires", &parse_requires ), + CdlInterpreterCommandEntry("wizard", &parse_wizard ), + CdlInterpreterCommandEntry("", 0 ) }; for (int i = 0; commands[i].command != 0; i++) { - std::vector::const_iterator j; - for (j = parsers.begin(); j != parsers.end(); j++) { - if (commands[i].name == j->name) { - if (commands[i].command != j->command) { - CYG_FAIL("Property names are being re-used"); - } - break; - } - } - if (j == parsers.end()) { - parsers.push_back(commands[i]); - } + std::vector::const_iterator j; + for (j = parsers.begin(); j != parsers.end(); j++) { + if (commands[i].name == j->name) { + if (commands[i].command != j->command) { + CYG_FAIL("Property names are being re-used"); + } + break; + } + } + if (j == parsers.end()) { + parsers.push_back(commands[i]); + } } CdlNodeBody::add_property_parsers(parsers); - + CYG_REPORT_RETURN(); } @@ -3466,49 +3466,49 @@ CdlValuableBody::check_properties(CdlInterpreter interp) // This could prove useful if there are a sensible number // of library check_proc's. if (count_properties(CdlPropertyId_Flavor) > 1) { - CdlParse::report_error(interp, "", "There should be at most one flavor property."); + CdlParse::report_error(interp, "", "There should be at most one flavor property."); } if (count_properties(CdlPropertyId_EntryProc) > 1) { - CdlParse::report_error(interp, "", "There should be at most one entry_proc property."); + CdlParse::report_error(interp, "", "There should be at most one entry_proc property."); } if (count_properties(CdlPropertyId_CheckProc) > 1) { - CdlParse::report_error(interp, "", "There should be at most one check_proc property."); + CdlParse::report_error(interp, "", "There should be at most one check_proc property."); } if (count_properties(CdlPropertyId_DefaultValue) > 1) { - CdlParse::report_error(interp, "", "There should be at most one default_value property."); + CdlParse::report_error(interp, "", "There should be at most one default_value property."); } if (count_properties(CdlPropertyId_LegalValues) > 1) { - CdlParse::report_error(interp, "", "There should be at most one legal_values property."); + CdlParse::report_error(interp, "", "There should be at most one legal_values property."); } if (count_properties(CdlPropertyId_Dialog) > 1) { - CdlParse::report_error(interp, "", "There should be at most one dialog property."); + CdlParse::report_error(interp, "", "There should be at most one dialog property."); } if (count_properties(CdlPropertyId_Wizard) > 1) { - CdlParse::report_error(interp, "", "There should be at most one wizard property."); + CdlParse::report_error(interp, "", "There should be at most one wizard property."); } if (count_properties(CdlPropertyId_Calculated) > 1) { - CdlParse::report_error(interp, "", "There should be at most one calculated property."); + CdlParse::report_error(interp, "", "There should be at most one calculated property."); } // If there is a flavor property, update the flavor in the base class if (has_property(CdlPropertyId_Flavor)) { - CdlProperty_String flavor_property = dynamic_cast(get_property(CdlPropertyId_Flavor)); - CYG_ASSERTC(0 != flavor_property); - - std::string flavor_string = flavor_property->get_string(); - CdlValueFlavor flavor; - // The property parsing code should have caught any problems already. - if (!Cdl::string_to_flavor(flavor_string, flavor)) { - CdlParse::report_error(interp, "", "Invalid flavor " + flavor_string); - } else { - value.set_flavor(flavor); - } - - // If the flavor is "none" then the entity is not modifiable, - // and most of the properties do not make sense. However this - // is not enforced at parse-time: temporarily switching to - // flavor none may make sense during debugging. - // FIXME: no longer correct + CdlProperty_String flavor_property = dynamic_cast(get_property(CdlPropertyId_Flavor)); + CYG_ASSERTC(0 != flavor_property); + + std::string flavor_string = flavor_property->get_string(); + CdlValueFlavor flavor; + // The property parsing code should have caught any problems already. + if (!Cdl::string_to_flavor(flavor_string, flavor)) { + CdlParse::report_error(interp, "", "Invalid flavor " + flavor_string); + } else { + value.set_flavor(flavor); + } + + // If the flavor is "none" then the entity is not modifiable, + // and most of the properties do not make sense. However this + // is not enforced at parse-time: temporarily switching to + // flavor none may make sense during debugging. + // FIXME: no longer correct } // For boolean entities legal_values does not make much sense. @@ -3519,14 +3519,14 @@ CdlValuableBody::check_properties(CdlInterpreter interp) // check_proc is allowed, this can be used to check programatically // that the current value is legal. if (CdlValueFlavor_Bool == get_flavor()) { - if (has_property(CdlPropertyId_LegalValues)) { - CdlParse::report_error(interp, "", "The \"legal_values\" property is not applicable to boolean entities."); - } + if (has_property(CdlPropertyId_LegalValues)) { + CdlParse::report_error(interp, "", "The \"legal_values\" property is not applicable to boolean entities."); + } } // default_value and calculated are mutually exclusive if (has_property(CdlPropertyId_Calculated) && has_property(CdlPropertyId_DefaultValue)) { - CdlParse::report_error(interp, "", "The properties \"default_value\" and \"calculated\" cannot be used together."); + CdlParse::report_error(interp, "", "The properties \"default_value\" and \"calculated\" cannot be used together."); } #if 0 @@ -3535,20 +3535,20 @@ CdlValuableBody::check_properties(CdlInterpreter interp) // a text entry widget will be used and an entry_proc may well be // applicable. if (has_property(CdlPropertyId_Dialog) && has_property(CdlPropertyId_EntryProc)) { - CdlParse::report_error(interp, "", "The properties \"dialog\" and \"entry_proc\" cannot be used together."); + CdlParse::report_error(interp, "", "The properties \"dialog\" and \"entry_proc\" cannot be used together."); } -#endif +#endif // All of the expressions may be invalid because of unresolved references, - // ditto for implements and for dialog. - + // ditto for implements and for dialog. + CdlNodeBody::check_properties(interp); - + CYG_REPORT_RETURN(); } //}}} -//{{{ CdlValuable persistence support +//{{{ CdlValuable persistence support // ---------------------------------------------------------------------------- void @@ -3580,14 +3580,14 @@ CdlValuableBody::value_savefile_entry_needed() const bool result = false; if (this->is_modifiable()) { - if (this->has_source(CdlValueSource_User) || - this->has_source(CdlValueSource_Wizard) || - this->has_source(CdlValueSource_Inferred)) { + if (this->has_source(CdlValueSource_User) || + this->has_source(CdlValueSource_Wizard) || + this->has_source(CdlValueSource_Inferred)) { - result = true; - } + result = true; + } } - + CYG_REPORT_RETVAL(result); return result; } @@ -3604,21 +3604,21 @@ value_to_string(CdlValuable valuable, CdlValueSource source) CYG_REPORT_FUNCNAME("value_to_string"); std::string data = ""; - + switch(valuable->get_flavor()) { case CdlValueFlavor_Bool : - data += (valuable->is_enabled(source) ? one : zero); - break; + data += (valuable->is_enabled(source) ? one : zero); + break; case CdlValueFlavor_BoolData : - data += (valuable->is_enabled(source) ? one : zero) + " " + - CdlInterpreterBody::quote(valuable->get_value(source)); - break; + data += (valuable->is_enabled(source) ? one : zero) + " " + + CdlInterpreterBody::quote(valuable->get_value(source)); + break; case CdlValueFlavor_Data: - data += CdlInterpreterBody::quote(valuable->get_value(source)); - break; + data += CdlInterpreterBody::quote(valuable->get_value(source)); + break; default: - CYG_FAIL("Invalid value flavor detected"); - break; + CYG_FAIL("Invalid value flavor detected"); + break; } return data; } @@ -3632,13 +3632,13 @@ get_expected_source(CdlValuable valuable) CYG_REPORT_FUNCARG1XV(valuable); CdlValueSource expected_source = CdlValueSource_Default; - + if (valuable->has_source(CdlValueSource_User)) { - expected_source = CdlValueSource_User; + expected_source = CdlValueSource_User; } else if (valuable->has_source(CdlValueSource_Wizard)) { - expected_source = CdlValueSource_Wizard; + expected_source = CdlValueSource_Wizard; } else if (valuable->has_source(CdlValueSource_Inferred)) { - expected_source = CdlValueSource_Inferred; + expected_source = CdlValueSource_Inferred; } CYG_REPORT_RETVAL((int) expected_source); @@ -3668,25 +3668,25 @@ follow_expr_references(CdlProperty property, CdlExpression expr) std::string data = ""; CdlSimpleValue simple_value; std::vector::const_iterator ref_i; - + for (ref_i = expr->references.begin(); ref_i != expr->references.end(); ref_i++) { - const std::string& refname = ref_i->get_destination_name(); - CdlNode refnode = ref_i->get_destination(); - CdlValuable refvaluable = 0; - if (0 != refnode) { - refvaluable = dynamic_cast(refnode); - } - data += refname + " "; - if (0 == refvaluable) { - data += "(unknown) == 0"; - } else { - CdlEvalContext context(0, refvaluable, property); - CdlSimpleValue::eval_valuable(context, refvaluable, simple_value); - data += "== " + CdlInterpreterBody::quote(simple_value.get_value()); - } - data += '\n'; + const std::string& refname = ref_i->get_destination_name(); + CdlNode refnode = ref_i->get_destination(); + CdlValuable refvaluable = 0; + if (0 != refnode) { + refvaluable = dynamic_cast(refnode); + } + data += refname + " "; + if (0 == refvaluable) { + data += "(unknown) == 0"; + } else { + CdlEvalContext context(0, refvaluable, property); + CdlSimpleValue::eval_valuable(context, refvaluable, simple_value); + data += "== " + CdlInterpreterBody::quote(simple_value.get_value()); + } + data += '\n'; } - + CYG_REPORT_RETURN(); return data; } @@ -3694,7 +3694,7 @@ follow_expr_references(CdlProperty property, CdlExpression expr) // ---------------------------------------------------------------------------- void -CdlValuableBody::save(CdlInterpreter interp, Tcl_Channel chan, int indentation, bool modifiable, bool minimal) +CdlValuableBody::_save(CdlInterpreter interp, Tcl_Channel chan, int indentation, bool modifiable, bool minimal) { CYG_REPORT_FUNCNAME("CdlValuable::save"); CYG_REPORT_FUNCARG5XV(this, interp, chan, indentation, minimal); @@ -3714,274 +3714,271 @@ CdlValuableBody::save(CdlInterpreter interp, Tcl_Channel chan, int indentation, // but the alternative is an awful lot of "if (minimal)" tests // in the main code. if (minimal) { - - if (modifiable) { - if (this->has_source(CdlValueSource_User)) { - data += indent_string + "user_value " + value_to_string(this, CdlValueSource_User) + "\n"; - } - if (this->has_source(CdlValueSource_Wizard)) { - data += indent_string + "wizard_value " + value_to_string(this, CdlValueSource_Wizard) + "\n"; - } - if (this->has_source(CdlValueSource_Inferred)) { - data += indent_string + "inferred_value " + value_to_string(this, CdlValueSource_Inferred) + "\n"; - } - CdlValueSource expected_source = get_expected_source(this); - if (expected_source != this->get_source()) { - std::string current_source_string; - if (!Cdl::source_to_string(this->get_source(), current_source_string)) { - CYG_FAIL("Invalid current value source detected"); - } - data += indent_string + "value_source " + current_source_string + "\n"; - } - } - + if (modifiable) { + if (this->has_source(CdlValueSource_User)) { + data += indent_string + "user_value " + value_to_string(this, CdlValueSource_User) + "\n"; + } + if (this->has_source(CdlValueSource_Wizard)) { + data += indent_string + "wizard_value " + value_to_string(this, CdlValueSource_Wizard) + "\n"; + } + if (this->has_source(CdlValueSource_Inferred)) { + data += indent_string + "inferred_value " + value_to_string(this, CdlValueSource_Inferred) + "\n"; + } + CdlValueSource expected_source = get_expected_source(this); + if (expected_source != this->get_source()) { + std::string current_source_string; + if (!Cdl::source_to_string(this->get_source(), current_source_string)) { + CYG_FAIL("Invalid current value source detected"); + } + data += indent_string + "value_source " + current_source_string + "\n"; + } + } } else { - - // Right at the start, indicate whether or not this property is active. - if (!this->is_active()) { - data += indent_string + "# This option is not active\n"; - // If the entity is inactive because the parent is inactive or disabled, - // say so here. This is in addition to any unsatisfied active_if - // conditions, which will be reported below. - CdlContainer parent = this->get_parent(); - if (!parent->is_active()) { - data += indent_string + "# The parent " + parent->get_name() + " is not active\n"; - } - CdlValuable tmp = dynamic_cast(parent); - if ((0 != tmp) && !tmp->is_enabled()) { - data += indent_string + "# The parent " + parent->get_name() + " is disabled\n"; - } - } - if (this->has_active_if_conditions()) { - std::vector active_if_conditions; - this->get_active_if_conditions(active_if_conditions); - std::vector::const_iterator expr_i; - for (expr_i = active_if_conditions.begin(); expr_i != active_if_conditions.end(); expr_i++) { - data += indent_string + "# ActiveIf constraint: " + - CdlInterpreterBody::extend_comment((*expr_i)->get_original_string(), indentation, 4) + - '\n'; - - CdlExpression expr = (*expr_i)->get_expression(); - data += CdlInterpreterBody::multiline_comment(follow_expr_references(*expr_i, expr), indentation, 4); - CdlEvalContext context(0, this, *expr_i); - bool active_if_value = false; - try { - active_if_value = (*expr_i)->eval(context); - } catch(CdlEvalException e) { - active_if_value = false; - } catch(std::bad_alloc) { - throw; - } - data += indent_string + "# --> " + (active_if_value ? one : zero) + "\n"; - } - } - - // If there has been any information related to the active status, - // add a blank line before we start worrying about values. - if (0 < data.size()) { - data += '\n'; - } - - if (CdlValueFlavor_None == this->get_flavor()) { - data += indent_string + "# There is no associated value.\n"; - } else if (this->has_property(CdlPropertyId_Calculated)) { - CdlProperty_Expression expr = this->get_calculated_expression(); - data += indent_string + "# Calculated value: " + - CdlInterpreterBody::extend_comment(expr->get_original_string(), indentation, 4) + '\n'; - data += CdlInterpreterBody::multiline_comment(follow_expr_references(expr, expr), indentation, 4); - } else if (!modifiable) { - data += indent_string + "# This value cannot be modified here.\n"; - } - - // Output the flavor. This clutters up the savefile a bit. - // However it is necessary so that the user can distinguish - // between bool, booldata and data items - switch(this->get_flavor()) { - case CdlValueFlavor_Bool: - data += indent_string + "# Flavor: bool\n"; - break; - case CdlValueFlavor_BoolData: - data += indent_string + "# Flavor: booldata\n"; - break; - case CdlValueFlavor_Data: - data += indent_string + "# Flavor: data\n"; - break; - default: - break; - } - - // If the value is not modifiable, just list the current value. - // This is not in a form that allows users to change it easily. - if (!modifiable) { - switch(this->get_flavor()) { - case CdlValueFlavor_None : - break; - case CdlValueFlavor_Bool : - data += indent_string + "# Current value: " + (this->is_enabled() ? one : zero) + '\n'; - break; - case CdlValueFlavor_BoolData : - data += indent_string + "# Current value: " + (this->is_enabled() ? one : zero) + " " + - CdlInterpreterBody::extend_comment(this->get_value(), indentation, 4) + '\n'; - break; - case CdlValueFlavor_Data : - data += indent_string + "# Current_value: " + - CdlInterpreterBody::extend_comment(this->get_value(), indentation, 4) + '\n'; - break; - default: - break; - } - - } else if (CdlValueFlavor_None != this->get_flavor()) { - - // If there is a user value, output it. Otherwise output - // a comment that allows users to edit the user value conveniently. - // It is assumed that the user will want a value similar to the - // default one, so that is provided as the starting point - if (this->has_source(CdlValueSource_User)) { - data += indent_string + "user_value " + value_to_string(this, CdlValueSource_User) + "\n"; - } else { - data += indent_string + "# No user value, uncomment the following line to provide one.\n" + - indent_string + "# user_value " + - CdlInterpreterBody::extend_comment(value_to_string(this, CdlValueSource_Default), indentation, 0) + "\n"; - } - - // Output a wizard value iff there is one. There is little point - // in letting users edit a wizard value, they should be running - // the wizard itself. - if (this->has_source(CdlValueSource_Wizard)) { - data += indent_string + "# The wizard value should not be edited directly.\n" + - indent_string + "# Instead the wizard should be run again if necessary.\n"; - data += indent_string + "wizard_value " + value_to_string(this, CdlValueSource_Wizard) + "\n"; - } - - // List the inferred value. This needs to be a command, - if (this->has_source(CdlValueSource_Inferred)) { - data += indent_string + "# The inferred value should not be edited directly.\n"; - data += indent_string + "inferred_value " + value_to_string(this, CdlValueSource_Inferred) + "\n"; - } - - // Output the value source iff it is unusual. If the current - // source is the highest priority one then there is no point - // in outputting a command, but a comment is usual. The value - // source needs to come after wizard and inferred values - std::string current_source_string; - CdlValueSource expected_source = get_expected_source(this); - CdlValueSource current_source = this->get_source(); - if (!Cdl::source_to_string(current_source, current_source_string)) { - CYG_FAIL("Invalid current value source detected"); - } - if (this->get_source() == expected_source) { - data += indent_string + "# value_source " + current_source_string + "\n"; - } else { - data += indent_string + "value_source " + current_source_string + "\n"; - } - - // Always output the default value as a comment. - data += indent_string + "# Default value: "; - - // If there is no default_value expression or if the expression involves - // only constants, just output the current default value. Otherwise - // output both the expression and the value - CdlProperty prop = this->get_property(CdlPropertyId_DefaultValue); - CdlProperty_Expression expr = dynamic_cast(prop); - if ((0 == expr) || (0 == expr->references.size())) { - // There is no default_value expression, so just output the current value - data += CdlInterpreterBody::extend_comment(value_to_string(this, CdlValueSource_Default), indentation, 4) - + "\n"; - } else { - data += CdlInterpreterBody::extend_comment(expr->get_original_string(), indentation, 4) + "\n"; - data += CdlInterpreterBody::multiline_comment(follow_expr_references(expr, expr), indentation, 4); - data += indent_string + "# --> " + - CdlInterpreterBody::extend_comment(value_to_string(this, CdlValueSource_Default), indentation, 4) + "\n"; - } - } - - // If there is a legal_values property, add the details. - if (this->has_property(CdlPropertyId_LegalValues)) { - CdlProperty_ListExpression lexpr = this->get_legal_values(); - data += indent_string + "# Legal values: " + - CdlInterpreterBody::extend_comment(lexpr->get_original_string(), indentation, 4) + '\n'; - - std::vector::const_iterator expr_i; - std::vector >::const_iterator ranges_i; - for (expr_i = lexpr->data.begin(); expr_i != lexpr->data.end(); expr_i++) { - data += CdlInterpreterBody::multiline_comment(follow_expr_references(lexpr, *expr_i), indentation, 4); - } - for (ranges_i = lexpr->ranges.begin(); ranges_i != lexpr->ranges.end(); ranges_i++) { - data += CdlInterpreterBody::multiline_comment(follow_expr_references(lexpr, ranges_i->first), indentation, 4); - data += CdlInterpreterBody::multiline_comment(follow_expr_references(lexpr, ranges_i->second), indentation, 4); - } - } - - // If there is a check_proc property, mention this. - if (this->has_property(CdlPropertyId_CheckProc)) { - data += indent_string + "# There is a check_proc routine that will check the value.\n"; - } - - // Output all requires properties - if (this->has_property(CdlPropertyId_Requires)) { - std::vector requires_goals; - this->get_requires_goals(requires_goals); - std::vector::const_iterator expr_i; - for (expr_i = requires_goals.begin(); expr_i != requires_goals.end(); expr_i++) { - data += indent_string + "# Requires: " + - CdlInterpreterBody::extend_comment((*expr_i)->get_original_string(), indentation, 4) + "\n"; - - CdlExpression expr = (*expr_i)->get_expression(); - data += CdlInterpreterBody::multiline_comment(follow_expr_references(*expr_i, expr), indentation, 4); - CdlEvalContext context(0, this, *expr_i); - bool active_if_value = false; - try { - active_if_value = (*expr_i)->eval(context); - } catch(CdlEvalException e) { - active_if_value = false; - } catch(std::bad_alloc) { - throw; - } - data += indent_string + "# --> " + (active_if_value ? one : zero) + "\n"; - } - } - - // Output all dependencies that other entities may have on this one. - const std::vector& referrers = this->get_referrers(); - if (0 != referrers.size()) { - data += '\n' + indent_string + "# The following properties are affected by this value\n"; - std::vector::const_iterator ref_i; - for (ref_i = referrers.begin(); ref_i != referrers.end(); ref_i++) { - - CdlNode source = ref_i->get_source(); - CdlProperty source_prop = ref_i->get_source_property(); - std::string prop_id = source_prop->get_property_name(); - - if ((prop_id == CdlPropertyId_ActiveIf) || - (prop_id == CdlPropertyId_Calculated) || - (prop_id == CdlPropertyId_DefaultValue) || - (prop_id == CdlPropertyId_LegalValues) || - (prop_id == CdlPropertyId_Requires)) { - - data += indent_string + "# " + source->get_class_name() + " " + source->get_name() + "\n"; - data += indent_string + "# " + prop_id + ": "; - if ((prop_id == CdlPropertyId_Calculated) || (prop_id == CdlPropertyId_DefaultValue)) { - CdlProperty_Expression expr = dynamic_cast(source_prop); - CYG_ASSERT_CLASSC(expr); - data += CdlInterpreterBody::extend_comment(expr->get_original_string(), indentation, 4); - } else if (prop_id == CdlPropertyId_LegalValues) { - CdlProperty_ListExpression lexpr = dynamic_cast(source_prop); - CYG_ASSERT_CLASSC(lexpr); - data += CdlInterpreterBody::extend_comment(lexpr->get_original_string(), indentation, 4); - } else if ((prop_id == CdlPropertyId_ActiveIf) || (prop_id == CdlPropertyId_Requires)) { - CdlProperty_GoalExpression gexpr = dynamic_cast(source_prop); - CYG_ASSERT_CLASSC(gexpr); - data += CdlInterpreterBody::extend_comment(gexpr->get_original_string(), indentation, 4); - } - data += '\n'; - } - } - } + // Right at the start, indicate whether or not this property is active. + if (!this->is_active()) { + data += indent_string + "# This option is not active\n"; + // If the entity is inactive because the parent is inactive or disabled, + // say so here. This is in addition to any unsatisfied active_if + // conditions, which will be reported below. + CdlContainer parent = this->get_parent(); + if (!parent->is_active()) { + data += indent_string + "# The parent " + parent->get_name() + " is not active\n"; + } + CdlValuable tmp = dynamic_cast(parent); + if ((0 != tmp) && !tmp->is_enabled()) { + data += indent_string + "# The parent " + parent->get_name() + " is disabled\n"; + } + } + if (this->has_active_if_conditions()) { + std::vector active_if_conditions; + this->get_active_if_conditions(active_if_conditions); + std::vector::const_iterator expr_i; + for (expr_i = active_if_conditions.begin(); expr_i != active_if_conditions.end(); expr_i++) { + data += indent_string + "# ActiveIf constraint: " + + CdlInterpreterBody::extend_comment((*expr_i)->get_original_string(), indentation, 4) + + '\n'; + + CdlExpression expr = (*expr_i)->get_expression(); + data += CdlInterpreterBody::multiline_comment(follow_expr_references(*expr_i, expr), indentation, 4); + CdlEvalContext context(0, this, *expr_i); + bool active_if_value = false; + try { + active_if_value = (*expr_i)->eval(context); + } catch(CdlEvalException e) { + active_if_value = false; + } catch(std::bad_alloc) { + throw; + } + data += indent_string + "# --> " + (active_if_value ? one : zero) + "\n"; + } + } + + // If there has been any information related to the active status, + // add a blank line before we start worrying about values. + if (0 < data.size()) { + data += '\n'; + } + + if (CdlValueFlavor_None == this->get_flavor()) { + data += indent_string + "# There is no associated value.\n"; + } else if (this->has_property(CdlPropertyId_Calculated)) { + CdlProperty_Expression expr = this->get_calculated_expression(); + data += indent_string + "# Calculated value: " + + CdlInterpreterBody::extend_comment(expr->get_original_string(), indentation, 4) + '\n'; + data += CdlInterpreterBody::multiline_comment(follow_expr_references(expr, expr), indentation, 4); + } else if (!modifiable) { + data += indent_string + "# This value cannot be modified here.\n"; + } + + // Output the flavor. This clutters up the savefile a bit. + // However it is necessary so that the user can distinguish + // between bool, booldata and data items + switch(this->get_flavor()) { + case CdlValueFlavor_Bool: + data += indent_string + "# Flavor: bool\n"; + break; + case CdlValueFlavor_BoolData: + data += indent_string + "# Flavor: booldata\n"; + break; + case CdlValueFlavor_Data: + data += indent_string + "# Flavor: data\n"; + break; + default: + break; + } + + // If the value is not modifiable, just list the current value. + // This is not in a form that allows users to change it easily. + if (!modifiable) { + switch(this->get_flavor()) { + case CdlValueFlavor_None : + break; + case CdlValueFlavor_Bool : + data += indent_string + "# Current value: " + (this->is_enabled() ? one : zero) + '\n'; + break; + case CdlValueFlavor_BoolData : + data += indent_string + "# Current value: " + (this->is_enabled() ? one : zero) + " " + + CdlInterpreterBody::extend_comment(this->get_value(), indentation, 4) + '\n'; + break; + case CdlValueFlavor_Data : + data += indent_string + "# Current_value: " + + CdlInterpreterBody::extend_comment(this->get_value(), indentation, 4) + '\n'; + break; + default: + break; + } + + } else if (CdlValueFlavor_None != this->get_flavor()) { + + // If there is a user value, output it. Otherwise output + // a comment that allows users to edit the user value conveniently. + // It is assumed that the user will want a value similar to the + // default one, so that is provided as the starting point + if (this->has_source(CdlValueSource_User)) { + data += indent_string + "user_value " + value_to_string(this, CdlValueSource_User) + "\n"; + } else { + data += indent_string + "# No user value, uncomment the following line to provide one.\n" + + indent_string + "# user_value " + + CdlInterpreterBody::extend_comment(value_to_string(this, CdlValueSource_Default), indentation, 0) + "\n"; + } + + // Output a wizard value iff there is one. There is little point + // in letting users edit a wizard value, they should be running + // the wizard itself. + if (this->has_source(CdlValueSource_Wizard)) { + data += indent_string + "# The wizard value should not be edited directly.\n" + + indent_string + "# Instead the wizard should be run again if necessary.\n"; + data += indent_string + "wizard_value " + value_to_string(this, CdlValueSource_Wizard) + "\n"; + } + + // List the inferred value. This needs to be a command, + if (this->has_source(CdlValueSource_Inferred)) { + data += indent_string + "# The inferred value should not be edited directly.\n"; + data += indent_string + "inferred_value " + value_to_string(this, CdlValueSource_Inferred) + "\n"; + } + + // Output the value source iff it is unusual. If the current + // source is the highest priority one then there is no point + // in outputting a command, but a comment is usual. The value + // source needs to come after wizard and inferred values + std::string current_source_string; + CdlValueSource expected_source = get_expected_source(this); + CdlValueSource current_source = this->get_source(); + if (!Cdl::source_to_string(current_source, current_source_string)) { + CYG_FAIL("Invalid current value source detected"); + } + if (this->get_source() == expected_source) { + data += indent_string + "# value_source " + current_source_string + "\n"; + } else { + data += indent_string + "value_source " + current_source_string + "\n"; + } + + // Always output the default value as a comment. + data += indent_string + "# Default value: "; + + // If there is no default_value expression or if the expression involves + // only constants, just output the current default value. Otherwise + // output both the expression and the value + CdlProperty prop = this->get_property(CdlPropertyId_DefaultValue); + CdlProperty_Expression expr = dynamic_cast(prop); + if ((0 == expr) || (0 == expr->references.size())) { + // There is no default_value expression, so just output the current value + data += CdlInterpreterBody::extend_comment(value_to_string(this, CdlValueSource_Default), indentation, 4) + + "\n"; + } else { + data += CdlInterpreterBody::extend_comment(expr->get_original_string(), indentation, 4) + "\n"; + data += CdlInterpreterBody::multiline_comment(follow_expr_references(expr, expr), indentation, 4); + data += indent_string + "# --> " + + CdlInterpreterBody::extend_comment(value_to_string(this, CdlValueSource_Default), indentation, 4) + "\n"; + } + } + + // If there is a legal_values property, add the details. + if (this->has_property(CdlPropertyId_LegalValues)) { + CdlProperty_ListExpression lexpr = this->get_legal_values(); + data += indent_string + "# Legal values: " + + CdlInterpreterBody::extend_comment(lexpr->get_original_string(), indentation, 4) + '\n'; + + std::vector::const_iterator expr_i; + std::vector >::const_iterator ranges_i; + for (expr_i = lexpr->data.begin(); expr_i != lexpr->data.end(); expr_i++) { + data += CdlInterpreterBody::multiline_comment(follow_expr_references(lexpr, *expr_i), indentation, 4); + } + for (ranges_i = lexpr->ranges.begin(); ranges_i != lexpr->ranges.end(); ranges_i++) { + data += CdlInterpreterBody::multiline_comment(follow_expr_references(lexpr, ranges_i->first), indentation, 4); + data += CdlInterpreterBody::multiline_comment(follow_expr_references(lexpr, ranges_i->second), indentation, 4); + } + } + + // If there is a check_proc property, mention this. + if (this->has_property(CdlPropertyId_CheckProc)) { + data += indent_string + "# There is a check_proc routine that will check the value.\n"; + } + + // Output all requires properties + if (this->has_property(CdlPropertyId_Requires)) { + std::vector requires_goals; + this->get_requires_goals(requires_goals); + std::vector::const_iterator expr_i; + for (expr_i = requires_goals.begin(); expr_i != requires_goals.end(); expr_i++) { + data += indent_string + "# Requires: " + + CdlInterpreterBody::extend_comment((*expr_i)->get_original_string(), indentation, 4) + "\n"; + + CdlExpression expr = (*expr_i)->get_expression(); + data += CdlInterpreterBody::multiline_comment(follow_expr_references(*expr_i, expr), indentation, 4); + CdlEvalContext context(0, this, *expr_i); + bool active_if_value = false; + try { + active_if_value = (*expr_i)->eval(context); + } catch(CdlEvalException e) { + active_if_value = false; + } catch(std::bad_alloc) { + throw; + } + data += indent_string + "# --> " + (active_if_value ? one : zero) + "\n"; + } + } + + // Output all dependencies that other entities may have on this one. + const std::vector& referrers = this->get_referrers(); + if (0 != referrers.size()) { + data += '\n' + indent_string + "# The following properties are affected by this value\n"; + std::vector::const_iterator ref_i; + for (ref_i = referrers.begin(); ref_i != referrers.end(); ref_i++) { + + CdlNode source = ref_i->get_source(); + CdlProperty source_prop = ref_i->get_source_property(); + std::string prop_id = source_prop->get_property_name(); + + if ((prop_id == CdlPropertyId_ActiveIf) || + (prop_id == CdlPropertyId_Calculated) || + (prop_id == CdlPropertyId_DefaultValue) || + (prop_id == CdlPropertyId_LegalValues) || + (prop_id == CdlPropertyId_Requires)) { + + data += indent_string + "# " + source->get_class_name() + " " + source->get_name() + "\n"; + data += indent_string + "# " + prop_id + ": "; + if ((prop_id == CdlPropertyId_Calculated) || (prop_id == CdlPropertyId_DefaultValue)) { + CdlProperty_Expression expr = dynamic_cast(source_prop); + CYG_ASSERT_CLASSC(expr); + data += CdlInterpreterBody::extend_comment(expr->get_original_string(), indentation, 4); + } else if (prop_id == CdlPropertyId_LegalValues) { + CdlProperty_ListExpression lexpr = dynamic_cast(source_prop); + CYG_ASSERT_CLASSC(lexpr); + data += CdlInterpreterBody::extend_comment(lexpr->get_original_string(), indentation, 4); + } else if ((prop_id == CdlPropertyId_ActiveIf) || (prop_id == CdlPropertyId_Requires)) { + CdlProperty_GoalExpression gexpr = dynamic_cast(source_prop); + CYG_ASSERT_CLASSC(gexpr); + data += CdlInterpreterBody::extend_comment(gexpr->get_original_string(), indentation, 4); + } + data += '\n'; + } + } + } } interp->write_data(chan, data); - + CYG_REPORT_RETURN(); } @@ -3999,18 +3996,18 @@ CdlValuableBody::savefile_value_source_command(CdlInterpreter interp, int argc, CdlValueSource source = CdlValueSource_Invalid; if ((2 != argc) || !Cdl::string_to_source(argv[1], source) || !valuable->has_source(transaction, source)) { - std::string msg = "Invalid value_source command for "; - msg += valuable->get_class_name() + " " + valuable->get_name() + "\n"; - if (CdlValueSource_Invalid == source) { - msg += "Expecting one argument, which should \"user\", \"wizard\", \"inferred\" or \"default\""; - } else { - msg += "The specified value source is not valid."; - } - CdlParse::report_error(interp, "", msg); + std::string msg = "Invalid value_source command for "; + msg += valuable->get_class_name() + " " + valuable->get_name() + "\n"; + if (CdlValueSource_Invalid == source) { + msg += "Expecting one argument, which should \"user\", \"wizard\", \"inferred\" or \"default\""; + } else { + msg += "The specified value source is not valid."; + } + CdlParse::report_error(interp, "", msg); } else { - valuable->set_source(transaction, source); + valuable->set_source(transaction, source); } - + return TCL_OK; } @@ -4030,55 +4027,55 @@ CdlValuableBody::savefile_xxx_value_command(CdlInterpreter interp, int argc, con bool warn = false; std::string msg = ""; if (CdlValueFlavor_None == valuable->get_flavor()) { - msg = "Options with flavor \"none\" cannot be modified."; - error = true; + msg = "Options with flavor \"none\" cannot be modified."; + error = true; } else if (!valuable->is_modifiable()) { - msg = "This option is not user-modifiable."; - error = true; + msg = "This option is not user-modifiable."; + error = true; } else { - switch(valuable->get_flavor()) { - case CdlValueFlavor_Bool : - if (2 != argc) { - msg = "Invalid boolean value, expecting 0 or 1"; - error = true; - } else { - bool x; - Cdl::string_to_bool(argv[1], x); - valuable->set_enabled(transact, x, source); - } - break; - case CdlValueFlavor_Data : - if (2 != argc) { - msg = "Invalid data value, expecting a single string"; - error = true; - } else { - valuable->set_value(transact, argv[1], source); - } - break; - case CdlValueFlavor_BoolData: - if (3 != argc) { - msg = "Invalid booldata value, expecting a boolean followed by a string"; - error = true; - } else { - bool x; - Cdl::string_to_bool(argv[1], x); - valuable->set_enabled_and_value(transact, x, argv[2], source); - } - break; - default: - CYG_FAIL("Invalid value flavor detected"); - break; - } + switch(valuable->get_flavor()) { + case CdlValueFlavor_Bool : + if (2 != argc) { + msg = "Invalid boolean value, expecting 0 or 1"; + error = true; + } else { + bool x; + Cdl::string_to_bool(argv[1], x); + valuable->set_enabled(transact, x, source); + } + break; + case CdlValueFlavor_Data : + if (2 != argc) { + msg = "Invalid data value, expecting a single string"; + error = true; + } else { + valuable->set_value(transact, argv[1], source); + } + break; + case CdlValueFlavor_BoolData: + if (3 != argc) { + msg = "Invalid booldata value, expecting a boolean followed by a string"; + error = true; + } else { + bool x; + Cdl::string_to_bool(argv[1], x); + valuable->set_enabled_and_value(transact, x, argv[2], source); + } + break; + default: + CYG_FAIL("Invalid value flavor detected"); + break; + } } if (error || warn) { - msg = std::string("Invalid value command for ") + valuable->get_class_name() + " " + valuable->get_name() + "\n" - + msg; - if (error) { - CdlParse::report_error(interp, "", msg); - } else { - CdlParse::report_warning(interp, "", msg); - } + msg = std::string("Invalid value command for ") + valuable->get_class_name() + " " + valuable->get_name() + "\n" + + msg; + if (error) { + CdlParse::report_error(interp, "", msg); + } else { + CdlParse::report_warning(interp, "", msg); + } } return TCL_OK; diff --git a/tools/src/libcdl/wizard.cxx b/tools/src/libcdl/wizard.cxx index 96833efa..bb3fb686 100644 --- a/tools/src/libcdl/wizard.cxx +++ b/tools/src/libcdl/wizard.cxx @@ -1,4 +1,4 @@ -//{{{ Banner +//{{{ Banner //============================================================================ // @@ -8,29 +8,29 @@ // //============================================================================ //####COPYRIGHTBEGIN#### -// +// // ---------------------------------------------------------------------------- // Copyright (C) 2002 Bart Veer // Copyright (C) 1999, 2000 Red Hat, Inc. // // This file is part of the eCos host tools. // -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) // any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for // more details. -// +// // You should have received a copy of the GNU General Public License along with -// this program; if not, write to the Free Software Foundation, Inc., +// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ---------------------------------------------------------------------------- -// +// //####COPYRIGHTEND#### //============================================================================ //#####DESCRIPTIONBEGIN#### @@ -44,7 +44,7 @@ //============================================================================ //}}} -//{{{ #include's +//{{{ #include's // ---------------------------------------------------------------------------- #include "cdlconfig.h" @@ -61,33 +61,33 @@ //}}} -//{{{ Statics +//{{{ Statics // ---------------------------------------------------------------------------- CYGDBG_DEFINE_MEMLEAK_COUNTER(CdlWizardBody); //}}} -//{{{ Constructor +//{{{ Constructor // ---------------------------------------------------------------------------- // Constructor. The real work is actually done in the parse routine. CdlWizardBody::CdlWizardBody(std::string name_arg) : CdlNodeBody(name_arg), - CdlParentableBody(), - CdlUserVisibleBody() + CdlUserVisibleBody(), + CdlParentableBody() { CYG_REPORT_FUNCNAME("CdlWizardBody:: constructor"); CYG_REPORT_FUNCARG1XV(this); cdlwizardbody_cookie = CdlWizardBody_Magic; CYGDBG_MEMLEAK_CONSTRUCTOR(); - + CYG_POSTCONDITION_THISC(); CYG_REPORT_RETURN(); } //}}} -//{{{ Destructor +//{{{ Destructor // ---------------------------------------------------------------------------- // The real work is done in the base classes. @@ -99,12 +99,12 @@ CdlWizardBody::~CdlWizardBody() cdlwizardbody_cookie = CdlWizardBody_Invalid; CYGDBG_MEMLEAK_DESTRUCTOR(); - + CYG_REPORT_RETURN(); } //}}} -//{{{ parse_wizard() +//{{{ parse_wizard() // ---------------------------------------------------------------------------- // Parsing a wizard definition. @@ -120,7 +120,7 @@ CdlWizardBody::parse_wizard(CdlInterpreter interp, int argc, const char* argv[]) std::string diag_argv0 = CdlParse::get_tcl_cmd_name(argv[0]); CdlLoadable loadable = interp->get_loadable(); - CdlContainer parent = interp->get_container(); + CdlContainer parent = interp->get_container(); CdlToplevel toplevel = interp->get_toplevel(); CYG_ASSERT_CLASSC(loadable); // There should always be a loadable during parsing CYG_ASSERT_CLASSC(parent); @@ -134,128 +134,128 @@ CdlWizardBody::parse_wizard(CdlInterpreter interp, int argc, const char* argv[]) // may result in an exception. CdlWizard new_wizard = 0; try { - - // Currently there are no command-line options. This may change in future. - if (3 != argc) { - CdlParse::report_error(interp, "", std::string("Incorrect number of arguments to `") + diag_argv0 + - "'\nExpecting name and properties list."); - } else if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[2]))) { - CdlParse::report_error(interp, "", std::string("Invalid property list for cdl_wizard `") + argv[1]+ "'."); - } else if (0 != toplevel->lookup(argv[1])) { - CdlParse::report_error(interp, "", std::string("Wizard `") + argv[1] + - "' cannot be loaded.\nThe name is already in use."); - } else { - new_wizard = new CdlWizardBody(argv[1]); - toplevel->add_node(loadable, parent, new_wizard); - - // At this stage new_wizard has been created and added to the hierarchy. - // The main work now is to add the properties. - - // Push the wizard as the current base object early on. - // This aids diagnostics. - CdlNode old_node = 0; - - std::string tcl_result; - std::vector new_commands; - std::vector* old_commands = 0; - static CdlInterpreterCommandEntry commands[] = - { - CdlInterpreterCommandEntry("init_proc", &parse_init_proc ), - CdlInterpreterCommandEntry("decoration_proc", &parse_decoration_proc ), - CdlInterpreterCommandEntry("screen", &parse_screen ), - CdlInterpreterCommandEntry("confirm_proc", &parse_confirm_proc ), - CdlInterpreterCommandEntry("cancel_proc", &parse_cancel_proc ), - CdlInterpreterCommandEntry("", 0 ), - }; - int i; - for (i = 0; 0 != commands[i].command; i++) { - new_commands.push_back(commands[i]); - } - CdlParentableBody::add_property_parsers(new_commands); - CdlUserVisibleBody::add_property_parsers(new_commands); - CdlNodeBody::add_property_parsers(new_commands); - - // Now evaluate the body. If an error occurs then typically - // this will be reported via CdlParse::report_error(), - // but any exceptions will have been intercepted and - // turned into a Tcl error. - old_node = interp->push_node(new_wizard); - old_commands = interp->push_commands(new_commands); - result = interp->eval(argv[2], tcl_result); - interp->pop_node(old_node); - interp->pop_commands(old_commands); - - if (TCL_OK == result) { - // Even if there were errors, they were not fatal. There may - // now be a number of properties for this option, and some - // validation should take place. Start with the base classes. - new_wizard->CdlNodeBody::check_properties(interp); - new_wizard->CdlUserVisibleBody::check_properties(interp); - new_wizard->CdlParentableBody::check_properties(interp); - - // The init_proc and decoration_proc properties are - // optional. The confirm_proc and cancel_proc properties - // are compulsory, and there should be at least one screen - // definition. - if (new_wizard->count_properties(CdlPropertyId_InitProc) > 1) { - CdlParse::report_error(interp, "", "A wizard should have only one `init_proc' property."); - } - if (new_wizard->count_properties(CdlPropertyId_DecorationProc) > 1) { - CdlParse::report_error(interp, "", "A wizard should have only one `decoration_proc' property."); - } - if (new_wizard->count_properties(CdlPropertyId_ConfirmProc) != 1) { - CdlParse::report_error(interp, "", "A wizard should have one `confirm_proc' property."); - } - if (new_wizard->count_properties(CdlPropertyId_CancelProc) != 1) { - CdlParse::report_error(interp, "", "A wizard should have one `cancel_proc' property."); - } - if (new_wizard->count_properties(CdlPropertyId_Screen) < 1) { - CdlParse::report_error(interp, "", "A wizard should have at least one `screen' property."); - } - - // It is necessary to check that all the screen properties have unique numbers - const std::vector& properties = new_wizard->get_properties(); - std::vector::const_iterator prop_i, prop_j; - for (prop_i = properties.begin(); prop_i != properties.end(); prop_i++) { - if (CdlPropertyId_Screen != (*prop_i)->get_property_name()) { - continue; - } - CdlProperty_TclCode tclprop = dynamic_cast(*prop_i); - CYG_ASSERT_CLASSC(tclprop); - cdl_int num1 = tclprop->get_number(); - - for (prop_j = ++prop_i; prop_j != properties.end(); prop_j++) { - if (CdlPropertyId_Screen != (*prop_j)->get_property_name()) { - continue; - } - CdlProperty_TclCode tclprop2 = dynamic_cast(*prop_j); - CYG_ASSERT_CLASSC(tclprop2); - cdl_int num2 = tclprop2->get_number(); - - if (num1 == num2) { - std::string tmp = ""; - Cdl::integer_to_string(num1, tmp); - CdlParse::report_error(interp, "", "Duplicate definition of screen `" + tmp + "'."); - break; - } - } - } - - // There is no restriction on what screen numbers can be - // defined (screens may appear and disappear during - // development). It would be nice to validate that the - // Tcl fragments never switch to an invalid screen, but - // there is no easy way to do that. - } - } - + + // Currently there are no command-line options. This may change in future. + if (3 != argc) { + CdlParse::report_error(interp, "", std::string("Incorrect number of arguments to `") + diag_argv0 + + "'\nExpecting name and properties list."); + } else if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[2]))) { + CdlParse::report_error(interp, "", std::string("Invalid property list for cdl_wizard `") + argv[1]+ "'."); + } else if (0 != toplevel->lookup(argv[1])) { + CdlParse::report_error(interp, "", std::string("Wizard `") + argv[1] + + "' cannot be loaded.\nThe name is already in use."); + } else { + new_wizard = new CdlWizardBody(argv[1]); + toplevel->add_node(loadable, parent, new_wizard); + + // At this stage new_wizard has been created and added to the hierarchy. + // The main work now is to add the properties. + + // Push the wizard as the current base object early on. + // This aids diagnostics. + CdlNode old_node = 0; + + std::string tcl_result; + std::vector new_commands; + std::vector* old_commands = 0; + static CdlInterpreterCommandEntry commands[] = + { + CdlInterpreterCommandEntry("init_proc", &parse_init_proc ), + CdlInterpreterCommandEntry("decoration_proc", &parse_decoration_proc ), + CdlInterpreterCommandEntry("screen", &parse_screen ), + CdlInterpreterCommandEntry("confirm_proc", &parse_confirm_proc ), + CdlInterpreterCommandEntry("cancel_proc", &parse_cancel_proc ), + CdlInterpreterCommandEntry("", 0 ), + }; + int i; + for (i = 0; 0 != commands[i].command; i++) { + new_commands.push_back(commands[i]); + } + CdlParentableBody::add_property_parsers(new_commands); + CdlUserVisibleBody::add_property_parsers(new_commands); + CdlNodeBody::add_property_parsers(new_commands); + + // Now evaluate the body. If an error occurs then typically + // this will be reported via CdlParse::report_error(), + // but any exceptions will have been intercepted and + // turned into a Tcl error. + old_node = interp->push_node(new_wizard); + old_commands = interp->push_commands(new_commands); + result = interp->eval(argv[2], tcl_result); + interp->pop_node(old_node); + interp->pop_commands(old_commands); + + if (TCL_OK == result) { + // Even if there were errors, they were not fatal. There may + // now be a number of properties for this option, and some + // validation should take place. Start with the base classes. + new_wizard->CdlNodeBody::check_properties(interp); + new_wizard->CdlUserVisibleBody::check_properties(interp); + new_wizard->CdlParentableBody::check_properties(interp); + + // The init_proc and decoration_proc properties are + // optional. The confirm_proc and cancel_proc properties + // are compulsory, and there should be at least one screen + // definition. + if (new_wizard->count_properties(CdlPropertyId_InitProc) > 1) { + CdlParse::report_error(interp, "", "A wizard should have only one `init_proc' property."); + } + if (new_wizard->count_properties(CdlPropertyId_DecorationProc) > 1) { + CdlParse::report_error(interp, "", "A wizard should have only one `decoration_proc' property."); + } + if (new_wizard->count_properties(CdlPropertyId_ConfirmProc) != 1) { + CdlParse::report_error(interp, "", "A wizard should have one `confirm_proc' property."); + } + if (new_wizard->count_properties(CdlPropertyId_CancelProc) != 1) { + CdlParse::report_error(interp, "", "A wizard should have one `cancel_proc' property."); + } + if (new_wizard->count_properties(CdlPropertyId_Screen) < 1) { + CdlParse::report_error(interp, "", "A wizard should have at least one `screen' property."); + } + + // It is necessary to check that all the screen properties have unique numbers + const std::vector& properties = new_wizard->get_properties(); + std::vector::const_iterator prop_i, prop_j; + for (prop_i = properties.begin(); prop_i != properties.end(); prop_i++) { + if (CdlPropertyId_Screen != (*prop_i)->get_property_name()) { + continue; + } + CdlProperty_TclCode tclprop = dynamic_cast(*prop_i); + CYG_ASSERT_CLASSC(tclprop); + cdl_int num1 = tclprop->get_number(); + + for (prop_j = ++prop_i; prop_j != properties.end(); prop_j++) { + if (CdlPropertyId_Screen != (*prop_j)->get_property_name()) { + continue; + } + CdlProperty_TclCode tclprop2 = dynamic_cast(*prop_j); + CYG_ASSERT_CLASSC(tclprop2); + cdl_int num2 = tclprop2->get_number(); + + if (num1 == num2) { + std::string tmp = ""; + Cdl::integer_to_string(num1, tmp); + CdlParse::report_error(interp, "", "Duplicate definition of screen `" + tmp + "'."); + break; + } + } + } + + // There is no restriction on what screen numbers can be + // defined (screens may appear and disappear during + // development). It would be nice to validate that the + // Tcl fragments never switch to an invalid screen, but + // there is no easy way to do that. + } + } + } catch(...) { - if (0 != new_wizard) { - delete new_wizard; - } - throw; + if (0 != new_wizard) { + delete new_wizard; + } + throw; } - + CYG_REPORT_RETVAL(result); return result; } @@ -269,7 +269,7 @@ CdlWizardBody::parse_cancel_proc(CdlInterpreter interp, int argc, const char* ar CYG_REPORT_FUNCNAMETYPE("parse_cancel_proc", "result %d"); int result = CdlParse::parse_tclcode_property(interp, argc, argv, CdlPropertyId_CancelProc, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -283,7 +283,7 @@ CdlWizardBody::parse_confirm_proc(CdlInterpreter interp, int argc, const char* a CYG_REPORT_FUNCNAMETYPE("parse_confirm_proc", "result %d"); int result = CdlParse::parse_tclcode_property(interp, argc, argv, CdlPropertyId_ConfirmProc, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -297,7 +297,7 @@ CdlWizardBody::parse_decoration_proc(CdlInterpreter interp, int argc, const char CYG_REPORT_FUNCNAMETYPE("parse_decoration_proc", "result %d"); int result = CdlParse::parse_tclcode_property(interp, argc, argv, CdlPropertyId_DecorationProc, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -311,7 +311,7 @@ CdlWizardBody::parse_init_proc(CdlInterpreter interp, int argc, const char* argv CYG_REPORT_FUNCNAMETYPE("parse_init_proc", "result %d"); int result = CdlParse::parse_tclcode_property(interp, argc, argv, CdlPropertyId_InitProc, 0, 0); - + CYG_REPORT_RETVAL(result); return result; } @@ -326,39 +326,39 @@ CdlWizardBody::parse_screen(CdlInterpreter interp, int argc, const char* argv[]) CYG_REPORT_FUNCNAME("CdlParse::parse_screen"); CYG_REPORT_FUNCARG1("argc %d", argc); CYG_PRECONDITION_CLASSC(interp); - + CdlProperty_TclCode new_property = 0; cdl_int number = 0; - + try { - std::vector > options; - int data_index = CdlParse::parse_options(interp, std::string("property ") + argv[0], 0, argc, argv, 1, options); - if ((data_index + 2) != argc) { - CdlParse::report_property_parse_error(interp, argv[0], std::string("Invalid number of arguments.\n") + - " Expecting two arguments, a number and some Tcl code."); - } else if (!Cdl::string_to_integer(argv[data_index], number)) { - CdlParse::report_property_parse_error(interp, argv[0], std::string(argv[data_index]) + " is not a valid number."); - } else if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[data_index + 1]))) { - CdlParse::report_property_parse_error(interp, argv[0], "incomplete Tcl code fragment."); - } else { - - CdlNode current_node = interp->get_node(); - CYG_ASSERTC(0 != current_node); - new_property = CdlProperty_TclCodeBody::make(current_node, CdlPropertyId_Screen, number, argv[data_index + 1], - argc, argv, options); - } + std::vector > options; + int data_index = CdlParse::parse_options(interp, std::string("property ") + argv[0], 0, argc, argv, 1, options); + if ((data_index + 2) != argc) { + CdlParse::report_property_parse_error(interp, argv[0], std::string("Invalid number of arguments.\n") + + " Expecting two arguments, a number and some Tcl code."); + } else if (!Cdl::string_to_integer(argv[data_index], number)) { + CdlParse::report_property_parse_error(interp, argv[0], std::string(argv[data_index]) + " is not a valid number."); + } else if (!Tcl_CommandComplete(CDL_TCL_CONST_CAST(char*, argv[data_index + 1]))) { + CdlParse::report_property_parse_error(interp, argv[0], "incomplete Tcl code fragment."); + } else { + + CdlNode current_node = interp->get_node(); + CYG_ASSERTC(0 != current_node); + new_property = CdlProperty_TclCodeBody::make(current_node, CdlPropertyId_Screen, number, argv[data_index + 1], + argc, argv, options); + } } catch(...) { - if (0 != new_property) { - delete new_property; - } - throw; + if (0 != new_property) { + delete new_property; + } + throw; } - + return TCL_OK; } //}}} -//{{{ Persistence +//{{{ Persistence // ---------------------------------------------------------------------------- // For now there is no information in a wizard that should end up in a @@ -376,12 +376,12 @@ CdlWizardBody::save(CdlInterpreter interp, Tcl_Channel chan, int indentation, bo CYG_UNUSED_PARAM(Tcl_Channel, chan); CYG_UNUSED_PARAM(int, indentation); CYG_UNUSED_PARAM(bool, minimal); - + CYG_REPORT_RETURN(); } //}}} -//{{{ Data access +//{{{ Data access // ---------------------------------------------------------------------------- bool @@ -419,15 +419,15 @@ CdlWizardBody::has_screen(cdl_int screen) const const std::vector& properties = get_properties(); std::vector::const_iterator prop_i; for (prop_i = properties.begin(); prop_i != properties.end(); prop_i++) { - if (CdlPropertyId_Screen != (*prop_i)->get_property_name()) { - continue; - } - CdlProperty_TclCode tclprop = dynamic_cast(*prop_i); - CYG_ASSERT_CLASSC(tclprop); - if (screen == tclprop->get_number()) { - result = true; - break; - } + if (CdlPropertyId_Screen != (*prop_i)->get_property_name()) { + continue; + } + CdlProperty_TclCode tclprop = dynamic_cast(*prop_i); + CYG_ASSERT_CLASSC(tclprop); + if (screen == tclprop->get_number()) { + result = true; + break; + } } CYG_REPORT_RETVAL(result); return result; @@ -444,9 +444,9 @@ CdlWizardBody::get_init_proc() const cdl_tcl_code& result = null_result; CdlProperty prop = get_property(CdlPropertyId_InitProc); if (0 != prop) { - CdlProperty_TclCode tclprop = dynamic_cast(prop); - CYG_ASSERT_CLASSC(tclprop); - result = tclprop->get_code(); + CdlProperty_TclCode tclprop = dynamic_cast(prop); + CYG_ASSERT_CLASSC(tclprop); + result = tclprop->get_code(); } CYG_REPORT_RETURN(); @@ -464,9 +464,9 @@ CdlWizardBody::get_decoration_proc() const cdl_tcl_code& result = null_result; CdlProperty prop = get_property(CdlPropertyId_DecorationProc); if (0 != prop) { - CdlProperty_TclCode tclprop = dynamic_cast(prop); - CYG_ASSERT_CLASSC(tclprop); - result = tclprop->get_code(); + CdlProperty_TclCode tclprop = dynamic_cast(prop); + CYG_ASSERT_CLASSC(tclprop); + result = tclprop->get_code(); } CYG_REPORT_RETURN(); @@ -526,15 +526,15 @@ CdlWizardBody::get_first_screen_number() const const std::vector& properties = get_properties(); std::vector::const_iterator prop_i; for (prop_i = properties.begin(); prop_i != properties.end(); prop_i++) { - if (CdlPropertyId_Screen != (*prop_i)->get_property_name()) { - continue; - } - CdlProperty_TclCode tclprop = dynamic_cast(*prop_i); - cdl_int its_num = tclprop->get_number(); - if (!result_set || (its_num < result)) { - result = its_num; - result_set = true; - } + if (CdlPropertyId_Screen != (*prop_i)->get_property_name()) { + continue; + } + CdlProperty_TclCode tclprop = dynamic_cast(*prop_i); + cdl_int its_num = tclprop->get_number(); + if (!result_set || (its_num < result)) { + result = its_num; + result_set = true; + } } CYG_REPORT_RETVAL((int) result); @@ -560,16 +560,16 @@ CdlWizardBody::get_first_screen() const const std::vector& properties = get_properties(); std::vector::const_iterator prop_i; for (prop_i = properties.begin(); prop_i != properties.end(); prop_i++) { - if (CdlPropertyId_Screen != (*prop_i)->get_property_name()) { - continue; - } - CdlProperty_TclCode tclprop = dynamic_cast(*prop_i); - cdl_int its_num = tclprop->get_number(); - if (!result_set || (its_num < result_num)) { - result = tclprop->get_code(); - result_num = its_num; - result_set = true; - } + if (CdlPropertyId_Screen != (*prop_i)->get_property_name()) { + continue; + } + CdlProperty_TclCode tclprop = dynamic_cast(*prop_i); + cdl_int its_num = tclprop->get_number(); + if (!result_set || (its_num < result_num)) { + result = tclprop->get_code(); + result_num = its_num; + result_set = true; + } } CYG_REPORT_RETURN(); @@ -589,14 +589,14 @@ CdlWizardBody::get_screen(cdl_int screen) const const std::vector& properties = get_properties(); std::vector::const_iterator prop_i; for (prop_i = properties.begin(); prop_i != properties.end(); prop_i++) { - if (CdlPropertyId_Screen != (*prop_i)->get_property_name()) { - continue; - } - CdlProperty_TclCode tclprop = dynamic_cast(*prop_i); - if (tclprop->get_number() == screen) { - result = tclprop->get_code(); - break; - } + if (CdlPropertyId_Screen != (*prop_i)->get_property_name()) { + continue; + } + CdlProperty_TclCode tclprop = dynamic_cast(*prop_i); + if (tclprop->get_number() == screen) { + result = tclprop->get_code(); + break; + } } CYG_REPORT_RETURN(); @@ -604,7 +604,7 @@ CdlWizardBody::get_screen(cdl_int screen) const } //}}} -//{{{ check_this() +//{{{ check_this() // ---------------------------------------------------------------------------- // check_this(). There is very little data associated with a wizard, @@ -613,14 +613,14 @@ bool CdlWizardBody::check_this(cyg_assert_class_zeal zeal) const { if (CdlWizardBody_Magic != cdlwizardbody_cookie) { - return false; + return false; } CYGDBG_MEMLEAK_CHECKTHIS(); return CdlUserVisibleBody::check_this(zeal); } //}}} -//{{{ misc +//{{{ misc // ----------------------------------------------------------------------------