diff --git a/01_git/CHANGES b/01_git/CHANGES deleted file mode 100644 index 5a48a149514082e98a5a0bc42abff2546c206239..0000000000000000000000000000000000000000 --- a/01_git/CHANGES +++ /dev/null @@ -1,168 +0,0 @@ -2.8 12 December 2000 albert@tigr.net - - Applied the patch supplied by Brian Lindholm - <lindhobr@vasale01misge.salem.ge.com>: - - "The program ignores a "drawSecondHand 0" line in the "~/.astime" - file. I used the following correction to fix the problem..." - -2.7 25 July 2000 albert@tigr.net - - Applied the patch supplied by Janne Korkkula <jannek@cc.hut.fi>: - - "One minor detail annoyed us, the 3D-border. Pushed_in or standout, no - good when docked in a Fvwm2 button box. I added a -noborder option and - noborder rc file directive; Here's the unified diff (three source - files affected) in case you'd consider to include something like it - in the standard source tree..." - -2.6 08 May 2000 albert@tigr.net - - Applied the patch supplied by Bill Davidson <bill@kayhay.com>: - - "I changed PI to PInf in state.h, astime.c, and astime_x.c. While I was - at it I deleted the line in astime_x.c that defines the variable "pi", - and in the two places it was referenced I substituted M_PI. I figured - the constant is there, might as well use it." - -2.5 16 December 1999 albert@tigr.net - - Changed the internal loop to react to the absolute - value of the difference in time for the update. - Suggested by Nicola Bernardini <nicb@axnet.it> - -2.4 02 July 1999 albert@tigr.net - - Nothing spectacular, just a maintenance release. - A few places contained "asapm" instead of "astime" - - talking about evils of cut-n-paste *grin*. - -2.3 09 June 1999 albert@tigr.net - - A long-awaited option. I wanted to do it for so long - I cannot remember when I started to think of it anymore. - Anyway, you can label the asclock with some text. You - can specify the font and the color for the text you give. - The option '-ltop' that makes the label appear at the - top rather than the bottom does not work quite as I - expected. If you give me a hand with that - I will be happy :) - -2.2 23 May 1999 albert@tigr.net - - The WindowMaker users complained that they cannot - execute anything by clicking on the clock's icon. - I added a piece that should execute programs when - the user uses the -withdrawn option. - -2.1 21 May 1999 albert@tigr.net - - I had to fix the -geometry option again. Some stupid - code ordering problems resulted in the window being - off by a couple of pixels. Now it all should be fine. - -2.0 02 May 1999 albert@mail.dma.be - - William Kostis <kostis@ee.cornell.edu> joined in on the - development of the astime applet. - He added a lot of new options and created fancy new looks - for the astime window. There are too many to describe - here. Use a big window (200x200 will do :) and experiment - with the options. You'll like it. - William added also the configuration resource file. - Here is how he explains the changes himself: - - * There are several new hand rendering modes (polygonal hands, to look - like a new version of xclock). - * Hand size/geometry can be specified, allowing the creation of some very - futuristic/artistic looking analog clocks. - * There are many new options for configuring the display of hands and - foreground items. - * Most (nearly all...that may wait until the next version) of the colors - can be specified by the user. - * (Here's one I think you might like) The program looks for a - configuration file (.astimerc) that can be used to specify all of the - programs parameters. - * Execution of programs at certain times (specified in the .astimerc) is - now possible using the "at" directive. - * Any line in the .astimerc file can be "commented out" by a leading '#' - character, which is useful for temporary changes. - * I've tried to clean up a bunch of things so that the program still runs - in a reasonable amount of space and with a small amount of cpu time. - - I added the -rc option to all of that so that - you can specify different configuration files - for the different clocks you are running. - - I fixed a silly bug when the window would not draw - correctly if both a size and negative coordinates - were specified with the -geometry. - -1.7 02 Feb 1999 - - Jakob Henriksson <jakobh@mail.bip.net> sent in a patch - to execute some external program (using 'system()' call) - when the clock is clicked on. I decided to tweak it a - little further and make it so that by default astime - does not recognize mouse clicks (ButtonPressMask) - but if you specify a '-exe' switch it asks to get those - events. This means it does not execute anything at all - and does not even see mouse clicks by default :) - -1.6 01 Feb 1999 - - Fixed an AM/PM bug that changed AM to PM at 1300 - instead of 1200. Thanks to Lionel Kirsher <geis@aic.fr> - for pointing that out. - -1.5 05 Jan 1999 - - Added a possibility to shift the clock to a different - timezone by providing a number of hours offset (-shift). - Added an AM/PM indicator and "-noampm" option. - Added a "-title" option to be able to swallow a few clocks - in the wharf at once. - Fixed the man page. - -1.4 02 Jan 1999 - - Phew, finally, I got it all fixed... I mean the - '-geometry' option. Now I know why you have the - window gravity :) - -1.3 31 Dec 1998 - - fixed a bit handling of the negative coordinates in - the -geometry option. It is far from the perfect yet - but for the moment will do. At least with -iconic - it works almost correctly. I still have no idea how - to retrieve the total size of the window (including - frame) so the regular window offset is not right yet. - -1.2 08 Dec 1998 - - changed the window appearance so that the clock - takes all available space horizontally - - uncommented the line that sets the window manager - hints for size and position - you could actually - resize the clock and it did not react to the - position arguments; just forgot that in 1.1 :) - - added back those triangles that mark 3,6,9,12 o'clock - -1.1 06 Dec 1998 - - the '-noday' disappears, it's '-nodate' switching - off both date and day-of-the-week displays - - when the '-nodate' is specified the clock is drawn - full-screen taking advantage of the additional space - - '-geometry' is fully supported so that you can give - almost any size as a parameter to the clock - - autoconf'ed - -1.0 12 Nov 1998 - The original version. - diff --git a/01_git/CMakeLists.txt b/01_git/CMakeLists.txt deleted file mode 100644 index 1de7ff7826a7c9cbcf1e0c9bc494635872dffb6c..0000000000000000000000000000000000000000 --- a/01_git/CMakeLists.txt +++ /dev/null @@ -1,41 +0,0 @@ -cmake_minimum_required(VERSION 2.8) -Project(astime) - -set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) - -include(compilerwarnings) -include(cppcheck) - -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNDEBUG") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_BSD_SOURCE") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXOPEN_SOURCE=600") -#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flto=jobserver") -#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -flto") - -file(GLOB HEADERS "${PROJECT_SOURCE_DIR}/include/*.h") - -add_subdirectory(src) - -include_directories(${PROJECT_SOURCE_DIR}/include) - -find_package(X11) -find_library(MATH_LIB NAMES m) -include_directories(${X11_Xpm_INCLUDE_PATH}) -include_directories(${X11_X11_INCLUDE_DIR}) - -add_executable(astime astime.c ${HEADERS}) -target_link_libraries(astime - safecopy - astime_x - sunriset - xprimitives - ${X11_Xpm_LIB} - ${X11_X11_LIB} - ${MATH_LIB}) - -install(PROGRAMS astime RUNTIME DESTINATION bin) -install(FILES astime.1 - DESTINATION ${CMAKE_INSTALL_FULL_MANDIR}/man1 COMPONENT doc) diff --git a/01_git/INSTALL b/01_git/INSTALL deleted file mode 100644 index 9d198db8baaa042a0c36cbce6a38bd51c950d73c..0000000000000000000000000000000000000000 --- a/01_git/INSTALL +++ /dev/null @@ -1,50 +0,0 @@ -DEPENDENCIES -============ -For astime you need xpm library. From the xpmlib manual: -New XPM updates are announced on the comp.windows.x newsgroup, and on the -"xpm-talk" list. All new "official" XPM releases can be found by ftp on: - - ftp.x.org (18.112.44.100) contrib (Boston, USA) - koala.inria.fr (138.96.24.30) pub/xpm (Sophia Antipolis, France) - -INSTALLATION WITH autoconf -========================== -To install the astime on your system: - - ./configure - - make - - make install - -Now you can copy one of the files - sample.astimerc - default.astimerc - modern.astimerc - thick.astimerc -to ~/.astimerc and customize it to your liking. -"sample.astimerc" provides a look somewhat like xclock and the -"default.astimerc" provides the pre-2.0 default look. - -INSTALLATION WITHOUT autoconf -============================= -To install the astime on your system: - - Copy the Makefile.UNIX to Makefile - - check if the paths are correct for - your system in the Makefile - - make - - make install - -Now you can copy one of the files - sample.astimerc - default.astimerc - modern.astimerc - thick.astimerc -to ~/.astimerc and customize it to your liking. -"sample.astimerc" provides a look somewhat like xclock and the -"default.astimerc" provides the pre-2.0 default look. - diff --git a/01_git/LICENSE b/01_git/LICENSE deleted file mode 100644 index ac9173124b9aae8c78df8122d2ba1b72dd2ccd38..0000000000000000000000000000000000000000 --- a/01_git/LICENSE +++ /dev/null @@ -1,16 +0,0 @@ -astime is an analogue clock utility for X Windows. -Copyright (c) 1998-2000 Albert "Tigr" Dorofeev <albert@tigr.net> - - 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; version 2 dated June, 1991. - - 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., 675 Mass Ave., Cambridge, MA 02139, USA. - diff --git a/01_git/README b/01_git/README deleted file mode 100644 index 71f61e556a2716cb4e540631d10a8cccc6179324..0000000000000000000000000000000000000000 --- a/01_git/README +++ /dev/null @@ -1,81 +0,0 @@ -astime is an analogue clock utility for X Windows. -Copyright (c) 1998-2000 Albert "Tigr" Dorofeev <albert@tigr.net> -Copyright (c) 1999 William Kostis <kostis@ee.cornell.edu> -For the updates check http://www.tigr.net/afterstep/ - -Description: -============ - -This is an AfterStep look & feel analog clock for X Windows. - -Why do we need a yet another clock? Hmmm... It's simple. -I could not find a clock that I could customize to my Wharf -in a decent way. I got frustrated and so I wrote one. - -I wear an analogue watch and I am not at all used to reading -the digital watches and clocks. It takes only a glance on -the analogue watch to know what the time is and it takes a while -to read the digital watch. There is a beautiful "asclock" -for those who like digital watches. I needed an analogue clock. - -The tool shows a usual analogue clock dial almost in the center. -Actually, I tried first to make one that would be right in the center -but couldn't. It's pretty hard when you have 54x54 background. -So, I gave up and decided that I will have it "intentionally" -moved away from the center. The top left corner contains the -day-of-week indicator. The bottom line is used to display -the current date. - -The date and day-of-the-week displays may be switched off with -a command-line option. Then the clock occupies the whole view. -The X11 '-geometry' option allows you to set the size to any -other size rather than "standard" AfterStep 54x54. - -The program may be used directly or in the Afterstep "wharf". It also -supports the WindowMaker docker (-withdrawn option). It may be used -in all other window managers as well. It runs well as an icon. - -Khe... allow me to introduce a few major changes here. William -Kostis <kostis@ee.cornell.edu> is a co-developer (version 2.0) and he -immediately came up with a completely new look. astime could -already run in a bigger window than 54x54 before and he uses -it outside of Wharf (not that he has one running good ol' fvwm2). -So he decided to add fancy rendering for the clock hands and -a few options to be able to customize it properly. The new options -look much better for bigger size window due to the small details that -become indistinguishable in the little 54x54 standard window. - -I am not sure anymore how I should describe the clock then. Its -look ranges now from that original "AfterStep-ish" look all the -way through the color spectrum to the good ol' xclock. Well, -whatever. Check it out for yourself. Make the window bigger -(use -geometry) and experiment. - -You may want to have a look in the CHANGES file for the history of updates. - -Credits: -======== - -Great many thanks to authors of all those clocks that I played with. - -There may be some other people's code carried over from asapm. See -asapm's README for detailed credits. - -Thanks to Jakob Henriksson <jakobh@mail.bip.net> for the '-exe' -switch code. -Thanks to Bill Davidson <bill@kayhay.com> for the "PI" patch. -Thanks to Janne Korkkula <jannek@cc.hut.fi> for the "noborder" patch. -Thanks to Brian Lindholm <lindhobr@vasale01misge.salem.ge.com> for a patch. - -Distribution: -============= - -The application and the source code are under GPL. See LICENSE -file for details. - -Naturally, I would like to hear of all changes and improvements -made to this utility. - -Enjoy and may the source be with you, -Albert "Tigr" - diff --git a/01_git/astime.1 b/01_git/astime.1 deleted file mode 100644 index 7d4bfcf769c31b2038ce726fe394aebc6299d553..0000000000000000000000000000000000000000 --- a/01_git/astime.1 +++ /dev/null @@ -1,597 +0,0 @@ -.TH astime 1 "26 April 2006" "cvs Version" -.UC -.SH NAME -\fBastime\fP \- the AfterStep analogue clock -.SH SYNOPSIS -.B astime -[-h] [-H] [-V] - [-iconic] [-withdrawn] [-standout] [-noborder] - [-geometry \fI[WxH][+|-]x[+|-]y\fP] - [-rc \fIfile name\fP] - [-u \fIupdate rate\fP] - [-exe \fIprogram name\fP] - [-shift \fIhours\fP] - [-ns] [-nd] [-nap] - [-display \fIdisplay\fP] - [-title \fIname\fP] - [-bg \fIcolor\fP] - [-fg \fIcolor\fP] - [-sec \fIcolor\fP] - [-min \fIcolor\fP] - [-hour \fIcolor\fP] - [-day \fIcolor\fP] - [-date \fIcolor\fP] - [-ampm \fIcolor\fP] - [-nt] [-at] [-fs] - [-ts] [-fh] [-nh] - [-ht \fInumber\fP] - [-ot \fInumber\fP] - [-nf] - [-label \fItext\fP] - [-fn \fIfont name\fP] - [-lcol \fIlabel color\fP] - [-ltop] - [-24 [-srt [-srtd \fIcolor\fP] [-srtn \fIcolor\fP] - [-lat \fIlatitude\fP] [-lon \fIlongitude\fP]]] - [-cc] -.SH DESCRIPTION -The \fBastime\fP is a X11 application that acts as -an analogue clock that we all are familiar with. -It shows the current time on the dial. The day of -the week is in the upper left corner and the current -date is at the bottom. The AM/PM indicator is in -the top right corner. - -.SH CONFIGURATION OPTIONS -.IP "-h or -H" -.RS -Prints a short description and usage message. -.RE -.IP "-V" -.RS -Version control. Prints out the version of the program. -.RE -.IP "-rc <file name>" -.RS -Read the configuration from the given resource file. -The default resource file read if none are given on -the command line is ~/.astimerc. The settings on the -command line overwrite any settings read from the -resource file. A single '#' character can be used to -"comment out" any line in the .astimerc file, which is -useful for making temporary changes. -.RE -.IP "-geometry [WxH][+|-]x[+|-]y" -.RS -Displays the window at the specified location -on the screen and resizes the window to the specified -size WxH. This works as standard X Windows -geometry option. (See XParseGeometry (3x)). -.RE -.IP "-iconic" -.RS -Starts the \fBastime\fP application in the iconized mode. -The icon has the same appearance with the main -window. -When this option is given, the -position refers to -the position of the icon window as well as the main window. -.RE -.IP "-withdrawn" -.RS -Starts the \fBastime\fP application in the withdrawn mode. -This option is necessary to be able to dock the -\fBastime\fP in the WindowMaker dock. -When this option is given, the -position refers to -the position of the icon window as well as the main window. -\fBastime\fP ignores the -iconic option when started -in withdrawn mode. -.RE -.IP "-standout" -.RS -This changes the appearance of the \fBastime\fP display from -"pushed-in" to "popped-out". The first is the default look. -The "popped-out" applets look much better in WindowMaker's dock -according to some opinions. Give it a try in any case. -.RE -.IP "-noborder" -.RS -The clock looses its border effectively becoming a 2D -clock instead of having a raised or lowered faceplate. -This option is reportedly recommended for FVWM use. -When this option is used "-standout" is ignored. -.RE -.IP "-u <update rate>" -.RS -Changes the polling rate for updating the clock. -The update rate is specified in seconds. The value -of 1 is the minimum. Default value is 1 second. -Updating at a different value is hardly a good -idea when you have the seconds hand on. Switch -it off with the "-nosec" option. -.RE -.IP "-exe <program name>" -.RS -Specifies which program should be executed when you click on -the clock's face. If this switch is not specified, \fBastime\fP -does not intercept the mouse clicks at all. So, by default, -nothing is run. This option uses system(3) call to execute -the specified program. The maximum length of the command is -restricted to 255 characters (for no particular reason). - -The icon does not usually respond to mouse clicks (you would -want to be able to de-iconify the window, right?) unless you -are running in the "withdrawn" mode (-withdrawn option). -Then the icon responds the same way the clock face does. -.RE -.IP "-shift <hours>" -.RS -Shifts the clock by the specified number of hours. This is -a simple way of putting a clock in a different timezone. -Useful when you want several clocks showing the current -time in different places. The value can be both positive -and negative. The values above 23 and below -23 are silently -ignored. - -Note that the date and day of the week are not adjusted. -.RE -.IP "-ns" -.RS -Do not draw the seconds hand of the clock. Only the -minutes and hours hands are drawn. -.RE -.IP "-nd" -.RS -Do not show the current date. -.RE -.IP "-nap" -.RS -Do not show the AM/PM indicator. -.RE -.IP "-display <name>" -.RS -The name of the display to start the window in. -It works just as X Windows display option. -.RE -.IP "-title <name>" -.RS -Set the window title and the icon title to the specified -name. -.RE -.IP "-bg <color>" -.RS -Changes the color of the background of the dial. -Default colour is #385971. -.RE -.IP "-fg <color>" -.RS -Changes the color of the foreground of the dial. -Default colour is #ffffff. -.RE -.IP "-sec <color>" -.RS -Changes the color of the second hand of the clock. -Default colour is #efc669. -.RE -.IP "-min <color>" -.RS -Changes the color of the minute hand of the clock. -Default colour is #ff3030. -.RE -.IP "-hour <color>" -.RS -Changes the color of the hour hand of the clock. -Default colour is #ef3838. -.RE -.IP "-day <color>" -.RS -Changes the color of the day-of-the-week display. -Default colour is #a0a0a0. -.RE -.IP "-date <color>" -.RS -Changes the color of the date display. -Default colour is #a0a0a0. -.RE -.IP "-ampm <color>" -.RS -Changes the color of the AM/PM display. -Default colour is #a0a0a0. -.RE -.IP "-nt" -.RS -Don't draw the second ticks on the clock face. -.RE -.IP "-at" -.RS -Draw all ticks, not only every 5 seconds. -.RE -.IP "-fs" -.RS -"Floating" second indicator in the style of xclock. -.RE -.IP "-ts" -.RS -Use a thin second hand - default in the regular mode. -Use it to change the appearance of the second hand -while in the -fh mode. It looks very good with the -normal hands of large thickness too. -.RE -.IP "-fh" -.RS -Fancy hands mode. Renders fancy xclock-style hands. -.RE -.IP "-nh" -.RS -"Neon" hands. Try this with the fancy hands mode. -.RE -.IP "-ht <number>" -.RS -Hand thickness. Can be a number from 0 to 200. -.RE -.IP "-ot <number>" -.RS -Hand outline thickness. Can be a number from 0 to 200. -.RE -.IP "-nf" -.RS -No foreground. Equal to "-nd -nap -nt". -.RE -.IP "-label <text>" -.RS -Asks the \fBastime\fP to label the clock's face with the specified -text. Useful when you want to distinguish between different -instances of \fBastime\fP running on your desktop. -.RE -.IP "-fn <font name>" -.RS -Use the specified font for the label. The default font is -"-*-helvetica-medium-r-*-*-9-240-*-*-*-*-*-*". Don't ask me why, -I do not know, I just found it fits my desktop well. If you have -a better idea - send me a mail. The font is loaded only if you -specify a label and has otherwise no effect. -.RE -.IP "-lcol <label color>" -.RS -Draw the label using the specified color. The default color -is #a0a0a0. Has no effect if you did not specify a label. -.RE -.IP "-ltop" -.RS -Draw the label on the top of the clock's face instead of -drawing it at the bottom by default. Does not do anything -if a label was not specified. -.RE -.IP "-24" -.RS -Run in 24 hour mode. -.RE -.IP "-srt" -.RS -Show sunrise and sunset. This enables twentyfour hour mode. -.RE -.IP "-srtd <color>" -.RS -Draw the day using the specified color. The default color -is #ffa800. This enables -srt mode. -.RE -.IP "-srtn <color>" -.RS -Draw the night using the specified color. The default color -is #000000. This enables -srt mode. -.RE -.IP "-lat <latitude>" -.RS -This specifies the latitude as a floating point number. Enables -srt mode. -.RE -.IP "-lon <latitude>" -.RS -This specifies the longitude as a floating point number. Enables -srt mode. -.RE -.IP "-cc" -.RS -Run in counter clockwise mode. -.RE -.SH RESOURCE FILE SYNTAX -\fBastime\fP can read and parse a configuration file. -This configuration file describes the desired look of the -applet (there are equialents to all command-line options) -and specifies actions to be taken on particular events. -The configuration file is usually ~/.astimerc but \fBastime\fP -can be forced to read any file using the -rc option. -Any options read from the configuration file may be overridden -with the command-line options (if a corresponding command-line -option exists, naturally). - -The configuration file may contain only one option per line. -Empty lines and lines starting with # are ignored. - -.IP "geometry <geometry specification>" -.RS -Your standard X Windows geometry specification. -.RE -.IP "background <color>" -.RS -Specifies the background color. -.RE -.IP "foreground <color>" -.RS -Specifies the foreground color. -.RE -.IP "secondColor <color>" -.RS -Specifies the color for the second hand of the clock. -.RE -.IP "minuteColor <color>" -.RS -Specifies the color for the minute hand of the clock. -.RE -.IP "hourColor <color>" -.RS -Specifies the color for the hour hand of the clock. -.RE -.IP "secondOutColor <color>" -.RS -Specifies the color for the second hand outline in fancy -and outline modes. -.RE -.IP "minuteOutColor <color>" -.RS -Specifies the color for the minute hand outline in fancy -and outline modes. -.RE -.IP "hourOutColor <color>" -.RS -Specifies the color for the hour hand outline in fancy -and outline modes. -.RE -.IP "secondFillColor <color>" -.RS -Specifies the fill color for the second hand in fancy mode. -.RE -.IP "minuteFillColor <color>" -.RS -Specifies the fill color for the minute hand in fancy mode. -.RE -.IP "hourFillColor <color>" -.RS -Specifies the fill color for the hour hand in fancy mode. -.RE -.IP "dayColor <color>" -.RS -Specifies the color for the day of the week indicator. -.RE -.IP "AMPMColor <color>" -.RS -Specifies the color for the AM/PM indicator. -.RE -.IP "dateColor <color>" -.RS -Specifies the color for the current date indicator. -.RE -.IP "drawSecondHand <0 | 1>" -.RS -A boolean variable (0 | 1) specifying if the second hand should -be drawn. -.RE -.IP "drawDayDate <0 | 1>" -.RS -A boolean variable specifying if the day/date indicator -should be drawn. -.RE -.IP "drawAMPM <0 | 1>" -.RS -A boolean variable specifying if the AM/PM indicator -should be drawn. -.RE -.IP "drawTicks <0 | 1>" -.RS -A boolean variable specifying if the second ticks should be -drawn at all. -.RE -.IP "drawAllTicks <0 | 1>" -.RS -A boolean variable specifying if all ticks should be -drawn and not only every 5 sec. -.RE -.IP "drawForeground <0 | 1>" -.RS -A boolean variable specifying if the foreground elements -should be drawn. When zero is specified only the clock hands appear. -.RE -.IP "floatSeconds <0 | 1>" -.RS -A boolean variable specifying if the second indicator -should be a floating pointer (a bit like in xclock) rather -than a hand. -.RE -.IP "thinSeconds <0 | 1>" -.RS -A boolean variable specifying if the second hand -should be thin. -.RE -.IP "handThickness <thickness>" -.RS -Specifies the thickness of the hands. Can be a value -between 0 and 200. -.RE -.IP "outThickness <thickness>" -.RS -Specifies the thickness of the outline of the hands. -Can be a value between 0 and 200. -.RE -.IP "fancyHands <0 | 1>" -.RS -A boolean variable (0 | 1). Render polygonal, xclock-like hands. -.RE -.IP "outlinedHands <0 | 1>" -.RS -A boolean variable (0 | 1). Render polygonal, xclock-like hands without fill. -.RE -.IP "neonHands <0 | 1>" -.RS -A boolean variable (0 | 1). Darken the hand fill colors -with respect to their outlines, useful with fancy hands. -.RE -.IP "execProg <command line>" -.RS -Specifies a command to be executed when the clock face is clicked. -The command line must be enclosed in double quotes. -.RE -.IP "withdrawn <0 | 1>" -.RS -A boolean variable (0 | 1). This option is necessary when -running with WindowMaker. Produces a withdrawn window that -can be docked. -.RE -.IP "iconic <0 | 1>" -.RS -A boolean variable (0 | 1). Specifies if the applet should -start as an icon rather than a full window. -.RE -.IP "standout <0 | 1>" -.RS -A boolean variable (0 | 1). Changes the appearance of the -display from "pushed-in" to the "standing out". -.RE -.IP "noborder <0 | 1>" -.RS -A boolean variable (0 | 1). Changes the appearance of the -display from 3D to plain 2D by removing the shaded border -around the faceplate. -.RE -.IP "shift <+-hours>" -.RS -Specifies that the clock should show the local time shifted -by the given number of hours. Useful to see the time in -different timezones. -.RE -.IP "title <name>" -.RS -Specifies which title should be given to this clock. -.RE -.IP "at hh:mm:ss <command line>" -.RS -Specifies program to be run at a particular time. -The command line must be enclosed in double quotes. -.RE -.IP "Label <text>" -.RS -Asks the \fBastime\fP to label the clock's face with the specified -text. Useful when you want to distinguish between different -instances of \fBastime\fP running on your desktop. -Equivalent to the command-line '-label' option. -.RE -.IP "Font <font name>" -.RS -Use the specified font for the label. The default font is -"-*-helvetica-medium-r-*-*-9-240-*-*-*-*-*-*". Don't ask me why, -I do not know, I just found it fits my desktop well. If you have -a better idea - send me a mail. The font is loaded only if you -specify a label and has otherwise no effect. -Equivalent to the command-line '-fn' option. -.RE -.IP "LabelColor <color>" -.RS -Draw the label using the specified color. The default color -is #a0a0a0. Has no effect if you did not specify a label. -Equivalent to the command-line '-lcolor' option. -.RE -.IP "LabelTop <0 | 1>" -.RS -If the value is 1 draws the label on the top of the clock's face; -if the value is 0 - at the bottom (default). Does not do anything -if a label was not specified. -.RE -.IP "twentyfourHour <0 | 1>" -.RS -If the value is 1 run in 24 hour mode, else in 12 hour mode. -.RE -.IP "sunriset <0 | 1>" -.RS -If the value is 1 and astime switches to 24 hour mode and draws sunrise and -sunset times. -.RE -.IP "sunrisetDay <color>" -.RS -Switch to sunriset mode and draw the day using the given color. -.RE -.IP "sunrisetNight <color>" -.RS -Switch to sunriset mode and draw the night using the given color. -.RE -.IP "latitude <latitude>" -.RS -Switch to sunriset mode and use the given floating point number as latitude. -.RE -.IP "longitude <longitude>" -.RS -Switch to sunriset mode and use the given floating point number as latitude. -.RE -.IP "counterclockwise <0 | 1>" -.RS -If the value is 1 run in counter clockwise mode -.RE -.SH INVOCATION -\fBastime\fP can be called in different ways. The most -common invocation is the command line: -.nf - - user@host[1]% astime -bg blue -fg white & - -.fi -Another way to call \fBastime\fP is from the window manager: -.nf - - *Wharf "astime" nil Swallow "astime" astime -nosec & - -.fi -This line, when placed in the \fIwharf\fP file in the user's Afterstep -configuration directory will cause \fBastime\fP to be a -button on the \fBWharf (1)\fP button bar under the \fBafterstep (1)\fP -window manager. - -If you run WindowMaker then you should use the "-withdrawn" -option: -.nf - - user@host[1]% astime -withdrawn -standout & - -.fi -and then drag the icon to the dock. - -If you run fvwm2 I think you will like to try this one: -.nf - - astime -geometry 120x120+890+0 -bg black - -fg \\#0000ff -sec \\#efc669 -min \\#20b2aa - -hour \\#8141d7 -day \\#7766aa -ampm \\#7766aa - -date \\#7766aa -at -fs -fh -nh - -.fi -Of course, it looks less scary if you put all those settings in the -~/.astimerc file. The example .astimerc file (sample.astimerc) included -in the distribution provides the aforementioned settings. -.SH BUGS -My programs do not have bugs, they just develop random -features ;-) -.PP -Well, there are limitations. All the strings for the -color names, display name, and the geometry have the -length limit of 64 characters (terminating zero included). -The string copying routine cuts the names that are longer. -.SH "SEE ALSO" -.BR date (1), X (1x) -.SH COPYRIGHTS -Copyright (c) 1998-2000 Albert Dorofeev <albert@tigr.net> - -Copyright (c) 1999 William Kostis <kostis@ee.cornell.edu> - -Distributed under GNU General Public License v2 ; -see LICENSE file for more informations. -.SH AUTHORS -Albert "Tigr" Dorofeev <albert@tigr.net> - -William Kostis <kostis@ee.cornell.edu> - -See the README file for details and credits. -.sp diff --git a/01_git/astime.c b/01_git/astime.c deleted file mode 100644 index e02977e61c92f5027c4e49b2f530d84dd03be67c..0000000000000000000000000000000000000000 --- a/01_git/astime.c +++ /dev/null @@ -1,716 +0,0 @@ -/* - * astime is an analogue clock utility for X Windows. - * - * Copyright (c) 1998-2000 Albert Dorofeev <albert@tigr.net> - * Copyright (c) 1999 William Kostis <kostis@ee.cornell.edu> - * - * For the updates see http://www.tigr.net/afterstep/as-apps/ - * - * This software is distributed under GPL. For details see LICENSE file. - */ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include <unistd.h> - -#include "safecopy.h" - -#include "astime_x.h" -#include "state.h" - -extern struct astime_state state; - -/* - * default check and update intervals in microseconds - * x11 events - every 1/100 th of a second (in mks) - * update dial - every second (in sec) - */ - -#define X11_INTERVAL 10000L -#define CHK_INTERVAL 1 - -/* - #define DEBUG - #define P_MAPPING - #define P_CRON - */ - -int withdrawn = 0; -int iconic = 0; -int pushed_in = 1; -int no_border = 0; - -char display_name[MAX_OPT_LEN]; -char mainGeometry[MAX_OPT_LEN]; -char window_name[MAX_OPT_LEN]; - -int thickspec = 0; -int fancyhands = 0; -int outlinedhands = 0; - -FILE *rcf; -char rcfname[255]; -char *hname; - -void parsercfile(FILE * ifp); -void handprops(void); -void defaults(void); -void usage(void); -void version(void); -void parsecmdline(int argc, char *argv[]); - -void defaults(void) { - int i, j; - - state.update_interval = CHK_INTERVAL; - state.draw_seconds = 1; - state.tprop = 1; - state.float_seconds = 0; - state.thin_seconds = 0; - state.draw_date = 1; - state.draw_ampm = 1; - state.shift = 0; - state.twentyfour = 0; - state.sunriset = 0; - state.counterclockwise = 0; - state.lon = 49.6972222; - state.lat = 11.05; - withdrawn = 0; - iconic = 0; - pushed_in = 1; - no_border = 0; - - state.total_size.x = state.total_size.y = 54; - safecopy(window_name, "astime", MAX_OPT_LEN); - safecopy(display_name, "", MAX_OPT_LEN); - safecopy(mainGeometry, "", MAX_OPT_LEN); - safecopy(state.bgcolor, "#385971", MAX_OPT_LEN); - safecopy(state.fgcolor, "#ffffff", MAX_OPT_LEN); - - safecopy(state.seccolor, "#efc669", MAX_OPT_LEN); - safecopy(state.mincolor, "#ff3030", MAX_OPT_LEN); - safecopy(state.hourcolor, "#ef3838", MAX_OPT_LEN); - - safecopy(state.secocolor, "<>", MAX_OPT_LEN); - safecopy(state.minocolor, "<>", MAX_OPT_LEN); - safecopy(state.hourocolor, "<>", MAX_OPT_LEN); - - safecopy(state.secfillcolor, "<>", MAX_OPT_LEN); - safecopy(state.minfillcolor, "<>", MAX_OPT_LEN); - safecopy(state.hourfillcolor, "<>", MAX_OPT_LEN); - - safecopy(state.daycolor, "#a0a0a0", MAX_OPT_LEN); - safecopy(state.ampmcolor, "#a0a0a0", MAX_OPT_LEN); - safecopy(state.datecolor, "#a0a0a0", MAX_OPT_LEN); - - safecopy(state.sunrisetday, "#ffa800", MAX_OPT_LEN); - safecopy(state.sunrisetnight, "#000000", MAX_OPT_LEN); - - /* label options */ - state.show_label = 0; - state.label_top = 0; - safecopy(state.label, "astime", 256); - safecopy(state.font_name, - "-*-helvetica-medium-r-*-*-9-240-*-*-*-*-*-*", 256); - safecopy(state.label_color, "#a0a0a0", MAX_OPT_LEN); - - /* clear hand rendering options */ - for (i = 0; i < 3; i++) { - for (j = 0; j < 3; j++) - state.hprop[i][j] = 0; - } - state.hthick = 1; - state.othick = 1; - state.neon = 0; - state.run_program = 0; - state.cron_program = 0; - safecopy(state.program_name, "echo astime: No program specified.", 255); - - state.nprogs = 0; - /* state.PInf = (PInfo *) malloc(sizeof(*(state.PInf))); */ - state.PInf = (PInfo *) NULL; -} - -/* print the usage for the tool */ -void usage(void) -{ - printf("Usage : astime [options ...]\n\n"); - printf("-V print version and exit\n"); - printf("-h -H -help print this message\n"); - printf("-rc <filename> resource file name\n"); - printf("-u <secs> the update interval in seconds\n"); - printf("-exe <prog> the program to start when clicked on\n"); - printf("-display <name> the name of the display to use\n"); - printf("-geometry <xywh> position/size on the screen (X geometry)\n"); - printf("-withdrawn start in withdrawn shape (for WindowMaker)\n"); - printf("-iconic start iconized\n"); - printf("-standout standing out rather than being pushed in\n"); - printf("-noborder no shaded border at all, thank you very much\n"); - printf("-shift <hrs> show the time with the given shift in hours\n"); - printf("-title <name> set the window/icon title to this name\n"); - printf("-bg <color> background color\n"); - printf("-fg <color> dial foreground color\n"); - printf("-sec <color> second pointer color\n"); - printf("-min <color> minute pointer color\n"); - printf("-hour <color> hour pointer color\n"); - printf("-day <color> day of the week display color\n"); - printf("-ampm <color> AM/PM display color\n"); - printf("-date <color> date display color\n"); - printf("-ns no second hand\n"); - printf("-nd no date/day of the week\n"); - printf("-nap no AM/PM indicator\n"); - printf("-nt draw no ticks\n"); - printf("-at draw all ticks\n"); - printf("-fs use a floating second indicator\n"); - printf("-ts use a thin second hand/indicator\n"); - printf("-fh render fancy hands\n"); - printf("-nh neon hands (nice with -fh)\n"); - printf("-ht <0-200> hand thickness\n"); - printf("-ot <0-200> hand outline thickness (with -fh)\n"); - printf("-nf no foreground (-nd -nap -nt)\n"); - printf("-label <text> show the label <text> on the clock\n"); - printf("-fn <name> use the font name for the label\n"); - printf("-lcol <color> color to use for the label\n"); - printf("-ltop the label should go on top\n"); - printf("-24 use 24 hour mode\n"); - printf("-srt show sunrise and sunset times\n"); - printf("-lon geographical longitude\n"); - printf("-lat geographical latitude\n"); - printf("-srtd <color> srt day color\n"); - printf("-srtn <color> srt night color\n"); - printf("-cc use counter clockwise mode\n"); - printf("\n"); - exit(0); -} - -/* print the version of the tool */ -void version(void) -{ - printf("astime : AfterStep analog clock version 2.8\n"); -} - -/* parse the rc file */ -void parsercfile(FILE * ifp) -{ - int i, j, ind; - int tval; - char line[200]; - char param[2][100]; - char *wptr; - char *eptr; - char sstr[8] = " \t\n"; - - while (fgets(line, 200, ifp) != NULL) { - - if ((line[0] != '#') && (line[0] != '\n')) { -#ifdef DEBUG - fprintf(stderr, "parsercfile: <%s>\n", line); -#endif - wptr = strtok(line, sstr); - - for (i = 0; i < 2; i++) { - if (wptr) { - if (!strcmp(wptr, "\n")) - fprintf(stderr, "Warning: newline\n"); -#ifdef DEBUG - fprintf(stderr, "param[%d] will get Token (%s)\n", i, wptr); -#endif - strcpy(param[i], wptr); - } else { - fprintf(stderr, "parsercfile: missing param[%d]\n", i); - } - - if ((i == 0) && !strcmp(param[0], "execProg")) - wptr += 9; - else if ((i == 0) && !strcmp(param[0], "at")) - break; - else - wptr = strtok(NULL, sstr); - } - -#ifdef P_MAPPING - if (strcmp(param[0], "at")) { - if (strlen(param[0]) > 8) - fprintf(stderr, "map (%s) \t<- (%s)\n", param[0], param[1]); - else - fprintf(stderr, "map (%s) \t\t<- (%s)\n", param[0], param[1]); - } -#endif - - if (!strcmp(param[0], "geometry")) { - safecopy(mainGeometry, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "background")) { - safecopy(state.bgcolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "foreground")) { - safecopy(state.fgcolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "secondColor")) { - safecopy(state.seccolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "minuteColor")) { - safecopy(state.mincolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "hourColor")) { - safecopy(state.hourcolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "secondOutColor")) { - safecopy(state.secocolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "minuteOutColor")) { - safecopy(state.minocolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "hourOutColor")) { - safecopy(state.hourocolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "secondFillColor")) { - safecopy(state.secfillcolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "minuteFillColor")) { - safecopy(state.minfillcolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "hourFillColor")) { - safecopy(state.hourfillcolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "dayColor")) { - safecopy(state.daycolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "AMPMColor")) { - safecopy(state.ampmcolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "dateColor")) { - safecopy(state.datecolor, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "Label")) { - state.show_label = 1; - safecopy(state.label, param[1], 256); - } else if (!strcmp(param[0], "Font")) { - safecopy(state.font_name, param[1], 256); - } else if (!strcmp(param[0], "LabelColor")) { - safecopy(state.label_color, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "LabelTop")) { - tval = atoi(param[1]); - if (tval == 0) - state.label_top = 0; - else - state.label_top = 1; - } else if (!strcmp(param[0], "drawSecondHand")) { - tval = atoi(param[1]); - if (tval == 0) - state.draw_seconds = 0; - else - state.draw_seconds = 1; - } else if (!strcmp(param[0], "drawDayDate")) { - tval = atoi(param[1]); - if (tval == 0) - state.draw_date = 0; - } else if (!strcmp(param[0], "drawAMPM")) { - tval = atoi(param[1]); - if (tval == 0) - state.draw_ampm = 0; - } else if (!strcmp(param[0], "drawTicks")) { - tval = atoi(param[1]); - if (tval == 0) - state.tprop = 0; - } else if (!strcmp(param[0], "drawAllTicks")) { - tval = atoi(param[1]); - if ((state.tprop) && (tval == 1)) - state.tprop = 2; - } else if (!strcmp(param[0], "drawForeground")) { - tval = atoi(param[1]); - if (tval == 0) { - state.draw_date = 0; - state.draw_ampm = 0; - state.tprop = 0; - } - } else if (!strcmp(param[0], "floatSeconds")) { - tval = atoi(param[1]); - if (tval) - state.float_seconds = (unsigned short) atoi(param[1]); - } else if (!strcmp(param[0], "thinSeconds")) { - tval = atoi(param[1]); - if (tval) - state.thin_seconds = (unsigned short) atoi(param[1]); - } else if (!strcmp(param[0], "latitude")) { - state.lat = atof(param[1]); - state.twentyfour = 1; - state.sunriset = 1; - } else if (!strcmp(param[0], "longitude")) { - state.lon = atof(param[1]); - state.twentyfour = 1; - state.sunriset = 1; - } else if (!strcmp(param[0], "handThickness")) { - state.hthick = (unsigned short) atoi(param[1]); - thickspec = 1; - } else if (!strcmp(param[0], "outThickness")) { - state.othick = (unsigned short) atoi(param[1]); - } else if (!strcmp(param[0], "fancyHands")) { - tval = atoi(param[1]); - if (tval) { - fancyhands = 1; - if (!thickspec) - state.hthick = 5; - } - } else if (!strcmp(param[0], "outlinedHands")) { - tval = atoi(param[1]); - if (tval) - outlinedhands = 1; - } else if (!strcmp(param[0], "neonHands")) { - tval = atoi(param[1]); - if (tval) - state.neon = 1; - } else if (!strcmp(param[0], "execProg")) { - eptr = strchr(param[1], '"'); - if (eptr != NULL) { - eptr += 1; - safecopy(state.program_name, eptr, strlen(eptr) - 1); - state.run_program = 1; -#ifdef P_MAPPING - fprintf(stderr, "exec : <%s>\n", state.program_name); -#endif - } else - fprintf(stderr, "astime: executables must be double-quoted in astimerc file, ignoring...\n"); - } else if (!strcmp(param[0], "at")) { - ind = state.nprogs; - state.nprogs += 1; - state.PInf = (PInfo *) realloc(state.PInf, ((size_t) state.nprogs) * sizeof(*(state.PInf))); - if (state.PInf == NULL) { - fprintf(stderr, "astime: memory reallocation error, exiting\n"); - exit(1); - } - state.PInf[ind] = (PInfo) malloc(sizeof(**(state.PInf))); - if (state.PInf[ind] == NULL) { - fprintf(stderr, "astime: memory reallocation error, exiting\n"); - exit(1); - } - for (j = 0; j < 3; j++) { - wptr = strtok(NULL, " :"); - tval = atoi(wptr); -#ifdef DEBUG - fprintf(stderr, "map (state.PInf[%d]->time[%d]) <- %d <%s>\n", ind, j, tval, wptr); -#endif - state.PInf[ind]->time[j] = tval; - } - - wptr += 3; - eptr = strchr(wptr, '"'); - - if (eptr != NULL) { - eptr += 1; - safecopy(state.PInf[ind]->name, eptr, strlen(eptr) - 1); - state.PInf[ind]->done = 0; - state.cron_program = 1; -#ifdef P_CRON - fprintf(stderr, "cron[%d] : %02d:%02d:%02d : <%s>\n", - ind, state.PInf[ind]->time[0], state.PInf[ind]->time[1], - state.PInf[ind]->time[2], state.PInf[ind]->name); -#endif - } else - fprintf(stderr, "astime: executables must be double-quoted in astimerc file, ignoring...\n"); - } else if (!strcmp(param[0], "withdrawn")) { - tval = atoi(param[1]); - if (tval) - withdrawn = 1; - } else if (!strcmp(param[0], "iconic")) { - tval = atoi(param[1]); - if (tval) - iconic = 1; - } else if (!strcmp(param[0], "standout")) { - tval = atoi(param[1]); - if (tval) - pushed_in = 0; - } else if (!strcmp(param[0], "noborder")) { - tval = atoi(param[1]); - if (tval) - no_border = 1; - } else if (!strcmp(param[0], "shift")) { - state.shift = (short) atoi(param[1]); - if ((state.shift > 23) || (state.shift < -23)) - state.shift = 0; - } else if (!strcmp(param[0], "title")) { - safecopy(window_name, param[1], MAX_OPT_LEN); - } else if (!strcmp(param[0], "twentyfourHour")) { - tval = atoi(param[1]); - if (tval) - state.twentyfour = 1; - } else if (!strcmp(param[0], "sunriset")) { - tval = atoi(param[1]); - if (tval) { - state.sunriset = 1; - state.twentyfour = 1; - } - } else if (!strcmp(param[0], "sunrisetDay")) { - safecopy(state.sunrisetday, param[1], MAX_OPT_LEN); - state.twentyfour = 1; - state.sunriset = 1; - } else if (!strcmp(param[0], "sunrisetNight")) { - safecopy(state.sunrisetnight, param[1], MAX_OPT_LEN); - state.twentyfour = 1; - state.sunriset = 1; - } else if (!strcmp(param[0], "counterclockwise")) { - tval = atoi(param[1]); - if (tval) - state.counterclockwise = 1; - } else { - fprintf(stderr, "astime: error in astimerc file, ignoring...\n"); - } - } - } -} - -void parsecmdline(int argc, char *argv[]) -{ - for (int i = 1; i < argc; i++) { - char *argument = argv[i]; - if (argument[0] == '-') { - if (!strncmp(argument, "-rc", 3)) { - // just skip it - if (++i >= argc) - usage(); - } else if (!strncmp(argument, "-withdrawn", 10)) { - withdrawn = 1; - } else if (!strncmp(argument, "-iconic", 7)) { - iconic = 1; - } else if (!strncmp(argument, "-standout", 9)) { - pushed_in = 0; - } else if (!strncmp(argument, "-noborder", 9)) { - no_border = 1; - } else if (!strncmp(argument, "-u", 2)) { - if (++i >= argc) - usage(); - state.update_interval = atoi(argv[i]); - if (state.update_interval < 1) - state.update_interval = CHK_INTERVAL; - } else if (!strncmp(argument, "-shift", 6)) { - if (++i >= argc) - usage(); - state.shift = (short) atoi(argv[i]); - if ((state.shift > 23) || (state.shift < -23)) - state.shift = 0; - } else if (!strncmp(argument, "-ns", 3)) { - state.draw_seconds = 0; - } else if (!strncmp(argument, "-nd", 3)) { - state.draw_date = 0; - } else if (!strncmp(argument, "-nap", 4)) { - state.draw_ampm = 0; - } else if (!strncmp(argument, "-geometry", 9)) { - if (++i >= argc) - usage(); - safecopy(mainGeometry, argv[i], MAX_OPT_LEN); - } else if (!strncmp(argument, "-title", 6)) { - if (++i >= argc) - usage(); - safecopy(window_name, argv[i], MAX_OPT_LEN); - } else if (!strncmp(argument, "-display", 8)) { - if (++i >= argc) - usage(); - safecopy(display_name, argv[i], MAX_OPT_LEN); - } else if (!strncmp(argument, "-bg", 3)) { - if (++i >= argc) - usage(); - safecopy(state.bgcolor, argv[i], MAX_OPT_LEN); - } else if (!strncmp(argument, "-fg", 3)) { - if (++i >= argc) - usage(); - safecopy(state.fgcolor, argv[i], MAX_OPT_LEN); - } else if (!strncmp(argument, "-label", 6)) { - if (++i >= argc) - usage(); - state.show_label = 1; - safecopy(state.label, argv[i], 256); - } else if (!strncmp(argument, "-fn", 3)) { - if (++i >= argc) - usage(); - safecopy(state.font_name, argv[i], 256); - } else if (!strncmp(argument, "-lcolor", 3)) { - if (++i >= argc) - usage(); - safecopy(state.label_color, argv[i], MAX_OPT_LEN); - } else if (!strncmp(argument, "-ltop", 4)) { - state.label_top = 1; - } else if (!strncmp(argument, "-sec", 4)) { - if (++i >= argc) - usage(); - safecopy(state.seccolor, argv[i], MAX_OPT_LEN); - } else if (!strncmp(argument, "-min", 4)) { - if (++i >= argc) - usage(); - safecopy(state.mincolor, argv[i], MAX_OPT_LEN); - } else if (!strncmp(argument, "-hour", 5)) { - if (++i >= argc) - usage(); - safecopy(state.hourcolor, argv[i], MAX_OPT_LEN); - } else if (!strncmp(argument, "-day", 4)) { - if (++i >= argc) - usage(); - safecopy(state.daycolor, argv[i], MAX_OPT_LEN); - } else if (!strncmp(argument, "-ampm", 5)) { - if (++i >= argc) - usage(); - safecopy(state.ampmcolor, argv[i], MAX_OPT_LEN); - } else if (!strncmp(argument, "-date", 5)) { - if (++i >= argc) - usage(); - safecopy(state.datecolor, argv[i], MAX_OPT_LEN); - } else if (!strncmp(argument, "-srtd", 5)) { - if (++i >= argc) - usage(); - safecopy(state.sunrisetday, argv[i], MAX_OPT_LEN); - state.sunriset = 1; - state.twentyfour = 1; - } else if (!strncmp(argument, "-srtn", 5)) { - if (++i >= argc) - usage(); - safecopy(state.sunrisetnight, argv[i], MAX_OPT_LEN); - state.sunriset = 1; - state.twentyfour = 1; - } else if (!strncmp(argument, "-lat", 4)) { - if (++i >= argc) - usage(); - state.lat = atof(argv[i]); - state.sunriset = 1; - state.twentyfour = 1; - } else if (!strncmp(argument, "-lon", 4)) { - if (++i >= argc) - usage(); - state.lon = atof(argv[i]); - state.sunriset = 1; - state.twentyfour = 1; - } else if (!strncmp(argument, "-exe", 4)) { - if (++i >= argc) - usage(); - safecopy(state.program_name, argv[i], 255); - state.run_program = 1; - } else if (!strncmp(argument, "-at", 3)) { - state.tprop = 2; - } else if (!strncmp(argument, "-nt", 3)) { - state.tprop = 0; - } else if (!strncmp(argument, "-fs", 3)) { - state.float_seconds = 1; - } else if (!strncmp(argument, "-ts", 3)) { - state.thin_seconds = 1; - } else if (!strncmp(argument, "-ht", 3)) { - if (++i >= argc) - usage(); - state.hthick = (unsigned short) atoi(argv[i]); - thickspec = 1; - } else if (!strncmp(argument, "-ot", 3)) { - if (++i >= argc) - usage(); - state.othick = (unsigned short) atoi(argv[i]); - } else if (!strncmp(argument, "-fh", 3)) { - fancyhands = 1; - if (!thickspec) - state.hthick = 5; - } else if (!strncmp(argument, "-oh", 3)) { - outlinedhands = 1; - } else if (!strncmp(argument, "-nh", 3)) { - state.neon = 1; - } else if (!strncmp(argument, "-nf", 3)) { - state.draw_date = 0; - state.draw_ampm = 0; - state.tprop = 0; - } else if (!strncmp(argument, "-V", 2)) { - version(); - exit(0); - } else if (!strncmp(argument, "-H", 2)) { - version(); - usage(); - } else if (!strncmp(argument, "-h", 2)) { - version(); - usage(); - } else if (!strncmp(argument, "-24", 3)) { - state.twentyfour = 1; - } else if (!strncmp(argument, "-srt", 4)) { - state.sunriset = 1; - state.twentyfour = 1; - } else if (!strncmp(argument, "-cc", 3)) { - state.counterclockwise = 1; - } else { - version(); - usage(); - } - } else { - version(); - usage(); - } - } -} - - -void handprops(void) -{ - /* set hand rendering options */ - if (outlinedhands) { - state.hprop[PSEC][HOLINE] = 1; - state.hprop[PMIN][HOLINE] = 1; - state.hprop[PHOUR][HOLINE] = 1; - } else if (fancyhands) { - state.hprop[PSEC][HOLINE] = 1; - state.hprop[PSEC][HFILL] = 1; - state.hprop[PMIN][HOLINE] = 1; - state.hprop[PMIN][HFILL] = 1; - state.hprop[PHOUR][HOLINE] = 1; - state.hprop[PHOUR][HFILL] = 1; - } else { - state.hprop[PSEC][HCLINE] = 1; - state.hprop[PMIN][HCLINE] = 1; - state.hprop[PHOUR][HCLINE] = 1; - } - - if (state.thin_seconds) { - state.hprop[PSEC][HOLINE] = 0; - state.hprop[PSEC][HFILL] = 0; - state.hprop[PSEC][HCLINE] = 1; - } -} - - -int main(int argc, char **argv) -{ - int i; - int rcfound; - - defaults(); - - /* - * Check if there is a resource file name - * specified on the command line. That file - * takes precedence over ~/.astimerc - */ - rcfound = 0; - for (i=1; i<argc; i++) { - if ( !strncmp(argv[i], "-rc", 3) ) { - if (++i >= argc) - usage(); - safecopy(rcfname, argv[i], 255); - rcfound = 1; - } - } - if ( ! rcfound ) { - hname = getenv("HOME"); - strcpy(rcfname, hname); - if (rcfname[strlen(rcfname) - 1] != '/') - strcat(rcfname, "/"); - - strcat(rcfname, ".astimerc"); -#ifdef DEBUG - fprintf(stderr, "hname is %s\n", hname); - fprintf(stderr, "rcfname is %s\n", rcfname); -#endif - } - - rcf = fopen(rcfname, "r"); - if (rcf != NULL) { - parsercfile(rcf); - fclose(rcf); - } else { - if ( rcfound ) - fprintf(stderr, "astime: could not open %s ...\n", - rcfname); - } - - parsecmdline(argc, argv); - - handprops(); - - initialize(argc, argv, - window_name, - display_name, - mainGeometry, - withdrawn, - iconic, - pushed_in, - no_border); - while (1) { - update(); - usleep(X11_INTERVAL); - } -} diff --git a/01_git/beo.astimerc b/01_git/beo.astimerc deleted file mode 100644 index 31fb6e390d895ca67c442a053e86276eb105eb4e..0000000000000000000000000000000000000000 --- a/01_git/beo.astimerc +++ /dev/null @@ -1,48 +0,0 @@ -geometry 128x128-0+0 - -background #1b1b1e -foreground #a0a0a0 - -secondColor #a0a0a0 -minuteColor #a0a0a0 -hourColor #a0a0a0 - -dayColor #a0a0a0 -AMPMColor #a0a0a0 -dateColor #a0a0a0 - -drawSecondHand 1 -drawDayDate 1 -drawAMPM 0 -drawTicks 1 -drawAllTicks 0 -drawForeground 1 - -floatSeconds 1 -thinSeconds 0 -handThickness 5 -#handThickness 200 -outThickness 1 - -fancyHands 1 -outlinedHands 0 -neonHands 1 - -#execProg "xterm +sb -bg "#303030" -fg "#20b2aa" -geometry 80x50 -T top -n top -e top &" -withdrawn 0 -iconic 0 -standout 1 -shift 0 -title astime - -# the next three lines are commented out, so that we don't surprise you... ;) -#at 22:30:00 "xterm -bg red &" -#at 22:30:15 "xterm -bg green &" -#at 22:30:30 "xterm -bg blue &" - -twentyfourHour 1 -sunriset 1 -sunrisetDay grey80 -sunrisetNight grey20 -latitude 11.05 -longitude 49.6972222 diff --git a/01_git/cmake/compilerwarnings.cmake b/01_git/cmake/compilerwarnings.cmake deleted file mode 100644 index 93b0fb4ebce81ea3498c5815573433dfb57925a9..0000000000000000000000000000000000000000 --- a/01_git/cmake/compilerwarnings.cmake +++ /dev/null @@ -1,42 +0,0 @@ -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wall" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wextra" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -pedantic" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wcast-qual" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wcast-align" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wconversion" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wformat-nonliteral" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wformat-security" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wfloat-equal" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Winit-self" ) -if(${CMAKE_COMPILER_IS_GNUCC}) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wlogical-op" ) -endif() -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wmissing-include-dirs" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-write-strings" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wpointer-arith" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wswitch-default" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wswitch-enum" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wundef" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wunused-macros" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wunused-parameter" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wshadow" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wpointer-arith" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wshadow" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wwrite-strings" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wpacked" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wredundant-decls" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wunreachable-code" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Winline" ) - -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNINGS_COMMONFLAGS}") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wstrict-prototypes") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wold-style-definition") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-prototypes") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-declarations") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wnested-externs") - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNINGS_COMMONFLAGS}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Woverloaded-virtual" ) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weffc++" ) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wold-style-cast" ) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Woverloaded-virtual" ) diff --git a/01_git/cmake/cppcheck.cmake b/01_git/cmake/cppcheck.cmake deleted file mode 100644 index 724b83828dd83980c45ed747d828ac8a3ec7f663..0000000000000000000000000000000000000000 --- a/01_git/cmake/cppcheck.cmake +++ /dev/null @@ -1,12 +0,0 @@ -find_program(CPPCHECK_EXE "cppcheck") - -if(CPPCHECK_EXE) - message(STATUS "[CPPCHECK] at ${CPPCHECK_EXE}") - add_custom_target(cppcheck) - - add_custom_command(TARGET cppcheck POST_BUILD - COMMAND ${CPPCHECK_EXE} --enable=all --template=gcc -i ${PROJECT_BINARY_DIR} -I ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR} - ) -else() - message(FATAL_ERROR "[CPPCHECK] Could not find cppcheck executable") -endif() diff --git a/01_git/default.astimerc b/01_git/default.astimerc deleted file mode 100644 index c51e308925d57d261fbfa701dd3400c21813c988..0000000000000000000000000000000000000000 --- a/01_git/default.astimerc +++ /dev/null @@ -1,46 +0,0 @@ -# This is the "default" look of the astime - -geometry 54x54-1-1 - -background #385971 -foreground white - -secondColor #efc669 -minuteColor #ff3030 -hourColor #ef3838 - -dayColor #a0a0a0 -AMPMColor #a0a0a0 -dateColor #a0a0a0 - -drawSecondHand 1 -drawDayDate 1 -drawAMPM 1 -drawTicks 1 -drawAllTicks 0 -drawForeground 1 - -floatSeconds 0 -thinSeconds 1 -handThickness 3 -#handThickness 200 -#outThickness 20 - -fancyHands 0 -outlinedHands 0 -neonHands 0 - -withdrawn 0 -iconic 0 -standout 0 -shift 0 -title astime - -# A program to be executed when you click on the face of the clock -#execProg "xterm +sb -bg "#303030" -fg "#20b2aa" -geometry 80x50 -T top -n top -e top &" - -# the next three lines are commented out, so that we don't surprise you... ;) -#at 22:30:00 "xterm -bg red &" -#at 22:30:15 "xterm -bg green &" -#at 22:30:30 "xterm -bg blue &" - diff --git a/01_git/include/astime_x.h b/01_git/include/astime_x.h deleted file mode 100644 index 0a984acb45711201efc2e1a099e44c884da0c297..0000000000000000000000000000000000000000 --- a/01_git/include/astime_x.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * astime is an analogue clock utility for X Windows. - * - * Copyright (c) 1998-2000 Albert Dorofeev <albert@tigr.net> - * - * For the updates see http://www.tigr.net/afterstep/as-apps/ - * - * This software is distributed under GPL. For details see LICENSE file. - */ - -#ifndef _astime_x_h_ -#define _astime_x_h_ - -void initialize(int argc, char **argv, - char *window_name, - char *display_name, - char *mainGeometry, - int withdrawn, - int iconic, - int pushed_in, - int no_border); -void update(void); -void redraw(void); -void x_cleanup(void); - -#endif - diff --git a/01_git/include/safecopy.h b/01_git/include/safecopy.h deleted file mode 100644 index 34df5f4ca8fbcf133d194425e7411ecb7748e7ec..0000000000000000000000000000000000000000 --- a/01_git/include/safecopy.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * astime is an analogue clock utility for X Windows. - * - * Copyright (c) 1998-2000 Albert Dorofeev <albert@tigr.net> - * - * For the updates see http://www.tigr.net/afterstep/as-apps/ - * - * This software is distributed under GPL. For details see LICENSE file. - */ - -#ifndef _safecopy_h_ -#define _safecopy_h_ -#include <stddef.h> - -/* - * Copies at most maxlen-1 characters from the source. - * Makes sure that the destination string is zero-terminated. - */ -char *safecopy(char *dest, const char *src, size_t maxlen); - -#endif - diff --git a/01_git/include/state.h b/01_git/include/state.h deleted file mode 100644 index 1f53e377268ca74c40e62ca0cccdf2858ef872ef..0000000000000000000000000000000000000000 --- a/01_git/include/state.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * astime is an analogue clock utility for X Windows. - * - * Copyright (c) 1998-2000 Albert Dorofeev <albert@tigr.net> - * Copyright (c) 1999 William Kostis <kostis@ee.cornell.edu> - * - * For the updates see http://www.tigr.net/afterstep/as-apps/ - * - * This software is distributed under GPL. For details see LICENSE file. - */ - -#ifndef _state_h_ -#define _state_h_ - -/* coordinates structure */ -struct coordinates { - int x, y; -}; - -typedef struct _pinfo { - int time[3]; - int done; - char name[255]; -} *PInfo; - -#define PSEC 0 -#define PMIN 1 -#define PHOUR 2 - -#define HCLINE 0 -#define HOLINE 1 -#define HFILL 2 -#define HTHICK 3 - -#define MAX_OPT_LEN 64 - -struct astime_state { - long int update_interval; /* interval (sec) to update the dial */ - - unsigned short int draw_seconds; /* render second hand */ - unsigned short int draw_date; /* render date */ - unsigned short int draw_ampm; /* render AM/PM */ - unsigned short int tprop; /* tick properties */ - unsigned short int float_seconds; /* render floating second indicator */ - unsigned short int thin_seconds; /* render thin second hand/indicator */ - - unsigned short int hthick; /* hand thickness */ - unsigned short int othick; /* outline thickness */ - unsigned short int neon; /* neon hands (hand darkening) */ - unsigned short int hprop[3][3]; /* hand properties */ - - struct coordinates total_size; - short int shift; - unsigned short int run_program; - unsigned short int cron_program; - unsigned short int twentyfour; - unsigned short int sunriset; - double lon, lat; - unsigned short int counterclockwise; - - /* main colors */ - char bgcolor[MAX_OPT_LEN]; - char fgcolor[MAX_OPT_LEN]; - /* standard hand colors */ - char seccolor[MAX_OPT_LEN]; - char mincolor[MAX_OPT_LEN]; - char hourcolor[MAX_OPT_LEN]; - /* outside polygon colors */ - char secocolor[MAX_OPT_LEN]; - char minocolor[MAX_OPT_LEN]; - char hourocolor[MAX_OPT_LEN]; - /* inside polygon colors */ - char secfillcolor[MAX_OPT_LEN]; - char minfillcolor[MAX_OPT_LEN]; - char hourfillcolor[MAX_OPT_LEN]; - /* other foreground colors */ - char daycolor[MAX_OPT_LEN]; - char ampmcolor[MAX_OPT_LEN]; - char datecolor[MAX_OPT_LEN]; - /* day and night color */ - char sunrisetday[MAX_OPT_LEN]; - char sunrisetnight[MAX_OPT_LEN]; - - unsigned int show_label; /* Show a user-specified label */ - unsigned int label_top; /* If the label is on top or at the bottom */ - char label[256]; /* The label text */ - char font_name[256]; /* Font name for the labels */ - char label_color[MAX_OPT_LEN];/* Label color */ - - /* executable */ - char program_name[255]; - - int nprogs; - /* program parameters */ - PInfo *PInf; -}; - -#endif diff --git a/01_git/include/sunriset.h b/01_git/include/sunriset.h deleted file mode 100644 index c6524f19989a22025d01e9963bcdc308fc17a62e..0000000000000000000000000000000000000000 --- a/01_git/include/sunriset.h +++ /dev/null @@ -1,108 +0,0 @@ -/* +++Date last modified: 05-Jul-1997 */ - -/* - -SUNRISET.C - computes Sun rise/set times, start/end of twilight, and - the length of the day at any date and latitude - -Written as DAYLEN.C, 1989-08-16 - -Modified to SUNRISET.C, 1992-12-01 - -(c) Paul Schlyter, 1989, 1992 - -Released to the public domain by Paul Schlyter, December 1992 - -Modified 2006 by Florian Franzmann - -*/ - -#ifndef _sunriset_h_ -#define _sunriset_h_ - -#include <stdio.h> -#include <math.h> - - -/* A macro to compute the number of days elapsed since 2000 Jan 0.0 */ -/* (which is equal to 1999 Dec 31, 0h UT) */ - -#define days_since_2000_Jan_0(y,m,d) \ - (367L*(y)-((7*((y)+(((m)+9)/12)))/4)+((275*(m))/9)+(d)-730530L) - -/* Some conversion factors between radians and degrees */ - -#ifndef PI - #define PI 3.1415926535897932384 -#endif - -#define RADEG ( 180.0 / PI ) -#define DEGRAD ( PI / 180.0 ) - -/* The trigonometric functions in degrees */ - -#define sind(x) sin((x)*DEGRAD) -#define cosd(x) cos((x)*DEGRAD) -#define tand(x) tan((x)*DEGRAD) - -#define atand(x) (RADEG*atan(x)) -#define asind(x) (RADEG*asin(x)) -#define acosd(x) (RADEG*acos(x)) -#define atan2d(y,x) (RADEG*atan2(y,x)) - - -/* Following are some functions around the "workhorse" function __daylen__ */ -/* They mainly fill in the desired values for the reference altitude */ -/* below the horizon, and also selects whether this altitude should */ -/* refer to the Sun's center or its upper limb. */ - - -/* This function computes the length of the day, from sunrise to sunset. */ -/* Sunrise/set is considered to occur when the Sun's upper limb is */ -/* 35 arc minutes below the horizon (this accounts for the refraction */ -/* of the Earth's atmosphere). */ -double day_length(int year, int month, int day, double lon, double lat); - -/* This function computes the length of the day, including civil twilight. */ -/* Civil twilight starts/ends when the Sun's center is 6 degrees below */ -/* the horizon. */ -double day_civil_twilight_length(int year, int month, int day, - double lon, double lat); - -/* This function computes the length of the day, incl. nautical twilight. */ -/* Nautical twilight starts/ends when the Sun's center is 12 degrees */ -/* below the horizon. */ -double day_nautical_twilight_length(int year, int month, int day, - double lon, double lat); - -/* This function computes the length of the day, incl. astronomical twilight. */ -/* Astronomical twilight starts/ends when the Sun's center is 18 degrees */ -/* below the horizon. */ -double day_astronomical_twilight_length(int year, int month, int day, - double lon, double lat); - -/* This function computes times for sunrise/sunset. */ -/* Sunrise/set is considered to occur when the Sun's upper limb is */ -/* 35 arc minutes below the horizon (this accounts for the refraction */ -/* of the Earth's atmosphere). */ -int sun_rise_set(int year, int month, int day, double lon, - double lat, double *rise, double *set); - -/* This function computes the start and end times of civil twilight. */ -/* Civil twilight starts/ends when the Sun's center is 6 degrees below */ -/* the horizon. */ -int civil_twilight(int year, int month, int day, double lon, - double lat, double *start, double *end); - -/* This function computes the start and end times of nautical twilight. */ -/* Nautical twilight starts/ends when the Sun's center is 12 degrees */ -/* below the horizon. */ -int nautical_twilight(int year, int month, int day, double lon, - double lat, double *start, double *end); - -/* This function computes the start and end times of astronomical twilight. */ -/* Astronomical twilight starts/ends when the Sun's center is 18 degrees */ -/* below the horizon. */ -int astronomical_twilight(int year, int month, int day, double lon, - double lat, double *start, double *end); -#endif diff --git a/01_git/include/x_color.h b/01_git/include/x_color.h deleted file mode 100644 index 2a44647adb1f604c6090bd0e3e886a547634edba..0000000000000000000000000000000000000000 --- a/01_git/include/x_color.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * astime is an analogue clock utility for X Windows. - * - * Copyright (c) 1998-2000 Albert Dorofeev <albert@tigr.net> - * - * For the updates see http://www.tigr.net/afterstep/as-apps/ - * - * This software is distributed under GPL. For details see LICENSE file. - */ - -#ifndef _x_color_h_ -#define _x_color_h_ -#include <X11/Xlib.h> -#include <X11/xpm.h> - -/* - * It takes the given color, parses it in the context - * of the given window and returns a pixel of that color. - */ -Pixel GetColor(char *ColorName, Display * disp, Window win); - -/* - * Performs the same actions as GetColor but - * returns the complete XColor structure - */ -XColor ParseColor(char *ColorName, Display * disp, Window win); - -/* - * darkens the given color using the supplied rate - */ -char *DarkenCharColor(char *ColorName, float rate, Display * disp, Window win); -Pixel DarkenColor(char *ColorName, float rate, Display * disp, Window win); - -/* - * brightens the given color using the supplied rate - */ -char *LightenCharColor(char *ColorName, float rate, Display * disp, Window win); -Pixel LightenColor(char *ColorName, float rate, Display * disp, Window win); - -/* - * mix the given colors using the supplied rate - */ -char *MixCharColors(char *Color1Name, char *Color2Name, float rate, - Display * disp, Window win); -Pixel MixColors(char *Color1Name, char *Color2Name, float rate, - Display * disp, Window win); - -#endif - diff --git a/01_git/include/x_primitives.h b/01_git/include/x_primitives.h deleted file mode 100644 index 1b1b7a3bef43c1bbf266803c33a70c967fdfd103..0000000000000000000000000000000000000000 --- a/01_git/include/x_primitives.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * This software is distributed under GPL. For details see LICENSE file. - */ - -#include <X11/Xlib.h> - -void RotateCoordinates(short *x, short *y, short center_x, short center_y, - short angle); -int DrawTriangle(Display *display, Drawable d, GC gc, - short x, short y, unsigned short width, unsigned short height, - short angle); -int FillTriangle(Display *display, Drawable d, GC gc, - short x, short y, unsigned short width, unsigned short height, - short angle); -int DrawCenteredArc(Display *display, Drawable d, GC gc, - int x, int y, unsigned int width, unsigned int height, - int angle1, int angle2); -int FillCenteredArc(Display *display, Drawable d, GC gc, - int x, int y, unsigned int width, unsigned int height, - int angle1, int angle2); -int DrawTopCircle(Display *display, Drawable d, GC gc, - int x, int y, unsigned int radius, int angle); -int FillTopCircle(Display *display, Drawable d, GC gc, - int x, int y, unsigned int radius, int angle); diff --git a/01_git/modern.astimerc b/01_git/modern.astimerc deleted file mode 100644 index 22fd19417655750dbbe93335fb520357698106c1..0000000000000000000000000000000000000000 --- a/01_git/modern.astimerc +++ /dev/null @@ -1,40 +0,0 @@ -geometry 120x120-0+0 - -background #000020 -foreground #0000ff - -secondColor #efc669 -minuteColor #7766aa -hourColor #cc3333 - -dayColor #7766aa -AMPMColor #7766aa -dateColor #7766aa - -drawSecondHand 1 -drawDayDate 1 -drawAMPM 1 -drawTicks 1 -drawAllTicks 1 -drawForeground 0 - -floatSeconds 1 -thinSeconds 0 -handThickness 70 -outThickness 1 - -fancyHands 1 -outlinedHands 0 -neonHands 1 - -execProg "xterm +sb -bg "#303030" -fg "#20b2aa" -geometry 80x50 -T top -n top -e top &" -withdrawn 0 -iconic 0 -standout 0 -shift 0 -title astime - -# the next three lines are commented out, so that we don't surprise you... ;) -#at 22:30:00 "xterm -bg red &" -#at 22:30:15 "xterm -bg green &" -#at 22:30:30 "xterm -bg blue &" diff --git a/01_git/resources/ampm.xpm b/01_git/resources/ampm.xpm deleted file mode 100644 index e902a9fa48e10ccc686cec7a0bf331210ae903c8..0000000000000000000000000000000000000000 --- a/01_git/resources/ampm.xpm +++ /dev/null @@ -1,23 +0,0 @@ -/* XPM */ -static const char *ampm[] = { -/* width height num_colors chars_per_pixel */ -" 13 13 2 1", -/* colors */ -"c c #385971", -"l c #a0a0a0", -/* pixels */ -"ccccccccccccc", -"cclllcclccclc", -"clccclcllcllc", -"clllllclclclc", -"clccclclccclc", -"clccclclccclc", -"ccccccccccccc", -"cllllcclccclc", -"clccclcllcllc", -"cllllcclclclc", -"clccccclccclc", -"clccccclccclc", -"ccccccccccccc", -}; - diff --git a/01_git/resources/digits.xpm b/01_git/resources/digits.xpm deleted file mode 100644 index 73dd3d52be93f8511bd52753d29b09079b6aa8d1..0000000000000000000000000000000000000000 --- a/01_git/resources/digits.xpm +++ /dev/null @@ -1,81 +0,0 @@ -/* XPM */ -static const char *digits[] = { -/* width height num_colors chars_per_pixel */ -" 7 71 2 1", -/* colors */ -"c c #385971", -". c #a0a0a0", -/* pixels */ -"ccccccc", -"cc...cc", -"c.ccc.c", -"c.ccc.c", -"c.ccc.c", -"c.ccc.c", -"cc...cc", -"ccccccc", -"ccc.ccc", -"cc..ccc", -"ccc.ccc", -"ccc.ccc", -"ccc.ccc", -"cc...cc", -"ccccccc", -"cc...cc", -"c.ccc.c", -"ccccc.c", -"ccc..cc", -"c..cccc", -"c.....c", -"ccccccc", -"cc....c", -"ccccc.c", -"cc...cc", -"ccccc.c", -"ccccc.c", -"c....cc", -"ccccccc", -"cccc.cc", -"ccc..cc", -"cc.c.cc", -"c.....c", -"cccc.cc", -"cccc.cc", -"ccccccc", -"c.....c", -"c.ccccc", -"c....cc", -"ccccc.c", -"c.ccc.c", -"cc...cc", -"ccccccc", -"cc...cc", -"c.ccccc", -"c....cc", -"c.ccc.c", -"c.ccc.c", -"cc...cc", -"ccccccc", -"c.....c", -"ccccc.c", -"cccc.cc", -"ccc.ccc", -"cc.cccc", -"cc.cccc", -"ccccccc", -"cc...cc", -"c.ccc.c", -"cc...cc", -"c.ccc.c", -"c.ccc.c", -"cc...cc", -"ccccccc", -"cc...cc", -"c.ccc.c", -"c.ccc.c", -"cc....c", -"ccccc.c", -"cc...cc", -"ccccccc" -}; - diff --git a/01_git/resources/dof.xpm b/01_git/resources/dof.xpm deleted file mode 100644 index a62a8d032d7eae7c0170d2bee028d76ef194b302..0000000000000000000000000000000000000000 --- a/01_git/resources/dof.xpm +++ /dev/null @@ -1,53 +0,0 @@ -/* XPM */ -static const char *dof[] = { -/* width height num_colors chars_per_pixel */ -" 13 43 2 1", -/* colors */ -"c c #385971", -"l c #a0a0a0", -/* pixels */ -"ccccccccccccc", -"ccllllclccclc", -"clccccclccclc", -"cclllcclccclc", -"ccccclclccclc", -"cllllccclllcc", -"ccccccccccccc", -"clccclcclllcc", -"cllcllclccclc", -"clclclclccclc", -"clccclclccclc", -"clccclcclllcc", -"ccccccccccccc", -"clllllclccclc", -"ccclccclccclc", -"ccclccclccclc", -"ccclccclccclc", -"ccclcccclllcc", -"ccccccccccccc", -"clccclclllllc", -"clccclclccccc", -"clclclclllccc", -"cllcllclccccc", -"cclclcclllllc", -"ccccccccccccc", -"clllllclccclc", -"ccclccclccclc", -"ccclccclllllc", -"ccclccclccclc", -"ccclccclccclc", -"ccccccccccccc", -"clllllcllllcc", -"clccccclccclc", -"clllcccllllcc", -"clccccclccclc", -"clccccclccclc", -"ccccccccccccc", -"ccllllcclllcc", -"clccccclccclc", -"cclllcclllllc", -"ccccclclccclc", -"cllllcclccclc", -"ccccccccccccc" -}; - diff --git a/01_git/resources/months.xpm b/01_git/resources/months.xpm deleted file mode 100644 index b9c7058601b6c180303e0372808d7c6aa232da6a..0000000000000000000000000000000000000000 --- a/01_git/resources/months.xpm +++ /dev/null @@ -1,83 +0,0 @@ -/* XPM */ -static const char *months[] = { -/* width height num_colors chars_per_pixel */ -" 19 73 2 1", -/* colors */ -". c #385971", -"o c #a0a0a0", -/* pixels */ -"...................", -"..oooo..ooo..o...o.", -".....o.o...o.oo..o.", -".....o.ooooo.o.o.o.", -".....o.o...o.o..oo.", -"..ooo..o...o.o...o.", -"...................", -".ooooo.ooooo.oooo..", -".o.....o.....o...o.", -".ooo...ooo...oooo..", -".o.....o.....o...o.", -".o.....ooooo.oooo..", -"...................", -".o...o..ooo..oooo..", -".oo.oo.o...o.o...o.", -".o.o.o.ooooo.oooo..", -".o...o.o...o.o...o.", -".o...o.o...o.o...o.", -"...................", -"..ooo..oooo..oooo..", -".o...o.o...o.o...o.", -".ooooo.oooo..oooo..", -".o...o.o.....o...o.", -".o...o.o.....o...o.", -"...................", -".o...o..ooo..o...o.", -".oo.oo.o...o.o...o.", -".o.o.o.ooooo..ooo..", -".o...o.o...o...o...", -".o...o.o...o...o...", -"...................", -"..oooo.o...o.o...o.", -".....o.o...o.oo..o.", -".....o.o...o.o.o.o.", -".....o.o...o.o..oo.", -"..ooo...ooo..o...o.", -"...................", -"..oooo.o...o.o.....", -".....o.o...o.o.....", -".....o.o...o.o.....", -".....o.o...o.o.....", -"..ooo...ooo..ooooo.", -"...................", -"..ooo..o...o..ooo..", -".o...o.o...o.o...o.", -".ooooo.o...o.o.....", -".o...o.o...o.o..oo.", -".o...o..ooo...oooo.", -"...................", -"..ooo..ooooo.oooo..", -".o.....o.....o...o.", -"..ooo..ooo...oooo..", -".....o.o.....o.....", -"..ooo..ooooo.o.....", -"...................", -"..ooo...ooo..ooooo.", -".o...o.o...o...o...", -".o...o.o.......o...", -".o...o.o...o...o...", -"..ooo...ooo....o...", -"...................", -".o...o..ooo..o...o.", -".oo..o.o...o.o...o.", -".o.o.o.o...o.o...o.", -".o..oo.o...o..o.o..", -".o...o..ooo....o...", -"...................", -".oooo..ooooo..ooo..", -".o...o.o.....o...o.", -".o...o.ooo...o.....", -".o...o.o.....o...o.", -".oooo..ooooo..ooo..", -"..................." -}; - diff --git a/01_git/sample.astimerc b/01_git/sample.astimerc deleted file mode 100644 index b8a680181690a8ad4c764a6d04364d4ad165322b..0000000000000000000000000000000000000000 --- a/01_git/sample.astimerc +++ /dev/null @@ -1,41 +0,0 @@ -geometry 120x120-0+0 - -background black -foreground #0000ff - -secondColor #efc669 -minuteColor #20b2aa -hourColor #8141d7 - -dayColor #7766aa -AMPMColor #7766aa -dateColor #7766aa - -drawSecondHand 1 -drawDayDate 1 -drawAMPM 1 -drawTicks 1 -drawAllTicks 1 -drawForeground 1 - -floatSeconds 1 -thinSeconds 0 -handThickness 5 -#handThickness 200 -#outThickness 20 - -fancyHands 1 -outlinedHands 0 -neonHands 1 - -execProg "xterm +sb -bg "#303030" -fg "#20b2aa" -geometry 80x50 -T top -n top -e top &" -withdrawn 0 -iconic 0 -standout 0 -shift 0 -title astime - -# the next three lines are commented out, so that we don't surprise you... ;) -#at 22:30:00 "xterm -bg red &" -#at 22:30:15 "xterm -bg green &" -#at 22:30:30 "xterm -bg blue &" diff --git a/01_git/src/CMakeLists.txt b/01_git/src/CMakeLists.txt deleted file mode 100644 index e35f0519d16ce9367c53ecbedcbc4adb09015fed..0000000000000000000000000000000000000000 --- a/01_git/src/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -include_directories(${PROJECT_SOURCE_DIR}/include) -include_directories(${PROJECT_SOURCE_DIR}/resources) - -add_library(safecopy safecopy.c) -add_library(sunriset sunriset.c) -add_library(xprimitives x_color.c x_primitives.c) -add_library(astime_x astime_x.c) diff --git a/01_git/src/astime_x.c b/01_git/src/astime_x.c deleted file mode 100644 index 3ad876df226a4a9334e2916754268643dca13496..0000000000000000000000000000000000000000 --- a/01_git/src/astime_x.c +++ /dev/null @@ -1,1547 +0,0 @@ -/* - * astime is an analogue clock utility for X Windows. - * - * Copyright (c) 1998-2000 Albert Dorofeev <albert@tigr.net> - * Copyright (c) 1999 William Kostis <kostis@ee.cornell.edu> - * - * For the updates see http://www.tigr.net/afterstep/as-apps/ - * - * This software is distributed under GPL. For details see LICENSE file. - */ - -#define CIVIL_TWILIGHT 1 -#define NAUT_TWILIGHT 2 -#define ASTRO_TWILIGHT 3 -#define SUNRISESET 4 -#define DARKNESS 5 -#define SUNRISET_SIZE .618033989f - -#include <stdio.h> -#include <stdlib.h> -#include <math.h> -#include <time.h> -#include <string.h> -#include <limits.h> -#include <assert.h> - -#include <X11/Xlib.h> -#include <X11/xpm.h> -#include <X11/Xatom.h> - -#include "sunriset.h" -#include "x_color.h" -#include "x_primitives.h" -#include "state.h" -#include "safecopy.h" - -struct astime_state state; - -#include "dof.xpm" -#include "months.xpm" -#include "digits.xpm" -#include "ampm.xpm" - -/* nice idea from ascd */ -typedef struct _XpmIcon { - Pixmap pixmap; - Pixmap mask; - XpmAttributes attributes; -} XpmIcon; - -XpmIcon dofXpm; -XpmIcon ampmXpm; -XpmIcon monthsXpm; -XpmIcon digitsXpm; - -/* X windows related global variables */ -Display *mainDisplay = 0; /* The display we are working on */ -Window Root; /* The root window of X11 */ -Pixmap backgroundWindow; /* Window for drawing */ -Pixmap drawWindow; /* Window for drawing */ -Window mainWindow; /* Application window */ -Window iconWindow; /* Icon window */ -XGCValues mainGCV; /* graphics context values */ -GC mainGC; /* Graphics context */ -Atom wm_delete_window; -Atom wm_protocols; -Font label_font; -XFontStruct * label_fnstruct; - -/* the label position and color */ -int label_x, label_y; -Pixel label_pix; - -/* background, digits, months etc pixmap colors */ -char bgpixmap_color[4][32]; -char dof_pixmap_color[2][32]; -char ampm_pixmap_color[2][32]; -char digits_pixmap_color[2][32]; -char months_pixmap_color[2][32]; - -Pixel back_pix, fore_pix; -Pixel day_pix, night_pix, astro_pix, naut_pix, civil_pix; -Pixel oday_pix, onight_pix, oastro_pix, onaut_pix, ocivil_pix; - -/* The center of the clock */ -struct coordinates center; -/* The half-size of the watch drawable area - * (2 more pixels are given to the frame */ -struct coordinates watch_size; - -/* calculated values in pixels */ -int pixelLength[3]; -struct line_struct { - int x1, y1; - int x2, y2; -} lines[3]; - -/* polygons for the hands */ -XPoint hand[3][4]; - -/* pixels we need */ -Pixel pix[9]; - -/* last time we updated */ -time_t last_time = 0; -time_t curTime; - -/* current time in nice format */ -struct tm *loc_time; - -/* requests for update */ -int update_request = 0; - -/* prototypes */ -void draw_sunriset(Window win, - struct tm *local_time, - double lon, - double lat, - unsigned long color, - unsigned long neoncolor, - float size, - int type); -void draw_window(Window win); -/* convert the position on 0-60 scale into xy coordinates */ -inline float convert2x(float tim); -inline float convert2y(float tim); -/* convert time units to degrees * 64 */ -inline short hour_to_deg64(unsigned short hour); -inline short min_to_deg64(unsigned short hour); -inline short sec_to_deg64(unsigned short hour); -void constants(void); -void calculate_hands(void); -void refresh(void); -void x_cleanup(void); -void CheckX11Events(void); -void redraw(void); -void croncheck(void); -void update(void); -void draw_dial(void); -void initialize(int argc, char **argv, - char *window_name, - char *display_name, - char *mainGeometry, - int withdrawn, - int iconic, - int pushed_in, - int no_border); - -/* functions */ -void draw_sunriset(Window win, - struct tm *local_time, - double lon, - double lat, - unsigned long color, - unsigned long neoncolor, - float size, - int type) -{ - int x, y; - unsigned int width, height; - int angle1, angle2; - double start = 0.0; - double end = 0.0; - - assert(type == CIVIL_TWILIGHT || type == NAUT_TWILIGHT - || type == ASTRO_TWILIGHT || type == SUNRISESET - || type == DARKNESS); - GC neonGC = XCreateGC(mainDisplay, - mainWindow, - GCForeground | GCLineWidth, - &mainGCV); - XSetForeground(mainDisplay, mainGC, color); - XSetForeground(mainDisplay, neonGC, neoncolor); - double line_width = rint(2.0 * (((double)(watch_size.x + watch_size.y) / 2.0) - * (state.othick / 1000.0))); - XSetLineAttributes(mainDisplay, neonGC, (unsigned int) line_width, - LineSolid, CapNotLast, JoinMiter); - x = center.x; - y = center.y; - width = (unsigned int) (((float) watch_size.x) * size); - height = (unsigned int) (((float) watch_size.y) * size); - if (CIVIL_TWILIGHT == type) { - int ret; - ret = civil_twilight(local_time->tm_year + 1900, local_time->tm_mon + 1, - local_time->tm_mday, lat, lon, &start, &end); - if (1 == ret) { - if (state.hprop[PHOUR][HFILL]) { - FillCenteredArc(mainDisplay, win, mainGC, - x, y, width, height, 0 * 64, 359 * 64); - } - if (state.hprop[PHOUR][HOLINE]) { - DrawCenteredArc(mainDisplay, win, neonGC, - x, y, width, height, 0 * 64, 359 * 64); - } - return; - } else if (-1 == ret) { - return; - } - } else if (NAUT_TWILIGHT == type) { - int ret; - ret = nautical_twilight(local_time->tm_year + 1900, local_time->tm_mon + 1, - local_time->tm_mday, lat, lon, &start, &end); - if (1 == ret) { - if (state.hprop[PHOUR][HFILL]) { - FillCenteredArc(mainDisplay, win, mainGC, - x, y, width, height, 0 * 64, 359 * 64); - } - if (state.hprop[PHOUR][HOLINE]) { - DrawCenteredArc(mainDisplay, win, neonGC, - x, y, width, height, 0 * 64, 359 * 64); - } - return; - } else if (-1 == ret) { - return; - } - } else if (ASTRO_TWILIGHT == type) { - int ret; - ret = astronomical_twilight(local_time->tm_year + 1900, local_time->tm_mon + 1, - local_time->tm_mday, lat, lon, &start, &end); - if (1 == ret) { - if (state.hprop[PHOUR][HFILL]) { - FillCenteredArc(mainDisplay, win, mainGC, - x, y, width, height, 0 * 64, 359 * 64); - } - if (state.hprop[PHOUR][HOLINE]) { - DrawCenteredArc(mainDisplay, win, neonGC, - x, y, width, height, 0 * 64, 359 * 64); - } - return; - } else if (-1 == ret) { - return; - } - } else if (SUNRISESET == type) { - int ret; - ret = sun_rise_set(local_time->tm_year + 1900, local_time->tm_mon + 1, - local_time->tm_mday, lat, lon, &start, &end); - if (1 == ret) { - if (state.hprop[PHOUR][HFILL]) { - FillCenteredArc(mainDisplay, win, mainGC, - x, y, width, height, 0 * 64, 359 * 64); - } - if (state.hprop[PHOUR][HOLINE]) { - DrawCenteredArc(mainDisplay, win, neonGC, - x, y, width, height, 0 * 64, 359 * 64); - } - return; - } else if (-1 == ret) { - return; - } - } else if (DARKNESS == type) { - if (state.hprop[PHOUR][HFILL]) { - FillCenteredArc(mainDisplay, win, mainGC, - x, y, width, height, 0 * 64, 359 * 64); - } - if (state.hprop[PHOUR][HOLINE]) { - DrawCenteredArc(mainDisplay, win, neonGC, - x, y, width, height, 0 * 64, 359 * 64); - } - return; - } - angle1 = (int) rint(start * 15.0); - angle2 = (int) rint(end * 15.0); - angle2 -= (angle1 + 360) % 360; - angle1 += (int) (((double) loc_time->tm_gmtoff) * 0.004166667); - if (state.counterclockwise) { - angle1 = (360 - angle1) % 360; - angle2 *= -1; - } - if (state.hprop[PHOUR][HFILL]) { - FillCenteredArc(mainDisplay, win, mainGC, x, y, width, height, - (360 - angle1 - 90) * 64, -angle2 * 64); - } - if (state.hprop[PHOUR][HOLINE]) { - DrawCenteredArc(mainDisplay, win, neonGC, x, y, width, height, - (360 - angle1 - 90) * 64, -angle2 * 64); - } -} - -void draw_window(Window win) -{ - int i; - - assert(state.total_size.x >= 0); - assert(state.total_size.y >= 0); - XCopyArea( - mainDisplay, - backgroundWindow, - win, - mainGC, - 0, - 0, - (unsigned int) state.total_size.x, - (unsigned int) state.total_size.y, - 0, - 0 - ); - if (state.draw_ampm) - XCopyArea( - mainDisplay, - ampmXpm.pixmap, - win, - mainGC, - 0, - (loc_time->tm_hour > 11 ? 6 : 0), - 13, - 7, - state.total_size.x - 14, - 1 - ); - if (state.draw_date) { - XCopyArea( - mainDisplay, - dofXpm.pixmap, - win, - mainGC, - 0, - loc_time->tm_wday * 6, - 13, - 7, - 1, - 1 - ); - XCopyArea( - mainDisplay, - digitsXpm.pixmap, - win, - mainGC, - 0, - (loc_time->tm_mday / 10) * 7, - 7, - 8, - 1, - state.total_size.y - 9 - ); - XCopyArea( - mainDisplay, - digitsXpm.pixmap, - win, - mainGC, - 0, - (loc_time->tm_mday % 10) * 7, - 7, - 8, - 8, - state.total_size.y - 9 - ); - XCopyArea( - mainDisplay, - monthsXpm.pixmap, - win, - mainGC, - 0, - loc_time->tm_mon * 6, - 19, - 7, - 18, - state.total_size.y - 8 - ); - /* The year won't fit in smaller displays */ - if (state.total_size.x > 51) { - XCopyArea( - mainDisplay, - digitsXpm.pixmap, - win, - mainGC, - 0, - (loc_time->tm_year % 100 / 10) * 7, - 7, - 8, - 38, - state.total_size.y - 9 - ); - XCopyArea( - mainDisplay, - digitsXpm.pixmap, - win, - mainGC, - 0, - (loc_time->tm_year % 10) * 7, - 7, - 8, - 45, - state.total_size.y - 9 - ); - } - } -#ifdef DEBUG - mainGCV.foreground = pix[2]; - XChangeGC( - mainDisplay, - mainGC, - GCForeground, - &mainGCV - ); - XDrawLine( - mainDisplay, - win, - mainGC, - center.x - watch_size.x, - center.y - watch_size.y, - center.x + watch_size.x, - center.y - watch_size.y - ); - XDrawLine( - mainDisplay, - win, - mainGC, - center.x + watch_size.x, - center.y - watch_size.y, - center.x + watch_size.x, - center.y + watch_size.y - ); - XDrawLine( - mainDisplay, - win, - mainGC, - center.x + watch_size.x, - center.y + watch_size.y, - center.x - watch_size.x, - center.y + watch_size.y - ); - XDrawLine( - mainDisplay, - win, - mainGC, - center.x - watch_size.x, - center.y + watch_size.y, - center.x - watch_size.x, - center.y - watch_size.y - ); -#endif - /* draw sunrise and sunset */ - if (state.twentyfour && state.sunriset) { - draw_sunriset(win, loc_time, - state.lon, state.lat, night_pix, onight_pix, SUNRISET_SIZE, - DARKNESS); - draw_sunriset(win, loc_time, - state.lon, state.lat, astro_pix, oastro_pix, SUNRISET_SIZE, - ASTRO_TWILIGHT); - draw_sunriset(win, loc_time, - state.lon, state.lat, naut_pix, onaut_pix, SUNRISET_SIZE, - NAUT_TWILIGHT); - draw_sunriset(win, loc_time, - state.lon, state.lat, civil_pix, ocivil_pix, SUNRISET_SIZE, - CIVIL_TWILIGHT); - draw_sunriset(win, loc_time, - state.lon, state.lat, day_pix, oday_pix, SUNRISET_SIZE, - SUNRISESET); - } - /* draw filled polygonal hands */ - for (i = 2; i >= 0; i--) { - if ((i == 0) && (state.draw_seconds == 0)) - break; - - if (state.hprop[i][HFILL]) { - mainGCV.foreground = pix[i + 6]; - XChangeGC( - mainDisplay, - mainGC, - GCForeground | GCLineWidth, - &mainGCV - ); - - XFillPolygon(mainDisplay, - win, - mainGC, - hand[i], - 3, - Convex, - CoordModeOrigin); - } - /* draw line-rendered hands */ - if (state.hprop[i][HCLINE]) { - mainGCV.foreground = pix[i]; - - if ((i == 0) && state.thin_seconds) { - mainGCV.line_width = 1; - } else { - /* scale line thickness by window size */ - mainGCV.line_width = (int) rint((1.0 + (0.5 * (double) i)) - * (((watch_size.x + watch_size.y) / 2.0) - * (state.hthick / 100.0))); - } - - XChangeGC( - mainDisplay, - mainGC, - GCForeground | GCLineWidth, - &mainGCV - ); - XDrawLine( - mainDisplay, - win, - mainGC, - lines[i].x1, - lines[i].y1, - lines[i].x2, - lines[i].y2 - ); - } - /* draw outlines of hands */ - if (state.hprop[i][HOLINE]) { - mainGCV.foreground = pix[i + 3]; - mainGCV.line_width = (int) rint((1.0 + (0.5 * (double) i)) - * (((watch_size.x + watch_size.y) / 2.0) - * (state.othick / 1000.0))); - XChangeGC( - mainDisplay, - mainGC, - GCForeground | GCLineWidth, - &mainGCV - ); - XDrawLines(mainDisplay, win, mainGC, hand[i], 4, CoordModeOrigin); - - } - } - - if (state.show_label) { - mainGCV.foreground = label_pix; - XChangeGC( - mainDisplay, - mainGC, - GCForeground, - &mainGCV - ); - XDrawString( - mainDisplay, - win, - mainGC, - label_x, - label_y, - state.label, - (int) strlen(state.label) - ); - } -} - -float convert2x(float tim) -{ - return cosf(((float) M_PI) * (((tim - 15.0f)) * 6.0f) / 180.0f); -} - -float convert2y(float tim) -{ - return sinf(((float) M_PI) * (((tim - 15.0f)) * 6.0f) / 180.0f); -} - -short hour_to_deg64(unsigned short hour) -{ - assert(hour < 24); - int result = 0; - if (state.twentyfour) { - result = (hour * 960) % 23040; - } else { - result = (hour * 1920) % 23040; - } - return (short) result; -} - -inline short min_to_deg64(unsigned short min) -{ - assert(min < 60); - int result = min * 384; - return (short) result; -} - -short sec_to_deg64(unsigned short sec) -{ - assert(sec <= 60); - int result = sec * 384; - return (short) result; -} - -float hwidth[3]; -float hlength[3]; -float hback[3]; -float hscale; - -/* calculate some rendering constants */ -void constants(void) -{ - hscale = (state.hthick / 4.0f); - - hwidth[0] = 0.02f * hscale; - hwidth[1] = 0.05f * hscale; - hwidth[2] = 0.07f * hscale; - - hlength[0] = 1.0f; - hlength[1] = 0.9f; - hlength[2] = 0.6f; - hback[0] = 0.02f; - hback[1] = 0.05f; - hback[2] = 0.07f; - - if (state.float_seconds) - hback[0] = -0.8f; -} - - - -/* calculate rendering parameters for hands */ -void calculate_hands(void) -{ - int i; - float xrate[3], yrate[3]; - - loc_time = localtime(&curTime); - if (state.shift) { - loc_time->tm_hour += state.shift; - while (loc_time->tm_hour > 23) - loc_time->tm_hour %= 24; - while (loc_time->tm_hour < 0) - loc_time->tm_hour += 24; - } - - if (state.counterclockwise) { - loc_time->tm_sec = 60 - loc_time->tm_sec; - loc_time->tm_min = 60 - loc_time->tm_min; - loc_time->tm_hour = 24 - loc_time->tm_hour; - } - - /* seconds */ - xrate[0] = convert2x((float) loc_time->tm_sec); - yrate[0] = convert2y((float) loc_time->tm_sec); - - /* minutes */ - xrate[1] = convert2x((float) (loc_time->tm_min - + (float) (loc_time->tm_sec) / 60.0)); - yrate[1] = convert2y((float) (loc_time->tm_min - + (float) (loc_time->tm_sec) / 60.0)); - - /* hours */ - if (state.twentyfour) { - xrate[2] = -convert2x((((float) loc_time->tm_hour) * 2.5f) - + ((float) (loc_time->tm_min) / 24.0f) - + ((float) (loc_time->tm_sec) / 1440.0f)); - yrate[2] = -convert2y((((float) loc_time->tm_hour) * 2.5f) - + ((float) (loc_time->tm_min) / 24.0f) - + ((float) (loc_time->tm_sec) / 1440.0f)); - } else { - xrate[2] = convert2x((float) ((loc_time->tm_hour % 12) * 5) - + ((float) (loc_time->tm_min) / 12.0f) - + ((float) (loc_time->tm_sec) / 720.0f)); - yrate[2] = convert2y((float) ((loc_time->tm_hour % 12) * 5) - + ((float) (loc_time->tm_min) / 12.0f) - + ((float) (loc_time->tm_sec) / 720.0f)); - } - - for (i = 0; i < 3; i++) { - lines[i].x1 = center.x - (int) rintf(hback[i] * ((float) watch_size.x) * xrate[i]); - lines[i].y1 = center.y - (int) rintf(hback[i] * ((float) watch_size.y) * yrate[i]); - lines[i].x2 = (int) rintf(hlength[i] * ((float) watch_size.x) * xrate[i]) + center.x; - lines[i].y2 = (int) rintf(hlength[i] * ((float) watch_size.y) * yrate[i]) + center.y; - -#ifdef DEBUG - if (i == 0) { - printf("%d hour = %d %d -> %d %d, xrate = %f, yrate = %f\n", - loc_time->tm_hour, lines[2].x1, lines[2].y1, - lines[2].x2, lines[2].y2, xrate[2], yrate[2]); - } -#endif - - /* generate polygons */ - hand[i][0].x = (short) (rintf((hwidth[i] * (float) watch_size.x) * yrate[i]) + (float) center.x - - rintf(hback[i] * ((float) watch_size.x) * xrate[i])); - hand[i][0].y = (short) (rintf((hwidth[i] * (float) watch_size.y) * (-xrate[i])) + (float) center.y - - rintf(hback[i] * ((float) watch_size.y) * yrate[i])); - hand[i][1].x = (short) (rintf((hwidth[i] * (float) watch_size.x) * (-yrate[i])) + (float) center.x - - rintf(hback[i] * ((float) watch_size.x) * xrate[i])); - hand[i][1].y = (short) (rintf((hwidth[i] * (float) watch_size.y) * xrate[i]) + (float) center.y - - rintf(hback[i] * ((float) watch_size.y) * yrate[i])); - hand[i][2].x = (short) lines[i].x2; - hand[i][2].y = (short) lines[i].y2; - hand[i][3].x = hand[i][0].x; - hand[i][3].y = hand[i][0].y; - } -} - -/* - * Calculate and redraw the lines corresponding to the - * time. - */ -void refresh(void) -{ - constants(); - calculate_hands(); - draw_window(drawWindow); - ++update_request; -} - -/* - * This function clears up all X related - * stuff and exits. It is called in case - * of emergencies too. - */ -void x_cleanup(void) -{ - if (mainDisplay) { - XCloseDisplay(mainDisplay); - } - exit(0); -} - -/* - * This checks for X11 events. We distinguish the following: - * - request to repaint the window - * - request to quit (Close button) - */ -void CheckX11Events(void) -{ - XEvent Event; - while (XPending(mainDisplay)) { - XNextEvent(mainDisplay, &Event); - switch (Event.type) { - case Expose: -#ifdef DEBUG - printf("Expose event caught: (%d %d) (%d x %d)\n", - ((XExposeEvent *) & Event)->x, - ((XExposeEvent *) & Event)->y, - ((XExposeEvent *) & Event)->width, - ((XExposeEvent *) & Event)->height); -#endif - if (Event.xexpose.count == 0) { - ++update_request; - } - break; - case ButtonPress: - { - int status = system(state.program_name); - if (status == -1) { - fprintf(stderr, "could not start program %s on mouse click.\n", state.program_name); - } - } - break; - case ClientMessage: - if ((Event.xclient.message_type == wm_protocols) - && (Event.xclient.data.l[0] == (long) wm_delete_window)) { -#ifdef DEBUG - printf("caught wm_delete_window, closing\n"); -#endif - x_cleanup(); - } - break; - default: - break; - } - } -} - -/* - * Flush the changes that were done in the hidden window - * onto the visible windows. - */ -void redraw(void) -{ - XCopyArea(mainDisplay, - drawWindow, - mainWindow, - mainGC, - 0, 0, - (unsigned int) state.total_size.x, - (unsigned int) state.total_size.y, - 0, 0); - - XCopyArea(mainDisplay, - drawWindow, - iconWindow, - mainGC, - 0, 0, - (unsigned int) state.total_size.x, - (unsigned int) state.total_size.y, - 0, 0); - - update_request = 0; -} - -/* - * This routine checks if the current time is equal to the time - * specified in the configuration file and executes the given - * command. - */ -void croncheck(void) -{ - int i; - - for (i = 0; i < state.nprogs; i++) { - if (loc_time->tm_hour == state.PInf[i]->time[0]) { - if (loc_time->tm_min == state.PInf[i]->time[1]) { - if (loc_time->tm_sec == state.PInf[i]->time[2]) { - if (!state.PInf[i]->done) { - state.PInf[i]->done = 1; - int status = system(state.PInf[i]->name); - if (status == -1) { - fprintf(stderr, "could not start %s on periodic activation.\n", state.PInf[i]->name); - } - } - } else { - state.PInf[i]->done = 0; - } - } - } - } -} - -/* - * This function triggers checks for updates of the clock - * every second and checks if any X11 events were passed - * to us. If one of the functions triggers the flag an - * update is flushed to the screen. - */ -void update(void) -{ - curTime = time(0); - - if ( curTime != last_time ) { - time_t time_diff = curTime - last_time; - assert(time_diff < INT_MAX); - assert(INT_MIN < time_diff); - if ( abs((int) time_diff) >= state.update_interval) { - last_time = curTime; - refresh(); - } - if (state.cron_program) - croncheck(); - } - - CheckX11Events(); - if (update_request) { - redraw(); - } -} - -/* - * Draw those little points every 5 secs on the background pixmap - * that usually are marked 1,2,3,4,5,6,7 etc. - * And those triangles that mark 3,6,9,12 o'clock - */ -void draw_dial(void) -{ - double base_size; - XPoint coord; - GC neonGC; - neonGC = XCreateGC(mainDisplay, - mainWindow, - GCForeground | GCLineWidth, - &mainGCV); - - base_size = log((watch_size.x + watch_size.y) / 64); - - XSetLineAttributes(mainDisplay, neonGC, - (unsigned int) (rint(2.0 * (((watch_size.x + watch_size.y) / 2.0) - * (state.othick / 1000.0)))), - LineSolid, CapNotLast, JoinMiter); - - for (int i = 0; i < 120; i++) { - int size; - /* three hours */ - if (state.twentyfour ? i % 15 == 0 : i % 30 == 0) { - XSetForeground(mainDisplay, mainGC, pix[8]); - XSetForeground(mainDisplay, neonGC, pix[5]); - size = (int) rint(fmax(base_size * 5, 6)); - coord.x = (short) (center.x + ((int) rint((((double) watch_size.x) + 1.0) - * convert2x(((float) i) / 2.0f)))); - coord.y = (short) (center.y + ((int) rint((watch_size.y + 1.0) - * convert2y(((float) i) / 2.0f)))); - if (state.hprop[PHOUR][HFILL]) { - FillTriangle(mainDisplay, - backgroundWindow, - mainGC, - coord.x, - coord.y, - (unsigned short) size, - (unsigned short) rint(0.5 * size), - sec_to_deg64((unsigned short) (60.0 - ((double) i) / 2.0))); - } - if (state.hprop[PHOUR][HOLINE]) { - DrawTriangle(mainDisplay, - backgroundWindow, - neonGC, - coord.x, - coord.y, - (unsigned short) size, - (unsigned short) rint(0.5 * size), - sec_to_deg64((unsigned short) (60 - i / 2))); - } - /* hours */ - } else if (state.twentyfour ? i % 5 == 0 : i % 10 == 0) { - XSetForeground(mainDisplay, mainGC, pix[7]); - XSetForeground(mainDisplay, neonGC, pix[4]); - size = (int) rint(base_size * 2.0); - coord.x = (short) (((double) center.x) + rint((((double) watch_size.x) + 1.0) - * convert2x(((float) i) / 2.0f))); - coord.y = (short) (((double) center.y) + rint((((double) watch_size.y) + 1.0) - * convert2y(((float) i) / 2.0f))); - if (size <= 1) { - XDrawPoint(mainDisplay, backgroundWindow, neonGC, - coord.x, coord.y); - } else { - if (state.hprop[PHOUR][HFILL]) { - FillTopCircle(mainDisplay, - backgroundWindow, - mainGC, - coord.x, - coord.y, - (unsigned int) size / 2, - sec_to_deg64((unsigned short) (((double) i) / 2.0))); - } - if (state.hprop[PHOUR][HOLINE]) { - DrawTopCircle(mainDisplay, - backgroundWindow, - neonGC, - coord.x, - coord.y, - (unsigned int) size / 2, - sec_to_deg64((unsigned short) (((double) i) / 2.0))); - } - } - /* seconds */ - } else if (i % 2 == 0) { - if (state.tprop == 2) { - XSetForeground(mainDisplay, mainGC, pix[6]); - XSetForeground(mainDisplay, neonGC, pix[3]); - coord.x = (short) (((double) center.x) + rint((watch_size.x + 1) - * (double) convert2x(((float) i) / 2.0f))); - coord.y = (short) (((double) center.y) + rint((watch_size.y + 1) - * ((double) convert2y(((float) i) / 2.0f)))); - XDrawPoint(mainDisplay, backgroundWindow, neonGC, - coord.x, coord.y); - } else { - continue; - } - } else { - continue; - } - } - XFreeGC(mainDisplay, neonGC); -} - -void initialize(int argc, char **argv, - char *window_name, - char *display_name, - char *mainGeometry, - int withdrawn, - int iconic, - int pushed_in, - int no_border) -{ - int screen; - Status status; - XWindowAttributes winAttr; - XSizeHints SizeHints; - XTextProperty title; - XClassHint classHint; - int gravity; - XWMHints WmHints; - XEvent Event; - int color_depth; - Pixel tmp_pix; - int x_negative = 0; - int y_negative = 0; - int label_w = 0; - int label_h = 0; - - mainDisplay = XOpenDisplay(display_name); - if (!mainDisplay) { - printf("astime : grrrr... can't open display %s. Sorry ...\n", - XDisplayName(display_name)); - exit(1); - } - screen = DefaultScreen(mainDisplay); - Root = RootWindow(mainDisplay, screen); - back_pix = GetColor(state.bgcolor, mainDisplay, Root); - fore_pix = GetColor(state.fgcolor, mainDisplay, Root); - - if (state.neon) { - char tmp_day[50]; - char tmp_night[50]; - - safecopy(tmp_day, DarkenCharColor(state.sunrisetday, 1.5, mainDisplay, Root), 50); - safecopy(tmp_night, DarkenCharColor(state.sunrisetnight, 1.5, mainDisplay, Root), 50); - - day_pix = GetColor(tmp_day, mainDisplay, Root); - night_pix = GetColor(tmp_night, mainDisplay, Root); - astro_pix = GetColor(MixCharColors(tmp_day, tmp_night, .25, - mainDisplay, Root), - mainDisplay, Root); - naut_pix = GetColor(MixCharColors(tmp_day, tmp_night, .5, - mainDisplay, Root), - mainDisplay, Root); - civil_pix = GetColor(MixCharColors(tmp_day, tmp_night, .75, - mainDisplay, Root), - mainDisplay, Root); - oday_pix = GetColor(state.sunrisetday, mainDisplay, Root); - onight_pix = GetColor(state.sunrisetnight, mainDisplay, Root); - oastro_pix = MixColors(state.sunrisetday, - state.sunrisetnight, .25, mainDisplay, Root); - onaut_pix = MixColors(state.sunrisetday, - state.sunrisetnight, .5, mainDisplay, Root); - ocivil_pix = MixColors(state.sunrisetday, - state.sunrisetnight, .75, mainDisplay, Root); - - } else { - char tmp_day[50]; - char tmp_night[50]; - - safecopy(tmp_day, LightenCharColor(state.sunrisetday, 1.5, mainDisplay, Root), 50); - safecopy(tmp_night, LightenCharColor(state.sunrisetnight, 1.5, mainDisplay, Root), 50); - day_pix = GetColor(state.sunrisetday, mainDisplay, Root); - night_pix = GetColor(state.sunrisetnight, mainDisplay, Root); - astro_pix = MixColors(state.sunrisetday, - state.sunrisetnight, .25, mainDisplay, Root); - naut_pix = MixColors(state.sunrisetday, - state.sunrisetnight, .5, mainDisplay, Root); - civil_pix = MixColors(state.sunrisetday, - state.sunrisetnight, .75, mainDisplay, Root); - oday_pix = GetColor(tmp_day, mainDisplay, Root); - onight_pix = GetColor(tmp_night, mainDisplay, Root); - oastro_pix = GetColor(MixCharColors(tmp_day, tmp_night, .25, - mainDisplay, Root), - mainDisplay, Root); - onaut_pix = GetColor(MixCharColors(tmp_day, tmp_night, .5, - mainDisplay, Root), - mainDisplay, Root); - ocivil_pix = GetColor(MixCharColors(tmp_day, tmp_night, .75, - mainDisplay, Root), - mainDisplay, Root); - } - color_depth = DefaultDepth(mainDisplay, screen); -#ifdef DEBUG - printf("astime : detected color depth %d bpp, using %d bpp\n", - color_depth, color_depth); -#endif - /* Set up the font for the label */ - if ( state.show_label ) { - label_fnstruct = XLoadQueryFont( mainDisplay, state.font_name ); - if ( ! label_fnstruct ) { - printf("astime : failed to load font %s\n", - state.font_name); - printf("astime : warning : the label will not be drawn\n"); - state.show_label = 0; - } else { - label_font = label_fnstruct->fid; - label_w = XTextWidth( - label_fnstruct, - state.label, - (int) strlen(state.label) - ); - label_h = label_fnstruct->max_bounds.ascent + - label_fnstruct->max_bounds.descent; -#ifdef DEBUG - printf("astime : loaded font %s\n", state.font_name); - printf("astime : label width is %d, height is %d [label \"%s\"]\n", - label_w, label_h, state.label); -#endif - } - } - - if (strlen(mainGeometry)) { - /* Check the user-specified size */ - int result = XParseGeometry(mainGeometry, - &SizeHints.x, - &SizeHints.y, - (unsigned int *) &SizeHints.width, - (unsigned int *) &SizeHints.height); - if (result & WidthValue) { - state.total_size.x = SizeHints.width; - } - if (result & HeightValue) { - state.total_size.y = SizeHints.height; - } - if (result & XNegative) - x_negative = 1; - if (result & YNegative) - y_negative = 1; -#ifdef DEBUG - printf("User size: %d x %d position: %d %d (negative %d %d)\n", - state.total_size.x, state.total_size.y, - SizeHints.x, SizeHints.y, x_negative, y_negative); -#endif - } - /* adjust the coordinate/size for the date */ - if (state.draw_date) { - center.x = state.total_size.x / 2; - center.y = state.total_size.y / 2 - 4; - watch_size.x = center.x - 3; - watch_size.y = state.total_size.y / 2 - 7; - } else { - center.x = state.total_size.x / 2; - center.y = state.total_size.y / 2; - watch_size.x = center.x - 3; - watch_size.y = center.y - 3; - } - /* adjust the coordinates/size for the label */ - if ( state.show_label ) { - if ( state.label_top ) - center.y += label_h/2 + 1; - else - center.y -= label_h/2; - watch_size.y -= label_h/2 + 1; - label_x = state.total_size.x / 2 - label_w / 2; - if ( state.label_top ) - label_y = label_h; - else { - if ( state.draw_date ) - label_y = state.total_size.y - 10; - else - label_y = state.total_size.y - 3; - } - } - - /* The day-of-week pixmap */ - sprintf(dof_pixmap_color[0], "c c %s", state.bgcolor); - sprintf(dof_pixmap_color[1], "l c %s", state.daycolor); - dof[1] = dof_pixmap_color[0]; - dof[2] = dof_pixmap_color[1]; - dofXpm.attributes.valuemask |= (XpmReturnPixels | XpmReturnExtensions); -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wcast-qual" - status = XpmCreatePixmapFromData( - mainDisplay, /* display */ - Root, /* window */ - (char **) dof, /* xpm */ - &dofXpm.pixmap, /* resulting pixmap */ - &dofXpm.mask, - &dofXpm.attributes); -#pragma GCC diagnostic pop - if (status != XpmSuccess) { - printf("astime : (%d) not enough free color cells for day_of_week.\n", status); - x_cleanup(); - } - /* The AM/PM pixmap */ - sprintf(ampm_pixmap_color[0], "c c %s", state.bgcolor); - sprintf(ampm_pixmap_color[1], "l c %s", state.ampmcolor); - ampm[1] = ampm_pixmap_color[0]; - ampm[2] = ampm_pixmap_color[1]; - ampmXpm.attributes.valuemask |= (XpmReturnPixels | XpmReturnExtensions); -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wcast-qual" - status = XpmCreatePixmapFromData( - mainDisplay, /* display */ - Root, /* window */ - (char **) ampm, /* xpm */ - &mXpm.pixmap, /* resulting pixmap */ - &mXpm.mask, - &mXpm.attributes); -#pragma GCC diagnostic pop - if (status != XpmSuccess) { - printf("astime : (%d) not enough free color cells for AM/PM indicator.\n", status); - x_cleanup(); - } - /* The digits pixmap */ - sprintf(digits_pixmap_color[0], "c c %s", state.bgcolor); - sprintf(digits_pixmap_color[1], ". c %s", state.datecolor); - digits[1] = digits_pixmap_color[0]; - digits[2] = digits_pixmap_color[1]; - digitsXpm.attributes.valuemask |= - (XpmReturnPixels | XpmReturnExtensions); -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wcast-qual" - status = XpmCreatePixmapFromData( - mainDisplay, /* display */ - Root, /* window */ - (char **) digits, /* xpm */ - &digitsXpm.pixmap, /* resulting pixmap */ - &digitsXpm.mask, - &digitsXpm.attributes); -#pragma GCC diagnostic pop - if (status != XpmSuccess) { - printf("astime : (%d) not enough free color cells for digits.\n", status); - x_cleanup(); - } - /* The months pixmap */ - sprintf(months_pixmap_color[0], ". c %s", state.bgcolor); - sprintf(months_pixmap_color[1], "o c %s", state.datecolor); - months[1] = months_pixmap_color[0]; - months[2] = months_pixmap_color[1]; - monthsXpm.attributes.valuemask |= - (XpmReturnPixels | XpmReturnExtensions); -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wcast-qual" - status = XpmCreatePixmapFromData( - mainDisplay, /* display */ - Root, /* window */ - (char **) months, /* xpm */ - &monthsXpm.pixmap, /* resulting pixmap */ - &monthsXpm.mask, - &monthsXpm.attributes); -#pragma GCC diagnostic pop - if (status != XpmSuccess) { - printf("astime : (%d) not enough free color cells for months.\n", status); - x_cleanup(); - } - SizeHints.flags = USSize | USPosition; - SizeHints.x = 0; - SizeHints.y = 0; - SizeHints.min_width = - SizeHints.max_width = - SizeHints.width = state.total_size.x; - SizeHints.min_height = - SizeHints.max_height = - SizeHints.height = state.total_size.y; - SizeHints.flags |= PMinSize | PMaxSize; - /* - * The forth parameter is the window border width. - * Set to 0 it makes astime look really queer in - * AS when using -0-0 geometry. I have no idea why. - * When the border is 1, everything is fine, but - * the window is off by 1, of course. - * It is probably a bug in AS. - */ - XWMGeometry(mainDisplay, screen, mainGeometry, NULL, 0, - &SizeHints, &SizeHints.x, &SizeHints.y, - &SizeHints.width, &SizeHints.height, &gravity); -#ifdef DEBUG - printf("SizeHints were: %d x %d, setting to %d x %d, position %d %d\n", - SizeHints.width, SizeHints.height, - state.total_size.x, state.total_size.y, - SizeHints.x, SizeHints.y); -#endif - - /* Correct the offsets if the X/Y are negative */ - SizeHints.win_gravity = NorthWestGravity; - if (x_negative) { - SizeHints.win_gravity = NorthEastGravity; - } - if (y_negative) { - if (x_negative) - SizeHints.win_gravity = SouthEastGravity; - else - SizeHints.win_gravity = SouthWestGravity; - } - SizeHints.flags |= PWinGravity; - - backgroundWindow = XCreatePixmap( - mainDisplay, - Root, - (unsigned int) state.total_size.x, - (unsigned int) state.total_size.y, - (unsigned int) color_depth - ); - - drawWindow = XCreatePixmap( - mainDisplay, /* display */ - Root, /* parent */ - (unsigned int) state.total_size.x, /* width */ - (unsigned int) state.total_size.y, /* height */ - (unsigned int) color_depth /* color depth */ - ); - - mainWindow = XCreateSimpleWindow( - mainDisplay, /* display */ - Root, /* parent */ - SizeHints.x, /* x */ - SizeHints.y, /* y */ - (unsigned int) SizeHints.width, /* width */ - (unsigned int) SizeHints.height, /* height */ - 0, /* border_width */ - fore_pix, /* border */ - back_pix /* background */ - ); - - iconWindow = XCreateSimpleWindow( - mainDisplay, /* display */ - Root, /* parent */ - SizeHints.x, /* x */ - SizeHints.y, /* y */ - (unsigned int) SizeHints.width, /* width */ - (unsigned int) SizeHints.height, /* height */ - 0, /* border_width */ - fore_pix, /* border */ - back_pix /* background */ - ); - - XSetWMNormalHints(mainDisplay, mainWindow, &SizeHints); - XSetWMNormalHints(mainDisplay, iconWindow, &SizeHints); - status = XClearWindow(mainDisplay, mainWindow); - assert(status != BadMatch); - assert(status != BadWindow); - status = XClearWindow(mainDisplay, iconWindow); - assert(status != BadMatch); - assert(status != BadWindow); - - status = XGetWindowAttributes( - mainDisplay, /* display */ - mainWindow, /* window */ - &winAttr /* window_attributes_return */ - ); - assert(status != BadDrawable); - assert(status != BadWindow); -#ifdef DEBUG - printf("Window Attributes: %d x %d at %d %d border %d\n", - winAttr.width, winAttr.height, winAttr.x, winAttr.y, - winAttr.border_width); -#endif - - status = XStringListToTextProperty(&window_name, 1, &title); - assert(status != 0); - XSetWMName(mainDisplay, mainWindow, &title); - XSetWMName(mainDisplay, iconWindow, &title); - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wcast-qual" - classHint.res_name = (char *) "astime"; - classHint.res_class = (char *) "ASTIME"; -#pragma GCC diagnostic pop - XSetClassHint(mainDisplay, mainWindow, &classHint); - XStoreName(mainDisplay, mainWindow, window_name); - XSetIconName(mainDisplay, mainWindow, window_name); - - /* - * If the user did not specify a program to run - * we do not intercept mouse clicks in our window. - */ - if (state.run_program) - status = XSelectInput( - mainDisplay, /* display */ - mainWindow, /* window */ - ExposureMask | ButtonPressMask /* event_mask */ - ); - else - status = XSelectInput( - mainDisplay, /* display */ - mainWindow, /* window */ - ExposureMask /* event_mask */ - ); - - /* Make sure WindowMaker users can click happily away ... */ - if ( withdrawn ) - status = XSelectInput( - mainDisplay, /* display */ - iconWindow, /* window */ - ExposureMask | ButtonPressMask /* event_mask */ - ); - else - status = XSelectInput( - mainDisplay, /* display */ - iconWindow, /* window */ - ExposureMask /* event_mask */ - ); - - /* Creating Graphics context */ - mainGCV.foreground = fore_pix; - mainGCV.background = back_pix; - mainGCV.graphics_exposures = False; - mainGCV.line_style = LineSolid; - mainGCV.fill_style = FillSolid; - mainGCV.line_width = 1; - if ( state.show_label ) { - mainGCV.font = label_font; - mainGC = XCreateGC(mainDisplay, - mainWindow, - GCForeground | GCBackground | GCLineWidth | - GCLineStyle | GCFillStyle | GCFont, - &mainGCV - ); - } else { - mainGC = XCreateGC(mainDisplay, - mainWindow, - GCForeground | GCBackground | GCLineWidth | - GCLineStyle | GCFillStyle, - &mainGCV - ); - } - - /* Draw the background */ - mainGCV.foreground = back_pix; - XChangeGC(mainDisplay, - mainGC, - GCForeground, - &mainGCV - ); - XFillRectangle(mainDisplay, - backgroundWindow, - mainGC, - 0, - 0, - (unsigned int) state.total_size.x, - (unsigned int) state.total_size.y - ); - - if (!no_border) { - - /* The shadow on the sides */ - if (pushed_in) { - tmp_pix = DarkenColor(state.bgcolor, 1.6f, mainDisplay, Root); - } else { - tmp_pix = LightenColor(state.bgcolor, 2.0f, mainDisplay, Root); - } - mainGCV.foreground = tmp_pix; - XChangeGC(mainDisplay, - mainGC, - GCForeground, - &mainGCV - ); - XDrawLine(mainDisplay, - backgroundWindow, - mainGC, - 0, - 0, - state.total_size.x - 1, - 0 - ); - XDrawLine(mainDisplay, - backgroundWindow, - mainGC, - 0, - 0, - 0, - state.total_size.y - 1 - ); - if (!pushed_in) { - tmp_pix = DarkenColor(state.bgcolor, 1.6f, mainDisplay, Root); - } else { - tmp_pix = LightenColor(state.bgcolor, 2.0f, mainDisplay, Root); - } - mainGCV.foreground = tmp_pix; - XChangeGC(mainDisplay, - mainGC, - GCForeground, - &mainGCV - ); - XDrawLine(mainDisplay, - backgroundWindow, - mainGC, - state.total_size.x - 1, - state.total_size.y, - state.total_size.x - 1, - 0 - ); - XDrawLine(mainDisplay, - backgroundWindow, - mainGC, - state.total_size.x, - state.total_size.y - 1, - 0, - state.total_size.y - 1 - ); - } - - /* Get colors */ - if (state.neon) { - pix[0] = DarkenColor(state.seccolor, 1.8f, mainDisplay, Root); - pix[1] = DarkenColor(state.mincolor, 1.8f, mainDisplay, Root); - pix[2] = DarkenColor(state.hourcolor, 1.8f, mainDisplay, Root); - } else { - pix[0] = GetColor(state.seccolor, mainDisplay, Root); - pix[1] = GetColor(state.mincolor, mainDisplay, Root); - pix[2] = GetColor(state.hourcolor, mainDisplay, Root); - } - - /* Get outline colors */ - if (state.neon) { - pix[3] = GetColor(state.seccolor, mainDisplay, Root); - pix[4] = GetColor(state.mincolor, mainDisplay, Root); - pix[5] = GetColor(state.hourcolor, mainDisplay, Root); - } else { - pix[3] = LightenColor(state.seccolor, 1.8f, mainDisplay, Root); - pix[4] = LightenColor(state.mincolor, 1.8f, mainDisplay, Root); - pix[5] = LightenColor(state.hourcolor, 1.8f, mainDisplay, Root); - } - - /* allow user to override outline colors */ - if (strcmp(state.secocolor, "<>")) - pix[3] = GetColor(state.secocolor, mainDisplay, Root); - if (strcmp(state.minocolor, "<>")) - pix[4] = GetColor(state.minocolor, mainDisplay, Root); - if (strcmp(state.hourocolor, "<>")) - pix[5] = GetColor(state.hourocolor, mainDisplay, Root); - - /* Get fill colors */ - pix[6] = pix[0]; - pix[7] = pix[1]; - pix[8] = pix[2]; - - /* allow user to override fill colors */ - if (strcmp(state.secfillcolor, "<>")) - pix[6] = GetColor(state.secfillcolor, mainDisplay, Root); - if (strcmp(state.minfillcolor, "<>")) - pix[7] = GetColor(state.minfillcolor, mainDisplay, Root); - if (strcmp(state.hourfillcolor, "<>")) - pix[8] = GetColor(state.hourfillcolor, mainDisplay, Root); - - /* Get the label color */ - label_pix = GetColor(state.label_color, mainDisplay, Root); - - /* Finish up the background (the dial) */ - if (state.tprop) { - draw_dial(); - } - status = XSetCommand(mainDisplay, mainWindow, argv, argc); - assert(status != 0); - - /* Set up the event for quitting the window */ - wm_delete_window = XInternAtom(mainDisplay, - "WM_DELETE_WINDOW", /* atom_name */ - False /* only_if_exists */ - ); - wm_protocols = XInternAtom(mainDisplay, - "WM_PROTOCOLS", /* atom_name */ - False /* only_if_exists */ - ); - status = XSetWMProtocols(mainDisplay, - mainWindow, - &wm_delete_window, - 1 - ); - assert(status != 0); - status = XSetWMProtocols(mainDisplay, - iconWindow, - &wm_delete_window, - 1 - ); - assert(status != 0); - - WmHints.flags = StateHint | IconWindowHint; - WmHints.initial_state = - withdrawn ? WithdrawnState : - iconic ? IconicState : NormalState; - WmHints.icon_window = iconWindow; - if (withdrawn) { - WmHints.window_group = mainWindow; - WmHints.flags |= WindowGroupHint; - } - if (iconic || withdrawn) { - WmHints.icon_x = SizeHints.x; - WmHints.icon_y = SizeHints.y; - WmHints.flags |= IconPositionHint; - } - XSetWMHints(mainDisplay, - mainWindow, - &WmHints); - - /* Finally show the window */ - status = XMapWindow(mainDisplay, mainWindow); - assert(status != BadWindow); - - /* try to read the time */ - curTime = time(0); - last_time = curTime; - refresh(); - - /* wait for the Expose event now */ - XNextEvent(mainDisplay, &Event); - /* We've got Expose -> draw the parts of the window. */ - redraw(); - XFlush(mainDisplay); -} diff --git a/01_git/src/safecopy.c b/01_git/src/safecopy.c deleted file mode 100644 index 69a379248c1f51d62c7ce506cc3870e7b080ce92..0000000000000000000000000000000000000000 --- a/01_git/src/safecopy.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - * astime is an analogue clock utility for X Windows. - * - * Copyright (c) 1998-2000 Albert Dorofeev <albert@tigr.net> - * - * For the updates see http://www.tigr.net/afterstep/as-apps/ - * - * This software is distributed under GPL. For details see LICENSE file. - */ -#include "safecopy.h" - -#include <string.h> - -/* - * Copies at most maxlen-1 characters from the source. - * Makes sure that the destination string is zero-terminated. - */ -char *safecopy(char *dest, const char *src, size_t maxlen) -{ - /* safety precaution */ - dest[maxlen-1] = 0; - return strlen(src) < maxlen ? - strcpy(dest, src) : - strncpy(dest, src, maxlen-1); -} - diff --git a/01_git/src/sunriset.c b/01_git/src/sunriset.c deleted file mode 100644 index 64c8ce309dd8bea3047377caf753711f2e8c33fb..0000000000000000000000000000000000000000 --- a/01_git/src/sunriset.c +++ /dev/null @@ -1,465 +0,0 @@ -/* +++Date last modified: 05-Jul-1997 */ - -/* - -SUNRISET.C - computes Sun rise/set times, start/end of twilight, and - the length of the day at any date and latitude - -Written as DAYLEN.C, 1989-08-16 - -Modified to SUNRISET.C, 1992-12-01 - -(c) Paul Schlyter, 1989, 1992 - -Released to the public domain by Paul Schlyter, December 1992 - -Modified 2006 by Florian Franzmann - -*/ - -#include "sunriset.h" - -/* Function prototypes */ - -double __daylen__( int year, int month, int day, double lon, double lat, - double altit, int upper_limb ); -int __sunriset__( int year, int month, int day, double lon, double lat, - double altit, int upper_limb, double *rise, double *set ); -void sunpos( double d, double *lon, double *r ); -void sun_RA_dec( double d, double *RA, double *dec, double *r ); -double revolution( double x ); -double rev180( double x ); -double GMST0( double d ); - -/* A small test program */ -/* -main() -{ - int year,month,day; - double lon, lat; - double daylen, civlen, nautlen, astrlen; - double rise, set, civ_start, civ_end, naut_start, naut_end, - astr_start, astr_end; - int rs, civ, naut, astr; - char buf[80]; - - printf( "Longitude (+ is east) and latitude (+ is north) : " ); - fgets(buf, 80, stdin); - sscanf(buf, "%lf %lf", &lon, &lat ); - - for(;;) - { - printf( "Input date ( yyyy mm dd ) (ctrl-C exits): " ); - fgets(buf, 80, stdin); - sscanf(buf, "%d %d %d", &year, &month, &day ); - - daylen = day_length(year,month,day,lon,lat); - civlen = day_civil_twilight_length(year,month,day,lon,lat); - nautlen = day_nautical_twilight_length(year,month,day,lon,lat); - astrlen = day_astronomical_twilight_length(year,month,day, - lon,lat); - - printf( "Day length: %5.2f hours\n", daylen ); - printf( "With civil twilight %5.2f hours\n", civlen ); - printf( "With nautical twilight %5.2f hours\n", nautlen ); - printf( "With astronomical twilight %5.2f hours\n", astrlen ); - printf( "Length of twilight: civil %5.2f hours\n", - (civlen-daylen)/2.0); - printf( " nautical %5.2f hours\n", - (nautlen-daylen)/2.0); - printf( " astronomical %5.2f hours\n", - (astrlen-daylen)/2.0); - - rs = sun_rise_set ( year, month, day, lon, lat, - &rise, &set ); - civ = civil_twilight ( year, month, day, lon, lat, - &civ_start, &civ_end ); - naut = nautical_twilight ( year, month, day, lon, lat, - &naut_start, &naut_end ); - astr = astronomical_twilight( year, month, day, lon, lat, - &astr_start, &astr_end ); - - printf( "Sun at south %5.2fh UT\n", (rise+set)/2.0 ); - - switch( rs ) - { - case 0: - printf( "Sun rises %5.2fh UT, sets %5.2fh UT\n", - rise, set ); - break; - case +1: - printf( "Sun above horizon\n" ); - break; - case -1: - printf( "Sun below horizon\n" ); - break; - } - - switch( civ ) - { - case 0: - printf( "Civil twilight starts %5.2fh, " - "ends %5.2fh UT\n", civ_start, civ_end ); - break; - case +1: - printf( "Never darker than civil twilight\n" ); - break; - case -1: - printf( "Never as bright as civil twilight\n" ); - break; - } - - switch( naut ) - { - case 0: - printf( "Nautical twilight starts %5.2fh, " - "ends %5.2fh UT\n", naut_start, naut_end ); - break; - case +1: - printf( "Never darker than nautical twilight\n" ); - break; - case -1: - printf( "Never as bright as nautical twilight\n" ); - break; - } - - switch( astr ) - { - case 0: - printf( "Astronomical twilight starts %5.2fh, " - "ends %5.2fh UT\n", astr_start, astr_end ); - break; - case +1: - printf( "Never darker than astronomical twilight\n" ); - break; - case -1: - printf( "Never as bright as astronomical twilight\n" ); - break; - } - return 0; - } -} -*/ - -/* The "workhorse" function for sun rise/set times */ - -int __sunriset__( int year, int month, int day, double lon, double lat, - double altit, int upper_limb, double *trise, double *tset ) -/***************************************************************************/ -/* Note: year,month,date = calendar date, 1801-2099 only. */ -/* Eastern longitude positive, Western longitude negative */ -/* Northern latitude positive, Southern latitude negative */ -/* The longitude value IS critical in this function! */ -/* altit = the altitude which the Sun should cross */ -/* Set to -35/60 degrees for rise/set, -6 degrees */ -/* for civil, -12 degrees for nautical and -18 */ -/* degrees for astronomical twilight. */ -/* upper_limb: non-zero -> upper limb, zero -> center */ -/* Set to non-zero (e.g. 1) when computing rise/set */ -/* times, and to zero when computing start/end of */ -/* twilight. */ -/* *rise = where to store the rise time */ -/* *set = where to store the set time */ -/* Both times are relative to the specified altitude, */ -/* and thus this function can be used to compute */ -/* various twilight times, as well as rise/set times */ -/* Return value: 0 = sun rises/sets this day, times stored at */ -/* *trise and *tset. */ -/* +1 = sun above the specified "horizon" 24 hours. */ -/* *trise set to time when the sun is at south, */ -/* minus 12 hours while *tset is set to the south */ -/* time plus 12 hours. "Day" length = 24 hours */ -/* -1 = sun is below the specified "horizon" 24 hours */ -/* "Day" length = 0 hours, *trise and *tset are */ -/* both set to the time when the sun is at south. */ -/* */ -/**********************************************************************/ -{ - double d, /* Days since 2000 Jan 0.0 (negative before) */ - sr, /* Solar distance, astronomical units */ - sRA, /* Sun's Right Ascension */ - sdec, /* Sun's declination */ - sradius, /* Sun's apparent radius */ - t, /* Diurnal arc */ - tsouth, /* Time when Sun is at south */ - sidtime; /* Local sidereal time */ - - int rc = 0; /* Return cde from function - usually 0 */ - - /* Compute d of 12h local mean solar time */ - d = ((double) days_since_2000_Jan_0(year,month,day)) + 0.5 - lon/360.0; - - /* Compute local sidereal time of this moment */ - sidtime = revolution( GMST0(d) + 180.0 + lon ); - - /* Compute Sun's RA + Decl at this moment */ - sun_RA_dec( d, &sRA, &sdec, &sr ); - - /* Compute time when Sun is at south - in hours UT */ - tsouth = 12.0 - rev180(sidtime - sRA)/15.0; - - /* Compute the Sun's apparent radius, degrees */ - sradius = 0.2666 / sr; - - /* Do correction to upper limb, if necessary */ - if ( upper_limb ) - altit -= sradius; - - /* Compute the diurnal arc that the Sun traverses to reach */ - /* the specified altitude altit: */ - { - double cost; - cost = ( sind(altit) - sind(lat) * sind(sdec) ) / - ( cosd(lat) * cosd(sdec) ); - if ( cost >= 1.0 ) - rc = -1, t = 0.0; /* Sun always below altit */ - else if ( cost <= -1.0 ) - rc = +1, t = 12.0; /* Sun always above altit */ - else - t = acosd(cost)/15.0; /* The diurnal arc, hours */ - } - - /* Store rise and set times - in hours UT */ - *trise = tsouth - t; - *tset = tsouth + t; - - return rc; -} /* __sunriset__ */ - - - -/* The "workhorse" function */ - - -double __daylen__( int year, int month, int day, double lon, double lat, - double altit, int upper_limb ) -/**********************************************************************/ -/* Note: year,month,date = calendar date, 1801-2099 only. */ -/* Eastern longitude positive, Western longitude negative */ -/* Northern latitude positive, Southern latitude negative */ -/* The longitude value is not critical. Set it to the correct */ -/* longitude if you're picky, otherwise set to to, say, 0.0 */ -/* The latitude however IS critical - be sure to get it correct */ -/* altit = the altitude which the Sun should cross */ -/* Set to -35/60 degrees for rise/set, -6 degrees */ -/* for civil, -12 degrees for nautical and -18 */ -/* degrees for astronomical twilight. */ -/* upper_limb: non-zero -> upper limb, zero -> center */ -/* Set to non-zero (e.g. 1) when computing day length */ -/* and to zero when computing day+twilight length. */ -/**********************************************************************/ -{ - double d, /* Days since 2000 Jan 0.0 (negative before) */ - obl_ecl, /* Obliquity (inclination) of Earth's axis */ - sr, /* Solar distance, astronomical units */ - slon, /* True solar longitude */ - sin_sdecl, /* Sine of Sun's declination */ - cos_sdecl, /* Cosine of Sun's declination */ - sradius, /* Sun's apparent radius */ - t; /* Diurnal arc */ - - /* Compute d of 12h local mean solar time */ - d = ((double) days_since_2000_Jan_0(year,month,day)) + 0.5 - lon/360.0; - - /* Compute obliquity of ecliptic (inclination of Earth's axis) */ - obl_ecl = 23.4393 - 3.563E-7 * d; - - /* Compute Sun's position */ - sunpos( d, &slon, &sr ); - - /* Compute sine and cosine of Sun's declination */ - sin_sdecl = sind(obl_ecl) * sind(slon); - cos_sdecl = sqrt( 1.0 - sin_sdecl * sin_sdecl ); - - /* Compute the Sun's apparent radius, degrees */ - sradius = 0.2666 / sr; - - /* Do correction to upper limb, if necessary */ - if ( upper_limb ) - altit -= sradius; - - /* Compute the diurnal arc that the Sun traverses to reach */ - /* the specified altitude altit: */ - { - double cost; - cost = ( sind(altit) - sind(lat) * sin_sdecl ) / - ( cosd(lat) * cos_sdecl ); - if ( cost >= 1.0 ) - t = 0.0; /* Sun always below altit */ - else if ( cost <= -1.0 ) - t = 24.0; /* Sun always above altit */ - else t = (2.0/15.0) * acosd(cost); /* The diurnal arc, hours */ - } - return t; -} /* __daylen__ */ - - -/* This function computes the Sun's position at any instant */ - -void sunpos( double d, double *lon, double *r ) -/******************************************************/ -/* Computes the Sun's ecliptic longitude and distance */ -/* at an instant given in d, number of days since */ -/* 2000 Jan 0.0. The Sun's ecliptic latitude is not */ -/* computed, since it's always very near 0. */ -/******************************************************/ -{ - double M, /* Mean anomaly of the Sun */ - w, /* Mean longitude of perihelion */ - /* Note: Sun's mean longitude = M + w */ - e, /* Eccentricity of Earth's orbit */ - E, /* Eccentric anomaly */ - x, y, /* x, y coordinates in orbit */ - v; /* True anomaly */ - - /* Compute mean elements */ - M = revolution( 356.0470 + 0.9856002585 * d ); - w = 282.9404 + 4.70935E-5 * d; - e = 0.016709 - 1.151E-9 * d; - - /* Compute true longitude and radius vector */ - E = M + e * RADEG * sind(M) * ( 1.0 + e * cosd(M) ); - x = cosd(E) - e; - y = sqrt( 1.0 - e*e ) * sind(E); - *r = sqrt( x*x + y*y ); /* Solar distance */ - v = atan2d( y, x ); /* True anomaly */ - *lon = v + w; /* True solar longitude */ - if ( *lon >= 360.0 ) - *lon -= 360.0; /* Make it 0..360 degrees */ -} - -void sun_RA_dec( double d, double *RA, double *dec, double *r ) -{ - double lon, obl_ecl, x, y, z; - - /* Compute Sun's ecliptical coordinates */ - sunpos( d, &lon, r ); - - /* Compute ecliptic rectangular coordinates (z=0) */ - x = *r * cosd(lon); - y = *r * sind(lon); - - /* Compute obliquity of ecliptic (inclination of Earth's axis) */ - obl_ecl = 23.4393 - 3.563E-7 * d; - - /* Convert to equatorial rectangular coordinates - x is unchanged */ - z = y * sind(obl_ecl); - y = y * cosd(obl_ecl); - - /* Convert to spherical coordinates */ - *RA = atan2d( y, x ); - *dec = atan2d( z, sqrt(x*x + y*y) ); - -} /* sun_RA_dec */ - - -/******************************************************************/ -/* This function reduces any angle to within the first revolution */ -/* by subtracting or adding even multiples of 360.0 until the */ -/* result is >= 0.0 and < 360.0 */ -/******************************************************************/ - -#define INV360 ( 1.0 / 360.0 ) - -double revolution( double x ) -/*****************************************/ -/* Reduce angle to within 0..360 degrees */ -/*****************************************/ -{ - return( x - 360.0 * floor( x * INV360 ) ); -} /* revolution */ - -double rev180( double x ) -/*********************************************/ -/* Reduce angle to within +180..+180 degrees */ -/*********************************************/ -{ - return( x - 360.0 * floor( x * INV360 + 0.5 ) ); -} /* revolution */ - - -/*******************************************************************/ -/* This function computes GMST0, the Greenwich Mean Sidereal Time */ -/* at 0h UT (i.e. the sidereal time at the Greenwhich meridian at */ -/* 0h UT). GMST is then the sidereal time at Greenwich at any */ -/* time of the day. I've generalized GMST0 as well, and define it */ -/* as: GMST0 = GMST - UT -- this allows GMST0 to be computed at */ -/* other times than 0h UT as well. While this sounds somewhat */ -/* contradictory, it is very practical: instead of computing */ -/* GMST like: */ -/* */ -/* GMST = (GMST0) + UT * (366.2422/365.2422) */ -/* */ -/* where (GMST0) is the GMST last time UT was 0 hours, one simply */ -/* computes: */ -/* */ -/* GMST = GMST0 + UT */ -/* */ -/* where GMST0 is the GMST "at 0h UT" but at the current moment! */ -/* Defined in this way, GMST0 will increase with about 4 min a */ -/* day. It also happens that GMST0 (in degrees, 1 hr = 15 degr) */ -/* is equal to the Sun's mean longitude plus/minus 180 degrees! */ -/* (if we neglect aberration, which amounts to 20 seconds of arc */ -/* or 1.33 seconds of time) */ -/* */ -/*******************************************************************/ - -double GMST0( double d ) -{ - double sidtim0; - /* Sidtime at 0h UT = L (Sun's mean longitude) + 180.0 degr */ - /* L = M + w, as defined in sunpos(). Since I'm too lazy to */ - /* add these numbers, I'll let the C compiler do it for me. */ - /* Any decent C compiler will add the constants at compile */ - /* time, imposing no runtime or code overhead. */ - sidtim0 = revolution( ( 180.0 + 356.0470 + 282.9404 ) + - ( 0.9856002585 + 4.70935E-5 ) * d ); - return sidtim0; -} /* GMST0 */ - -double day_length(int year, int month, int day, double lon, double lat) -{ - return __daylen__(year, month, day, lon, lat, -35.0/60.0, 1); -} - -double day_civil_twilight_length(int year, int month, int day, - double lon, double lat) -{ - return __daylen__(year, month, day, lon, lat, -6.0, 0); -} - -double day_nautical_twilight_length(int year, int month, int day, - double lon, double lat) -{ - return __daylen__(year, month, day, lon, lat, -12.0, 0); -} - -double day_astronomical_twilight_length(int year, int month, int day, - double lon, double lat) -{ - return __daylen__(year, month, day, lon, lat, -18.0, 0); -} - -int sun_rise_set(int year, int month, int day, double lon, - double lat, double *rise, double *set) -{ - return __sunriset__(year, month, day, lon, lat, -35.0/60.0, 1, rise, set); -} - -int civil_twilight(int year, int month, int day, double lon, - double lat, double *start, double *end) -{ - return __sunriset__(year, month, day, lon, lat, -6.0, 0, start, end); -} - -int nautical_twilight(int year, int month, int day, double lon, - double lat, double *start, double *end) -{ - return __sunriset__(year, month, day, lon, lat, -12.0, 0, start, end); -} - -int astronomical_twilight(int year, int month, int day, double lon, - double lat, double *start, double *end) -{ - return __sunriset__(year, month, day, lon, lat, -18.0, 0, start, end); -} diff --git a/01_git/src/sunriset_test.c b/01_git/src/sunriset_test.c deleted file mode 100644 index 285821acc3d7a14d39e5fd838da0556990c8b5f3..0000000000000000000000000000000000000000 --- a/01_git/src/sunriset_test.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "sunriset.h" -#include <stdio.h> - -int main(char **argv, int argc) -{ - register int month, day; - int year; - - for (year = 2007; year <= 2007; year++) { - for (month = 6; month <= 8; month++) { - int max_day; - double rise, set; - - if (month == 1 || month == 3 || month == 5 || - month == 7 || month == 8 || month == 10 || month == 12) { - max_day = 31; - } else if (month == 2) { - max_day = 29; - } else { - max_day = 30; - } - for (day = 1; day <= max_day; day++) { - astronomical_twilight(year, month, day, 49, 11, &rise, &set); - rise += 1; - set += 1; - printf("%d-%d-%d %lf %lf\n", year, month, day, rise, set); - } - } - } - return 0; -} diff --git a/01_git/src/x_color.c b/01_git/src/x_color.c deleted file mode 100644 index 23206d941ba8267593c5cbf2bfd19d83dfc2b185..0000000000000000000000000000000000000000 --- a/01_git/src/x_color.c +++ /dev/null @@ -1,182 +0,0 @@ -/* - * astime is an analogue clock utility for X Windows. - * - * Copyright (c) 1998-2000 Albert Dorofeev <albert@tigr.net> - * - * For the updates see http://www.tigr.net/afterstep/as-apps/ - * - * This software is distributed under GPL. For details see LICENSE file. - */ -#include "x_color.h" -#include <stdio.h> - - - -/* - * Note: this function was originally taken out of ascd. - * - * It takes the given color, parses it in the context - * of the given window and returns a pixel of that color. - */ -Pixel GetColor(char *ColorName, Display * disp, Window win) -{ - XColor Color; - XWindowAttributes Attributes; - - XGetWindowAttributes(disp, win, &Attributes); - Color.pixel = 0; - - if (!XParseColor(disp, Attributes.colormap, ColorName, &Color)) - printf("astime: can't parse %s\n", ColorName); - else if (!XAllocColor(disp, Attributes.colormap, &Color)) - printf("astime: can't allocate %s\n", ColorName); - - return Color.pixel; -} - -/* - * Performs the same actions as GetColor but - * returns the complete XColor structure - */ -XColor ParseColor(char *ColorName, Display * disp, Window win) -{ - XColor Color; - XWindowAttributes Attributes; - - XGetWindowAttributes(disp, win, &Attributes); - Color.pixel = 0; - - if (!XParseColor(disp, Attributes.colormap, ColorName, &Color)) - printf("astime: can't parse %s\n", ColorName); - else if (!XAllocColor(disp, Attributes.colormap, &Color)) - printf("astime: can't allocate %s\n", ColorName); - - return Color; -} - -static char tmp_char[50]; - -/* - * darkens the given color using the supplied rate - */ -char *DarkenCharColor(char *ColorName, float rate, Display * disp, Window win) -{ - XColor tmp_color; -#ifdef DEBUG - printf("darkening %s ->", ColorName); -#endif - tmp_color = ParseColor(ColorName, disp, win); -#ifdef DEBUG - printf(" #%x %x %x ", tmp_color.red, tmp_color.green, tmp_color.blue); -#endif - tmp_color.red = (unsigned short) (((float) tmp_color.red) / 257.0f / rate); - tmp_color.green = (unsigned short) (((float) tmp_color.green) / 257.0f / rate); - tmp_color.blue = (unsigned short) (((float) tmp_color.blue) / 257.0f / rate); - sprintf(tmp_char, "#%.2x%.2x%.2x", - (int) tmp_color.red, - (int) tmp_color.green, - (int) tmp_color.blue); -#ifdef DEBUG - printf("-> %s\n", tmp_char); -#endif - return tmp_char; -} - -/* - * darkens the given color using the supplied rate - */ -Pixel DarkenColor(char *ColorName, float rate, Display * disp, Window win) -{ - return GetColor( DarkenCharColor(ColorName, rate, disp, win), - disp, win); -} - -/* - * brightens the given color using the supplied rate - */ -char *LightenCharColor(char *ColorName, float rate, Display * disp, Window win) -{ - XColor tmp_color; -#ifdef DEBUG - printf("lightening %s ->", ColorName); -#endif - tmp_color = ParseColor(ColorName, disp, win); -#ifdef DEBUG - printf(" #%x %x %x ", tmp_color.red, tmp_color.green, tmp_color.blue); -#endif - tmp_color.red = (unsigned short) (((float) tmp_color.red) / 257.0f * rate); - tmp_color.green = (unsigned short) (((float) tmp_color.green) / 257.0f * rate); - tmp_color.blue = (unsigned short) (((float) tmp_color.blue) / 257.0f * rate); - if (tmp_color.red > 255) - tmp_color.red = 255; - if (tmp_color.green > 255) - tmp_color.green = 255; - if (tmp_color.blue > 255) - tmp_color.blue = 255; - sprintf(tmp_char, "#%.2x%.2x%.2x", - (int) tmp_color.red, - (int) tmp_color.green, - (int) tmp_color.blue); -#ifdef DEBUG - printf("-> %s\n", tmp_char); -#endif - return tmp_char; -} - -/* - * brightens the given color using the supplied rate - */ -Pixel LightenColor(char *ColorName, float rate, Display * disp, Window win) -{ - return GetColor( LightenCharColor(ColorName, rate, disp, win), - disp, win); -} - -/* - * mix the given colors using the supplied rate - */ -char *MixCharColors(char *Color1Name, char *Color2Name, float rate, - Display * disp, Window win) -{ - XColor tmp_color1; - XColor tmp_color2; -#ifdef DEBUG - printf("mixing %s with %s ->", Color1Name, Color2Name); -#endif - tmp_color1 = ParseColor(Color1Name, disp, win); - tmp_color2 = ParseColor(Color2Name, disp, win); -#ifdef DEBUG - printf(" #%x %x %x ", tmp_color1.red, tmp_color1.green, tmp_color1.blue); - printf(" #%x %x %x ", tmp_color2.red, tmp_color2.green, tmp_color2.blue); -#endif - tmp_color1.red = (unsigned short) ((((float) tmp_color1.red) * rate - + ((float) tmp_color2.red) * (1.0f - rate)) / 257.0f); - tmp_color1.green = (unsigned short) ((((float) tmp_color1.green) * rate - + ((float) tmp_color2.green) * (1.0f - rate)) / 257.0f); - tmp_color1.blue = (unsigned short) ((((float) tmp_color1.blue) * rate - + ((float) tmp_color2.blue) * (1.0f - rate)) / 257.0f); - if (tmp_color1.red > 255) - tmp_color1.red = 255; - if (tmp_color1.green > 255) - tmp_color1.green = 255; - if (tmp_color1.blue > 255) - tmp_color1.blue = 255; - sprintf(tmp_char, "#%.2x%.2x%.2x", - (int) tmp_color1.red, - (int) tmp_color1.green, - (int) tmp_color1.blue); -#ifdef DEBUG - printf("-> %s\n", tmp_char); -#endif - return tmp_char; -} - -/* - * mix the given colors using the supplied rate - */ -Pixel MixColors(char *Color1Name, char *Color2Name, float rate, - Display * disp, Window win) -{ - return GetColor(MixCharColors(Color1Name, Color2Name, rate, disp, win), - disp, win); -} diff --git a/01_git/src/x_primitives.c b/01_git/src/x_primitives.c deleted file mode 100644 index 5fd74553122fa8c049648eaedbcae1d4f5b240f7..0000000000000000000000000000000000000000 --- a/01_git/src/x_primitives.c +++ /dev/null @@ -1,130 +0,0 @@ -/* - * This software is distributed under GPL. For details see LICENSE file. - */ - -#include <X11/Xlib.h> -#include <math.h> -#include <stdio.h> -#include <assert.h> -#include "x_primitives.h" - -/* - * XPoints *points: array of four points - */ - -void CalculateTriangleCoordinates(XPoint *points, short x, short y, - unsigned short width, unsigned short height, short angle); - -void RotateCoordinates(short *x, short *y, short center_x, short center_y, - short angle) -{ - double r_angle; - short x_coord, y_coord; - - r_angle = (angle / 64) * (M_PI / 180.0); - x_coord = (short) (x[0] - center_x); - y_coord = (short) (y[0] - center_y); - x[0] = (short) (center_x + (short) (rint(cos(r_angle) * ((double) x_coord) - + sin(r_angle) * (double) y_coord))); - y[0] = (short) (center_y + (short) (rint(-sin(r_angle) * ((double) x_coord) - + cos(r_angle) * (double) y_coord))); -} -void CalculateTriangleCoordinates(XPoint *points, short x, short y, - unsigned short width, unsigned short height, short angle) -{ - points[0].x = (short) (x - (width / 2)); - points[0].y = y; - points[1].x = (short) (x + (width / 2)); - points[1].y = y; - points[2].x = x; - points[2].y = (short) (y + height); - points[3].x = points[0].x; - points[3].y = points[0].y; - { - int i; - for (i = 0; i < 4; i++) { - RotateCoordinates(&(points[i].x), &(points[i].y), x, y, angle); - } - } -} - -int DrawTriangle(Display *display, Drawable d, GC gc, - short x, short y, unsigned short width, unsigned short height, - short angle) -{ - XPoint points[4]; - CalculateTriangleCoordinates(points, x, y, width, height, angle); - return XDrawLines(display, d, gc, points, 4, CoordModeOrigin); -} - -int FillTriangle(Display *display, Drawable d, GC gc, - short x, short y, unsigned short width, unsigned short height, - short angle) -{ - XPoint points[4]; - CalculateTriangleCoordinates(points, x, y, width, height, angle); - return XFillPolygon(display, d, gc, points, 4, Convex, CoordModeOrigin); -} -int DrawCenteredArc(Display *display, Drawable d, GC gc, - int x, int y, unsigned int width, unsigned int height, - int angle1, int angle2) -{ - assert(width > 0); - assert(height > 0); - int actual_x = x - (int) width; - int actual_y = y - (int) height; - unsigned int actual_width = 2 * width; - unsigned int actual_height = 2 * height; - - return XDrawArc(display, - d, - gc, - actual_x, actual_y, - actual_width, - actual_height, - angle1, - angle2); -} -int FillCenteredArc(Display *display, Drawable d, GC gc, - int x, int y, unsigned int width, unsigned int height, - int angle1, int angle2) -{ - assert(width > 0); - assert(height > 0); - int actual_x = x - (int) width; - int actual_y = y - (int) height; - unsigned int actual_width = 2 * width; - unsigned int actual_height = 2 * height; - - return XFillArc(display, - d, - gc, - actual_x, actual_y, - actual_width, - actual_height, - angle1, - angle2); -} -int DrawTopCircle(Display *display, Drawable d, GC gc, - int x, int y, unsigned int radius, int angle) -{ - short coord_x, coord_y; - double r_angle; - r_angle = (angle / 64) * (M_PI / 180.0); - coord_x = (short) (x - (int) radius * (int) (1.0 + sin(r_angle))); - coord_y = (short) (y - (int) radius * (int) (1.0 - cos(r_angle))); - return XDrawArc(display, d, gc, - coord_x, coord_y, 2 * radius, 2 * radius, 0, 360 * 64); -} -int FillTopCircle(Display *display, Drawable d, GC gc, - int x, int y, unsigned int radius, int angle) -{ - short coord_x, coord_y; - double r_angle; - r_angle = (angle / 64) * (M_PI / 180.0); - coord_x = (short) (rint(x - radius * (1 + sin(r_angle)))); - coord_y = (short) (rint(y - radius * (1 - cos(r_angle)))); - return XFillArc(display, d, gc, - coord_x, coord_y, 2 * radius, 2 * radius, 0, 360 * 64); -} - diff --git a/01_git/thick.astimerc b/01_git/thick.astimerc deleted file mode 100644 index 8a4b8514b08acf286e2651a991c33495225ffa6b..0000000000000000000000000000000000000000 --- a/01_git/thick.astimerc +++ /dev/null @@ -1,40 +0,0 @@ -geometry 120x120-0+0 - -background #303030 -foreground #999999 - -secondColor #000000 -minuteColor #20b2aa -hourColor #7766aa - -dayColor #7766aa -AMPMColor #7766aa -dateColor #7766aa - -drawSecondHand 1 -drawDayDate 0 -drawAMPM 0 -drawTicks 1 -drawAllTicks 0 -drawForeground 1 - -floatSeconds 0 -thinSeconds 1 -handThickness 15 -outThickness 5 - -fancyHands 0 -outlinedHands 0 -neonHands 0 - -execProg "xterm +sb -bg "#303030" -fg "#20b2aa" -geometry 80x50 -T top -n top -e top &" -withdrawn 0 -iconic 0 -standout 0 -shift 0 -title astime - -# the next three lines are commented out, so that we don't surprise you... ;) -#at 22:30:00 "xterm -bg red &" -#at 22:30:15 "xterm -bg green &" -#at 22:30:30 "xterm -bg blue &" diff --git a/02_filter/CMakeLists.txt b/02_filter/CMakeLists.txt deleted file mode 100644 index 5db8b5782e6203a26328910cd65b6f7c3dc507e6..0000000000000000000000000000000000000000 --- a/02_filter/CMakeLists.txt +++ /dev/null @@ -1,76 +0,0 @@ -Project(Filter) - -cmake_minimum_required(VERSION 2.8) - -# use the eCos support coming with CMake -# without this line CMake doesn't know how to build eCos applications -# all functions/macros coming from this file start with "ECOS_" - -INCLUDE(UseEcos) - -set(SCRIPT_DIR "$ENV{ECOS_REPOSITORY}/../tools/scripts") -set(CMAKE_MODULE_PATH ${SCRIPT_DIR}/.. ${PROJECT_SOURCE_DIR}/cmake) - -# cmake modules -# INCLUDE(doxygendocu) -INCLUDE(coloroutput) - -# add the ecos/install/include/ directory to the header search path -ECOS_ADD_INCLUDE_DIRECTORIES() -ECOS_USE_I386_ELF_TOOLS() - -set(COMMON_FLAGS "-nostartfiles -nostdlib -ffunction-sections -fdata-sections -fno-builtin -Wall -Wpointer-arith -Wundef -fdata-sections") -set(CMAKE_C_FLAGS "${COMMON_FLAGS}") -set(CMAKE_CXX_FLAGS "${COMMON_FLAGS} -fno-rtti -fno-exceptions -fno-unwind-tables -Woverloaded-virtual" ) - - -set(BOCHS_CPU_SPEED_MHZ 10) -# use ADD_DEFINITIONS() to add the definitions (or switches) you like -add_definitions("-g -DBOCHS_CPU_MHZ=${BOCHS_CPU_SPEED_MHZ}") - -set(LIBEZS_DIR "${PROJECT_SOURCE_DIR}/libEZS") -set(EZS_DRIVERS_DIR "${PROJECT_SOURCE_DIR}/drivers") - -include_directories( - ${LIBEZS_DIR}/include - ${EZS_DRIVERS_DIR}/include - include - ) - -set(LIBEZS_SOURCES - ${LIBEZS_DIR}/src/ezs_common.c - ${LIBEZS_DIR}/src/fixedpoint.c - ) - -set(HW_PLATFORM i386) - -set(DRIVERS_SOURCES - ${EZS_DRIVERS_DIR}/${HW_PLATFORM}/ezs_fb.c - ${EZS_DRIVERS_DIR}/${HW_PLATFORM}/ezs_tracer.cpp - ) - -set(SRC_DIR src) -set(APPLICATION_SOURCES ${SRC_DIR}/app.c) - -# this is one of the most important lines -# here you list all source files of your application -# you can mix C and C++ files as you like -# you can also add the header files here, but you don't have to -# you can use relative or absolute paths as you like -SET(SRC_LIST - ${APPLICATION_SOURCES} - ${LIBEZS_SOURCES} - ${DRIVERS_SOURCES} - ) - -set(TGT "filter") -# this is the most important line: -# tell CMake that we want to create an executable named "sampleapp" -# from the files listed in the variable SRC_LIST -ECOS_ADD_EXECUTABLE(${TGT} ${SRC_LIST}) - -add_definitions(-ggdb) - -add_subdirectory(emu) - -message(STATUS "${BoldGreen}[AUFGABE 2 (Filter)] execute `make run` to start application${ColourReset}") diff --git a/02_filter/Doxyfile.in b/02_filter/Doxyfile.in deleted file mode 100644 index e3d721099df94bba27729717afb50e4e6a32059f..0000000000000000000000000000000000000000 --- a/02_filter/Doxyfile.in +++ /dev/null @@ -1,1792 +0,0 @@ -# Doxyfile 1.8.1.2 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = @PROJECT_NAME@ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = "Echtzeitsysteme 2012" - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @DOXY_OUTPUT@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@ - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all -# comments according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you -# can mix doxygen, HTML, and XML commands with Markdown formatting. -# Disable only in case of backward compatibilities issues. - -MARKDOWN_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = NO - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = NO - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @CMAKE_SOURCE_DIR@ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = @DOXY_IGNORE@ - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = YES - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C, C++ and Fortran comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# style sheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of -# entries shown in the various tree structured indices initially; the user -# can expand and collapse entries dynamically later on. Doxygen will expand -# the tree to such a level that at most the specified number of entries are -# visible (unless a fully collapsed tree already exceeds this amount). -# So setting the number of entries 1 will produce a full collapsed tree by -# default. 0 is a special value representing an infinite number of entries -# and will result in a full expanded tree by default. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> -# Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> -# Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. - -DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. - -GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you may also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to -# the MathJax Content Delivery Network so you can quickly see the result without -# installing MathJax. -# However, it is strongly recommended to install a local -# copy of MathJax from http://www.mathjax.org before deployment. - -MATHJAX_RELPATH = http://www.mathjax.org/mathjax - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load style sheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. For each -# tag file the location of the external documentation should be added. The -# format of a tag file without this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths -# or URLs. Note that each tag file must have a unique name (where the name does -# NOT include the path). If a tag file is not located in the directory in which -# doxygen is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If the UML_LOOK tag is enabled, the fields and methods are shown inside -# the class node. If there are many fields or methods and many nodes the -# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS -# threshold limits the number of items for each type to make the size more -# managable. Set this to 0 for no limit. Note that the threshold may be -# exceeded by 50% before the limit is enforced. - -UML_LIMIT_NUM_FIELDS = 10 - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/02_filter/build/.gitkeep b/02_filter/build/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/02_filter/cmake/Doxyfile.in b/02_filter/cmake/Doxyfile.in deleted file mode 100644 index 10846197cadc72ae5dcdb9eb5be67bb48ede64f0..0000000000000000000000000000000000000000 --- a/02_filter/cmake/Doxyfile.in +++ /dev/null @@ -1,1757 +0,0 @@ -# Doxyfile 1.7.5.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = @PROJECT_NAME@ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @PROJECT_VERSION@ - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @DOXY_OUTPUT@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@ - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. The create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @DOXY_INPUT_DIR@ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to directory from which doxygen is run. - -EXCLUDE = @DOXY_IGNORE@ - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = YES - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is adviced to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the stylesheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> -# Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> -# Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the -# mathjax.org site, so you can quickly see the result without installing -# MathJax, but it is strongly recommended to install a local copy of MathJax -# before deployment. - -MATHJAX_RELPATH = http://www.mathjax.org/mathjax - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = @DOXY_GENERATE_LATEX@ - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = @DOXY_USE_GRAPHVIZ@ - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = NO - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = YES - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = YES - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/02_filter/cmake/cccc.cmake b/02_filter/cmake/cccc.cmake deleted file mode 100644 index ea0af18350624a979a3e278d351094fedc57278e..0000000000000000000000000000000000000000 --- a/02_filter/cmake/cccc.cmake +++ /dev/null @@ -1,13 +0,0 @@ -find_program(CCCC_EXE "cccc") - -if(CCCC_EXE) - - message(STATUS "[CCCC] at ${CCCC_EXE}") - add_custom_target(cccc) - - add_custom_command(TARGET cccc POST_BUILD - COMMAND ${CCCC_EXE} - ) -else() - message(FATAL_ERROR "[CCCC] Could not find cccc executable") -endif() diff --git a/02_filter/cmake/coloroutput.cmake b/02_filter/cmake/coloroutput.cmake deleted file mode 100644 index 1280d32bd454884daeef7e6a35e446a43a8b9236..0000000000000000000000000000000000000000 --- a/02_filter/cmake/coloroutput.cmake +++ /dev/null @@ -1,20 +0,0 @@ -if(NOT WIN32) - string(ASCII 27 Esc) - set(ColourReset "${Esc}[m") - set(ColourBold "${Esc}[1m") - set(Red "${Esc}[31m") - set(Green "${Esc}[32m") - set(Yellow "${Esc}[33m") - set(Blue "${Esc}[34m") - set(Magenta "${Esc}[35m") - set(Cyan "${Esc}[36m") - set(White "${Esc}[37m") - set(BoldRed "${Esc}[1;31m") - set(BoldGreen "${Esc}[1;32m") - set(BoldYellow "${Esc}[1;33m") - set(BoldBlue "${Esc}[1;34m") - set(BoldMagenta "${Esc}[1;35m") - set(BoldCyan "${Esc}[1;36m") - set(BoldWhite "${Esc}[1;37m") -endif() - diff --git a/02_filter/cmake/compilerwarnings.cmake b/02_filter/cmake/compilerwarnings.cmake deleted file mode 100644 index e89c8c3b080d6d7350836a74ed6ae7a04427fd05..0000000000000000000000000000000000000000 --- a/02_filter/cmake/compilerwarnings.cmake +++ /dev/null @@ -1,56 +0,0 @@ -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Werror" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wall" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wextra" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -pedantic" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wcast-align" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wconversion" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wformat-nonliteral" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wformat-security" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Winit-self" ) - -if(CMAKE_C_COMPILER_ID STREQUAL "GNU") - message("-- gcc detected") - if(CMAKE_C_COMPILER_VERSION VERSION_GREATER "4.0.0") - message("-- gcc >= 4.0.0 detected") - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=pointer-to-int-cast" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=cast-qual" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=float-equal" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unknown-pragmas") - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=write-strings" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=switch-default" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=switch-enum" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-function") - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-macros" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-variable" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-parameter" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=shadow" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=missing-noreturn" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=packed" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unreachable-code" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-but-set-variable" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wlogical-op" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wmissing-include-dirs" ) - endif() -endif() -if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.0.0") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=overloaded-virtual" ) - endif() -endif() - -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wpointer-arith" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wundef" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wredundant-decls" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-inline" ) - -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNINGS_COMMONFLAGS}") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wstrict-prototypes") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wbad-function-cast") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wold-style-definition") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-prototypes") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-declarations") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wnested-externs") - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNINGS_COMMONFLAGS}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weffc++" ) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wold-style-cast" ) diff --git a/02_filter/cmake/cppcheck.cmake b/02_filter/cmake/cppcheck.cmake deleted file mode 100644 index 6c5f00597d1f1d9b77623a13595f1446018debb9..0000000000000000000000000000000000000000 --- a/02_filter/cmake/cppcheck.cmake +++ /dev/null @@ -1,13 +0,0 @@ -find_program(CPPCHECK_EXE "cppcheck") - -if(CPPCHECK_EXE) - - message(STATUS "[CPPCHECK] at ${CPPCHECK_EXE}") - add_custom_target(cppcheck) - - add_custom_command(TARGET cppcheck POST_BUILD - COMMAND ${CPPCHECK_EXE} --template=gcc -f --std=posix --std=c99 --std=c++11 --enable=all -i ${PROJECT_BINARY_DIR} -I ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR} - ) -else() - message(FATAL_ERROR "[CPPCHECK] Could not find cppcheck executable") -endif() diff --git a/02_filter/cmake/doxy.cmake b/02_filter/cmake/doxy.cmake deleted file mode 100644 index 4037ae09255fcb77f950894083d551b96bc2fe51..0000000000000000000000000000000000000000 --- a/02_filter/cmake/doxy.cmake +++ /dev/null @@ -1,31 +0,0 @@ - - FIND_PACKAGE(Doxygen) - - # set output path - set(DOXY_OUTPUT "doc") - set(DOXY_GENERATE_LATEX "NO") - set(DOXY_IGNORE "") - set(DOXY_INPUT_DIR "${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/src") - - if(DOXYGEN_DOT_FOUND) - set(DOXY_USE_GRAPHVIZ "YES" ) - message(STATUS "[DOXYGEN] Using graphviz to draw nice graphs.") - else(DOXYGEN_DOT_FOUND) - set(DOXY_USE_GRAPHVIY "NO" ) - message(STATUS "[DOXYGEN] GraphViz' Dot tool not found.") - endif(DOXYGEN_DOT_FOUND) - - if (NOT DOXYGEN_FOUND) - message(FATAL_ERROR - "Doxygen is needed to build the documentation. Please install it correctly") - endif() - ## Configure the Template Doxyfile for our specific project - configure_file(${PROJECT_SOURCE_DIR}/cmake/Doxyfile.in - ${PROJECT_BINARY_DIR}/Doxyfile @ONLY IMMEDIATE) - ## Add a custom target to run Doxygen (make doc) - add_custom_target ( doxy - COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile - SOURCES ${PROJECT_BINARY_DIR}/Doxyfile - COMMAND echo "HTML ouput at ${DOXY_OUTPUT}/html/index.html" - ) - diff --git a/02_filter/cmake/framac.cmake b/02_filter/cmake/framac.cmake deleted file mode 100644 index ecc49a14a3ae5d13a1f0be4086b9e554c1400dce..0000000000000000000000000000000000000000 --- a/02_filter/cmake/framac.cmake +++ /dev/null @@ -1,26 +0,0 @@ - -find_program(FRAMA_GUI_EXE "frama-c-gui") -find_program(FRAMA_EXE "frama-c") -find_program(WHY_EXE "why3ide") - -if(FRAMA_GUI_EXE) - add_custom_target(frama-c-gui) - message(STATUS "[FRAMA-C] at ${FRAMA_GUI_EXE}") - add_custom_command(TARGET frama-c-gui POST_BUILD - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - COMMAND ${FRAMA_GUI_EXE} -cpp-extra-args='-I ${PROJECT_SOURCE_DIR}/include' - ) -else() - message(FATAL_ERROR "[FRAMA-C] Could not find frama-c-gui executable") -endif() - -if(FRAMA_EXE AND WHY_EXE) - add_custom_target(jessie) - message(STATUS "[JESSIE] at ${FRAMA_EXE} and ${WHY_EXE}") - add_custom_command(TARGET jessie POST_BUILD - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - COMMAND ${FRAMA_EXE} -add-path /local/why-2.34/lib/frama-c-plugin -jessie -jessie-atp why3ide -cpp-extra-args='-I ${PROJECT_SOURCE_DIR}/include' - ) -else() - message(FATAL_ERROR "[JESSIE] Could not find frama-c or why3ide executable") -endif() diff --git a/02_filter/cmake/lcov.cmake b/02_filter/cmake/lcov.cmake deleted file mode 100644 index b4efe2f69ab1962a5e7dd39d6fa7a2aab98daf47..0000000000000000000000000000000000000000 --- a/02_filter/cmake/lcov.cmake +++ /dev/null @@ -1,51 +0,0 @@ - -find_program(LCOV_TOOL "lcov") -find_program(LCOV_HTML "genhtml") - -#This is very ugly but we need to have the oldest gcov to support llvm -find_program(GCOV_LEGACY "gcov-4.2" ) - -if(NOT GCOV_LEGACY) - find_program(GCOV_LEGACY "gcov-4.3" ) -endif() - -if(NOT GCOV_LEGACY) - find_program(GCOV_LEGACY "gcov-4.4" ) -endif() - -if(LCOV_TOOL AND LCOV_HTML) - - message(STATUS "[LCOV] lcov at ${LCOV_TOOL}") - message(STATUS "[LCOV] genhtml at ${LCOV_HTML}") - - if(NOT DEFINED "LCOV_OUTPUT_DIR") - set(LCOV_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/doc) - endif() - - if(NOT DEFINED "LCOV_SCAN_DIR") - set(LCOV_SCAN_DIR_FLAG --directory ${CMAKE_CURRENT_BINARY_DIR}/src) - endif() - - if(CMAKE_C_COMPILER_ID STREQUAL "Clang") - if(GCOV_LEGACY) - message(STATUS "[LCOV] lcov support for clang is rather buggy") - message(STATUS "[LCOV] using old gcov to support clang at ${GCOV_LEGACY}") - set(OPTION_GCOV_TOOL "--gcov-tool" "${GCOV_LEGACY}") - else() - message(WARNING "lcov won't work with clang") - set(OPTION_GCOV_TOOL "") - endif() - else() - set(OPTION_GCOV_TOOL "") - endif() - - add_custom_target(lcov) - - add_custom_command(TARGET lcov POST_BUILD - COMMAND ${LCOV_TOOL} ${OPTION_GCOV_TOOL} --capture ${LCOV_SCAN_DIR_FLAG} --output-file ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov - COMMAND ${LCOV_TOOL} --remove ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov '*.h' --output-file ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov - COMMAND ${LCOV_TOOL} --remove ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov '/usr/include/*' --output-file ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov - COMMAND ${LCOV_HTML} ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov --show-details --legend --output-directory ${LCOV_OUTPUT_DIR}/lcov - COMMAND echo "HTML results at: file://${LCOV_OUTPUT_DIR}/lcov/index.html" - ) -endif() diff --git a/02_filter/cmake/processorcount.cmake b/02_filter/cmake/processorcount.cmake deleted file mode 100644 index bc9b4d6de81b6695c8e79a06d9e00f413ac1737c..0000000000000000000000000000000000000000 --- a/02_filter/cmake/processorcount.cmake +++ /dev/null @@ -1,28 +0,0 @@ -if(NOT DEFINED PROCESSOR_COUNT) - # Unknown: - set(PROCESSOR_COUNT 0) - - # Linux: - set(cpuinfo_file "/proc/cpuinfo") - if(EXISTS "${cpuinfo_file}") - file(STRINGS "${cpuinfo_file}" procs REGEX "^processor.: [0-9]+$") - list(LENGTH procs PROCESSOR_COUNT) - endif() - - # Mac: - if(APPLE) - find_program(cmd_sys_pro "system_profiler") - if(cmd_sys_pro) - execute_process(COMMAND ${cmd_sys_pro} OUTPUT_VARIABLE info) - string(REGEX REPLACE "^.*Total Number Of Cores: ([0-9]+).*$" "\\1" - PROCESSOR_COUNT "${info}") - endif() - endif() - - # Windows: - if(WIN32) - set(PROCESSOR_COUNT "$ENV{NUMBER_OF_PROCESSORS}") - endif() -endif() - -message("-- Processor count: " ${PROCESSOR_COUNT}) diff --git a/02_filter/cmake/processorcount.cmake.orig b/02_filter/cmake/processorcount.cmake.orig deleted file mode 100644 index fc84863db9f212e3b01bfdc884555ebccf0e60c8..0000000000000000000000000000000000000000 --- a/02_filter/cmake/processorcount.cmake.orig +++ /dev/null @@ -1,32 +0,0 @@ -if(NOT DEFINED PROCESSOR_COUNT) - # Unknown: - set(PROCESSOR_COUNT 0) - - # Linux: - set(cpuinfo_file "/proc/cpuinfo") - if(EXISTS "${cpuinfo_file}") - file(STRINGS "${cpuinfo_file}" procs REGEX "^processor.: [0-9]+$") - list(LENGTH procs PROCESSOR_COUNT) - endif() - - # Mac: - if(APPLE) - find_program(cmd_sys_pro "system_profiler") - if(cmd_sys_pro) - execute_process(COMMAND ${cmd_sys_pro} OUTPUT_VARIABLE info) - string(REGEX REPLACE "^.*Total Number Of Cores: ([0-9]+).*$" "\\1" - PROCESSOR_COUNT "${info}") - endif() - endif() - - # Windows: - if(WIN32) - set(PROCESSOR_COUNT "$ENV{NUMBER_OF_PROCESSORS}") - endif() -endif() - -<<<<<<< HEAD -# message(STATUS "Processor count: " ${PROCESSOR_COUNT}) -======= -message("-- Processor count: " ${PROCESSOR_COUNT}) ->>>>>>> 4b581d83976a4aafa66d902c77f386be96261daa diff --git a/02_filter/cmake/sanitizer.cmake b/02_filter/cmake/sanitizer.cmake deleted file mode 100644 index dbeaafbabbfa9f891b9101a5ac201238434223e3..0000000000000000000000000000000000000000 --- a/02_filter/cmake/sanitizer.cmake +++ /dev/null @@ -1,7 +0,0 @@ -if(CMAKE_C_COMPILER_ID STREQUAL "GNU") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address,undefined,enum,null,shift,signed-integer-overflow,vla-bound") - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fsanitize=address,undefined,enum,null,shift,signed-integer-overflow,vla-bound") -elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address,integer,undefined,bounds,enum,float-cast-overflow,float-divide-by-zero,null,object-size,shift,signed-integer-overflow,vla-bound") - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fsanitize=address,integer,undefined,bounds,enum,float-cast-overflow,float-divide-by-zero,null,object-size,shift,signed-integer-overflow,vla-bound") -endif() diff --git a/02_filter/drivers/i386/ezs_counter.c b/02_filter/drivers/i386/ezs_counter.c deleted file mode 100644 index a7821ad786aa0ae810970ca610b71fe245d68d41..0000000000000000000000000000000000000000 --- a/02_filter/drivers/i386/ezs_counter.c +++ /dev/null @@ -1,138 +0,0 @@ -#define EZS_HPET_ADDR 0xFED00000 - -#include "ezs_counter.h" -#include <stdio.h> -#include <stdint.h> - -typedef struct hpetReg { - uint64_t GCAP_ID; /* General capabilities */ - uint64_t rsv1; - uint64_t GEN_CONF; /* General configuration */ - uint64_t rsv2; - uint64_t GINTR_STA; /* General Interrupt status */ - uint64_t rsv3[25]; - uint64_t MAIN_CNT; /* Main counter */ - uint64_t rsv4; - uint64_t TIM0_CONF; /* Timer 0 config and cap */ -#define TIM_CONF 0 -#define Tn_INT_ENB_CNF 4 - uint64_t TIM0_COMP; /* Timer 0 comparator */ -#define TIM_COMP 8 - uint64_t rsv5[2]; - uint64_t TIM1_CONF; /* Timer 1 config and cap */ - uint64_t TIM1_COMP; /* Timer 1 comparator */ - uint64_t rsv6[2]; - uint64_t TIM2_CONF; /* Timer 2 config and cap */ - uint64_t TIM2_COMP; /* Timer 2 comparator */ - uint64_t rsv7[2]; -} hpetReg; -typedef struct hpetReg hpetReg_t; - -volatile hpetReg_t *hpet = (volatile hpetReg_t *) EZS_HPET_ADDR; - -static uint64_t hpet_divisor = 0; -static uint32_t hpet_period = 0; -static bool use_hpet = true; - - -uint32_t ezs_hpet_period_fs(void) -{ - return hpet->GCAP_ID >> 32; -} - -bool ezs_hpet_init(void) -{ - uint64_t test = hpet->GCAP_ID; - uint64_t gcap = hpet->GCAP_ID; - - hpet_period = (gcap & 0xffffffff00000000ULL) >> 32; - - if( hpet_period > 0x5f5e100 ){ - use_hpet = false; - printf("HPET invalid, using Time Stamp Counter\n"); - return false; - } else { - use_hpet = true; - } - - uint8_t rev_id = gcap & 0xFF; - uint8_t num_timers = (gcap >> 8) & 0x1F; - uint8_t counter_size = (gcap >> 13) & 0x1; - uint16_t vendor_id = (gcap >> 16) & 0xFFFF; - - hpet_divisor = 1000000000ULL / hpet_period; // 10e9 fs == 1 us - - printf("HPET enabled\n"); - /* enable HPET */ - hpet->GEN_CONF = 0x1; -} - -uint64_t ezs_hpet_read(void) -{ - uint64_t cnt = hpet->MAIN_CNT; - //printf("CNT: 0x%llx\n", cnt); - return cnt; -} - -uint64_t ezs_hpet_resolution_us(void) -{ - return 1; -} - -uint64_t ezs_hpet_read_us(void) -{ - return ezs_hpet_read() / hpet_divisor; -} - -/* Timestamp counter implementation */ - -#ifndef BOCHS_CPU_MHZ -#error Bochs CPU Speed not defined -#endif - -static inline unsigned long long getticks(void) -{ - unsigned int lo, hi; - // RDTSC copies contents of 64-bit TSC into EDX:EAX - asm volatile("rdtsc" : "=a" (lo), "=d" (hi)); - return (unsigned long long)hi << 32 | lo; -} - -cyg_uint64 ezs_rdtsc_get_us(void) { - return getticks() / (BOCHS_CPU_MHZ); -} - -void ezs_tsc_init(void){ - printf("Using time stamp counter, cpu running @ %d MHz\n", BOCHS_CPU_MHZ); -} - -static volatile uint32_t FAILBOCHSID = 0; - -/* EZS API implementation */ -void ezs_counter_init(void) -{ - if (FAILBOCHSID == 42) { // We run in Fail* - ezs_tsc_init(); - use_hpet = false; - } else { // not in Fail* try using HPET - if ( ! ezs_hpet_init() ) { // HPET not accurate enough fall back to TSC - ezs_tsc_init(); - use_hpet = false; - } - } -} - - -cyg_uint64 ezs_counter_get(void) -{ - if(use_hpet){ - return ezs_hpet_read_us(); - } else { - return ezs_rdtsc_get_us(); - } -} - -cyg_uint64 ezs_counter_resolution_us(void) -{ - return ezs_hpet_resolution_us(); -} diff --git a/02_filter/drivers/i386/ezs_fb.c b/02_filter/drivers/i386/ezs_fb.c deleted file mode 100644 index 7bbebc3c9afd07fdcd02b0ebff213b406828a3fe..0000000000000000000000000000000000000000 --- a/02_filter/drivers/i386/ezs_fb.c +++ /dev/null @@ -1,88 +0,0 @@ -#include "ezs_fb.h" - -typedef struct { - int x; - int y; -} cursor_t; - -static cursor_t cursor; -void ezs_fb_init(void) -{ - CYG_FB_ON(FRAMEBUF); - CYG_FB_FILL_BLOCK(FRAMEBUF, 0, 0, FB_WIDTH, FB_HEIGHT, 0); - cursor.x = 0; - cursor.y = 0; -} - - -void ezs_fb_fill_block(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 width,cyg_ucount16 height,cyg_fb_colour color) -{ - CYG_FB_FILL_BLOCK(FRAMEBUF, x, y, width, height, color); -} - - -void ezs_fb_hline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, cyg_fb_colour color) -{ - CYG_FB_WRITE_HLINE(FRAMEBUF, x, y, len, color); -} - - -void ezs_fb_vline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, cyg_fb_colour color) -{ - - CYG_FB_WRITE_VLINE(FRAMEBUF, x, y, len, color); -} - -void ezs_fb_clear(cyg_fb_colour color) -{ - ezs_fb_fill_block(0, 0, FB_WIDTH, FB_HEIGHT, color); -} - - -void ezs_fb_print_char( int ch, cyg_ucount16 x, cyg_ucount16 y, cyg_fb_colour color){ - int i, j; - for (i = ch*8; i < (ch*8)+8; i++){ - unsigned char row = g_8x8_font[i]; - for (j = 0; j < 8; j++){ - if((row & (0x80 >> j)) != 0){ - ezs_fb_fill_block(x+j, y+(i-ch*8), 1, 1, color); - } - } - } - -} - -void ezs_fb_print_string(char*c, cyg_fb_colour color){ - ezs_fb_print_string_cur(c, cursor.x, cursor.y, color); -} - -void ezs_fb_print_string_cur(char* c, cyg_ucount16 x, cyg_ucount16 y, cyg_fb_colour color){ - char* ch = c; - - while(*ch != '\0'){ - if(*ch == '\n'){ - ezs_fb_newline(); - }else{ - ezs_fb_print_char((*ch)+0, x , y, color); - x = x+8; - if( x >= FB_WIDTH - 8){ - y += 8; - x = 0; - } - } - ch++; - } - cursor.x = x; - cursor.y = y; -} - -void ezs_fb_newline(void){ - cursor.x = 0; - cursor.y += 8; -} - -void ezs_fb_setpos(cyg_ucount16 x, cyg_ucount16 y){ - cursor.x = x; - cursor.y = y; -} - diff --git a/02_filter/drivers/i386/ezs_tracer.cpp b/02_filter/drivers/i386/ezs_tracer.cpp deleted file mode 100644 index 635b57af2cb30dbb956638bfeccf6e607ffabe20..0000000000000000000000000000000000000000 --- a/02_filter/drivers/i386/ezs_tracer.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include <pkgconf/system.h> -#include <cyg/io/io.h> -#include <cyg/error/codes.h> -#include <stdint.h> -#include <stdio.h> - -//! The magic tracer variable Fail* is listening on. -volatile unsigned ezs_tracer_register; - -//! No Time triggered kernel -> normal event triggered ecos: -#ifndef SMLPKG_TTKERNEL -#include <cyg/kernel/kernel.hxx> // C Kernel-API -extern "C" { -#include <cyg/kernel/kapi.h> // C Kernel-API -} -class Cyg_Thread; - - -extern "C" void ezs_instrument(Cyg_Thread* current, Cyg_Thread* next) { - // Get priority from next thread - int prio = next->get_priority(); - if(prio > 32) prio = 32; - - // Write priority to tracer register - ezs_tracer_register = prio; -} - -#else -#include <sml/ttkernel/task.hxx> -extern "C" void ezs_instrument(TT_Task* current, TT_Task* next){ - ezs_tracer_register = next->get_id(); -} -#endif - diff --git a/02_filter/drivers/include/.ezs_dma.h.swp b/02_filter/drivers/include/.ezs_dma.h.swp deleted file mode 100644 index 640555e92dabfa079b325fcd9e03119f70b196cd..0000000000000000000000000000000000000000 Binary files a/02_filter/drivers/include/.ezs_dma.h.swp and /dev/null differ diff --git a/02_filter/drivers/include/ezs_counter.h b/02_filter/drivers/include/ezs_counter.h deleted file mode 100644 index c436692e632bb45fbe589c91d0048112557a059e..0000000000000000000000000000000000000000 --- a/02_filter/drivers/include/ezs_counter.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef __COUNTER_H__ -#define __COUNTER_H__ -/** - * @file counter.h - * - * \ingroup hw - * @brief The libEZS counter API - * @author Martin Hoffmann - */ - -#include <cyg/infra/cyg_type.h> - -void ezs_counter_init(void); -/** - * \brief Read the current counter value from hardware counter. - * @return counter value (time resolution \see ezs_counter_resolution_us) - */ -cyg_uint64 ezs_counter_get(void); - -/** - * \brief Returns the current time resolution of the hardware counter. - * @return tick resolution in microseconds - */ -cyg_uint64 ezs_counter_resolution_us(void); -#endif diff --git a/02_filter/drivers/include/ezs_fb.h b/02_filter/drivers/include/ezs_fb.h deleted file mode 100644 index 123b949159f7a8d4b23c108e5326520807f94b44..0000000000000000000000000000000000000000 --- a/02_filter/drivers/include/ezs_fb.h +++ /dev/null @@ -1,108 +0,0 @@ -/*! - * @file ezs_fb.h - * @brief eCos framebuffer helper - * @author Martin Hoffmann - * \ingroup hw - * Some helper functions for the eCos framebuffer driver. - * \note You can still use the eCos functions directly, of course - * - */ - -#ifndef __FB_H_ -#define __FB_H_ - -#include <cyg/infra/cyg_type.h> -#include <cyg/infra/diag.h> -#include <cyg/hal/hal_arch.h> -#include <cyg/io/framebuf.h> -#include <string.h> -#include <stdio.h> - -#define FRAMEBUF fb0 -#define FB_WIDTH CYG_FB_WIDTH(FRAMEBUF) -#define FB_HEIGHT CYG_FB_HEIGHT(FRAMEBUF) - -#define FB_WHITE ((16*4)-1) - -#define FB_FONT_SMILE 1 - -/*! - * \brief Initialize the framebuffer - */ -void ezs_fb_init(void); - -/*! - * \brief Fill block. - * \param x X-Axis start position. - * \param y Y-Axis start position. - * \param width Width of the box. - * \param height Height of the box. - * \param color Color. - */ -void ezs_fb_fill_block(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 width,cyg_ucount16 height,cyg_fb_colour color); - -/*! - * \brief Draw horizontal line. - * \param x X-Axis start position. - * \param y Y-Axis start position. - * \param len length of the line. - * \param color Color. - */ -void ezs_fb_hline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, cyg_fb_colour color); - -/*! - * \brief Draw vertical line. - * \param x X-Axis start position. - * \param y Y-Axis start position. - * \param len length of the line. - * \param color Color. - */ -void ezs_fb_vline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, cyg_fb_colour color); - -/*! - * \brief Clear the framebuffer. - * \param color Color. - */ -void ezs_fb_clear(cyg_fb_colour color); - -/* and so on.. see: http://ecos.sourceware.org/docs-latest/ref/framebuf-drawing.html */ - -/*! - * \brief Prints a character at a given position. - * \param c Character to print. - * \param x X-Axis position. - * \param y Y-Axis position. - * \param color Color. - */ -void ezs_fb_print_char(int c, cyg_ucount16 x, cyg_ucount16 y, cyg_fb_colour color); - -/*! - * \brief Prints a string at a given position. - * \param c Pointer to null terminated string. - * \param x X-Axis position. - * \param y Y-Axis position. - * \param color Color. - */ -void ezs_fb_print_string_cur(char* c, cyg_ucount16 x, cyg_ucount16 y, cyg_fb_colour color); - -/*! - * \brief Prints a string. - * \param c Pointer to null terminated string. - * \param color String color. - */ -void ezs_fb_print_string(char* c, cyg_fb_colour color); - -/*! - * \brief Sets the cursor to a new line. - */ -void ezs_fb_newline(void); - -/*! - * \brief Sets the cursor to an arbitrary position. - * \param x X-axis position (0 .. FB_WIDTH) - * \param y Y-axis position (0 .. FB_HEIGHT) - */ -void ezs_fb_setpos(cyg_ucount16 x, cyg_ucount16 y); - -#endif - diff --git a/02_filter/ecos/ecos.ecc b/02_filter/ecos/ecos.ecc deleted file mode 100644 index c082748331184b069ceff13b6df14aefe80ee347..0000000000000000000000000000000000000000 --- a/02_filter/ecos/ecos.ecc +++ /dev/null @@ -1,12682 +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 pc_i82559 ; - template default ; - package -template CYGPKG_HAL current ; - package -template CYGPKG_IO current ; - package -template CYGPKG_IO_SERIAL current ; - package -template CYGPKG_INFRA current ; - package -template CYGPKG_MEMALLOC current ; - package -template CYGPKG_ISOINFRA current ; - package -template CYGPKG_LIBC current ; - package -template CYGPKG_LIBC_I18N current ; - package -template CYGPKG_LIBC_SETJMP current ; - package -template CYGPKG_LIBC_SIGNALS current ; - package -template CYGPKG_LIBC_STARTUP current ; - package -template CYGPKG_LIBC_STDIO current ; - package -template CYGPKG_LIBC_STDLIB current ; - package -template CYGPKG_LIBC_STRING current ; - package -template CYGPKG_LIBC_TIME current ; - package -template CYGPKG_LIBM current ; - package -template CYGPKG_IO_WALLCLOCK current ; - package -template CYGPKG_ERROR current ; - package -hardware CYGPKG_HAL_I386 current ; - package -hardware CYGPKG_HAL_I386_GENERIC current ; - package -hardware CYGPKG_HAL_I386_PC current ; - package -hardware CYGPKG_HAL_I386_PCMB current ; - package -hardware CYGPKG_IO_PCI current ; - package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X current ; - package -hardware CYGPKG_IO_SERIAL_I386_PC current ; - package -hardware CYGPKG_DEVS_ETH_INTEL_I82559 current ; - package -hardware CYGPKG_DEVS_ETH_I386_PC_I82559 current ; - package -hardware CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 current ; - package -hardware CYGPKG_DEVICES_WALLCLOCK_I386_PC current ; - package -hardware CYGPKG_DEVS_FRAMEBUF_I386 v3_0 ; - package CYGPKG_IO_FRAMEBUF current ; - package CYGPKG_IO_FILEIO current ; - package CYGPKG_BLOCK_LIB current ; - package CYGPKG_LINUX_COMPAT current ; - package CYGPKG_USTL current ; - package SMLPKG_TTKERNEL 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. If your host operating system -# is Linux you can set this to empty to use your native tools. -# If so, your native gcc must be gcc-2.95.2 or later, and -# "ld -v" must report a version more recent than 2.9.1. -# -cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { - # Flavor: data - user_value i386-elf - # value_source user - # Default value: i386-elf -}; - -# 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 "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - # value_source user - # Default value: CYGBLD_GLOBAL_WARNFLAGS . " -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - # CYGBLD_GLOBAL_WARNFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings " - # --> "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - - # 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 "-g -nostdlib -Wl,--gc-sections -Wl,-static" - # value_source default - # Default value: "-g -nostdlib -Wl,--gc-sections -Wl,-static" -}; - -# Build GDB stub loader image -# This option enables the building of the GDB stubs for the -# board. The common HAL controls takes care of most of the -# build process, but the final conversion from ELF image to -# binary data is handled by the platform CDL, allowing -# relocation of the data if necessary. -# -cdl_option CYGBLD_BUILD_GDB_STUBS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "GRUB" - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # --> 1 - # Requires: CYGSEM_HAL_ROM_MONITOR - # CYGSEM_HAL_ROM_MONITOR == 0 - # --> 0 - # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS - # CYGBLD_BUILD_COMMON_GDB_STUBS == 0 - # --> 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 1 - # --> 0 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 1 - # --> 0 -}; - -# Standard compiler warning flags -# This option specifies the default warning-related compiler flags used -# on all eCos platforms. -# -cdl_option CYGBLD_GLOBAL_WARNFLAGS { - # Calculated value: "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings " - # Flavor: data - # Current_value: -Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings - - # The following properties are affected by this value - # option CYGBLD_GLOBAL_CFLAGS - # DefaultValue: CYGBLD_GLOBAL_WARNFLAGS . " -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " -}; - -# Build common GDB stub ROM image -# Unless a target board has specific requirements to the -# stub implementation, it can use a simple common stub. -# This option, which gets enabled by platform HALs as -# appropriate, controls the building of the common stub. -# -cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS -}; - -# < -# Redboot HAL options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_HAL_OPTIONS { - # This option is not active - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT (unknown) == 0 - # --> 0 - - # There is no associated value. -}; - -# > -# Build RedBoot binary image -# -cdl_component CYGBLD_BUILD_REDBOOT_BIN { - # This option is not active - # The parent CYGPKG_REDBOOT_HAL_OPTIONS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Build Redboot FLOPPY binary image -# This option enables the conversion of the Redboot -# ELF image to a binary image suitable for -# copying to a floppy disk. -# -cdl_option CYGBLD_BUILD_REDBOOT_BIN_FLOPPY { - # This option is not active - # The parent CYGBLD_BUILD_REDBOOT_BIN is not active - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT - # CYGBLD_BUILD_REDBOOT (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYG_HAL_STARTUP == "FLOPPY" - # CYG_HAL_STARTUP == GRUB - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# 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_ROM { - # This option is not active - # The parent CYGBLD_BUILD_REDBOOT_BIN is not active - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT - # CYGBLD_BUILD_REDBOOT (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" - # CYG_HAL_STARTUP == GRUB - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# < -# < -# Intel 82559 ethernet driver -# Ethernet driver for Intel 82559 controller. -# -cdl_package CYGPKG_DEVS_ETH_INTEL_I82559 { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This option is not active - # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS - # CYGPKG_IO_ETH_DRIVERS (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED - # CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED == 0 - # --> 0 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# Prints ethernet device status info during startup -# Definining this will cause the ethernet device initialization code -# to print lots of info -# to confirm that it has found the devices on the PCI bus, read -# the MAC address from EEPROM correctly, and so on, and also -# displays the mode (10/100MHz, half/full duplex) of the -# connection. If the value is set higher than one then -# additional information about each packet sent will be printed. -# -cdl_option CYGDBG_DEVS_ETH_INTEL_I82559_CHATTER { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # 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 supported interfaces. -# This option selects the number of PCI ethernet interfaces to -# be supported by the driver. -# -cdl_option CYGNUM_DEVS_ETH_INTEL_I82559_DEV_COUNT { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Calculated value: CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED - # CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED == 0 - # Flavor: data - # Current_value: 0 -}; - -# Keep Ethernet statistics -# The ethernet device can maintain statistics about the network, -# specifically a great variety of error rates which are useful -# for network management. SNMP for example uses this -# information. There is some performance cost in maintaining -# this information; disable this option to recoup that. -# -cdl_component CYGDBG_DEVS_ETH_INTEL_I82559_KEEP_STATISTICS { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Keep i82559 Internal statistics -# The i82559 keeps internal counters, and it is possible to -# acquire these. But the i82559 (reputedly) does not service -# the network whilst uploading the data to RAM from its -# internal registers. If throughput is a problem, disable -# this option to acquire only those statistics gathered by -# software, so that the i82559 never sleeps. -# -cdl_option CYGDBG_DEVS_ETH_INTEL_I82559_KEEP_82559_STATISTICS { - # This option is not active - # The parent CYGDBG_DEVS_ETH_INTEL_I82559_KEEP_STATISTICS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# SIOCSIFHWADDR records MAC address in EEPROM -# The ioctl() socket call with operand SIOCSIFHWADDR sets the -# interface hardware address - the MAC address or ethernet -# address. This option causes the new MAC address to be written -# into the EEPROM associated with the interface, so that the new -# MAC address is permanently recorded. Doing this should be a -# carefully chosen decision, hence this option. -# -cdl_component CYGPKG_DEVS_ETH_INTEL_I82559_WRITE_EEPROM { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Maximum number of RX descriptors -# An RX descriptor is used for each ethernet frame required -# to be passed to the upper networking layers. This option -# sets the maximum number of these. Higher numbers use more -# memory, lower numbers will reduce performance. The system -# appears to work OK with as few as 8 descriptors but limps -# painfully with only 4. Performance is better with more than -# 8, but assuming the size of non-cached (so useless for anything -# else) memory window is 1Mb, we might as well use it all. -# 128 RX and TX descriptors uses the whole 1Mb, near enough. -# -cdl_option CYGNUM_DEVS_ETH_INTEL_I82559_MAX_RX_DESCRIPTORS { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: CYGPKG_REDBOOT ? 4 : 128 - # CYGPKG_REDBOOT (unknown) == 0 - # --> 128 -}; - -# Maximum number of TX descriptors -# A TX descriptor is used for each ethernet frame passed down -# from upper networking layers for transmission. This option -# sets the maximum number of these. Higher numbers use more -# memory, lower numbers will reduce performance. The system -# appears to work OK with as few as 8 descriptors but limps -# painfully with only 4. Performance is better with more than -# 8, but assuming the size of non-cached (so useless for anything -# else) memory window is 1Mb, we might as well use it all. -# 128 RX and TX descriptors uses the whole 1Mb, near enough. -# -cdl_option CYGNUM_DEVS_ETH_INTEL_I82559_MAX_TX_DESCRIPTORS { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: CYGPKG_REDBOOT ? 4 : 128 - # CYGPKG_REDBOOT (unknown) == 0 - # --> 128 -}; - -# Intel 82559 ethernet driver build options -# -cdl_component CYGPKG_DEVS_ETH_INTEL_I82559_OPTIONS { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the Intel 82559 ethernet driver -# package. These flags are used in addition to the set of -# global flags. -# -cdl_option CYGPKG_DEVS_ETH_INTEL_I82559_CFLAGS_ADD { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559_OPTIONS is not active - - # 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" -}; - -# < -# < -# PC board ethernet driver -# Ethernet driver for PC. -# -cdl_package CYGPKG_DEVS_ETH_I386_PC_I82559 { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This option is not active - # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS - # CYGPKG_IO_ETH_DRIVERS (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYGPKG_HAL_I386_PC - # CYGPKG_HAL_I386_PC == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# Intel i82559 ethernet driver required -# -cdl_interface CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED { - # Implemented by CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0, inactive, enabled - # This option is not active - # The parent CYGPKG_DEVS_ETH_I386_PC_I82559 is not active - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # package CYGPKG_DEVS_ETH_INTEL_I82559 - # ActiveIf: CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED - # option CYGNUM_DEVS_ETH_INTEL_I82559_DEV_COUNT - # Calculated: CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED -}; - -# Ethernet port 0 driver -# -cdl_component CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0 { - # This option is not active - # The parent CYGPKG_DEVS_ETH_I386_PC_I82559 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Device name for the ETH0 ethernet port 0 driver -# This option sets the name of the ethernet device for the -# i82559 ethernet port 0. -# -cdl_option CYGDAT_DEVS_ETH_I386_PC_I82559_ETH0_NAME { - # This option is not active - # The parent CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"eth0\"" - # value_source default - # Default value: "\"eth0\"" -}; - -# Set the ethernet station address -# Enabling this option will allow the ethernet -# station address to be forced to the value set by the -# configuration. This may be required if the hardware does -# not include a serial EEPROM for the ESA. -# -cdl_component CYGSEM_DEVS_ETH_I386_PC_I82559_ETH0_SET_ESA { - # This option is not active - # The parent CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# The ethernet station address -# The ethernet station address -# -cdl_option CYGDAT_DEVS_ETH_I386_PC_I82559_ETH0_ESA { - # This option is not active - # The parent CYGSEM_DEVS_ETH_I386_PC_I82559_ETH0_SET_ESA is not active - # The parent CYGSEM_DEVS_ETH_I386_PC_I82559_ETH0_SET_ESA is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{0x08, 0x00, 0x00, 0x00, 0x00, 0x01}" - # value_source default - # Default value: "{0x08, 0x00, 0x00, 0x00, 0x00, 0x01}" -}; - -# < -# < -# < -# < -# 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 - # package CYGPKG_IO_FRAMEBUF - # Requires: CYGPKG_INFRA CYGPKG_HAL CYGPKG_ERROR -}; - -# > -# 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 == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # Requires: CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG -}; - -# HAL uses the MMU and allows for CDL manipulation of it's use -# -cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_HAL_INSTALL_MMU_TABLES - # ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES -}; - -# Install MMU tables. -# This option controls whether this application installs -# its own Memory Management Unit (MMU) tables, or relies on the -# existing environment to run. -# -cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES - # CYGINT_HAL_SUPPORTS_MMU_TABLES == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == GRUB - # --> 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 (unknown) == 0 - # CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0 - # CYGPKG_HAL_V85X_V850 (unknown) == 0 - # CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 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 == GRUB - # --> 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" -}; - -# < -# Grouped libraries for linking -# This option provides a list of libraries used to satisfy -# linker dependencies, but necessary for building eCos. It is passed -# to a GROUP() directive in the linker script, which is analogous -# to using the "-(" aka "--start-group", and "-)" aka -# "--end-group" options on the linker command line. -# It provides a similar function to adding "-llibname" to the -# linker, but with the added feature that each library in the group -# is scanned in turn for unresolved symbols, and this process is -# repeated until there are no more unresolved symbols. This is important -# for system libraries as there are often mutual dependencies. -# This option should not be used for adding application specific -# libraries. That should be done in the application's own makefile -# or link line. -# Users wishing to use the GNU Compiler prior to GCC 3.0 will -# need to remove libsupc++.a from this option. -# Note that libtarget.a is always required to build eCos. -# -cdl_component CYGBLD_HAL_LINKER_GROUPED_LIBS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "libtarget.a libgcc.a libsupc++.a" - # value_source default - # Default value: CYGBLD_HAL_LINKER_GROUPED_LIBS_DEFAULT - # CYGBLD_HAL_LINKER_GROUPED_LIBS_DEFAULT == "libtarget.a libgcc.a libsupc++.a" - # --> "libtarget.a libgcc.a libsupc++.a" - # Requires: is_substr(CYGBLD_HAL_LINKER_GROUPED_LIBS, "libtarget.a") - # CYGBLD_HAL_LINKER_GROUPED_LIBS == "libtarget.a libgcc.a libsupc++.a" - # --> 1 - - # The following properties are affected by this value - # component CYGBLD_HAL_LINKER_GROUPED_LIBS - # Requires: is_substr(CYGBLD_HAL_LINKER_GROUPED_LIBS, "libtarget.a") -}; - -# > -# Default setting -# This option is intended to be used by other eCos packages (including -# HAL packages) to provide a different default value for -# CYGBLD_HAL_LINKER_GROUPED_LIBS. -# This is separated into its own option to continue to -# allow the user to make customisations to the grouped library -# list. -# -cdl_option CYGBLD_HAL_LINKER_GROUPED_LIBS_DEFAULT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "libtarget.a libgcc.a libsupc++.a" - # value_source default - # Default value: "libtarget.a libgcc.a libsupc++.a" - - # The following properties are affected by this value - # component CYGBLD_HAL_LINKER_GROUPED_LIBS - # DefaultValue: CYGBLD_HAL_LINKER_GROUPED_LIBS_DEFAULT -}; - -# < -# < -# HAL interrupt handling -# A number of configuration options related to interrupt -# handling are common to most or all HAL packages, even though -# the implementations will vary from architecture to -# architecture. -# -cdl_component CYGPKG_HAL_COMMON_INTERRUPTS { - # There is no associated value. -}; - -# > -# Use separate stack for interrupts -# When an interrupt occurs this interrupt can be handled either -# on the current stack or on a separate stack maintained by the -# HAL. Using a separate stack requires a small number of extra -# instructions in the interrupt handling code, but it has the -# advantage that it is no longer necessary to allow extra space -# in every thread stack for the interrupt handlers. The amount -# of extra space required depends on the interrupt handlers -# that are being used. -# -cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Interrupt stack size -# This configuration option specifies the stack size in bytes -# for the interrupt stack. Typically this should be a multiple -# of 16, but the exact requirements will vary from architecture -# to architecture. The interrupt stack serves two separate -# purposes. It is used as the stack during system -# initialization. In addition, if the interrupt system is -# configured to use a separate stack then all interrupts will -# be processed on this stack. The exact memory requirements -# will vary from application to application, and will depend -# heavily on whether or not other interrupt-related options, -# for example nested interrupts, are enabled. On most targets, -# in a configuration with no kernel this stack will also be -# the stack used to invoke the application, and must obviously -# be appropriately large in that case. -# -cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 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 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # option CYGBLD_BUILD_GDB_STUBS - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT -}; - -# Chain all interrupts together -# Interrupts can be attached to vectors either singly, or be -# chained together. The latter is necessary if there is no way -# of discovering which device has interrupted without -# inspecting the device itself. It can also reduce the amount -# of RAM needed for interrupt decoding tables and code. -# -cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Ignore spurious [fleeting] interrupts -# On some hardware, interrupt sources may not be de-bounced or -# de-glitched. Rather than try to handle these interrupts (no -# handling may be possible), this option allows the HAL to simply -# ignore them. In most cases, if the interrupt is real it will -# reoccur in a detectable form. -# -cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# HAL context switch support -# A number of configuration options related to thread contexts -# are common to most or all HAL packages, even though the -# implementations will vary from architecture to architecture. -# -cdl_component CYGPKG_HAL_COMMON_CONTEXT { - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Use minimum thread context -# The thread context switch code can exploit the calling -# conventions defined for a given architecture to reduce the -# amount of state that has to be saved during a context -# switch. Generally this improves performance and reduces -# code size. However it can make source-level debugging more -# difficult. -# -cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # option CYGBLD_BUILD_GDB_STUBS - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM -}; - -# < -# Explicit control over cache behaviour -# These options let the default behaviour of the caches -# be easily configurable. -# -cdl_component CYGPKG_HAL_CACHE_CONTROL { - # There is no associated value. -}; - -# > -# Enable DATA cache on startup -# Enabling this option will cause the data cache to be enabled -# as soon as practicable when eCos starts up. One would choose -# to disable this if the data cache cannot safely be turned on, -# such as a case where the cache(s) require additional platform -# specific setup. -# -cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# DATA cache mode on startup -# This option controls the mode the cache will be set to -# when enabled on startup. -# -cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value COPYBACK - # 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. - - # The following properties are affected by this value -}; - -# > -# Support for GDB stubs -# The HAL implements GDB stubs for the target. -# -cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS { - # Implemented by CYGPKG_HAL_I386_PC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS -}; - -# Include GDB stubs in HAL -# This option causes a set of GDB stubs to be included into the -# system. On some target systems the GDB support will be -# provided by other means, for example by a ROM monitor. On -# other targets, especially when building a ROM-booting system, -# the necessary support has to go into the target library -# itself. When GDB stubs are include in a configuration, HAL -# serial drivers must also be included. -# -cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS { - # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS - # CYGINT_HAL_DEBUG_GDB_STUBS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 1 - # --> 0 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 1 - # --> 0 - # 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 CYGDBG_HAL_DEBUG_GDB_INITIAL_BREAK - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS -}; - -# Support for external break support in GDB stubs -# The HAL implements external break (or asynchronous interrupt) -# in the GDB stubs for the target. -# -cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK { - # Implemented by CYGPKG_HAL_I386_PC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK -}; - -# Include GDB external break support for stubs -# This option causes the GDB stub to add a serial interrupt handler -# which will listen for GDB break packets. This lets you stop the -# target asynchronously when using GDB, usually by hitting Control+C -# or pressing the STOP button. This option differs from -# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when -# GDB stubs are present. -# -cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT { - # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK - # CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # option CYGBLD_BUILD_GDB_STUBS - # Requires: ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT -}; - -# Platform does not support CTRLC -# -cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # ActiveIf: CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 -}; - -# Include GDB external break support when no stubs -# This option adds an interrupt handler for the GDB serial line -# which will listen for GDB break packets. This lets you stop the -# target asynchronously when using GDB, usually by hitting Control+C -# or pressing the STOP button. This option differs from -# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB -# stubs are NOT present. -# -cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT { - # 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 CYGBLD_BUILD_GDB_STUBS - # 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 { - # This option is not active - # ActiveIf constraint: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # CYGSEM_HAL_ROM_MONITOR == 0 - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (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 CYGBLD_BUILD_GDB_STUBS - # 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" -}; - -# Enable initial breakpoint -# This option causes an application that has GDB stubs built in -# to take a breakpoint immediately before calling cyg_start(). -# This gives the developer a chance to set any breakpoints or -# inspect the system state before it proceeds. -# -cdl_option CYGDBG_HAL_DEBUG_GDB_INITIAL_BREAK { - # This option is not active - # ActiveIf constraint: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: !CYGPKG_REDBOOT - # CYGPKG_REDBOOT (unknown) == 0 - # --> 1 -}; - -# < -# 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_I386_PC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT -}; - -# Target supports baud rate control via vectors -# Whether this target supports the __COMMCTL_GETBAUD -# and __COMMCTL_SETBAUD virtual vector comm control operations. -# -cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Enable use of virtual vector calling interface -# Virtual vector support allows the HAL to let the ROM -# monitor handle certain operations. The virtual vector table -# defines a calling interface between applications running in -# RAM and the ROM monitor. -# -cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT { - # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT - # CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# 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 -}; - -# 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 -}; - -# 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 == GRUB - # 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_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_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_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 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 board, and this -# ROM monitor may process exceptions or interrupts generated from the -# application. This enables features such as utilizing a separate -# interrupt stack when exceptions are generated. -# -cdl_option CYGSEM_HAL_ROM_MONITOR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "GRUB" - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # --> 1 - # Requires: !CYGHWR_HAL_I386_FPU_SWITCH_LAZY - # CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 1 - # --> 0 - - # The following properties are affected by this value - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYGSEM_HAL_ROM_MONITOR - # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT -}; - -# 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 == GRUB - # --> 0 0 - # Legal values: "Generic" "GDB_stubs" - # Requires: CYG_HAL_STARTUP == "RAM" - # CYG_HAL_STARTUP == GRUB - # --> 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 { - # Implemented by CYGPKG_HAL_I386_PCMB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# Saved interrupt state required -# Components requiring access to saved interrupt state via the -# hal_saved_interrupt_state symbol should implement this -# interface. -# -cdl_interface CYGINT_HAL_COMMON_SAVED_INTERRUPT_STATE_REQUIRED { - # Implemented by CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT, active, disabled - # Implemented by CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT, inactive, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value -}; - -# File I/O operations via GDB -# This option enables support for various file I/O -# operations using the GDB remote protocol to communicate -# with GDB. The operations are then performed on the -# debugging host by proxy. These operations are only -# currently available by using a system call interface -# to RedBoot. This may change in the future. -# -cdl_option CYGPKG_HAL_GDB_FILEIO { - # This option is not active - # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS - # CYGSEM_REDBOOT_BSP_SYSCALLS (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 -}; - -# Build Compiler sanity checking tests -# Enabling this option causes compiler tests to be built. -# -cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - - # The following properties are affected by this value - # component CYGPKG_HAL_TESTS - # Calculated: "tests/context tests/basic" - # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") - # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") - # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") -}; - -# Common HAL tests -# This option specifies the set of tests for the common HAL. -# -cdl_component CYGPKG_HAL_TESTS { - # Calculated value: "tests/context tests/basic" - # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") - # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") - # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") - # CYGINT_HAL_TESTS_NO_CACHES == 0 - # CYGPKG_HAL_BUILD_COMPILER_TESTS == 0 - # CYGVAR_KERNEL_COUNTERS_CLOCK (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" : "") -}; - -# < -# i386 architecture -# The i386 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_I386 { - # 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 CYGPKG_LIBM_CFLAGS_ADD - # DefaultValue: "-fno-strict-aliasing" . ((!CYGPKG_HAL_I386 && !CYGPKG_HAL_SYNTH_I386) ? "" : " -ffloat-store") -}; - -# > -# SMP support -# -cdl_component CYGPKG_HAL_SMP_SUPPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 0 - # CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 1 - # --> 0 - - # The following properties are affected by this value - # component CYGPKG_HAL_I386_PCMB_SMP_SUPPORT - # ActiveIf: CYGPKG_HAL_SMP_SUPPORT - # component CYGPKG_HAL_I386_PCMB_SMP_SUPPORT - # Calculated: CYGPKG_HAL_SMP_SUPPORT -}; - -# > -# Max number of CPUs supported -# -cdl_option CYGPKG_HAL_SMP_CPU_MAX { - # This option is not active - # The parent CYGPKG_HAL_SMP_SUPPORT is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 2 - # value_source default - # Default value: 2 -}; - -# < -# Enable I386 FPU support -# This component enables support for the -# I386 floating point unit. -# -cdl_component CYGHWR_HAL_I386_FPU { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Use lazy FPU state switching -# This option enables lazy FPU state switching. -# The default behaviour for eCos is to save and -# restore FPU state on every thread switch, interrupt -# and exception. While simple and deterministic, this -# approach can be expensive if the FPU is not used by -# all threads. The alternative, enabled by this option, -# is to use hardware features that allow the FPU state -# of a thread to be left in the FPU after it has been -# descheduled, and to allow the state to be switched to -# a new thread only if it actually uses the FPU. Where -# only one or two threads use the FPU this can avoid a -# lot of unnecessary state switching. -# -cdl_option CYGHWR_HAL_I386_FPU_SWITCH_LAZY { - # 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_HAL_SMP_SUPPORT - # Requires: CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 0 - # option CYGSEM_HAL_ROM_MONITOR - # Requires: !CYGHWR_HAL_I386_FPU_SWITCH_LAZY -}; - -# < -# Enable Pentium class CPU features -# This component enables support for various -# features of Pentium class CPUs. -# -cdl_component CYGHWR_HAL_I386_PENTIUM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Save/Restore SSE registers on context switch -# This option enables SSE state switching. The default -# behaviour for eCos is to ignore the SSE registers. -# Enabling this option adds SSE state information to -# every thread context. -# -cdl_option CYGHWR_HAL_I386_PENTIUM_SSE { - # This option is not active - # The parent CYGHWR_HAL_I386_PENTIUM is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support extra Pentium registers in GDB stub -# This option enables support for extra Pentium registers -# in the GDB stub. These are registers such as CR0-CR4, and -# all MSRs. Not all GDBs support these registers, so the -# default behaviour for eCos is to not include them in the -# GDB stub support code. -# -cdl_option CYGHWR_HAL_I386_PENTIUM_GDB_REGS { - # This option is not active - # The parent CYGHWR_HAL_I386_PENTIUM is disabled - - # 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/i386.ld" - # Flavor: data - # Current_value: src/i386.ld -}; - -# Implementations of hal_i386_mem_real_region_top() -# -cdl_interface CYGINT_HAL_I386_MEM_REAL_REGION_TOP { - # Implemented by CYGPKG_HAL_I386_PCMB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # 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_I386_LINUX_EXEC { - # This option is not active - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC - # CYGBLD_BUILD_REDBOOT_WITH_EXEC (unknown) == 0 - # --> 0 - - # There is no associated value. -}; - -# > -# Address for the trampoline code -# This is the address to where the trampoline code is -# copied. The trampoline copies the image to its -# final location and jumps to its entry point. -# -cdl_option CYGHWR_REDBOOT_I386_TRAMPOLINE_ADDRESS { - # This option is not active - # The parent CYGPKG_REDBOOT_I386_LINUX_EXEC is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x0007C000 - # value_source default - # Default value: 0x0007C000 -}; - -# < -# i386 generic target -# This package provides support for generic IA32 CPU variants. -# Any CPU from an 80386 to the latest Pentium/Athlon should work -# with this variant HAL. Essentially this variant is empty, it -# just avoids providing any configuration to the generic architecture -# support in the architecture HAL. -# -cdl_package CYGPKG_HAL_I386_GENERIC { - # 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 -}; - -# i386 PC Target -# The i386 PC Target HAL package provides the -# support needed to run eCos binaries on an i386 PC. -# -cdl_package CYGPKG_HAL_I386_PC { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # package CYGPKG_DEVS_ETH_I386_PC_I82559 - # ActiveIf: CYGPKG_HAL_I386_PC - # package CYGPKG_DEVICES_WALLCLOCK_I386_PC - # ActiveIf: CYGPKG_HAL_I386_PC -}; - -# > -# How to discover the size of available RAM. -# It is possible for the HAL to discover the -# size of RAM In several ways. Currently this -# can be done by querying the BIOS or by -# hardcoding the values into the executable. -# -cdl_component CYGPKG_HAL_I386_PC_MEMSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value BIOS - # value_source default - # Default value: BIOS - # Legal values: "BIOS" "HARDCODE" - - # The following properties are affected by this value - # option CYGNUM_HAL_I386_PC_MEMSIZE_BASE - # ActiveIf: CYGPKG_HAL_I386_PC_MEMSIZE == "HARDCODE" - # option CYGNUM_HAL_I386_PC_MEMSIZE_EXTENDED - # ActiveIf: CYGPKG_HAL_I386_PC_MEMSIZE == "HARDCODE" -}; - -# > -# Amount of Base RAM available. -# -cdl_option CYGNUM_HAL_I386_PC_MEMSIZE_BASE { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_I386_PC_MEMSIZE == "HARDCODE" - # CYGPKG_HAL_I386_PC_MEMSIZE == BIOS - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x000F0000 - # value_source default - # Default value: 0x000F0000 -}; - -# Amount of Extended RAM available. -# -cdl_option CYGNUM_HAL_I386_PC_MEMSIZE_EXTENDED { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_I386_PC_MEMSIZE == "HARDCODE" - # CYGPKG_HAL_I386_PC_MEMSIZE == BIOS - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# Startup type -# It is possible to configure eCos for the PC target to build for: -# RAM startup (generally when being run under an existing -# Monitor program like RedBoot); FLOPPY startup (for writing -# to a floppy disk, which can then be used for booting -# on PCs with a standard BIOS), GRUB startup (for being booted -# by the GRUB bootloader) ROM startup (for writing -# straight to a boot ROM/Flash). ROM startup is experimental -# at this time. -# -cdl_component CYG_HAL_STARTUP { - # Flavor: data - user_value GRUB - # value_source user - # Default value: RAM - # Legal values: "RAM" "FLOPPY" "ROM" "GRUB" - - # The following properties are affected by this value - # option CYGBLD_BUILD_I386_ROMBOOT - # Calculated: CYG_HAL_STARTUP == "ROM" - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "GRUB" - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "GRUB" - # option CYGHWR_HAL_I386_PC_LOAD_HIGH - # Requires: CYG_HAL_STARTUP == "RAM" || CYG_HAL_STARTUP == "GRUB" - # option CYGHWR_HAL_I386_PC_LOAD_HIGH - # Requires: CYG_HAL_STARTUP == "RAM" || CYG_HAL_STARTUP == "GRUB" - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "GRUB" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "GRUB" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "GRUB" - # 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 CYGBLD_BUILD_REDBOOT_BIN_FLOPPY - # ActiveIf: CYG_HAL_STARTUP == "FLOPPY" - # option CYGBLD_BUILD_REDBOOT_BIN_ROM - # 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 -}; - -# Build ROM bootstrap code -# -cdl_option CYGBLD_BUILD_I386_ROMBOOT { - # Calculated value: CYG_HAL_STARTUP == "ROM" - # CYG_HAL_STARTUP == GRUB - # Flavor: bool - # Current value: 0 -}; - -# Diagnostic serial port baud rate -# This option selects the baud rate used for the diagnostic port. -# Note: this should match the value chosen for the GDB port if the -# diagnostic 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 38400 - # value_source default - # Default value: 38400 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# GDB serial port baud rate -# This option controls the baud rate used for the GDB connection. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 38400 - # value_source default - # Default value: 38400 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# Number of communication channels on the board -# This define the number of serial ports that will be used by the HAL. -# Ports 0 and 1 equate to COM1 and COM2 and port 2 is the PC screen and -# keyboard. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 3 - # value_source default - # Default value: CYGSEM_HAL_I386_PC_DIAG_SCREEN ? 3 : 2 - # CYGSEM_HAL_I386_PC_DIAG_SCREEN == 1 - # --> 3 - # Legal values: 1 to 3 - - # 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 -# On PCs with two 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 { - # 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 == 3 -}; - -# Default console channel. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT { - # 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 == 3 - - # The following properties are affected by this value - # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL - # DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT -}; - -# Diagnostic serial port -# On PCs with two serial ports, this option -# chooses which port will be used for diagnostic output. -# Selecting port 2 will cause the PC screen to be used. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL { - # 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 == 3 -}; - -# Output to PC screen -# This option enables use of the PC screen and keyboard as a -# third virtual serial device. -# -cdl_option CYGSEM_HAL_I386_PC_DIAG_SCREEN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS - # DefaultValue: CYGSEM_HAL_I386_PC_DIAG_SCREEN ? 3 : 2 - # option CYGNUM_HAL_I386_PC_STARTUP_VIDEO_MODE - # Requires: !CYGSEM_HAL_I386_PC_DIAG_SCREEN -}; - -# Load into higher memory (2MB) -# This option enables building RAM applications -# which have a start address outside of the area -# used by redboot_GRUB. -# -cdl_option CYGHWR_HAL_I386_PC_LOAD_HIGH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "RAM" || CYG_HAL_STARTUP == "GRUB" - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # --> 1 - - # The following properties are affected by this value - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" -}; - -# Memory layout -# -cdl_component CYGHWR_MEMORY_LAYOUT { - # Calculated value: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # Flavor: data - # Current_value: i386_pc_grub -}; - -# > -# Memory layout linker script fragment -# -cdl_option CYGHWR_MEMORY_LAYOUT_LDI { - # Calculated value: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # Flavor: data - # Current_value: <pkgconf/mlt_i386_pc_grub.ldi> -}; - -# Memory layout header file -# -cdl_option CYGHWR_MEMORY_LAYOUT_H { - # Calculated value: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # Flavor: data - # Current_value: <pkgconf/mlt_i386_pc_grub.h> -}; - -# < -# < -# i386 PC Motherboard Support -# The i386 PC Motherboard HAL package provides the -# support needed to run eCos binaries on an i386 PC -# using a standard motherboard. This package provides -# support for the standard PC devices: timers, interrupt -# controller, serial ports, ASCII display, keyboard, PCI -# bus etc. that are found on all PC compatible platforms. -# It does not provide support for devices that may also be -# found on modern motherboards, such as ethernet, sound and -# video devices. These are supported by drivers elsewhere. -# -cdl_package CYGPKG_HAL_I386_PCMB { - # 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_IO_SERIAL_I386_PC - # ActiveIf: CYGPKG_HAL_I386_PCMB -}; - -# > -# Real-time clock constants. -# The RTC period is based on the clock input -# to the 8254, which is 1193180 Hz. -# CYGNUM_HAL_RTC_PERIOD is set for 100 ticks -# per second. -# -cdl_component CYGNUM_HAL_RTC_CONSTANTS { - # There is no associated value. -}; - -# > -# Real-time clock numerator -# -cdl_option CYGNUM_HAL_RTC_NUMERATOR { - # Flavor: data - user_value 100000000 - # value_source user - # Default value: 1000000000 - - # The following properties are affected by this value - # option SMLNUM_TTKERNEL_RTC_NUMERATOR - # DefaultValue: CYGNUM_HAL_RTC_NUMERATOR -}; - -# Real-time clock denominator -# -cdl_option CYGNUM_HAL_RTC_DENOMINATOR { - # Flavor: data - user_value 1000 - value_source default - # Default value: 100 - - # The following properties are affected by this value - # option SMLNUM_TTKERNEL_RTC_DENOMINATOR - # DefaultValue: CYGNUM_HAL_RTC_DENOMINATOR -}; - -# Real-time clock period -# -cdl_option CYGNUM_HAL_RTC_PERIOD { - # Flavor: data - user_value 1193 - # value_source user - # Default value: 11932 - - # The following properties are affected by this value - # option SMLNUM_TTKERNEL_RTC_PERIOD - # DefaultValue: CYGNUM_HAL_RTC_PERIOD -}; - -# < -# Search entire PCI space -# This option enables searching the entire PCI address space, including -# up to 256 busses, etc. Probably only useful when there are bridges or -# other PCI expanding devices (such as a board with it's own PCI bus) -# in the system. If disabled, the system will revert to the default -# PCI space size (typically 8 busses). -# -cdl_option CYGSEM_HAL_I386_PC_LARGE_PCI_SPACE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Switch the display to an alternative video mode -# This option can be used when building RedBoot to switch -# the display to a suitable mode, typically before running -# an eCos graphical application. The mode switch involves -# calling the PC Video BIOS, so needs to happen while the -# processor is still running in real mode. Some information -# about the video BIOS, the current mode, and the available -# modes will be written to video memory so that the eCos -# application knows what happened. -# Different graphics cards use different numbers for the -# various modes, so there is no simple way of knowing which -# mode should be specified to achieve the desired resolution. -# Instead RedBoot can be built with a suitable default, for -# example 0x0100, and then a simple eCos application can be -# built using an appropriate eCos configuration and -# run to find out about all the available mode. RedBoot can -# then be reconfigured and rebuilt to use a suitable mode. -# The PC motherboard support package comes with a simple -# eCos program gfxmode.c which can be used for this. -# -cdl_option CYGNUM_HAL_I386_PC_STARTUP_VIDEO_MODE { - # This option is not active - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT (unknown) == 0 - # --> 0 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Requires: !CYGSEM_HAL_I386_PC_DIAG_SCREEN - # CYGSEM_HAL_I386_PC_DIAG_SCREEN == 1 - # --> 0 -}; - -# -cdl_component CYGPKG_HAL_I386_PCMB_SMP_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_SMP_SUPPORT - # CYGPKG_HAL_SMP_SUPPORT == 0 - # --> 0 - - # Calculated value: CYGPKG_HAL_SMP_SUPPORT - # CYGPKG_HAL_SMP_SUPPORT == 0 - # Flavor: bool - # Current value: 0 -}; - -# Support for gprof profiling -# The PC HAL support can provide a profiling timer for use -# by the gprof package. However the hardware only provides a -# single source of timer interrupts so this must be shared -# between the system clock and the profiling code. The current -# implementation requires that the system clock be initialized -# first (which happens in a static constructor with priority -# CYG_INIT_CLOCK), then profiling can be enabled via a call -# to profile_on(). -# -cdl_option CYGFUN_HAL_I386_PCMB_GPROF_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGPKG_PROFILE_GPROF - # CYGPKG_PROFILE_GPROF (unknown) == 0 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0 - # --> 0 -}; - -# Enable PC screen support -# This option enables support for the PC screen and -# keyboard. These are combined into a virtual serial -# device that may be used for diagnostic output. -# Note that there is little point in trying to use it -# as a debug channel. -# -cdl_interface CYGINT_HAL_I386_PCMB_SCREEN_SUPPORT { - # Implemented by CYGSEM_HAL_I386_PC_DIAG_SCREEN, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# < -# < -# < -# I/O sub-system -# doc: ref/io.html -# The eCos system is supplied with a number of different -# device drivers. This option enables the basic I/O system -# support which is the basis for all drivers. -# -cdl_package CYGPKG_IO { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_IO_SERIAL - # ActiveIf: CYGPKG_IO - # package CYGPKG_LIBC_STDIO - # Requires: CYGPKG_IO - # option CYGPKG_IO_FILEIO_DEVFS_SUPPORT - # ActiveIf: CYGPKG_IO - # package CYGPKG_USTL - # Requires: CYGPKG_IO -}; - -# > -# Debug I/O sub-system -# This option enables verbose messages to be displayed on the -# system 'diag' device during I/O system initialization. -# -cdl_option CYGDBG_IO_INIT { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 0 -}; - -# Basic support for file based I/O -# This option control support for simple file I/O primitives. It is only -# present if the FILEIO package is not included. -# -cdl_component CYGPKG_IO_FILE_SUPPORT { - # This option is not active - # ActiveIf constraint: !CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Number of open files -# This option controls the number of open files. -# -cdl_option CYGPKG_IO_NFILE { - # This option is not active - # The parent CYGPKG_IO_FILE_SUPPORT is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 -}; - -# < -# Serial device drivers -# doc: ref/io.html -# This option enables drivers for basic I/O services on -# serial devices. -# -cdl_package CYGPKG_IO_SERIAL { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # ActiveIf constraint: CYGPKG_IO - # CYGPKG_IO == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_IO_SERIAL_GENERIC_16X5X - # ActiveIf: CYGPKG_IO_SERIAL - # package CYGPKG_IO_SERIAL_I386_PC - # ActiveIf: CYGPKG_IO_SERIAL -}; - -# > -# Support non-blocking read and write calls -# This option enables extra code in the generic serial driver -# which allows clients to switch read() and write() call -# semantics from blocking to non-blocking. -# -cdl_option CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Driver requires block transfer callback functions -# Some low-level drivers can be optimized to transfer blocks -# of data instead of a single character at a time. These usually -# rely on a hardware FIFO of some sort. -# -cdl_interface CYGINT_IO_SERIAL_BLOCK_TRANSFER { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Serial driver supports line status -# -cdl_interface CYGINT_IO_SERIAL_LINE_STATUS_HW { - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL0, active, enabled - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL1, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # option CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS - # Requires: CYGINT_IO_SERIAL_LINE_STATUS_HW > 0 - # option CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS - # DefaultValue: 0 != CYGINT_IO_SERIAL_LINE_STATUS_HW -}; - -# Support line status callbacks -# This option indicates that if the serial driver supports it, -# serial line status and modem status information should be -# propagated to higher layers via callbacks. -# -cdl_option CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_IO_SERIAL_LINE_STATUS_HW - # CYGINT_IO_SERIAL_LINE_STATUS_HW == 2 - # --> 1 - # Requires: CYGINT_IO_SERIAL_LINE_STATUS_HW > 0 - # CYGINT_IO_SERIAL_LINE_STATUS_HW == 2 - # --> 1 - - # The following properties are affected by this value - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # Requires: CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # DefaultValue: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 ? CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS : 0 -}; - -# Flow control -# This component contains options related to flow control. -# -cdl_component CYGPKG_IO_SERIAL_FLOW_CONTROL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: (CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE || CYGOPT_IO_SERIAL_FLOW_CONTROL_HW) - # CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE == 0 - # CYGOPT_IO_SERIAL_FLOW_CONTROL_HW == 0 - # --> 0 -}; - -# > -# Software flow control -# This component enables support of software flow control. -# -cdl_component CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # component CYGPKG_IO_SERIAL_FLOW_CONTROL - # Requires: (CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE || CYGOPT_IO_SERIAL_FLOW_CONTROL_HW) -}; - -# > -# Start character -# This option specifies the ascii character used to -# indicate that transmission should start. -# -cdl_option CYGDAT_IO_SERIAL_FLOW_CONTROL_XON_CHAR { - # This option is not active - # The parent CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 17 - # value_source default - # Default value: 17 - # Legal values: 0 to 255 -}; - -# Stop character -# This option specifies the ascii character used to -# indicate that transmission should stop. -# -cdl_option CYGDAT_IO_SERIAL_FLOW_CONTROL_XOFF_CHAR { - # This option is not active - # The parent CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 19 - # value_source default - # Default value: 19 - # Legal values: 0 to 255 -}; - -# < -# Hardware flow control -# If the hardware supports it, this option allows hardware -# flow control to be enabled. This may be in the form of -# either or both of RTS/CTS, or DSR/DTR flow control. -# -cdl_option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - # ActiveIf constraint: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 - # CYGINT_IO_SERIAL_FLOW_CONTROL_HW == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 ? CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS : 0 - # CYGINT_IO_SERIAL_FLOW_CONTROL_HW == 0 - # CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS == 1 - # --> 0 - # Requires: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 - # CYGINT_IO_SERIAL_FLOW_CONTROL_HW == 0 - # --> 0 - # Requires: CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS - # CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_IO_SERIAL_FLOW_CONTROL - # Requires: (CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE || CYGOPT_IO_SERIAL_FLOW_CONTROL_HW) -}; - -# Serial h/w supports hardware flow control -# -cdl_interface CYGINT_IO_SERIAL_FLOW_CONTROL_HW { - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL0, active, enabled - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL1, active, enabled - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # ActiveIf: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # Requires: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # DefaultValue: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 ? CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS : 0 -}; - -# Default flow control method -# This option allows a default flow control method -# to be defined. Combinations of flow control methods -# may also be set, but this is only possible by -# using the cyg_io_set_config() API in source code. -# -cdl_option CYGDAT_IO_SERIAL_FLOW_CONTROL_DEFAULT { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value NONE - # value_source default - # Default value: NONE - # Legal values: "NONE" "XONXOFF" "RTSCTS" "DSRDTR" -}; - -# Rx flow control low water mark -# This sets the water mark used for determining -# when to disable flow control, expressed -# as a percentage of the buffer size. When the -# receive buffer size is lower than this percentage, -# if the transmitter had previously been throttled, it -# will now be informed it can restart. -# -cdl_option CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 33 - # value_source default - # Default value: 33 - # Legal values: 1 to 100 - - # The following properties are affected by this value - # option CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT - # Requires: CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT >= CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT -}; - -# Rx flow control high water mark -# This sets the water mark used for determining -# when to enable flow control, expressed -# as a percentage of the buffer size. When the -# receive buffer size exceeds this percentage, -# signals are sent to the transmitter to tell it -# to throttle tranmission. -# -cdl_option CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 66 - # value_source default - # Default value: 66 - # Legal values: 1 to 100 - # Requires: CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT >= CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT - # CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT == 0 - # CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT - # Requires: CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT >= CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT -}; - -# < -# TTY-mode serial device drivers -# This option enables a simple terminal-like device driver -# that can be used for serial devices that interact with humans, -# such as a system console. -# -cdl_component CYGPKG_IO_SERIAL_TTY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# HAL/diag serial device driver -# This option enables the use of the HAL diagnostic channel -# via the standard I/O drivers. -# -cdl_component CYGPKG_IO_SERIAL_HALDIAG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? CYGPKG_IO_SERIAL_HALDIAG : 1) -}; - -# Console device name -# This option selects the TTY device to use for the console. -# -cdl_option CYGDAT_IO_SERIAL_TTY_CONSOLE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ttydiag\"" - # value_source default - # Default value: "\"/dev/ttydiag\"" - - # The following properties are affected by this value - # option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE - # DefaultValue: CYGDAT_IO_SERIAL_TTY_CONSOLE ? CYGDAT_IO_SERIAL_TTY_CONSOLE : "\"/dev/null\"" - # option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE - # DefaultValue: CYGDAT_IO_SERIAL_TTY_CONSOLE ? CYGDAT_IO_SERIAL_TTY_CONSOLE : "\"/dev/null\"" -}; - -# TTY mode HAL/diag channel -# This option causes '/dev/ttydiag' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTYDIAG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# TTY mode channel #0 -# This option causes '/dev/tty0' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTY0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# TTY mode channel #0 device -# This option selects the physical device to use for -# '/dev/tty0'. -# -cdl_option CYGDAT_IO_SERIAL_TTY_TTY0_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TTY_TTY0 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser0\"" - # value_source default - # Default value: "\"/dev/ser0\"" -}; - -# < -# TTY mode channel #1 -# This option causes '/dev/tty1' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTY1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# TTY mode channel #1 device -# This option selects the physical device to use for -# '/dev/tty1'. -# -cdl_option CYGDAT_IO_SERIAL_TTY_TTY1_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TTY_TTY1 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser1\"" - # value_source default - # Default value: "\"/dev/ser1\"" -}; - -# < -# TTY mode channel #2 -# This option causes '/dev/tty2' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTY2 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# TTY mode channel #2 device -# This option selects the physical device to use for -# '/dev/tty2'. -# -cdl_option CYGDAT_IO_SERIAL_TTY_TTY2_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TTY_TTY2 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser2\"" - # value_source default - # Default value: "\"/dev/ser2\"" -}; - -# < -# TTY mode channel #3 -# This option causes '/dev/tty3' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTY3 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# TTY mode channel #3 device -# This option selects the physical device to use for -# '/dev/tty3'. -# -cdl_option CYGDAT_IO_SERIAL_TTY_TTY3_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TTY_TTY3 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser3\"" - # value_source default - # Default value: "\"/dev/ser3\"" -}; - -# < -# < -# Termios compatible TTY drivers -# This option enables terminal drivers compatible with -# POSIX termios. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # CYGPKG_ISOINFRA == current - # CYGPKG_IO_FILEIO == current - # CYGINT_ISO_ERRNO_CODES == 1 - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 -}; - -# > -# Interface for termios tty driver file enabling -# -cdl_interface CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY { - # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS0, active, disabled - # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS1, active, disabled - # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS2, active, disabled - # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS3, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGBLD_IO_SERIAL_TERMIOS_TERMIOS_TTY - # ActiveIf: CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY > 0 -}; - -# Build termios tty driver file -# -cdl_option CYGBLD_IO_SERIAL_TERMIOS_TERMIOS_TTY { - # This option is not active - # ActiveIf constraint: CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY > 0 - # CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY == 0 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Termios TTY channel #0 -# This option causes '/dev/termios0' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Termios TTY channel #0 device -# This option selects the physical device to use for -# '/dev/termios0'. -# -cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS0_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS0 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser0\"" - # value_source default - # Default value: "\"/dev/ser0\"" -}; - -# < -# Termios TTY channel #1 -# This option causes '/dev/termios1' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Termios TTY channel #1 device -# This option selects the physical device to use for -# '/dev/termios1'. -# -cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS1_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS1 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser1\"" - # value_source default - # Default value: "\"/dev/ser1\"" -}; - -# < -# Termios TTY channel #2 -# This option causes '/dev/termios2' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS2 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Termios TTY channel #2 device -# This option selects the physical device to use for -# '/dev/termios2'. -# -cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS2_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS2 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser2\"" - # value_source default - # Default value: "\"/dev/ser2\"" -}; - -# < -# Termios TTY channel #3 -# This option causes '/dev/termios3' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS3 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Termios TTY channel #3 device -# This option selects the physical device to use for -# '/dev/termios3'. -# -cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS3_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS3 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser3\"" - # value_source default - # Default value: "\"/dev/ser3\"" -}; - -# < -# Support signals -# This option selects whether those parts of the termios -# interface involving signals is supported. This includes -# BRKINT mode, the INTR and QUIT characters, and whether -# SIGHUP is sent on terminal close. -# -cdl_option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS { - # Flavor: bool - user_value 1 - # value_source user - # Default value: CYGINT_ISO_SIGNAL_NUMBERS != 0 && CYGINT_ISO_SIGNAL_IMPL != 0 - # CYGINT_ISO_SIGNAL_NUMBERS == 1 - # CYGINT_ISO_SIGNAL_IMPL == 1 - # --> 1 - # Requires: CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 1 - # --> 1 - # Requires: CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 1 - # --> 1 -}; - -# < -# Hardware serial device drivers -# This option enables the hardware device drivers -# for the current platform. -# -cdl_component CYGPKG_IO_SERIAL_DEVICES { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 - - # The following properties are affected by this value - # option CYGPKG_IO_SERIAL_TESTS - # Calculated: CYGPKG_IO_SERIAL_DEVICES ? "tests/serial1 tests/serial2 tests/serial3 tests/serial4 tests/serial5 tests/tty1 tests/tty2 tests/flow1 tests/flow2" : "" -}; - -# > -# 16x5x generic serial device drivers -# This option enables the serial device drivers for the -# 16x5x compatiple controllers. -# -cdl_package CYGPKG_IO_SERIAL_GENERIC_16X5X { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # ActiveIf constraint: CYGPKG_IO_SERIAL - # CYGPKG_IO_SERIAL == current - # --> 1 - # ActiveIf constraint: CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED - # CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED == 2 - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 -}; - -# > -# Per channel interrupt priority support -# A platform should implement this interface if it supports -# per channel interrupt priorities. If a platform implements -# this interface it needs to provide an interrupt priority -# value for each UART channel it supports. -# -cdl_interface CYGINT_IO_SERIAL_GENERIC_16X5X_CHAN_INTPRIO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 -}; - -# Transmission require priming -# This option should be switched on when enabling THRE interrupt -# does not generate interrupt unless bytes are posted to the FIFO. -# -cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_XMIT_REQUIRE_PRIME { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 16x5x FIFO support -# Options to configure the FIFO on a 16550 (or above) variant. -# -cdl_component CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Threshold for RX interrupt on 16550 FIFO -# This options configures the threshold value at which -# the RX interrupt occurs when a FIFO is used. (16550 and -# above only), this may be after 1, 4, 8 or 14 characters. -# -cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO_RX_THRESHOLD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Legal values: 14 8 4 1 -}; - -# 16x5x TX FIFO size -# Configures the maximum number of bytes written to the -# 16x5x UART transmit FIFO when the TX interrupt occurs. -# -cdl_option CYGNUM_IO_SERIAL_GENERIC_16X5X_FIFO_TX_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 -}; - -# < -# Serial device driver build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_IO_SERIAL_GENERIC_16X5X_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building these serial device drivers. These flags are -# used in addition to the set of global flags. -# -cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building these serial device drivers. These flags are -# removed from the set of global flags if present. -# -cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# < -# PC serial device drivers -# This option enables the serial device drivers for the -# PC. -# -cdl_package CYGPKG_IO_SERIAL_I386_PC { - # 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_SERIAL - # CYGPKG_IO_SERIAL == current - # --> 1 - # ActiveIf constraint: CYGPKG_HAL_I386_PCMB - # CYGPKG_HAL_I386_PCMB == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 -}; - -# > -# Generic 16x5x serial driver required -# -cdl_interface CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED { - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL0, active, enabled - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL1, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # package CYGPKG_IO_SERIAL_GENERIC_16X5X - # ActiveIf: CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED -}; - -# PC serial port 0 driver -# This option includes the serial device driver for port 0 on the -# PC. -# -cdl_component CYGPKG_IO_SERIAL_I386_PC_SERIAL0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # component CYGPKG_IO_SERIAL_I386_PC_TESTING - # ActiveIf: CYGPKG_IO_SERIAL_I386_PC_SERIAL0 -}; - -# > -# Device name for PC serial port 0 -# This option specifies the device name port 0 on the PC. -# -cdl_option CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser0\"" - # value_source default - # Default value: "\"/dev/ser0\"" - - # The following properties are affected by this value - # option CYGPRI_SER_TEST_SER_DEV - # DefaultValue: CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME -}; - -# Baud rate for the PC serial port 0 driver -# This option specifies the default baud rate (speed) for the -# PC port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 38400 - # value_source default - # Default value: 38400 - # Legal values: 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600 - # 4800 7200 9600 14400 19200 38400 57600 115200 230400 - # -}; - -# Buffer size for the PC serial port 0 driver -# This option specifies the size of the internal buffers used -# for the PC port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_BUFSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 - # Legal values: 0 to 8192 -}; - -# I/O base address for the i386-PC serial port 0 -# This option specifies the I/O address of the 8250 or 16550 for serial port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IOBASE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x000003F8 - # value_source default - # Default value: 0x000003F8 - # Legal values: 0 to 0xFF8 -}; - -# IRQ for the i386-PC serial port 0 -# This option specifies the IRQ of the 8250 or 16550 for serial port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 0 to 15 - - # The following properties are affected by this value - # option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_INT - # DefaultValue: CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ + 32 -}; - -# INT for the i386-PC serial port 0 -# This option specifies the interrupt vector of the 8250 or 16550 for serial port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_INT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 36 - # value_source default - # Default value: CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ + 32 - # CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ == 4 - # --> 36 - # Legal values: 32 to 47 -}; - -# < -# PC serial port 1 driver -# This option includes the serial device driver for port 1 on -# the PC. -# -cdl_component CYGPKG_IO_SERIAL_I386_PC_SERIAL1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Device name for PC serial port 1 -# This option specifies the device name port 1 on the PC. -# -cdl_option CYGDAT_IO_SERIAL_I386_PC_SERIAL1_NAME { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser1\"" - # value_source default - # Default value: "\"/dev/ser1\"" -}; - -# Baud rate for the PC serial port 1 driver -# This option specifies the default baud rate (speed) for the -# PC port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 38400 - # value_source default - # Default value: 38400 - # Legal values: 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600 - # 4800 7200 9600 14400 19200 38400 57600 115200 230400 - # -}; - -# Buffer size for the PC serial port 1 driver -# This option specifies the size of the internal buffers used -# for the PC port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_BUFSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 - # Legal values: 0 to 8192 -}; - -# I/O base address for the i386-PC serial port 1 -# This option specifies the I/O address of the 8250 or 16550 for serial port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IOBASE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x000002F8 - # value_source default - # Default value: 0x000002F8 - # Legal values: 0 to 0xFF8 -}; - -# IRQ for the i386-PC serial port 1 -# This option specifies the IRQ of the 8250 or 16550 for serial port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 3 - # value_source default - # Default value: 3 - # Legal values: 0 to 15 - - # The following properties are affected by this value - # option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_INT - # DefaultValue: CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ + 32 -}; - -# INT for the i386-PC serial port 1 -# This option specifies the interrupt vector of the 8250 or 16550 for serial port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_INT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 35 - # value_source default - # Default value: CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ + 32 - # CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ == 3 - # --> 35 - # Legal values: 32 to 47 -}; - -# < -# Serial device driver build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_IO_SERIAL_I386_PC_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building these serial device drivers. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_SERIAL_I386_PC_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 these serial device drivers. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_SERIAL_I386_PC_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# Testing parameters -# -cdl_component CYGPKG_IO_SERIAL_I386_PC_TESTING { - # ActiveIf constraint: CYGPKG_IO_SERIAL_I386_PC_SERIAL0 - # CYGPKG_IO_SERIAL_I386_PC_SERIAL0 == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Serial device used for testing -# -cdl_option CYGPRI_SER_TEST_SER_DEV { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser0\"" - # value_source default - # Default value: CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME - # CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME == "\"/dev/ser0\"" - # --> "\"/dev/ser0\"" -}; - -# < -# < -# < -# Build extra serial tests -# This option enables the building of some extra tests which -# can be used when testing / debugging serial drivers. These -# are not built by default since they do not use the dedicated -# testing infrastructure. -# -cdl_option CYGBLD_IO_SERIAL_EXTRA_TESTS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Serial device driver build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_IO_SERIAL_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the serial device drivers. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_SERIAL_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the serial device drivers. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_SERIAL_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Serial device driver tests -# This option specifies the set of tests for the serial device drivers. -# -cdl_option CYGPKG_IO_SERIAL_TESTS { - # Calculated value: CYGPKG_IO_SERIAL_DEVICES ? "tests/serial1 tests/serial2 tests/serial3 tests/serial4 tests/serial5 tests/tty1 tests/tty2 tests/flow1 tests/flow2" : "" - # CYGPKG_IO_SERIAL_DEVICES == 1 - # Flavor: data - # Current_value: tests/serial1 tests/serial2 tests/serial3 tests/serial4 tests/serial5 tests/tty1 tests/tty2 tests/flow1 tests/flow2 -}; - -# < -# Enable serial device select support -# This option enables support for the select() API function on all -# serial devices. -# -cdl_option CYGPKG_IO_SERIAL_SELECT_SUPPORT { - # ActiveIf constraint: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 - # Requires: CYGFUN_IO_FILEIO_SELECT == 1 - # CYGFUN_IO_FILEIO_SELECT == 0 - # --> 0 -}; - -# Serial testing specification -# -cdl_component CYGPKG_IO_SERIAL_TEST_SPECS { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Skip 9600 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_9600 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 14400 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_14400 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 19200 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_19200 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 38400 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_38400 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 57600 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_57600 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 115200 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_115200 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip even-parity testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_PARITY_EVEN { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip odd-parity testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_PARITY_ODD { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 2-stop bit testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_STOP_2 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# < -# < -# PCI configuration library -# doc: ref/io-pci.html -# The PCI configuration library provides initialization of devices -# on the PCI bus. Functions to find and access these devices are -# also provided. -# -cdl_package CYGPKG_IO_PCI { - # 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 -}; - -# > -# PCI 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_PCI_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the PCI configuration library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_PCI_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 PCI configuration library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_PCI_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Enable debugging. -# This option enables minimal debugging of the PCI library. -# In particular, it will print information about devices as the -# PCI bus is being scanned/searched. -# -cdl_option CYGPKG_IO_PCI_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# PCI tests -# This option specifies the set of tests for the PCI configuration library. -# -cdl_option CYGPKG_IO_PCI_TESTS { - # Calculated value: "tests/pci1 tests/pci2" - # Flavor: data - # Current_value: tests/pci1 tests/pci2 -}; - -# Writeback Interrupt Line register. -# This option causes a PCI device interrupt vector to be -# written to the Interrupt Line register in config space. -# This is traditionally done by a BIOS so that device -# drivers can read the interrupt vector directly from -# device configuration space. -# -cdl_option CYGPKG_IO_PCI_CONFIGURE_INTLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < -# < -# Infrastructure -# Common types and useful macros. -# Tracing and assertion facilities. -# Package startup options. -# -cdl_package CYGPKG_INFRA { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # package CYGPKG_HAL - # Requires: CYGPKG_INFRA - # package CYGPKG_IO_FRAMEBUF - # Requires: CYGPKG_INFRA CYGPKG_HAL CYGPKG_ERROR -}; - -# > -# 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 - # option CYGSEM_LIBC_SIGNALS_BAD_SIGNAL_FATAL - # Requires: 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 - # component CYGPKG_LIBM_TRACE - # Requires: CYGDBG_USE_TRACING -}; - -# > -# Trace function reports -# This option allows individual control of -# function entry/exit tracing, independent of -# more general tracing output. -# This may be useful to remove clutter from a -# trace log. -# -cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS { - # This option is not active - # The parent CYGDBG_USE_TRACING is 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 <cyg/infra/cyg_trac.h>) -# 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 0 - # value_source default - # Default value: CYGINT_ISO_EXIT == 0 - # CYGINT_ISO_EXIT == 1 - # --> 0 - # Requires: !CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 1 - # --> 0 -}; - -# Reset platform at end of test case execution -# If this option is set then test case programs will reset the platform -# when they terminate, as opposed to the default which is to just hang -# in a loop. -# -cdl_option CYGSEM_INFRA_RESET_ON_TEST_EXIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Provide dummy strlen() function -# This option controls the inclusion of a dummy strlen() function. -# Parts of the C and C++ compiler runtime systems contain references -# to strlen(), particulary in the C++ exception handling code. It is -# not possible to eliminate these references, so this dummy function -# in included to satisfy them. While it is not expected that this function -# will ever be called, it is functional but uses the simplest, smallest -# algorithm. There is a faster version of strlen() in the C library. -# -cdl_option CYGFUN_INFRA_DUMMY_STRLEN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGINT_ISO_STRING_STRFUNCS == 0 - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 0 - # Requires: !CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 0 -}; - -# Make all compiler warnings show as errors -# Enabling this option will cause all compiler warnings to show -# as errors and bring the library build to a halt. This is used -# to ensure that the code base is warning free, and thus ensure -# that newly introduced warnings stand out and get fixed before -# they show up as weird run-time behavior. -# -cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - # --> 0 -}; - -# Make compiler and assembler communicate by pipe -# Enabling this option will cause the compiler to feed the -# assembly output the the assembler via a pipe instead of -# via a temporary file. This normally reduces the build -# time. -# -cdl_option CYGBLD_INFRA_CFLAGS_PIPE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - # --> 0 -}; - -# Infra build options -# Package specific build options including control over -# compiler flags used only in building this package. -# -cdl_component CYGPKG_INFRA_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the eCos infra package. These flags are used -# in addition to the set of global flags. -# -cdl_option CYGPKG_INFRA_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the eCos infra package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_INFRA_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed linker flags -# This option modifies the set of linker flags for -# building the eCos infra package tests. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wl,--gc-sections - # value_source default - # Default value: -Wl,--gc-sections -}; - -# Additional linker flags -# This option modifies the set of linker flags for -# building the eCos infra package tests. These flags are added to -# the set of global flags if present. -# -cdl_option CYGPKG_INFRA_LDFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wl,--fatal-warnings - # value_source default - # Default value: -Wl,--fatal-warnings -}; - -# Infra package tests -# -cdl_component CYGPKG_INFRA_TESTS { - # Calculated value: "tests/cxxsupp 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 -}; - -# < -# < -# < -# 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 - # package CYGPKG_BLOCK_LIB - # 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 have been reported -# to be faster in some circumstances. The use of "MEMCPY" -# in the CDL option name is an anachronism and only -# present for backwards compatibility. -# -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) && (0 != CYGINT_ISO_STRING_MEMFUNCS) - # CYGPKG_ISOINFRA == current - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 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 <pkgconf/heaps.hxx>. -# -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 <cyg/memalloc/dlmalloc.hxx> - # value_source default - # Default value: <cyg/memalloc/dlmalloc.hxx> - - # The following properties are affected by this value - # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE - # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "<cyg/memalloc/memvar.hxx>" - # option CYGIMP_MEMALLOC_MALLOC_DLMALLOC - # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "<cyg/memalloc/dlmalloc.hxx>" -}; - -# 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 == "<cyg/memalloc/memvar.hxx>" - # CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx> - # --> 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 == "<cyg/memalloc/dlmalloc.hxx>" - # CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx> - # --> 1 -}; - -# < -# Size of the fallback dynamic memory pool in bytes -# If *no* heaps are configured in your memory layout, -# dynamic memory allocation by -# malloc() and calloc() must be from a fixed-size, -# contiguous memory pool (note here that it is the -# pool that is of a fixed size, but malloc() is still -# able to allocate variable sized chunks of memory -# from it). This option is the size -# of that pool, in bytes. Note that not all of -# this is available for programs to -# use - some is needed for internal information -# about memory regions, and some may be lost to -# ensure that memory allocation only returns -# memory aligned on word (or double word) -# boundaries - a very common architecture -# constraint. -# -cdl_option CYGNUM_MEMALLOC_FALLBACK_MALLOC_POOL_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16384 - # value_source default - # Default value: 16384 - # Legal values: 32 to 0x7fffffff -}; - -# Common memory allocator package build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_MEMALLOC_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_MEMALLOC_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_MEMALLOC_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Tests -# This option specifies the set of tests for this package. -# -cdl_option CYGPKG_MEMALLOC_TESTS { - # Calculated value: "tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2" - # Flavor: data - # Current_value: tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2 -}; - -# < -# < -# ISO C and POSIX infrastructure -# eCos supports implementations of ISO C libraries and POSIX -# implementations. This package provides infrastructure used by -# all such implementations. -# -cdl_package CYGPKG_ISOINFRA { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGPKG_ISOINFRA - # component CYGPKG_IO_SERIAL_TERMIOS - # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY - # Requires: CYGPKG_ISOINFRA - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY - # DefaultValue: (0 != CYGPKG_ISOINFRA) && (0 != CYGINT_ISO_STRING_MEMFUNCS) - # component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS - # ActiveIf: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_I18N - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_SETJMP - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_SIGNALS - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STARTUP - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STDIO - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STDLIB - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STRING - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_TIME - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_IO_FILEIO - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_BLOCK_LIB - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_USTL - # Requires: CYGPKG_ISOINFRA -}; - -# > -# Startup and termination -# -cdl_component CYGPKG_ISO_STARTUP { - # There is no associated value. -}; - -# > -# main() startup implementations -# Implementations of this interface arrange for a user-supplied -# main() to be called in an ISO compatible environment. -# -cdl_interface CYGINT_ISO_MAIN_STARTUP { - # Implemented by CYGPKG_LIBC_STARTUP, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP - # CYGINT_ISO_MAIN_STARTUP == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_MAIN_STARTUP - # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP - # package CYGPKG_USTL - # Requires: CYGINT_ISO_MAIN_STARTUP -}; - -# environ implementations -# Implementations of this interface provide the environ -# variable required by POSIX. -# -cdl_interface CYGINT_ISO_ENVIRON { - # Implemented by CYGPKG_LIBC_STARTUP, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_ENVIRON - # CYGINT_ISO_ENVIRON == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_ENVIRON - # Requires: 1 >= CYGINT_ISO_ENVIRON - # package CYGPKG_USTL - # Requires: CYGINT_ISO_ENVIRON -}; - -# < -# ctype.h functions -# -cdl_component CYGPKG_ISO_CTYPE_H { - # There is no associated value. -}; - -# > -# Number of implementations of ctype functions -# -cdl_interface CYGINT_ISO_CTYPE { - # Implemented by CYGPKG_LIBC_I18N, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_CTYPE - # Requires: 1 >= CYGINT_ISO_CTYPE - # package CYGPKG_LIBC_STDLIB - # Requires: CYGINT_ISO_CTYPE - # option CYGFUN_LIBC_STRING_BSD_FUNCS - # Requires: CYGINT_ISO_CTYPE - # component CYGPKG_FILEIO_FNMATCH - # DefaultValue: ( CYGINT_ISO_STRING_STRFUNCS && CYGINT_ISO_CTYPE ) - # package CYGPKG_USTL - # 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 <cyg/libc/i18n/ctype.inl> - # 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 == "<cyg/libc/i18n/newlibctype.h>" - # option CYGIMP_LIBC_I18N_CTYPE_INLINES - # Requires: CYGBLD_ISO_CTYPE_HEADER == "<cyg/libc/i18n/ctype.inl>" -}; - -# < -# Error handling -# -cdl_component CYGPKG_ISO_ERRNO { - # There is no associated value. -}; - -# > -# Number of implementations of error codes -# -cdl_interface CYGINT_ISO_ERRNO_CODES { - # Implemented by CYGPKG_ERROR, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_ERRNO_CODES - # Requires: 1 >= CYGINT_ISO_ERRNO_CODES - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGINT_ISO_ERRNO_CODES - # component CYGPKG_IO_SERIAL_TERMIOS - # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # option CYGSEM_LIBC_SIGNALS_RAISE_SETS_ERRNO - # Requires: CYGINT_ISO_ERRNO_CODES - # option CYGSEM_LIBC_SIGNALS_SIGNAL_SETS_ERRNO - # Requires: CYGINT_ISO_ERRNO_CODES - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_ERRNO_CODES - # package CYGPKG_IO_FILEIO - # Requires: CYGINT_ISO_ERRNO_CODES - # package CYGPKG_USTL - # Requires: CYGINT_ISO_ERRNO_CODES -}; - -# Error codes implementation header -# -cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/error/codes.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_ERROR - # Requires: CYGBLD_ISO_ERRNO_CODES_HEADER == "<cyg/error/codes.h>" -}; - -# Number of implementations of errno variable -# -cdl_interface CYGINT_ISO_ERRNO { - # Implemented by CYGPKG_ERROR_ERRNO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_ERRNO - # Requires: 1 >= CYGINT_ISO_ERRNO - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGINT_ISO_ERRNO - # component CYGPKG_IO_SERIAL_TERMIOS - # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # option CYGSEM_LIBC_SIGNALS_RAISE_SETS_ERRNO - # Requires: CYGINT_ISO_ERRNO - # option CYGSEM_LIBC_SIGNALS_SIGNAL_SETS_ERRNO - # Requires: CYGINT_ISO_ERRNO - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_ERRNO - # package CYGPKG_IO_FILEIO - # Requires: CYGINT_ISO_ERRNO - # package CYGPKG_USTL - # Requires: CYGINT_ISO_ERRNO -}; - -# errno variable implementation header -# -cdl_option CYGBLD_ISO_ERRNO_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/error/errno.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_ERROR_ERRNO - # Requires: CYGBLD_ISO_ERRNO_HEADER == "<cyg/error/errno.h>" -}; - -# < -# 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 - # package CYGPKG_USTL - # Requires: CYGINT_ISO_LOCALE -}; - -# Locale implementation header -# -cdl_option CYGBLD_ISO_LOCALE_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# Standard I/O-related functionality -# -cdl_component CYGPKG_ISO_STDIO { - # There is no associated value. -}; - -# > -# Number of implementations of stdio file types -# -cdl_interface CYGINT_ISO_STDIO_FILETYPES { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES - # CYGINT_ISO_STDIO_FILETYPES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILETYPES - # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES - # component CYGCLS_USTL_FSTREAMS - # Requires: CYGINT_ISO_STDIO_FILETYPES -}; - -# Stdio file types implementation header -# -cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FILETYPES_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Stdio standard streams implementations -# -cdl_interface CYGINT_ISO_STDIO_STREAMS { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS - # CYGINT_ISO_STDIO_STREAMS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_STREAMS - # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS - # component CYGCLS_USTL_FSTREAMS - # Requires: CYGINT_ISO_STDIO_STREAMS -}; - -# Stdio standard streams implementation header -# This header file must define stdin, stdout -# and stderr. -# -cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_STREAMS_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio file operations -# -cdl_interface CYGINT_ISO_STDIO_FILEOPS { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS - # CYGINT_ISO_STDIO_FILEOPS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEOPS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS -}; - -# Stdio file operations implementation header -# This header controls the file system operations on a file -# such as remove(), rename(), tmpfile(), tmpnam() and associated -# constants. -# -cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FILEOPS_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio file access functionals -# -cdl_interface CYGINT_ISO_STDIO_FILEACCESS { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEACCESS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # option CYGSEM_LIBC_EXIT_CALLS_FFLUSH - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # option CYGSEM_LIBC_EXIT_CALLS_FFLUSH - # DefaultValue: 0 != CYGINT_ISO_STDIO_FILEACCESS - # component CYGCLS_USTL_FSTREAMS - # 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FILEACCESS_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio formatted I/O -# -cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FORMATTED_IO - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # package CYGPKG_USTL - # 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio character I/O -# -cdl_interface CYGINT_ISO_STDIO_CHAR_IO { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO - # CYGINT_ISO_STDIO_CHAR_IO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_CHAR_IO - # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO - # package CYGPKG_USTL - # Requires: CYGINT_ISO_STDIO_CHAR_IO -}; - -# Stdio character I/O implementation header -# -cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_CHAR_IO_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio direct I/O -# -cdl_interface CYGINT_ISO_STDIO_DIRECT_IO { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO - # CYGINT_ISO_STDIO_DIRECT_IO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_DIRECT_IO - # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO - # package CYGPKG_USTL - # Requires: CYGINT_ISO_STDIO_DIRECT_IO -}; - -# Stdio direct I/O implementation header -# -cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio file positioning -# -cdl_interface CYGINT_ISO_STDIO_FILEPOS { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEPOS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # component CYGCLS_USTL_FSTREAMS - # 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FILEPOS_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio error handling -# -cdl_interface CYGINT_ISO_STDIO_ERROR { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_ERROR - # CYGINT_ISO_STDIO_ERROR == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_ERROR - # Requires: 1 >= CYGINT_ISO_STDIO_ERROR - # package CYGPKG_USTL - # Requires: CYGINT_ISO_STDIO_ERROR -}; - -# Stdio error handling implementation header -# -cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_ERROR_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# POSIX fd-related function implementations -# -cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS { - # Implemented by CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS - # CYGINT_ISO_STDIO_POSIX_FDFUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS - # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS -}; - -# POSIX fd-related function implementation header -# -cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# Standard general utility functions -# -cdl_component CYGPKG_ISO_STDLIB { - # There is no associated value. -}; - -# > -# String conversion function implementations -# -cdl_interface CYGINT_ISO_STDLIB_STRCONV { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV - # CYGINT_ISO_STDLIB_STRCONV == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_STRCONV - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_STDLIB_STRCONV -}; - -# String conversion function implementation header -# -cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdlib/atox.inl> - # 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 == "<cyg/libc/stdlib/atox.inl>" -}; - -# String to FP conversion function implementations -# -cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT { - # Implemented by CYGFUN_LIBC_strtod, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT - # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT - # Requires: CYGINT_ISO_STDLIB_STRCONV_FLOAT - # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT - # DefaultValue: 0 != CYGPKG_LIBM && - # 0 != CYGINT_ISO_STDLIB_STRCONV_FLOAT -}; - -# String to FP conversion function implementation header -# -cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Random number generator implementations -# -cdl_interface CYGINT_ISO_RAND { - # Implemented by CYGIMP_LIBC_RAND_SIMPLEST, active, disabled - # Implemented by CYGIMP_LIBC_RAND_SIMPLE1, active, enabled - # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_RAND - # CYGINT_ISO_RAND == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_RAND - # Requires: 1 >= CYGINT_ISO_RAND -}; - -# Random number generator implementation header -# -cdl_option CYGBLD_ISO_RAND_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Malloc implementations -# -cdl_interface CYGINT_ISO_MALLOC { - # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_MALLOC - # Requires: 1 >= CYGINT_ISO_MALLOC - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGINT_ISO_MALLOC - # option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC - # Requires: CYGINT_ISO_MALLOC - # option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC - # DefaultValue: 0 != CYGINT_ISO_MALLOC - # component CYGPKG_LIBC_STDIO_OPEN - # Requires: CYGINT_ISO_MALLOC - # component CYGPKG_LIBC_STDIO_OPEN - # DefaultValue: 0 != CYGINT_ISO_MALLOC - # option CYGFUN_LIBC_STRING_STRDUP - # ActiveIf: CYGINT_ISO_MALLOC - # component CYGPKG_IO_FILEIO_INODE - # Requires: CYGINT_ISO_MALLOC - # package CYGPKG_USTL - # Requires: CYGINT_ISO_MALLOC -}; - -# Malloc implementation header -# -cdl_option CYGBLD_ISO_MALLOC_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Mallinfo() implementations -# -cdl_interface CYGINT_ISO_MALLINFO { - # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_MALLINFO - # CYGINT_ISO_MALLINFO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_MALLINFO - # Requires: 1 >= CYGINT_ISO_MALLINFO -}; - -# Mallinfo() implementation header -# -cdl_option CYGBLD_ISO_MALLINFO_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Program exit functionality implementations -# -cdl_interface CYGINT_ISO_EXIT { - # Implemented by CYGPKG_LIBC_STARTUP, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_EXIT - # Requires: 1 >= CYGINT_ISO_EXIT - # option CYGFUN_INFRA_DUMMY_ABORT - # Requires: !CYGINT_ISO_EXIT - # option CYGFUN_INFRA_DUMMY_ABORT - # DefaultValue: CYGINT_ISO_EXIT == 0 - # package CYGPKG_USTL - # Requires: CYGINT_ISO_EXIT -}; - -# Program exit functionality implementation header -# -cdl_option CYGBLD_ISO_EXIT_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Program environment implementations -# -cdl_interface CYGINT_ISO_STDLIB_ENVIRON { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_ENVIRON - # CYGINT_ISO_STDLIB_ENVIRON == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_ENVIRON - # Requires: 1 >= CYGINT_ISO_STDLIB_ENVIRON -}; - -# Program environment implementation header -# -cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# system() implementations -# -cdl_interface CYGINT_ISO_STDLIB_SYSTEM { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_SYSTEM - # CYGINT_ISO_STDLIB_SYSTEM == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_SYSTEM - # Requires: 1 >= CYGINT_ISO_STDLIB_SYSTEM -}; - -# system() implementation header -# -cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# bsearch() implementations -# -cdl_interface CYGINT_ISO_BSEARCH { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_BSEARCH - # CYGINT_ISO_BSEARCH == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_BSEARCH - # Requires: 1 >= CYGINT_ISO_BSEARCH -}; - -# bsearch() implementation header -# -cdl_option CYGBLD_ISO_BSEARCH_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# qsort() implementations -# -cdl_interface CYGINT_ISO_QSORT { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_QSORT - # CYGINT_ISO_STDLIB_QSORT (unknown) == 0 - # --> 1 - - # The following properties are affected by this value -}; - -# qsort() implementation header -# -cdl_option CYGBLD_ISO_QSORT_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# abs()/labs() implementations -# -cdl_interface CYGINT_ISO_ABS { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_ABS - # CYGINT_ISO_STDLIB_ABS (unknown) == 0 - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_TIME - # Requires: CYGINT_ISO_ABS -}; - -# abs()/labs() implementation header -# -cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdlib/abs.inl> - # 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 == "<cyg/libc/stdlib/abs.inl>" -}; - -# div()/ldiv() implementations -# -cdl_interface CYGINT_ISO_DIV { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_DIV - # CYGINT_ISO_STDLIB_DIV (unknown) == 0 - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_TIME - # Requires: CYGINT_ISO_DIV -}; - -# div()/ldiv() implementation header -# -cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdlib/div.inl> - # 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 == "<cyg/libc/stdlib/div.inl>" -}; - -# 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 == "<cyg/libc/i18n/mb.h>" -}; - -# Multibyte character implementations -# -cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE { - # Implemented by CYGPKG_LIBC_I18N, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_MULTIBYTE - # CYGINT_ISO_STDLIB_MULTIBYTE == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_MULTIBYTE - # Requires: 1 >= CYGINT_ISO_STDLIB_MULTIBYTE -}; - -# Multibyte character implementation header -# -cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# String functions -# -cdl_component CYGPKG_ISO_STRING { - # There is no associated value. -}; - -# > -# Number of implementations of strerror() function -# -cdl_interface CYGINT_ISO_STRERROR { - # Implemented by CYGPKG_ERROR_STRERROR, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STRERROR - # CYGINT_ISO_STRERROR == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRERROR - # Requires: 1 >= CYGINT_ISO_STRERROR - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_STRERROR -}; - -# 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 <cyg/error/strerror.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_ERROR_STRERROR - # Requires: CYGBLD_ISO_STRERROR_HEADER == "<cyg/error/strerror.h>" -}; - -# 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 - # package CYGPKG_USTL - # Requires: 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 <cyg/libc/string/string.h> - # 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 == "<cyg/libc/string/string.h>" -}; - -# 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 - # package CYGPKG_USTL - # Requires: 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 <cyg/libc/string/string.h> - # 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 == "<cyg/libc/string/string.h>" -}; - -# Number of implementations of BSD string functions -# -cdl_interface CYGINT_ISO_STRING_BSD_FUNCS { - # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS - # CYGINT_ISO_STRING_BSD_FUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRING_BSD_FUNCS - # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS - # option CYGFUN_LIBC_TIME_POSIX - # Requires: CYGINT_ISO_STRING_BSD_FUNCS -}; - -# 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 <cyg/libc/string/bsdstring.h> - # 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 == "<cyg/libc/string/bsdstring.h>" -}; - -# 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 - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY - # DefaultValue: (0 != CYGPKG_ISOINFRA) && (0 != CYGINT_ISO_STRING_MEMFUNCS) - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # package CYGPKG_USTL - # 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 <cyg/libc/string/string.h> - # 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 == "<cyg/libc/string/string.h>" -}; - -# Number of implementations of other ISO C str*() functions -# This covers the other str*() functions defined by ISO C. -# -cdl_interface CYGINT_ISO_STRING_STRFUNCS { - # Implemented by CYGPKG_LIBC_STRING, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRING_STRFUNCS - # Requires: 1 >= CYGINT_ISO_STRING_STRFUNCS - # option CYGFUN_INFRA_DUMMY_STRLEN - # Requires: !CYGINT_ISO_STRING_STRFUNCS - # option CYGFUN_INFRA_DUMMY_STRLEN - # DefaultValue: CYGINT_ISO_STRING_STRFUNCS == 0 - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_LIBC_STDLIB - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_IO_FILEIO - # Requires: CYGINT_ISO_STRING_STRFUNCS - # component CYGPKG_FILEIO_FNMATCH - # DefaultValue: ( CYGINT_ISO_STRING_STRFUNCS && CYGINT_ISO_CTYPE ) - # package CYGPKG_USTL - # 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 <cyg/libc/string/string.h> - # 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 == "<cyg/libc/string/string.h>" -}; - -# < -# 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 - user_value 1 <cyg/posix/sys/time.h> - # value_source user - # Default value: 0 0 -}; - -# fnmatch implementation header -# -cdl_option CYGBLD_ISO_FNMATCH_HEADER { - # Flavor: booldata - user_value 1 <cyg/fileio/fnmatch.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_FILEIO_FNMATCH - # Requires: CYGBLD_ISO_FNMATCH_HEADER == "<cyg/fileio/fnmatch.h>" -}; - -# 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 - user_value 1 <cyg/posix/time.h> - # value_source user - # 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 - user_value 1 <cyg/posix/time.h> - # value_source user - # Default value: 0 0 -}; - -# Number of implementations of ISO C types -# -cdl_interface CYGINT_ISO_C_TIME_TYPES { - # Implemented by CYGPKG_LIBC_TIME, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES - # CYGINT_ISO_C_TIME_TYPES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_C_TIME_TYPES - # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES - # package CYGPKG_USTL - # Requires: CYGINT_ISO_C_TIME_TYPES -}; - -# ISO C time types implementation header -# -cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/time/time.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_TIME - # Requires: CYGBLD_ISO_C_TIME_TYPES_HEADER == "<cyg/libc/time/time.h>" -}; - -# 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 - user_value 1 <cyg/posix/time.h> - # value_source user - # 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 - user_value 1 <cyg/posix/time.h> - # value_source user - # Default value: 0 0 -}; - -# Number of implementations of ISO C clock functions -# -cdl_interface CYGINT_ISO_C_CLOCK_FUNCS { - # Implemented by CYGPKG_LIBC_TIME, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS - # CYGINT_ISO_C_CLOCK_FUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_C_CLOCK_FUNCS - # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS -}; - -# ISO C clock functions' implementation header -# -cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/time/time.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_TIME - # Requires: CYGBLD_ISO_C_CLOCK_FUNCS_HEADER == "<cyg/libc/time/time.h>" -}; - -# Number of implementations of tzset() function -# -cdl_interface CYGINT_ISO_TZSET { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_TZSET - # CYGINT_ISO_TZSET == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_TZSET - # Requires: 1 >= CYGINT_ISO_TZSET -}; - -# tzset() implementation header -# -cdl_option CYGBLD_ISO_TZSET_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# Signal functionality -# -cdl_component CYGPKG_ISO_SIGNAL { - # There is no associated value. -}; - -# > -# Number of implementations of signal numbers -# -cdl_interface CYGINT_ISO_SIGNAL_NUMBERS { - # Implemented by CYGPKG_LIBC_SIGNALS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_NUMBERS - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS - # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS - # Requires: CYGINT_ISO_SIGNAL_NUMBERS - # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS - # DefaultValue: CYGINT_ISO_SIGNAL_NUMBERS != 0 && CYGINT_ISO_SIGNAL_IMPL != 0 - # package CYGPKG_USTL - # Requires: 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/signals/signal.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_SIGNALS - # Requires: CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == "<cyg/libc/signals/signal.h>" -}; - -# Number of signal implementations -# -cdl_interface CYGINT_ISO_SIGNAL_IMPL { - # Implemented by CYGPKG_LIBC_SIGNALS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_IMPL - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL - # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS - # Requires: CYGINT_ISO_SIGNAL_IMPL - # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS - # DefaultValue: CYGINT_ISO_SIGNAL_NUMBERS != 0 && CYGINT_ISO_SIGNAL_IMPL != 0 - # package CYGPKG_USTL - # Requires: 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/signals/signal.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_SIGNALS - # Requires: CYGBLD_ISO_SIGNAL_IMPL_HEADER == "<cyg/libc/signals/signal.h>" -}; - -# 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 { - # Implemented by CYGPKG_LIBC_SETJMP, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SETJMP - # CYGINT_ISO_SETJMP == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SETJMP - # Requires: 1 >= CYGINT_ISO_SETJMP -}; - -# setjmp() / longjmp() implementation header -# -cdl_option CYGBLD_ISO_SETJMP_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/setjmp/setjmp.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_SETJMP - # Requires: CYGBLD_ISO_SETJMP_HEADER == "<cyg/libc/setjmp/setjmp.h>" -}; - -# 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 - user_value 1 <cyg/posix/sigsetjmp.h> - # value_source user - # 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 <fcntl.h> -# -cdl_component CYGPKG_ISO_POSIX_FCNTL { - # There is no associated value. -}; - -# > -# POSIX open flags implementation header -# -cdl_option CYGBLD_ISO_OFLAG_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# POSIX fcntl() implementations -# -cdl_interface CYGINT_ISO_FCNTL { - # Implemented by CYGPKG_IO_FILEIO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_FCNTL - # CYGINT_ISO_FCNTL == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_FCNTL - # Requires: 1 >= CYGINT_ISO_FCNTL -}; - -# POSIX fcntl() implementation header -# -cdl_option CYGBLD_ISO_FCNTL_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# POSIX file open implementations -# -cdl_interface CYGINT_ISO_OPEN { - # Implemented by CYGPKG_IO_FILEIO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_OPEN - # CYGINT_ISO_OPEN == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_OPEN - # Requires: 1 >= CYGINT_ISO_OPEN -}; - -# POSIX file open implementation header -# -cdl_option CYGBLD_ISO_OPEN_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# <sys/stat.h> definitions implementation header -# -cdl_option CYGBLD_ISO_STAT_DEFS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# POSIX directory reading implementation -# -cdl_interface CYGINT_ISO_DIRENT { - # Implemented by CYGPKG_IO_FILEIO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_DIRENT - # CYGINT_ISO_DIRENT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_DIRENT - # Requires: 1 >= CYGINT_ISO_DIRENT -}; - -# <dirent.h> definitions implementation header -# -cdl_option CYGBLD_ISO_DIRENT_HEADER { - # Flavor: booldata - user_value 1 <cyg/fileio/dirent.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_IO_FILEIO - # Requires: CYGBLD_ISO_DIRENT_HEADER == "<cyg/fileio/dirent.h>" -}; - -# POSIX <sys/types.h> contents -# This covers the types required by POSIX to be in -# <sys/types.h> -# -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 - user_value 1 <cyg/posix/types.h> - # value_source user - # 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 - user_value 1 <cyg/posix/muttypes.h> - # value_source user - # 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 <sys/types.h> contents -# This covers the extra types required by non-POSIX -# packages to be in <sys/types.h>. 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 - user_value 1 <cyg/posix/utsname.h> - # value_source user - # 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 - user_value 1 <cyg/posix/semaphore.h> - # value_source user - # 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 - user_value 0 0 - # value_source user - # 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 - user_value 1 <cyg/posix/pthread.h> - # value_source user - # 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 - user_value 1 <cyg/posix/mutex.h> - # value_source user - # 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 - user_value 1 <cyg/posix/limits.h> - # value_source user - # Default value: 0 0 -}; - -# OPEN_MAX implementation header -# -cdl_option CYGBLD_ISO_OPEN_MAX_HEADER { - # Flavor: booldata - user_value 1 <cyg/fileio/limits.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_IO_FILEIO - # Requires: CYGBLD_ISO_OPEN_MAX_HEADER == "<cyg/fileio/limits.h>" -}; - -# 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 - user_value 1 <cyg/fileio/limits.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_IO_FILEIO - # Requires: CYGBLD_ISO_NAME_MAX_HEADER == "<cyg/fileio/limits.h>" -}; - -# PATH_MAX implementation header -# -cdl_option CYGBLD_ISO_PATH_MAX_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX termios -# -cdl_component CYGPKG_ISO_TERMIOS { - # There is no associated value. -}; - -# > -# POSIX termios implementations -# -cdl_interface CYGINT_ISO_TERMIOS { - # Implemented by CYGPKG_IO_SERIAL_TERMIOS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_TERMIOS - # CYGINT_ISO_TERMIOS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_TERMIOS - # Requires: 1 >= CYGINT_ISO_TERMIOS -}; - -# POSIX termios implementation header -# -cdl_option CYGBLD_ISO_TERMIOS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# Dynamic load API -# -cdl_component CYGPKG_ISO_DLFCN { - # There is no associated value. -}; - -# > -# Dynamic load implementations -# -cdl_interface CYGINT_ISO_DLFCN { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_DLFCN - # CYGINT_ISO_DLFCN == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_DLFCN - # Requires: 1 >= CYGINT_ISO_DLFCN -}; - -# Dynamic load implementation header -# -cdl_option CYGBLD_ISO_DLFCN_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# UNIX standard functions -# -cdl_component CYGPKG_ISO_UNISTD { - # There is no associated value. -}; - -# > -# POSIX timer operations implementations -# -cdl_interface CYGINT_ISO_POSIX_TIMER_OPS { - # 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 { - # Implemented by CYGFUN_IO_FILEIO_SELECT, inactive, enabled - # 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: "" -}; - -# < -# < -# ISO C library -# doc: ref/libc.html -# The packages under this package enable compatibility with the ISO C -# standard - ISO/IEC 9899:1990. This allows the user application to use -# well known standard C library functions, and in eCos starts a thread -# to invoke the user function main(). This package is a top-level placeholder -# to contain the implementations. -# -cdl_package CYGPKG_LIBC { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # component CYGNUM_LIBM_COMPATIBILITY - # Requires: CYGPKG_LIBC -}; - -# > -# ISO C library 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 <ctype.h> functionality. -# -cdl_package CYGPKG_LIBC_I18N { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGPKG_LIBC_I18N -}; - -# > -# Supported locales -# These options determine which locales other than the "C" locale -# are supported and hence contribute to the size of the executable. -# -cdl_component CYGPKG_LIBC_I18N_LOCALES { - # There is no associated value. -}; - -# > -# Support for multiple locales required -# -cdl_interface CYGINT_LIBC_I18N_MB_REQUIRED { - # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_SJIS, active, disabled - # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_JIS, active, disabled - # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_EUCJP, active, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER == "<cyg/libc/i18n/mb.h>" - # 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 == "<cyg/libc/i18n/newlibctype.h>" - # CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl> - # --> 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 <ctype.h> functions -# This option chooses whether the simple character -# classification and conversion functions (e.g. -# isupper(), isalpha(), toupper(), etc.) -# from <ctype.h> 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 == "<cyg/libc/i18n/ctype.inl>" - # CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl> - # --> 1 -}; - -# C library i18n functions build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_I18N_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_I18N_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_I18N_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library i18n function tests -# This option specifies the set of tests for the C library -# i18n functions. -# -cdl_option CYGPKG_LIBC_I18N_TESTS { - # Calculated value: "tests/ctype tests/setlocale tests/i18nmb" - # Flavor: data - # Current_value: tests/ctype tests/setlocale tests/i18nmb -}; - -# < -# < -# ISO C library setjmp/longjmp functions -# doc: ref/libc.html -# This package provides non-local jumps based on setjmp() and -# longjmp() in <setjmp.h> as specified by the ISO C -# standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_SETJMP { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGBLD_ISO_SETJMP_HEADER == "<cyg/libc/setjmp/setjmp.h>" - # CYGBLD_ISO_SETJMP_HEADER == <cyg/libc/setjmp/setjmp.h> - # --> 1 -}; - -# > -# C library setjmp build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_SETJMP_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_SETJMP_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_SETJMP_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library setjmp tests -# This option specifies the set of tests for this package. -# -cdl_option CYGPKG_LIBC_SETJMP_TESTS { - # Calculated value: "tests/setjmp" - # Flavor: data - # Current_value: tests/setjmp -}; - -# < -# < -# ISO C library signal functions -# doc: ref/libc.html -# This component controls signal functionality, -# as implemented in ISO/IEC 9899:1990 chapter 7.7 with -# the signal() and raise() functions. As well as -# allowing a program to send itself signals, it is -# also possible to cause hardware exceptions to -# be signalled to the program in a similar way. -# -cdl_package CYGPKG_LIBC_SIGNALS { - # 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_SIGNAL_NUMBERS_HEADER == "<cyg/libc/signals/signal.h>" - # CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == <cyg/libc/signals/signal.h> - # --> 1 - # Requires: CYGBLD_ISO_SIGNAL_IMPL_HEADER == "<cyg/libc/signals/signal.h>" - # CYGBLD_ISO_SIGNAL_IMPL_HEADER == <cyg/libc/signals/signal.h> - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 -}; - -# > -# Thread safe signals -# Because signal handlers are global, and not -# thread-specific (as mandated by POSIX 1003.1) -# it is possible for multiple threads to clash -# and corrupt data if setting the same signal -# handler at the same time. With this option -# enabled, a kernel mutex will be used to protect -# the shared data. -# -cdl_option CYGSEM_LIBC_SIGNALS_THREAD_SAFE { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# Hardware exceptions cause signals -# This causes hardware exceptions like -# arithmetic exceptions (e.g. divide by zero) -# or bad memory accesses to be passed through as -# signals. It is thus possible for a program to -# handle these exceptions in a generic way using -# the appropriate signal handlers. The details of -# exactly which exceptions are passed through -# under what circumstances depend on the -# underlying HAL implementation. Consequently it -# must be remembered that signal handlers cannot -# be guaranteed to be invoked in the expected -# circumstances if you do not know about the -# underlying HAL implementation - it is possible -# that the architecture is unable to detect that -# exception. -# -cdl_component CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_KERNEL_EXCEPTIONS_GLOBAL - # CYGSEM_KERNEL_EXCEPTIONS_GLOBAL (unknown) == 0 - # --> 0 - # Requires: CYGSEM_KERNEL_EXCEPTIONS_DECODE - # CYGSEM_KERNEL_EXCEPTIONS_DECODE (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_LIBC_SIGNALS_TESTS - # Calculated: - # "tests/signal1" - # . ((CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS) ? " tests/signal2" : "") - # -}; - -# > -# Chain old exception handlers -# When hardware exceptions are generated, it -# is possible to chain into the old kernel exception -# handler before calling any registered signal -# handler. If this is not required, disable this -# option and only the signal handler will be -# called when this exception occurs. Disabling -# this option will also save some space and code -# usage. -# -cdl_option CYGSEM_LIBC_SIGNALS_CHAIN_HWEXCEPTIONS { - # This option is not active - # The parent CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Inline versions of functions -# Some functions can be made inline instead of -# being function calls. These can be set here. -# -cdl_component CYGPKG_LIBC_SIGNALS_INLINE { - # There is no associated value. -}; - -# > -# raise() -# Enabling this option makes raise() an inline function. -# -cdl_option CYGIMP_LIBC_SIGNALS_RAISE_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# signal() -# Enabling this option makes signal() an inline function. -# -cdl_option CYGIMP_LIBC_SIGNALS_SIGNAL_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Error handling -# You may or may not want errno to be set by -# certain functions. Not using errno could save -# both space, code, and avoid worrying about -# interactions between multiple threads when -# setting it. -# -cdl_component CYGPKG_LIBC_SIGNALS_ERROR_HANDLING { - # There is no associated value. -}; - -# > -# Bad signal fatal -# Enabling this option will cause an assertion -# failure if the signal handling code is -# passed a bad signal. Otherwise an error will -# be returned, or in the case of a -# hardware-generated exception it will be silently -# ignored. -# -cdl_option CYGSEM_LIBC_SIGNALS_BAD_SIGNAL_FATAL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 -}; - -# raise() sets errno -# You may or may not want errno to be set by -# raise() on error conditions. Not using errno -# could save both space, code, and avoid worrying -# about interactions between multiple threads when -# setting it. Strictly ISO C does not mandate -# that errno be set by raise(). -# -cdl_option CYGSEM_LIBC_SIGNALS_RAISE_SETS_ERRNO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 -}; - -# signal() sets errno -# You may or may not want errno to be set by -# signal() on error conditions. Not using errno -# could save both space, code, and avoid worrying -# about interactions between multiple threads when -# setting it. Strictly ISO C mandates -# that errno be set by signal(). -# -cdl_option CYGSEM_LIBC_SIGNALS_SIGNAL_SETS_ERRNO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 -}; - -# < -# Tracing -# These options control the trace output for the C -# library internal signal implementation. -# -cdl_component CYGPKG_LIBC_SIGNALS_TRACING { - # There is no associated value. -}; - -# > -# Default trace level for raise() -# This gives the default tracing level for the -# raise() function. Higher numbers are more -# verbose. -# -cdl_option CYGNUM_LIBC_SIGNALS_RAISE_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 -}; - -# Default hardware exception handler trace level -# This gives the default tracing level for the -# hardware exception handler function (if enabled). -# Higher numbers are more verbose. -# -cdl_option CYGNUM_LIBC_SIGNALS_HWHANDLER_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 signal 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_SIGNALS_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_SIGNALS_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_SIGNALS_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library signal function tests -# This option specifies the set of tests for the C library -# signal functions. -# -cdl_option CYGPKG_LIBC_SIGNALS_TESTS { - # Calculated value: - # "tests/signal1" - # . ((CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS) ? " tests/signal2" : "") - # - # CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS == 0 - # Flavor: data - # Current_value: tests/signal1 -}; - -# < -# < -# ISO environment startup/termination -# doc: ref/c-library-startup.html -# This package manages the control of the -# environment (in the general sense) that an -# application would require for full ISO C / POSIX -# compatibility, including a main() entry point -# supplied with arguments and an environment -# (as retrievable by the getenv() function). -# It also includes at the other end of things, -# what happens when main() returns or exit() is -# called. -# -cdl_package CYGPKG_LIBC_STARTUP { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGINT_LIBC_STARTUP_CONTEXT == 1 - # CYGINT_LIBC_STARTUP_CONTEXT == 1 - # --> 1 -}; - -# > -# main() can be invoked elsewhere -# Implementors of this interface show that they -# allow main() to be invoked elsewhere. -# -cdl_interface CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - - # The following properties are affected by this value - # option CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT - # DefaultValue: 0 == CYGPKG_KERNEL && 0 == - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # component CYGSEM_LIBC_STARTUP_MAIN_THREAD - # DefaultValue: 0 != CYGPKG_KERNEL && 0 == CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # option CYGSEM_LIBC_STARTUP_MAIN_OTHER - # DefaultValue: 0 != CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # option CYGSEM_LIBC_STARTUP_MAIN_OTHER - # Requires: CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE -}; - -# Arguments to main() -# This option allows the setting of the arguments -# to the main function. This only has any effect -# when cyg_iso_c_start() is used to start the -# ISO C compatibility. This will automatically -# invoke main() in an ISO C compatible fashion. -# This option is in fact used as argv, and so is -# an n-tuple of string constants. The final -# entry must be NULL. Conventionally if argv[0] -# is supplied, it is used to inform the program -# of its name. -# -cdl_option CYGDAT_LIBC_ARGUMENTS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{(char *)\"\", (char *)NULL}" - # value_source default - # Default value: "{(char *)\"\", (char *)NULL}" -}; - -# Startup context for main() -# This component describes the options available for -# what context main() is invoked in, such as in a thread -# etc. -# -cdl_component CYGPKG_LIBC_STARTUP_CONTEXT { - # There is no associated value. -}; - -# > -# Startup context implementors -# -cdl_interface CYGINT_LIBC_STARTUP_CONTEXT { - # Implemented by CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT, active, enabled - # Implemented by CYGSEM_LIBC_STARTUP_MAIN_THREAD, active, disabled - # Implemented by CYGSEM_LIBC_STARTUP_MAIN_OTHER, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STARTUP - # Requires: CYGINT_LIBC_STARTUP_CONTEXT == 1 -}; - -# Invoked from initialization context -# With this option selected, main() will be -# called via cyg_user_start() (unless the program -# overrides the default cyg_user_start()). This -# means it is run in the context of the system -# initialization code, without the eCos kernel -# scheduler running, and using the startup stack. -# This means that any functions that may require -# interactions with a running kernel will not -# work (including libc functions, if configured -# to be thread safe for example), so you should -# restrict yourself to only calling fully -# re-entrant functions from within main() in -# this case. -# -cdl_option CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 == CYGPKG_KERNEL && 0 == - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # CYGPKG_KERNEL (unknown) == 0 - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 0 - # --> 1 -}; - -# Invoked as eCos thread -# With this option selected, main() is invoked from an eCos -# thread. -# -cdl_component CYGSEM_LIBC_STARTUP_MAIN_THREAD { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 0 != CYGPKG_KERNEL && 0 == CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # CYGPKG_KERNEL (unknown) == 0 - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 0 - # --> 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) -}; - -# > -# System provides stack for main()'s thread -# This option controls whether the stack of -# main()'s thread is provided by the application or -# provided by the system. When disabled, the -# application must declare a pointer variable -# cyg_libc_main_stack which is a pointer to an -# appropriately aligned region of memory. The -# application must also declare a variable of -# type `int' called cyg_libc_main_stack_size -# which contains the size of the stack in bytes. -# This must be a multiple of 8. -# -cdl_option CYGSEM_LIBC_MAIN_STACK_FROM_SYSTEM { - # This option is not active - # The parent CYGSEM_LIBC_STARTUP_MAIN_THREAD is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Priority of main()'s thread -# This option is used to provide the thread -# priority which main()'s thread runs at. Be -# sure to check that this number is appropriate -# for the kernel scheduler chosen. Different -# kernel schedulers impose different restrictions -# on the usable priorities. -# -cdl_option CYGNUM_LIBC_MAIN_THREAD_PRIORITY { - # This option is not active - # The parent CYGSEM_LIBC_STARTUP_MAIN_THREAD is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 - # Legal values: 0 to 0x7fffffff -}; - -# < -# Invoked elsewhere -# With this option selected, main() must be -# invoked by a separate package, or by the user. -# -cdl_option CYGSEM_LIBC_STARTUP_MAIN_OTHER { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 0 != CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 0 - # --> 0 - # Requires: CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) -}; - -# < -# Don't allow main()'s stack size to be set -# This interface describes whether the stack size -# value set in this package is supported by the -# implementation that invokes main. If not, that -# option is disabled. -# -cdl_interface CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE { - # Implemented by CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT, active, enabled - # This value cannot be modified here. - # Flavor: bool - # Current value: 1 - - # The following properties are affected by this value - # option CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE - # ActiveIf: !CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE -}; - -# main()'s default thread stack size -# This option sets the size of the stack used -# in the context that invokes main(). For example, -# with an eCos kernel, when the cyg_iso_c_start() -# function is used to invoke the user-supplied -# main() function in an ISO C compatible fashion, -# a separate thread is created to call main(). -# This option controls the size of that thread's -# stack, which is allocated in the BSS. It -# must be a multiple of 8. Note, a low number -# here may be overriden by the HAL if there is -# a minimum requirement to process interrupts -# etc. This option cannot be set if the implementation -# that invokes main() does not use it. -# -cdl_option CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE { - # This option is not active - # ActiveIf constraint: !CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE - # CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE == 1 - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8192 - # value_source default - # Default value: 8192 - # Legal values: 16 to 0x7fffffff -}; - -# Include atexit() function -# This option enables the use of the atexit() -# function, and ensure that the atexit handlers -# are invoked from within exit() as defined in -# the ISO C standard. -# -cdl_component CYGFUN_LIBC_ATEXIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Number of functions atexit() supports -# This option sets the number of functions -# that atexit() has room for. In other words, -# the number of separate atexit() calls that -# can be made before calling exit() or returning -# from main() ( in an environment controlled by -# cyg_iso_c_start() ). For strict compliance -# with the ISO C standard this should be at -# least 32. -# -cdl_option CYGNUM_LIBC_ATEXIT_HANDLERS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 - # Legal values: 1 to 0x7fffffff -}; - -# < -# Make exit() call fflush() -# This option will ensure that all output -# streams are flushed when exitting using -# exit() as prescribed by the ISO C standard. -# -cdl_option CYGSEM_LIBC_EXIT_CALLS_FFLUSH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 1 - # --> 1 -}; - -# _exit() stops all threads -# If this option is enabled then _exit(), -# which is called from exit() which itself is -# called on return from main(), stops the eCos -# scheduler. For strict POSIX 1003.1 -# compatibility this would be the normal -# behaviour. To allow the thread to simply -# exit, without affecting other threads, simply -# leave this option disabled. If there is no eCos -# scheduler, then _exit() simply loops -# irrespective of the setting of this option. -# -cdl_option CYGSEM_LIBC_EXIT_STOPS_SYSTEM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# Default environment -# This option allows the setting of the default -# contents of the environment. This is in fact -# the contents of the global environment pointer -# char **environ defined by POSIX 1003.1. Strings -# must be of the form NAME=VALUE, and the final -# entry must be NULL. -# -cdl_option CYGDAT_LIBC_DEFAULT_ENVIRONMENT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{ NULL }" - # value_source default - # Default value: "{ NULL }" -}; - -# Invoke default static constructors -# This option causes the C library to call -# static constructors with default priority -# from within the context of the main() thread, -# working with the co-operation of the HAL. -# This may be needed for environments that -# expect static constructors to be run in a -# thread context. Note that this uses an object -# with priority 65534. Therefore do not use -# priority 65534 for any other static objects -# with this option enabled. -# -cdl_option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG - # CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG == 0 - # --> 0 - # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) - # CYGSEM_LIBC_STARTUP_MAIN_THREAD == 0 - # CYGSEM_LIBC_STARTUP_MAIN_OTHER == 0 - # CYGPKG_POSIX_PTHREAD (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG - # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS -}; - -# ISO environment startup/termination build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_STARTUP_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_STARTUP_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_STARTUP_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# ISO environment startup/termination tests -# This option specifies the set of tests for this package. -# -cdl_option CYGPKG_LIBC_STARTUP_TESTS { - # Calculated value: "tests/atexit" - # Flavor: data - # Current_value: tests/atexit -}; - -# < -# < -# ISO C library standard input/output functions -# doc: ref/libc.html -# This package provides standard input/output functions associated -# with the header file <stdio.h> as specified by the -# ISO C standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_STDIO { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_IO - # CYGPKG_IO == current - # --> 1 - # Requires: CYGPKG_LIBC_I18N - # CYGPKG_LIBC_I18N == current - # --> 1 - # Requires: (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? CYGPKG_IO_SERIAL_HALDIAG : 1) - # CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" - # CYGPKG_IO_SERIAL_HALDIAG == 1 - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FILETYPES_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FILETYPES_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FILEACCESS_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FILEACCESS_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FILEPOS_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FILEPOS_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FILEOPS_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FILEOPS_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_CHAR_IO_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_CHAR_IO_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_ERROR_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_ERROR_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_STREAMS_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_STREAMS_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_STRERROR - # CYGINT_ISO_STRERROR == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDLIB_STRCONV - # CYGINT_ISO_STDLIB_STRCONV == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_LIBM_USE_STDERR - # Requires: CYGPKG_LIBC_STDIO -}; - -# > -# Inline versions of <stdio.h> functions -# This option chooses whether some of the -# particularly simple functions from -# <stdio.h> are available as inline -# functions. This may improve performance, and as -# the functions are small, may even improve code -# size. -# -cdl_option CYGIMP_LIBC_STDIO_INLINES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Permitted number of open files -# This option controls the guaranteed minimum -# number of simultaneously open files. The ISO -# C standard requires it to be defined (para -# 7.9.1), and if strictly compliant, it must be -# at least 8 (para 7.9.3). In practice it can be -# as low as 3 - for stdin, stdout and stderr. -# -cdl_option FOPEN_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: 3 to 0x7fffffff -}; - -# Maximum length of filename -# This option defines the maximum allowed size of -# a filename in characters. The ISO C standard -# requires it to be defined (para 7.9.1). -# -cdl_option FILENAME_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 1 to 0x7fffffff -}; - -# Maximum length of filenames for temporary files -# This option defines the maximum allowed size of -# filenames for temporary files as generated by -# tmpnam(). It is measured in characters, and the -# ISO C standard requires it to be defined (para -# 7.9.1). -# -cdl_option L_tmpnam { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 4 to 0x7fffffff -}; - -# Unique file names generated by tmpnam() -# This option defines the minimum number of -# unique file names generated by tmpnam(). The -# ISO C standard requires it to be defined (para -# 7.9.1) and for ISO compliance it should be at least -# 25. Note that TMP_MAX names may not be generated -# if L_tmpnam is too small. -# -cdl_option TMP_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 25 - # value_source default - # Default value: 25 - # Legal values: 1 to 0x7fffffff -}; - -# Buffered I/O -# This option controls whether input/output -# through the <stdio.h> functions is buffered. -# This may save some memory per file. It -# is equivalent to putting every file into -# non-buffered mode (_IONBF) through setvbuf(), -# except now it can never be altered back to -# buffered mode. Disabling buffering is strictly -# non-compliant with the ISO C standard. -# -cdl_component CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option BUFSIZ - # Calculated: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0 - # option CYGPKG_LIBC_STDIO_FILEIO - # Requires: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO -}; - -# > -# Default buffer size -# This option defines the default size of buffer -# used with calls to setbuf(), and is the default -# size for buffered streams that have not had -# either setbuf() or setvbuf() invoked on them. -# It is exactly equivalent to the standard -# constant BUFSIZ, except that it is 0 if -# CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO is disabled. -# The ISO C standard requires this to be defined -# (para 7.9.1), and says it must be at least 256 -# (para 7.9.2). -# -cdl_option CYGNUM_LIBC_STDIO_BUFSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: 256 - # Legal values: 1 to 0x7fffffff - - # The following properties are affected by this value - # option BUFSIZ - # Calculated: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0 -}; - -# setbuf()/setvbuf() allows dynamic setting -# This option controls whether I/O buffers are -# implemented dynamically within the stdio -# implementation. Otherwise they will be static, -# and cannot be changed by setbuf()/setvbuf(). If -# they are static (i.e. this option is disabled), -# any attempt to use an arbitrary buffer size, or -# to pass a user-supplied buffer to setbuf() or -# setvbuf() will fail - the buffer is implemented -# internally as a static array taking the size -# of the configuration option BUFSIZ. The only -# exception is if a user buffer is not supplied, -# and the buffer size requested is less than -# BUFSIZ. In this case, the buffer will -# be configured to only use that amount of -# buffering. However the unused memory left over -# will NOT be freed. If this option is enabled, -# then setvbuf() can be used to assign a user supplied -# buffer to the stream. -# Either setting can be considered to -# be compliant with the ISO C standard. -# -cdl_option CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC - # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF - # option CYGPKG_LIBC_STDIO_FILEIO - # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF -}; - -# setbuf()/setvbuf() uses malloc() -# This option controls whether buffers set by setbuf() and -# setvbuf() may be allocated using malloc(). -# -cdl_option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF - # CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF == 1 - # --> 1 -}; - -# < -# Default buffer size (BUFSIZ) -# -cdl_option BUFSIZ { - # Calculated value: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0 - # CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO == 1 - # CYGNUM_LIBC_STDIO_BUFSIZE == 256 - # Flavor: data - # Current_value: 256 -}; - -# Support for ungetc() -# This option controls whether ungetc() is -# supported. If not, then some space can be -# saved, and speed is improved. Note that you -# MUST have this defined if you want to use the -# scanf() family of functions. -# -cdl_option CYGFUN_LIBC_STDIO_ungetc { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Dynamic opening/closing of files -# fopen() and fclose() use dynamic memory -# allocation routines to allocate memory for -# new FILE structure pointers. If a malloc -# implementation is available, this option -# may be enabled to use -# fopen() and fclose(). If disabled, only the -# default console streams - stdin, stdout and -# stderr - will be available. -# -cdl_component CYGPKG_LIBC_STDIO_OPEN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 -}; - -# > -# POSIX fdopen/fileno functions -# This identifies to the rest of the system -# whether the POSIX fdopen() and -# fileno() functions are implemented. -# -cdl_option CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS { - # ActiveIf constraint: CYGPKG_LIBC_STDIO_FILEIO - # CYGPKG_LIBC_STDIO_FILEIO == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# < -# Default console device -# This option allows you to choose the -# default console device. In the current -# implementation, all these devices begin -# with the prefix /dev/ and are followed by -# the name of a device. The name of the device -# depends on the device drivers you have -# configured in your system. For example, -# /dev/ttydiag could be the HAL diagnostic output -# pseudo-device, or /dev/tty0 could be your -# first serial driver, depending on your -# configuration. -# -cdl_option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ttydiag\"" - # value_source default - # Default value: CYGDAT_IO_SERIAL_TTY_CONSOLE ? CYGDAT_IO_SERIAL_TTY_CONSOLE : "\"/dev/null\"" - # CYGDAT_IO_SERIAL_TTY_CONSOLE == "\"/dev/ttydiag\"" - # CYGDAT_IO_SERIAL_TTY_CONSOLE == "\"/dev/ttydiag\"" - # --> "\"/dev/ttydiag\"" - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? CYGPKG_IO_SERIAL_HALDIAG : 1) -}; - -# Floating point support -# This component allows floating point support -# to be enabled in certain standard I/O -# functions. -# -cdl_component CYGPKG_LIBC_STDIO_FLOATING_POINT { - # There is no associated value. -}; - -# > -# printf() family -# This option enables the use of floating point -# number output in the printf() family (i.e. -# printf(), sprintf(), vprintf(), etc.) of -# functions. A substantial amount of code space -# can be saved if this option is disabled. If it -# is disabled then floating point specifiers -# (%e, %f, %g) are ignored, and nothing is -# output. -# -cdl_option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 -}; - -# scanf() family -# This option enables the use of floating point -# number conversion in the scanf() family (i.e. -# scanf(), sscanf(), vscanf(), etc.) of -# functions. A substantial amount of code space -# can be saved if this option is disabled. If it -# is disabled then floating point specifiers -# (%e, %f, %g) are ignored, and nothing is -# converted. -# -cdl_option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_LIBM && - # 0 != CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGPKG_LIBM == current - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 1 - # --> 1 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 - # Requires: CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 1 - # --> 1 -}; - -# < -# Long long support -# This option allows various functions in the C Standard I/O -# library to support the 'long long' datatype. Doing so -# will come with a noticeable code size penalty however. -# -cdl_option CYGFUN_LIBC_STDIO_LONGLONG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_LIBC_STDLIB_CONV_LONGLONG - # CYGFUN_LIBC_STDLIB_CONV_LONGLONG == 1 - # --> 1 -}; - -# Thread safe I/O streams -# doc: ref/libc-thread-safety.html -# This option controls whether standard I/O streams -# are thread-safe. Having this option set allows -# the streams to be locked when accessed by -# multiple threads simultaneously. -# -cdl_option CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS { - # 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 -}; - -# C99 compliant snprintf() family -# This option allows C99 compliant implementation of -# snprintf() family (i.e. snprintf(), vsnprintf()) -# of functions. C99 compliant snprintf() functions -# return the number of characters that would have been written -# to a sufficiently sized buffer (excluding the '\0'). -# If this option is disabled, the functions simply return -# the number of bytes that have been written to the buffer. -# -cdl_option CYGIMP_LIBC_STDIO_C99_SNPRINTF { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 - - # The following properties are affected by this value - # package CYGPKG_USTL - # Requires: CYGIMP_LIBC_STDIO_C99_SNPRINTF -}; - -# Enable use of FILEIO package for IO operations. -# This CDL exists to control how the standard I/O functions -# interface to the underlying I/O system. Either using the -# File I/O package, or the generic I/O package which is used -# by fewer devices. -# -cdl_option CYGPKG_LIBC_STDIO_FILEIO { - # ActiveIf constraint: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO - # CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO == 1 - # --> 1 - # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF - # CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS - # ActiveIf: CYGPKG_LIBC_STDIO_FILEIO -}; - -# C library stdio functions build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_STDIO_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_STDIO_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_STDIO_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library stdio function tests -# This option specifies the set of tests for the C library -# stdio functions. -# -cdl_option CYGPKG_LIBC_STDIO_TESTS { - # Calculated value: - # "tests/sprintf1 tests/sprintf2 tests/snprintf tests/sscanf tests/stdiooutput " - # . ((CYGPKG_IO_FILEIO && CYGPKG_FS_RAM) ? "tests/fileio " : "") - # - # CYGPKG_IO_FILEIO == current - # CYGPKG_FS_RAM (unknown) == 0 - # Flavor: data - # Current_value: tests/sprintf1 tests/sprintf2 tests/snprintf tests/sscanf tests/stdiooutput -}; - -# < -# < -# ISO C library general utility functions -# doc: ref/libc.html -# This package provides general utility functions in <stdlib.h> -# 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 <stdlib.h> functions -# This option chooses whether some of the -# particularly simple standard utility functions -# from <stdlib.h> 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 == "<cyg/libc/stdlib/abs.inl>" - # CYGBLD_ISO_STDLIB_ABS_HEADER == <cyg/libc/stdlib/abs.inl> - # --> 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 == "<cyg/libc/stdlib/div.inl>" - # CYGBLD_ISO_STDLIB_DIV_HEADER == <cyg/libc/stdlib/div.inl> - # --> 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 == "<cyg/libc/stdlib/atox.inl>" - # CYGBLD_ISO_STDLIB_STRCONV_HEADER == <cyg/libc/stdlib/atox.inl> - # --> 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 - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Knuth implementation #1 -# This implements a slightly more complex algorithm -# published in Donald E. Knuth's Art of Computer -# Programming Vol.2 section 3.6 (p.185 in the 3rd ed.). -# This produces better random numbers than the -# simplest approach but is slower. -# -cdl_option CYGIMP_LIBC_RAND_KNUTH1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Provides strtod() -# This option allows use of the utility function -# strtod() (and consequently atof()) to convert -# from string to double precision floating point -# numbers. Disabling this option removes the -# dependency on the math library package. -# -cdl_option CYGFUN_LIBC_strtod { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 -}; - -# Provides long long conversion functions -# Enabling this option will provide support for the strtoll(), -# strtoull() and atoll() conversion functions, which are -# the long long variants of the standard versions of these -# functions. Supporting this requires extra code and compile -# time. -# -cdl_option CYGFUN_LIBC_STDLIB_CONV_LONGLONG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGFUN_LIBC_STDIO_LONGLONG - # Requires: CYGFUN_LIBC_STDLIB_CONV_LONGLONG -}; - -# bsearch() tracing level -# Trace verbosity level for debugging the <stdlib.h> -# 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 <stdlib.h> -# quicksort function qsort(). Increase this value -# to get additional trace output. -# -cdl_option CYGNUM_LIBC_QSORT_TRACE_LEVEL { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 -}; - -# C library stdlib build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_STDLIB_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library stdlib tests -# This option specifies the set of tests for this package. -# -cdl_option CYGPKG_LIBC_STDLIB_TESTS { - # Calculated value: "tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul" - # Flavor: data - # Current_value: tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul -}; - -# < -# < -# ISO C library string functions -# doc: ref/libc.html -# This package provides string functions specified by the -# ISO C standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_STRING { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == "<cyg/libc/string/string.h>" - # CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h> - # --> 1 - # Requires: CYGBLD_ISO_STRING_MEMFUNCS_HEADER == "<cyg/libc/string/string.h>" - # CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h> - # --> 1 - # Requires: CYGBLD_ISO_STRING_STRFUNCS_HEADER == "<cyg/libc/string/string.h>" - # CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h> - # --> 1 - # Requires: CYGBLD_ISO_STRTOK_R_HEADER == "<cyg/libc/string/string.h>" - # CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h> - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 -}; - -# > -# Inline versions of <string.h> functions -# This option chooses whether some of the -# particularly simple string functions from -# <string.h> are available as inline -# functions. This may improve performance, and as -# the functions are small, may even improve code -# size. -# -cdl_option CYGIMP_LIBC_STRING_INLINES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Optimize string functions for code size -# This option tries to reduce string function -# code size at the expense of execution speed. The -# same effect can be produced if the code is -# compiled with the -Os option to the compiler. -# -cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Provide BSD compatibility functions -# Enabling this option causes various compatibility functions -# commonly found in the BSD UNIX operating system to be included. -# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp, -# strncasecmp, index, rindex and swab. -# -cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == "<cyg/libc/string/bsdstring.h>" - # CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h> - # --> 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 <string.h> -# 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 -}; - -# Provide strnlen() GNU extension -# This option controls support for the strnlen() function. -# (This is a GNU extension, not part of ANSI C.) -# -cdl_option CYGFUN_LIBC_STRING_GNU_STRNLEN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# C library string functions build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_STRING_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library string function tests -# This option specifies the set of tests for the C library -# string functions. -# -cdl_option CYGPKG_LIBC_STRING_TESTS { - # Calculated value: "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2 tests/strnlen" - # 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 tests/strnlen -}; - -# < -# < -# ISO C library date and time functions -# doc: ref/libc.html -# This package provides time functions specified by the -# ISO C standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_TIME { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGBLD_ISO_C_TIME_TYPES_HEADER == "<cyg/libc/time/time.h>" - # CYGBLD_ISO_C_TIME_TYPES_HEADER == <cyg/libc/time/time.h> - # --> 1 - # Requires: CYGBLD_ISO_C_CLOCK_FUNCS_HEADER == "<cyg/libc/time/time.h>" - # CYGBLD_ISO_C_CLOCK_FUNCS_HEADER == <cyg/libc/time/time.h> - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGINT_ISO_DIV - # CYGINT_ISO_DIV == 1 - # --> 1 - # Requires: CYGINT_ISO_ABS - # CYGINT_ISO_ABS == 1 - # --> 1 -}; - -# > -# Working clock() function -# This option controls whether clock() will -# actually try and determine the process time -# usage. With this option disabled, clock() does -# not disappear, but will permanently return -# (clock_t)-1 as mandated by the ISO C standard. -# -cdl_option CYGSEM_LIBC_TIME_CLOCK_WORKING { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 - # Requires: CYGFUN_KERNEL_THREADS_TIMER - # CYGFUN_KERNEL_THREADS_TIMER (unknown) == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0 - # --> 0 -}; - -# Working time() function -# This option controls whether time() will -# actually try and determine the current calendar -# time. With this option disabled, time() does -# not disappear, but will permanently return -# (time_t)-1 as mandated by the ISO C standard. -# -cdl_option CYGSEM_LIBC_TIME_TIME_WORKING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_IO_WALLCLOCK - # CYGPKG_IO_WALLCLOCK == current - # --> 1 -}; - -# Working cyg_libc_time_settime() function -# This option controls whether cyg_libc_time_settime() -# will actually try and set the current calendar -# time. With this option disabled, -# cyg_libc_time_settime() does not disappear, but -# will permanently return an error. -# -cdl_option CYGSEM_LIBC_TIME_SETTIME_WORKING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_IO_WALLCLOCK - # CYGPKG_IO_WALLCLOCK == current - # --> 1 -}; - -# POSIX time functions -# Enabling this option allows the use of the -# following functions defined in POSIX 1003.1: -# asctime_r(), ctime_r(), gmtime_r(), strptime(), and -# localtime_r(). -# -cdl_option CYGFUN_LIBC_TIME_POSIX { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGINT_ISO_STRING_BSD_FUNCS - # CYGINT_ISO_STRING_BSD_FUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGIMP_LIBC_TIME_ASCTIME_R_INLINE - # Requires: CYGFUN_LIBC_TIME_POSIX - # option CYGIMP_LIBC_TIME_CTIME_R_INLINE - # Requires: CYGFUN_LIBC_TIME_POSIX - # option CYGIMP_LIBC_TIME_GMTIME_R_INLINE - # Requires: CYGFUN_LIBC_TIME_POSIX - # option CYGIMP_LIBC_TIME_LOCALTIME_R_INLINE - # Requires: CYGFUN_LIBC_TIME_POSIX - # option CYGPKG_LIBC_TIME_TESTS - # Calculated: - # "tests/asctime tests/clock tests/ctime tests/gmtime tests/localtime tests/mktime tests/strftime tests/time " - # . (CYGFUN_LIBC_TIME_POSIX ? "tests/strptime" : "") - # -}; - -# Single UNIX extensions -# Enabling this option allows the use of -# certain additional conversion specifiers -# in the strftime function. -# -cdl_option CYGFUN_LIBC_TIME_SUS_EXTNS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Time zone offsets -# These options control the default STandarD (STD) -# and Daylight Savings Time (DST) -# time offsets so that dates can be set correctly -# for the local environment. -# -cdl_component CYGPKG_LIBC_TIME_ZONES { - # There is no associated value. -}; - -# > -# Default Daylight Savings Time state -# This option controls whether the initial -# time environment is set up as STD, DST or -# unknown. Use the value 1 for DST, 0 for STD, -# and (-1) for unknown. This can also be set at -# runtime using the cyg_libc_time_setdst() -# function. -# -cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_STATE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -1 - # value_source default - # Default value: -1 - # Legal values: -1 to 1 -}; - -# Default Standard Time offset -# This option controls the offset from UTC in -# seconds when in local Standard Time. This -# value can be positive or negative. It -# can also be set at run time using the -# cyg_libc_time_setzoneoffsets() function. -# -cdl_option CYGNUM_LIBC_TIME_STD_DEFAULT_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: -90000 to 90000 -}; - -# Default Daylight Savings Time offset -# This option controls the offset from UTC in -# seconds when in local Daylight Savings Time. This -# value can be positive or negative. It -# can also be set at run time using the -# cyg_libc_time_setzoneoffsets() function. -# -cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 3600 - # value_source default - # Default value: 3600 - # Legal values: -90000 to 90000 -}; - -# < -# Inline functions -# These options control whether certain functions -# are available in inline form. This may lead to -# faster code at the expense of code space. But for -# some functions, or some functions with constant -# arguments, it may in fact lead to smaller code. -# -cdl_component CYGPKG_LIBC_TIME_INLINES { - # There is no associated value. -}; - -# > -# asctime() -# Allow the asctime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_ASCTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# ctime() -# Allow the ctime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_CTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# difftime() -# Allow the difftime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_DIFFTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# gmtime() -# Allow the gmtime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_GMTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# localtime() -# Allow the localtime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_LOCALTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# mktime() -# Allow the mktime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_MKTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# asctime_r() -# Allow the asctime_r() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_ASCTIME_R_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_LIBC_TIME_POSIX - # CYGFUN_LIBC_TIME_POSIX == 1 - # --> 1 -}; - -# ctime_r() -# Allow the ctime_r() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_CTIME_R_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_LIBC_TIME_POSIX - # CYGFUN_LIBC_TIME_POSIX == 1 - # --> 1 -}; - -# gmtime_r() -# Allow the gmtime_r() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_GMTIME_R_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGFUN_LIBC_TIME_POSIX - # CYGFUN_LIBC_TIME_POSIX == 1 - # --> 1 -}; - -# localtime_r() -# Allow the localtime_r() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_LOCALTIME_R_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_LIBC_TIME_POSIX - # CYGFUN_LIBC_TIME_POSIX == 1 - # --> 1 -}; - -# < -# clock() tracing level -# Trace verbosity level for debugging the clock() -# function. Increase this value to get -# additional trace output when tracing is enabled. -# -cdl_option CYGNUM_LIBC_TIME_CLOCK_TRACE_LEVEL { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 -}; - -# C library time functions build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_TIME_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_TIME_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wno-format - # value_source default - # Default value: -Wno-format -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_TIME_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library time and date function tests -# This option specifies the set of tests for the C library -# time and date functions. -# -cdl_option CYGPKG_LIBC_TIME_TESTS { - # Calculated value: - # "tests/asctime tests/clock tests/ctime tests/gmtime tests/localtime tests/mktime tests/strftime tests/time " - # . (CYGFUN_LIBC_TIME_POSIX ? "tests/strptime" : "") - # - # CYGFUN_LIBC_TIME_POSIX == 1 - # Flavor: data - # Current_value: tests/asctime tests/clock tests/ctime tests/gmtime tests/localtime tests/mktime tests/strftime tests/time tests/strptime -}; - -# < -# < -# < -# Math library -# doc: ref/libc.html -# ISO standard floating point mathematical library -# containing many useful functions for mathematical -# calculations. -# -cdl_package CYGPKG_LIBM { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT - # Requires: CYGPKG_LIBM - # option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT - # DefaultValue: 0 != CYGPKG_LIBM - # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT - # Requires: CYGPKG_LIBM - # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT - # DefaultValue: 0 != CYGPKG_LIBM && - # 0 != CYGINT_ISO_STDLIB_STRCONV_FLOAT - # option CYGFUN_LIBC_strtod - # Requires: CYGPKG_LIBM - # option CYGFUN_LIBC_strtod - # DefaultValue: 0 != CYGPKG_LIBM - # package CYGPKG_USTL - # Requires: CYGPKG_LIBM -}; - -# > -# Compatibility mode -# These options deal with behaviour related to -# the various compatibility modes - POSIX, IEEE, -# X/OPEN and SVID. -# -cdl_component CYGPKG_LIBM_COMPATIBILITY { - # There is no associated value. -}; - -# > -# -cdl_interface CYGINT_LIBM_COMPAT { - # Implemented by CYGSEM_LIBM_COMPAT_IEEE_ONLY, active, disabled - # Implemented by CYGNUM_LIBM_COMPATIBILITY, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == CYGINT_LIBM_COMPAT - # CYGINT_LIBM_COMPAT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_LIBM_COMPAT - # Requires: 1 == CYGINT_LIBM_COMPAT -}; - -# IEEE-only -# The math library can be hard-coded to only -# behave in one compatibility mode - IEEE. This -# cannot be changed at run-time. IEEE mode is the -# most minimal of the compatibility modes, and so -# this will best help code size and speed, as well -# as omitting the code for other compatibility -# modes. If not defined, the math library can be -# set at run-time to any of the supported -# compatibility modes. -# -cdl_option CYGSEM_LIBM_COMPAT_IEEE_ONLY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - - # The following properties are affected by this value - # option CYGSEM_LIBM_USE_STDERR - # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY - # option CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE - # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY -}; - -# Default mode -# If you want to have support for more than one -# compatibility mode settable at run-time, rather -# than hard-coded IEEE mode, this component lets -# you choose which mode should be the default. -# -cdl_component CYGNUM_LIBM_COMPATIBILITY { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 POSIX - # value_source default - # Default value: 1 POSIX - # Legal values: "POSIX" "IEEE" "XOPEN" "SVID" - # Requires: CYGPKG_LIBC - # CYGPKG_LIBC == current - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_LIBM_COMPAT_DEFAULT - # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" - # option CYGNUM_LIBM_COMPAT_DEFAULT - # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" - # option CYGNUM_LIBM_COMPAT_DEFAULT - # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" - # option CYGNUM_LIBM_COMPAT_DEFAULT - # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" -}; - -# > -# Numeric representation -# This option automatically defines the default compatibility -# mode for numeric representation in terms of the values used -# to set that mode at run-time. -# -cdl_option CYGNUM_LIBM_COMPAT_DEFAULT { - # Calculated value: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" - # CYGNUM_LIBM_COMPATIBILITY == POSIX - # CYGNUM_LIBM_COMPATIBILITY == POSIX - # CYGNUM_LIBM_COMPATIBILITY == POSIX - # CYGNUM_LIBM_COMPATIBILITY == POSIX - # Flavor: data - # Current_value: CYGNUM_LIBM_COMPAT_POSIX -}; - -# < -# SVID3-style scalb() -# SVID3 defined the scalb() function as double -# scalb(double, double) rather than double -# scalb(double, int) which is used by IBM, DEC, and -# probably others. Enabling this option chooses -# the (double, double) version. Note there is a -# function double scalbn(double, int) which is -# unaffected by this choice. -# -cdl_option CYGFUN_LIBM_SVID3_scalb { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Reduce namespace pollution -# If you do not want to use either the X/Open or -# SVID3 compatibility modes, you may want to define -# this option to reduce the chance of namespace -# pollution. This is particularly likely to occur -# here as these standards define symbols with -# names that often appear in applications, such as -# exception, DOMAIN, OVERFLOW, etc. If your -# application also used these names, it may cause -# problems. -# -cdl_option CYGSYM_LIBM_NO_XOPEN_SVID_NAMESPACE_POLLUTION { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Output to stderr for math errors -# The SVID3 standard says that error -# messages should be output on the stderr console -# output stream. This option allows this ability -# to be explicitly controlled. However, this still -# only has an effect in SVID3 compatibility mode. -# -cdl_option CYGSEM_LIBM_USE_STDERR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY - # CYGSEM_LIBM_COMPAT_IEEE_ONLY == 0 - # --> 1 - # Requires: CYGPKG_LIBC_STDIO - # CYGPKG_LIBC_STDIO == current - # --> 1 -}; - -# < -# Thread safety -# This option controls whether the C library has -# support for thread safe operation in general. -# This requires eCos kernel support for per-thread -# data, and adjustment of the stack limit. -# -cdl_component CYGPKG_LIBM_THREAD_SAFETY { - # There is no associated value. -}; - -# > -# Compatibility mode setting -# This option makes the setting of the compatiblity -# mode be a per-thread property. This directly -# implies that it also becomes thread-safe. -# -cdl_option CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY - # CYGSEM_LIBM_COMPAT_IEEE_ONLY == 0 - # --> 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGNUM_LIBM_COMPATMODE_TRACE_LEVEL - # Requires: CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE -}; - -# gamma() and lgamma() -# This option makes the gamma() and lgamma() -# functions be thread-safe. Note that these -# functions are identical - they take the log of -# the absolute value of their argument. The sign -# of the argument is stored in a variable called -# signgam. Enabling this option makes signgam -# a per-thread variable. Note there are also -# gamma_r() and lgamma_r() alternatives that -# allow signgam to be passed in by reference as -# an argument. -# -cdl_option CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGNUM_LIBM_SIGNGAM_TRACE_LEVEL - # Requires: CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS -}; - -# < -# Tracing output levels in math library -# Tracing support is useful for debugging. Some -# Math library modules can be configured with -# different levels of tracing verbosity. These -# levels can be configured here. -# -cdl_component CYGPKG_LIBM_TRACE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_USE_TRACING - # CYGDBG_USE_TRACING == 0 - # --> 0 -}; - -# > -# Compatibility mode get/set -# Trace level for debugging the getting and -# setting of the compatibility mode when it is -# configured to be thread-safe. -# -cdl_option CYGNUM_LIBM_COMPATMODE_TRACE_LEVEL { - # This option is not active - # The parent CYGPKG_LIBM_TRACE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 - # Requires: CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE - # CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE == 0 - # --> 0 -}; - -# signgam variable access -# Trace level for debugging all accesses to the -# signgam variable in thread-safe mode. -# -cdl_option CYGNUM_LIBM_SIGNGAM_TRACE_LEVEL { - # This option is not active - # The parent CYGPKG_LIBM_TRACE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 - # Requires: CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS - # CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS == 0 - # --> 0 -}; - -# < -# Bessel function limit of significance -# For the Bessel functions (j0(), j1(), jn(), -# y0(), y1(), yn()) this option defines the -# maximum absolute value of the ordinate -# before we assume total loss of significance. -# This number must be a floating-point number (e.g. -# contains a decimal point), and should be -# large. -# -cdl_option CYGNUM_LIBM_X_TLOSS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1.41484755040569E+16 - # value_source default - # Default value: 1.41484755040569E+16 - # Legal values: 1 to 1e308 -}; - -# Math library build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBM_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the math library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBM_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-fno-strict-aliasing -ffloat-store" - # value_source default - # Default value: "-fno-strict-aliasing" . ((!CYGPKG_HAL_I386 && !CYGPKG_HAL_SYNTH_I386) ? "" : " -ffloat-store") - # CYGPKG_HAL_I386 == current - # CYGPKG_HAL_SYNTH_I386 (unknown) == 0 - # --> "-fno-strict-aliasing -ffloat-store" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the math library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBM_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Math library tests -# This option specifies the set of tests for the math library. -# -cdl_option CYGPKG_LIBM_TESTS { - # Calculated value: "tests/vectors/acos tests/vectors/asin tests/vectors/atan tests/vectors/atan2 tests/vectors/ceil tests/vectors/cos tests/vectors/cosh tests/vectors/exp tests/vectors/fabs tests/vectors/floor tests/vectors/fmod tests/vectors/frexp tests/vectors/ldexp tests/vectors/log tests/vectors/log10 tests/vectors/modf tests/vectors/pow tests/vectors/sin tests/vectors/sinh tests/vectors/sqrt tests/vectors/tan tests/vectors/tanh" - # Flavor: data - # Current_value: tests/vectors/acos tests/vectors/asin tests/vectors/atan tests/vectors/atan2 tests/vectors/ceil tests/vectors/cos tests/vectors/cosh tests/vectors/exp tests/vectors/fabs tests/vectors/floor tests/vectors/fmod tests/vectors/frexp tests/vectors/ldexp tests/vectors/log tests/vectors/log10 tests/vectors/modf tests/vectors/pow tests/vectors/sin tests/vectors/sinh tests/vectors/sqrt tests/vectors/tan tests/vectors/tanh -}; - -# < -# < -# Wallclock device -# The wallclock device provides real time stamps, as opposed -# to the eCos kernel timers which typically just count the -# number of clock ticks since the hardware was powered up. -# Depending on the target platform this device may involve -# interacting with a suitable clock chip, or it may be -# emulated by using the kernel timers. -# -cdl_package CYGPKG_IO_WALLCLOCK { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # option CYGSEM_LIBC_TIME_TIME_WORKING - # Requires: CYGPKG_IO_WALLCLOCK - # option CYGSEM_LIBC_TIME_SETTIME_WORKING - # Requires: CYGPKG_IO_WALLCLOCK - # package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 - # ActiveIf: CYGPKG_IO_WALLCLOCK - # package CYGPKG_DEVICES_WALLCLOCK_I386_PC - # ActiveIf: CYGPKG_IO_WALLCLOCK -}; - -# > -# Number of wallclock hardware implementations -# -cdl_interface CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS { - # Implemented by CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGPKG_WALLCLOCK_EMULATE - # DefaultValue: 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS - # option CYGIMP_WALLCLOCK_NONE - # DefaultValue: !CYGPKG_KERNEL && 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS -}; - -# Number of wallclock implementations -# -cdl_interface CYGINT_WALLCLOCK_IMPLEMENTATIONS { - # Implemented by CYGPKG_WALLCLOCK_EMULATE, active, disabled - # Implemented by CYGIMP_WALLCLOCK_NONE, active, disabled - # Implemented by CYGIMP_WALLCLOCK_HARDWARE, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == CYGINT_WALLCLOCK_IMPLEMENTATIONS - # CYGINT_WALLCLOCK_IMPLEMENTATIONS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_WALLCLOCK_IMPLEMENTATIONS - # Requires: 1 == CYGINT_WALLCLOCK_IMPLEMENTATIONS -}; - -# Wallclock driver supports set/get mode -# -cdl_interface CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED { - # Implemented by CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_WALLCLOCK_MODE - # DefaultValue: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED ? "set_get" : "init_get" - # option CYGSEM_WALLCLOCK_MODE - # Requires: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || CYGSEM_WALLCLOCK_MODE == "init_get" -}; - -# Wallclock mode -# The wallclock driver can be used in one of two -# modes. Set/get mode allows time to be kept during power -# off (assuming there's a battery backed clock). Init/get -# mode is slightly smaller and can be used when there is no -# battery backed clock - in this mode time 0 is the time of -# the board power up. -# -cdl_option CYGSEM_WALLCLOCK_MODE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value set_get - # value_source default - # Default value: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED ? "set_get" : "init_get" - # CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED == 1 - # --> set_get - # Legal values: "init_get" "set_get" - # Requires: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || CYGSEM_WALLCLOCK_MODE == "init_get" - # CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED == 1 - # CYGSEM_WALLCLOCK_MODE == set_get - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_WALLCLOCK_MODE - # Requires: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || CYGSEM_WALLCLOCK_MODE == "init_get" - # option CYGSEM_WALLCLOCK_SET_GET_MODE - # Calculated: CYGSEM_WALLCLOCK_MODE == "set_get" ? 1 : 0 -}; - -# Wallclock set/get mode -# -cdl_option CYGSEM_WALLCLOCK_SET_GET_MODE { - # Calculated value: CYGSEM_WALLCLOCK_MODE == "set_get" ? 1 : 0 - # CYGSEM_WALLCLOCK_MODE == set_get - # Flavor: bool - # Current value: 1 -}; - -# Wallclock implementation -# Implementations of the wallclock device. -# -cdl_component CYGPKG_IO_WALLCLOCK_IMPLEMENTATION { - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Wallclock emulator -# When this option is enabled, a wallclock device will be -# emulated using the kernel real-time clock. -# -cdl_option CYGPKG_WALLCLOCK_EMULATE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS - # CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS == 1 - # --> 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 0 -}; - -# No wallclock -# Disables the wallclock. -# -cdl_option CYGIMP_WALLCLOCK_NONE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGPKG_KERNEL && 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS - # CYGPKG_KERNEL (unknown) == 0 - # CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS == 1 - # --> 0 -}; - -# Hardware wallclock -# -cdl_option CYGIMP_WALLCLOCK_HARDWARE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 - # ActiveIf: CYGIMP_WALLCLOCK_HARDWARE -}; - -# < -# Wallclock build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_IO_WALLCLOCK_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the wallclock device. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_WALLCLOCK_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the wallclock device. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_WALLCLOCK_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Wallclock tests -# This option specifies the set of tests for the -# wallclock device. -# -cdl_option CYGPKG_IO_WALLCLOCK_TESTS { - # Calculated value: CYGPKG_KERNEL ? "tests/wallclock tests/wallclock2" : "" - # CYGPKG_KERNEL (unknown) == 0 - # Flavor: data - # Current_value: -}; - -# < -# Wallclock device driver for Dallas 12887 -# This package provides a file with init, get and set functions -# for the Dallas 12887 clock part. -# -cdl_package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 { - # 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_WALLCLOCK - # CYGPKG_IO_WALLCLOCK == current - # --> 1 - # ActiveIf constraint: CYGIMP_WALLCLOCK_HARDWARE - # CYGIMP_WALLCLOCK_HARDWARE == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # package CYGPKG_DEVICES_WALLCLOCK_I386_PC - # Requires: CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 -}; - -# > -# DS12887 wallclock build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the wallclock device. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the wallclock device. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# < -# PC board RTC Driver -# RTC driver for PC. -# -cdl_package CYGPKG_DEVICES_WALLCLOCK_I386_PC { - # 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_WALLCLOCK - # CYGPKG_IO_WALLCLOCK == current - # --> 1 - # ActiveIf constraint: CYGPKG_HAL_I386_PC - # CYGPKG_HAL_I386_PC == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 - # CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 == current - # --> 1 -}; - -# > -# IO port address of the ADDRESS register -# This option sets the io address of the address port for -# accessing the PC RTC -# -cdl_option CYGDAT_DEVS_WALLCLOCK_I386_PC_RTC_ADDRESS_PORT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00000070 - # value_source default - # Default value: 0x00000070 -}; - -# IO port address of the DATA register -# This option sets the io address of the data port for -# accessing the PC RTC -# -cdl_option CYGDAT_DEVS_WALLCLOCK_I386_PC_RTC_DATA_PORT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00000071 - # value_source default - # Default value: 0x00000071 -}; - -# < -# < -# 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 == "<cyg/error/codes.h>" - # CYGBLD_ISO_ERRNO_CODES_HEADER == <cyg/error/codes.h> - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_IO - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_SERIAL - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_SERIAL_GENERIC_16X5X - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_SERIAL_I386_PC - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_FRAMEBUF - # Requires: CYGPKG_INFRA CYGPKG_HAL CYGPKG_ERROR - # package CYGPKG_IO_FILEIO - # Requires: CYGPKG_ERROR - # package CYGPKG_BLOCK_LIB - # Requires: CYGPKG_ERROR - # package CYGPKG_USTL - # Requires: CYGPKG_ERROR -}; - -# > -# errno variable -# This package controls the behaviour of the -# errno variable (or more strictly, expression) -# from <errno.h>. -# -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 == "<cyg/error/errno.h>" - # CYGBLD_ISO_ERRNO_HEADER == <cyg/error/errno.h> - # --> 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 - user_value 0 - # value_source user - # 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 <string.h> -# -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 == "<cyg/error/strerror.h>" - # CYGBLD_ISO_STRERROR_HEADER == <cyg/error/strerror.h> - # --> 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: "" -}; - -# < -# < -# Framebuffer support -# doc: ref/io-framebuf.html -# The generic framebuffer package provides an API for accessing -# one or more framebuffers, plus support for appropriate device -# drivers. -# -cdl_package CYGPKG_IO_FRAMEBUF { - # 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_HAL CYGPKG_ERROR - # CYGPKG_INFRA == current - # CYGPKG_HAL == current - # CYGPKG_ERROR == current - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_DEVS_FRAMEBUF_I386 - # ActiveIf: CYGPKG_IO_FRAMEBUF -}; - -# > -# Number of available framebuffer devices -# This interface specifies the number of framebuffer devices -# supported by device driver(s) on this platform. -# -cdl_interface CYGINT_IO_FRAMEBUF_DEVICES { - # Implemented by CYGPKG_DEVS_FRAMEBUF_I386_FB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDAT_IO_FRAMEBUF_TEST_DEVICE - # ActiveIf: CYGINT_IO_FRAMEBUF_DEVICES - # option CYGPKG_IO_FRAMEBUF_TESTS - # ActiveIf: CYGINT_IO_FRAMEBUF_DEVICES -}; - -# Names of available framebuffer devices -# This option provides a list of the framebuffer devices available -# on the current platform. It is controlled by the appropriate -# device driver(s) and should not be edited by users. -# -cdl_option CYGDAT_IO_FRAMEBUF_DEVICES { - # Flavor: data - user_value " fb0 " - # value_source user - # Default value: "" - - # The following properties are affected by this value - # option CYGDAT_IO_FRAMEBUF_TEST_DEVICE - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " " . CYGDAT_IO_FRAMEBUF_TEST_DEVICE . " ") - # component CYGPKG_DEVS_FRAMEBUF_I386_FB - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " fb0 ") -}; - -# Framebuffer device to use for testing -# This option determines the framebuffer device to be used for running -# the testcases. By default the build system will automatically select -# the first entry in CYGDAT_IO_FRAMEBUF_DEVICES, which will be the -# only entry if there is only framebuffer device in the system. -# -cdl_option CYGDAT_IO_FRAMEBUF_TEST_DEVICE { - # ActiveIf constraint: CYGINT_IO_FRAMEBUF_DEVICES - # CYGINT_IO_FRAMEBUF_DEVICES == 1 - # --> 1 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " " . CYGDAT_IO_FRAMEBUF_TEST_DEVICE . " ") - # CYGDAT_IO_FRAMEBUF_DEVICES == " fb0 " - # CYGDAT_IO_FRAMEBUF_TEST_DEVICE == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGDAT_IO_FRAMEBUF_TEST_DEVICE - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " " . CYGDAT_IO_FRAMEBUF_TEST_DEVICE . " ") -}; - -# Functionality supported by the platform's framebuffer(s) -# This component holds details of the functionality provided by the -# framebuffer device driver(s) for the current platform. -# -cdl_component CYGPKG_IO_FRAMEBUF_FUNCTIONALITY { - # There is no associated value. -}; - -# > -# 32bpp pixel support required -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform provides a 32 bits -# per pixel display. This constrains the cyg_colour data type -# to be at least 32 bits. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_32BPP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 -}; - -# Framebuffer supports true colour mode -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform support true colour -# operation. In other words the contents of the framebuffer -# defines the colours directly and there is no indirection via -# a palette. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_TRUE_COLOUR { - # Implemented by CYGHWR_DEVS_FRAMEBUF_SYNTH_TRUE_COLOUR, active, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # The following properties are affected by this value -}; - -# Framebuffer uses a palette for colours -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform use a palette. In -# other words the contents of the framebuffer's memory do not -# represent colours directly, but instead are treated as indices -# into a separate table known as the palette. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_PALETTE { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 -}; - -# Framebuffer uses a writeable palette for colours -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform use a palette, and this -# palette can be modified at run-time. In other words the contents -# of the framebuffer's memory do not represent colours directly, -# but instead are treated as indices into a separate table known -# as the palette. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE { - # 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 CYGFUN_IO_FRAMEBUF_INSTALL_DEFAULT_PALETTE - # ActiveIf: CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE -}; - -# Framebuffer provides viewport support -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform provide viewport support. -# In other words only a subset of the framebuffer, the viewport, -# is actually visible on the display and application code can move -# this viewport. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_VIEWPORT { - # Implemented by CYGIMP_DEVS_FRAMEBUF_I386_FB_VIEWPORT, active, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # The following properties are affected by this value -}; - -# Framebuffer provides double buffering support -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform provide support for -# double buffering. In other words the framebuffer memory that -# is updated by graphics operations is not what actually gets -# displayed. Instead there is a separate hidden area of memory -# used for the display, and when drawing is complete a flush -# operation is needed to move the framebuffer contents to that -# hidden area. This makes it possible to update the display more -# smoothly, at the cost of potentially expensive memory copy -# operations. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_DOUBLE_BUFFER { - # Implemented by CYGPKG_DEVS_FRAMEBUF_I386_FB, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - - # The following properties are affected by this value -}; - -# < -# Framebuffers should install a default palette -# Framebuffer devices which involve a writeable palette may set this -# to a default palette when activated by cyg_fb_on() or equivalent -# functionality. This is useful when the application will access the -# framebuffer directly. It is less useful if a higher-level graphics -# library is in use because typically that will install its own -# palette, and typically there is a code/data overhead of approximately 1K. -# -cdl_option CYGFUN_IO_FRAMEBUF_INSTALL_DEFAULT_PALETTE { - # This option is not active - # ActiveIf constraint: CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE - # CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Framebuffer build options -# Package specific build options including control over -# compiler flags used only in building the generic frame -# buffer package, and details of which tests are built. -# -cdl_component CYGPKG_IO_FRAMEBUF_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the generic framebuffer package. These flags -# are used in addition to the set of global flags. -# -cdl_option CYGPKG_IO_FRAMEBUF_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 generic framebuffer package. These flags -# are removed from the set of global flags if present. -# -cdl_option CYGPKG_IO_FRAMEBUF_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Framebuffer tests -# This option specifies the set of tests for the framebuffer package -# -cdl_option CYGPKG_IO_FRAMEBUF_TESTS { - # ActiveIf constraint: CYGINT_IO_FRAMEBUF_DEVICES - # CYGINT_IO_FRAMEBUF_DEVICES == 1 - # --> 1 - - # Calculated value: "tests/fb tests/fbmacro" - # Flavor: booldata - # Current value: 1 tests/fb tests/fbmacro -}; - -# < -# i386 Target Framebuffer device driver -# doc: ref/devs-framebuf-i386-ref.html -# This package provides a framebuffer device driver for the -# i386 target. -# -cdl_package CYGPKG_DEVS_FRAMEBUF_I386 { - # 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_FRAMEBUF - # CYGPKG_IO_FRAMEBUF == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 v3_0 -}; - -# > -# Provide framebuffer device fb0 -# The synthetic target framebuffer driver can provide up to -# four framebuffer devices, named fb0 to fb3. Each device's -# width, height, depth, and colour format can be controlled. -# This option enables device fb -# -cdl_component CYGPKG_DEVS_FRAMEBUF_I386_FB { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " fb0 ") - # CYGDAT_IO_FRAMEBUF_DEVICES == " fb0 " - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_DEVS_FRAMEBUF_I386_FUNCTIONALITY - # ActiveIf: CYGPKG_DEVS_FRAMEBUF_I386_FB -}; - -# > -# fb base address -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_BASE_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x0000A000 - # value_source default - # Default value: 0x0000A000 -}; - -# fb0 width -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 320 - # value_source default - # Default value: 320 - # Legal values: 16 to 4096 - - # The following properties are affected by this value - # option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_WIDTH - # DefaultValue: CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH - # option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_WIDTH - # LegalValues: 16 to CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH -}; - -# fb0 height -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 240 - # value_source default - # Default value: 240 - # Legal values: 16 to 4096 - - # The following properties are affected by this value - # option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_HEIGHT - # DefaultValue: CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT - # option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_HEIGHT - # LegalValues: 16 to CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT -}; - -# fb0 format -# Each synthetic target framebuffer device can be configured -# to emulate a particular format. This consists of two fields: -# depth and colour. The depth is in bits per pixel and can be -# 8bpp, 16bpp or 32bpp. Colour can be either paletted or true colour. -# 16bpp and 32bpp implies true colour. 8bpp can be either paletted -# or true colour. For 8bpp the default palette is VGA. The application -# can change these default palettes as required to match the hardware being emulated. -# -cdl_option CYGDAT_DEVS_FRAMEBUF_I386_FB_FORMAT { - # Flavor: data - user_value 8BPP_TRUE_332 - # value_source user - # Default value: 8BPP_PAL888 - # Legal values: - # "8BPP_PAL888" "8BPP_TRUE_332" - # "16BPP_TRUE_565" "16BPP_TRUE_555" - # "32BPP_TRUE_0888" - # -}; - -# fb0 provides viewport support -# Optionally framebuffer device can support a viewport. -# In other words only a subset of the framebuffer, the viewport, -# is actually visible on the display and application code can -# move this viewport. -# -cdl_component CYGIMP_DEVS_FRAMEBUF_I386_FB_VIEWPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# fb0 viewport width -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_WIDTH { - # This option is not active - # The parent CYGIMP_DEVS_FRAMEBUF_I386_FB_VIEWPORT is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 320 - # value_source default - # Default value: CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH - # CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH == 320 - # --> 320 - # Legal values: 16 to CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH - # CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH == 320 -}; - -# fb0 viewport height -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_HEIGHT { - # This option is not active - # The parent CYGIMP_DEVS_FRAMEBUF_I386_FB_VIEWPORT is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 240 - # value_source default - # Default value: CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT - # CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT == 240 - # --> 240 - # Legal values: 16 to CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT - # CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT == 240 -}; - -# < -# fb0 supports page flipping -# Optionally framebuffer device can support page flipping. -# The device supports between two and four pages, only one -# of which is visible on the display. This allows code to -# update one page without disturbing what is currently visible. -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_PAGE_FLIPPING { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Legal values: 2 3 4 -}; - -# < -# Functionality supported by the enabled framebuffer(s) -# The generic framebuffer code needs configure-time information about -# functionality of the enabled framebuffer or framebuffers. Usually -# all this information is fixed by the hardware, but the i386 -# target framebuffer support is more flexible than real hardware. To -# cope with this some dummy options are needed. -# -cdl_component CYGPKG_DEVS_FRAMEBUF_I386_FUNCTIONALITY { - # ActiveIf constraint: CYGPKG_DEVS_FRAMEBUF_I386_FB - # CYGPKG_DEVS_FRAMEBUF_I386_FB == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# One or more of the enabled framebuffer devices uses a true colour display -# -cdl_option CYGHWR_DEVS_FRAMEBUF_SYNTH_TRUE_COLOUR { - # Calculated value: is_substr(CYGDAT_DEVS_FRAMEBUF_SYNTH_FB0_FORMAT, "TRUE") || - # is_substr(CYGDAT_DEVS_FRAMEBUF_SYNTH_FB1_FORMAT, "TRUE") || - # is_substr(CYGDAT_DEVS_FRAMEBUF_SYNTH_FB2_FORMAT, "TRUE") || - # is_substr(CYGDAT_DEVS_FRAMEBUF_SYNTH_FB3_FORMAT, "TRUE") - # CYGDAT_DEVS_FRAMEBUF_SYNTH_FB0_FORMAT (unknown) == 0 - # CYGDAT_DEVS_FRAMEBUF_SYNTH_FB1_FORMAT (unknown) == 0 - # CYGDAT_DEVS_FRAMEBUF_SYNTH_FB2_FORMAT (unknown) == 0 - # CYGDAT_DEVS_FRAMEBUF_SYNTH_FB3_FORMAT (unknown) == 0 - # Flavor: bool - # Current value: 0 -}; - -# < -# Framebuffer build options -# Package specific build options including control over -# compiler flags used only in building the synthetic -# target framebuffer device driver. -# -cdl_component CYGPKG_DEVS_FRAMEBUF_I386_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for building -# the synthetic target framebuffer device driver. These flags -# are used in addition to the set of global flags. -# -cdl_option CYGPKG_DEVS_FRAMEBUF_I386_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 synthetic target framebuffer device driver. These flags -# are removed from the set of global flags if present. -# -cdl_option CYGPKG_DEVS_FRAMEBUF_I386_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# < -# < -# POSIX File IO compatibility layer -# doc: ref/fileio.html -# This package enables the POSIX compatibility -# layer that implements IEEE 1003.1 file IO. -# -cdl_package CYGPKG_IO_FILEIO { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGBLD_ISO_DIRENT_HEADER == "<cyg/fileio/dirent.h>" - # CYGBLD_ISO_DIRENT_HEADER == <cyg/fileio/dirent.h> - # --> 1 - # Requires: CYGBLD_ISO_OPEN_MAX_HEADER == "<cyg/fileio/limits.h>" - # CYGBLD_ISO_OPEN_MAX_HEADER == <cyg/fileio/limits.h> - # --> 1 - # Requires: CYGBLD_ISO_NAME_MAX_HEADER == "<cyg/fileio/limits.h>" - # CYGBLD_ISO_NAME_MAX_HEADER == <cyg/fileio/limits.h> - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_IO_FILE_SUPPORT - # ActiveIf: !CYGPKG_IO_FILEIO - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGPKG_IO_FILEIO - # component CYGPKG_IO_SERIAL_TERMIOS - # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # option CYGPKG_IO_SERIAL_SELECT_SUPPORT - # ActiveIf: CYGPKG_IO_FILEIO - # option CYGPKG_LIBC_STDIO_FILEIO - # ActiveIf: CYGPKG_IO_FILEIO - # option CYGPKG_LIBC_STDIO_TESTS - # Calculated: - # "tests/sprintf1 tests/sprintf2 tests/snprintf tests/sscanf tests/stdiooutput " - # . ((CYGPKG_IO_FILEIO && CYGPKG_FS_RAM) ? "tests/fileio " : "") - # - # component CYGCLS_USTL_FSTREAMS - # DefaultValue: CYGPKG_IO_FILEIO - # component CYGCLS_USTL_FSTREAMS - # Requires: CYGPKG_IO_FILEIO -}; - -# > -# Filesystems interfacing to FILEIO -# Each filesystem driver which FILEIO can use implements -# this interface. You can use this to determine if there are -# any filesystems configured in the system. -# -cdl_interface CYGINT_IO_FILEIO_FS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Enable support for select() -# This option enables support for select(). -# -cdl_option CYGFUN_IO_FILEIO_SELECT { - # 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 - - # The following properties are affected by this value - # option CYGPKG_IO_SERIAL_SELECT_SUPPORT - # Requires: CYGFUN_IO_FILEIO_SELECT == 1 -}; - -# Enable devfs support -# This option enables support for the devfs file system. -# -cdl_option CYGPKG_IO_FILEIO_DEVFS_SUPPORT { - # ActiveIf constraint: CYGPKG_IO - # CYGPKG_IO == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_REDBOOT ? 0 : 1 - # CYGPKG_REDBOOT (unknown) == 0 - # --> 1 -}; - -# Enable socket support -# This option enables support for the socket interface. It is -# only present if the NET package is included. -# -cdl_option CYGPKG_IO_FILEIO_SOCKET_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGPKG_NET - # CYGPKG_NET (unknown) == 0 - # --> 0 - # 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 -}; - -# Maximum number of open files -# This option controls the number of open files -# that are allowed for all filesystems. -# -cdl_option CYGNUM_FILEIO_NFILE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 1 to 9999999 - - # The following properties are affected by this value - # option CYGNUM_FILEIO_NFD - # LegalValues: CYGNUM_FILEIO_NFILE to 9999999 -}; - -# Maximum number of open file descriptors -# This option controls the number of open file descriptors -# that are allowed for all filesystems. -# -cdl_option CYGNUM_FILEIO_NFD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: CYGNUM_FILEIO_NFILE to 9999999 - # CYGNUM_FILEIO_NFILE == 16 -}; - -# Maximum number of installed filesystems -# This option controls the maximum number of filesystems -# that can be handled by the fileio system. -# -cdl_option CYGNUM_FILEIO_FSTAB_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 1 to 9999999 -}; - -# Maximum number of mounted filesystems -# This option controls the maximum number of mounted -# filesystems that can be handled by the fileio system. -# -cdl_option CYGNUM_FILEIO_MTAB_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: CYGNUM_FILEIO_MTAB_EXTRA to 9999999 - # CYGNUM_FILEIO_MTAB_EXTRA == 8 -}; - -# Number of dynamically mounted filesystems -# This option controls the number of mounted -# filesystems that can be created dynamically. -# -cdl_option CYGNUM_FILEIO_MTAB_EXTRA { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: 0 to 9999999 - - # The following properties are affected by this value - # option CYGNUM_FILEIO_MTAB_MAX - # LegalValues: CYGNUM_FILEIO_MTAB_EXTRA to 9999999 -}; - -# Maximum number of installed network stacks -# This option controls the maximum number of installed -# network stacks that can be handled by the fileio system. -# -cdl_option CYGNUM_FILEIO_NSTAB_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Legal values: 1 to 9999999 -}; - -# Enable current directory tracking -# This option enables tracking of the name of the current -# directory in the FILEIO package, to support the getcwd() -# function. When this option is enabled the FILEIO package -# will attempt to maintain a string that names the current -# directory. It does this textually, dealing with "." and -# ".." entries by textual manipulation. While this should -# always provide a path for the current directory, it may not -# be the best, if symbolic links are present. This tracked CWD -# is only used if a filesystem does not support the -# FS_INFO_GETCWD key. -# -cdl_option CYGPKG_IO_FILEIO_TRACK_CWD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Generic inode support -# This option enables generic inode support useful to -# some filesystems. Not all filesystems require this -# so it is not enabled by default. -# -cdl_component CYGPKG_IO_FILEIO_INODE { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 -}; - -# > -# Maximum space for unused cached inodes -# The inode cache allows a maximum limit to be set -# for the number of unused inodes still in the -# cache before they are freed. It may be set to 0 -# to indicate no dead inode caching should be -# provided. -# -cdl_option CYGNUM_IO_FILEIO_MAX_INODE_CACHE_DEAD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# < -# Maximum size of iovec used by readv/writev -# This option controls the maximum size of the iovec -# structure that can be used by readv()/writev(). This -# limit is required because the iovec structure must be -# invariant (to the user), thus a copy needs to be made -# by the interface routines. The limit is merely a -# control over the amount of stack space used by the -# readv()/writev() functions. -# -cdl_option CYGNUM_FILEIO_IOVEC_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 1 to 9999999 -}; - -# cyg_fs_getinfo call for disk usage -# Enabling this option includes code in some filesystems to -# implement a call using cyg_fs_getinfo to return the current -# filesystem block usage. -# -cdl_option CYGSEM_FILEIO_INFO_DISK_USAGE { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 -}; - -# POSIX fnmatch configuration -# This component provides configuration controls for -# the POSIX fnmatch() function. -# -cdl_component CYGPKG_FILEIO_FNMATCH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: ( CYGINT_ISO_STRING_STRFUNCS && CYGINT_ISO_CTYPE ) - # CYGINT_ISO_STRING_STRFUNCS == 1 - # CYGINT_ISO_CTYPE == 1 - # --> 1 - # Requires: CYGBLD_ISO_FNMATCH_HEADER == "<cyg/fileio/fnmatch.h>" - # CYGBLD_ISO_FNMATCH_HEADER == <cyg/fileio/fnmatch.h> - # --> 1 -}; - -# Struct dirent contains a d_type field -# If this option is enabled then struct dirent contains a -# d_type field. With this field, file type may be -# distinguished directly without calling stat. Note: This -# member is not part of the POSIX standard, however is -# commonely implemented in Linux, FreeBSD, but not SunOS. -# Also, not all filesystems support it. So this feature is -# not portable and should be used with caution. -# -cdl_option CYGPKG_FILEIO_DIRENT_DTYPE { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 -}; - -# Fileio tests -# This option specifies the set of tests for the FileIO package. -# -cdl_option CYGPKG_IO_FILEIO_TESTS { - # Calculated value: "tests/fileio1 tests/socket tests/select tests/stdio tests/pselect tests/fnmatch" - # Flavor: data - # Current_value: tests/fileio1 tests/socket tests/select tests/stdio tests/pselect tests/fnmatch -}; - -# < -# Block cache and access library -# -cdl_package CYGPKG_BLOCK_LIB { - # 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_MEMALLOC - # CYGPKG_MEMALLOC == current - # --> 1 - # Requires: CYGPKG_LINUX_COMPAT - # CYGPKG_LINUX_COMPAT == current - # --> 1 - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 -}; - -# > -# Block access statistics support -# This option enables statistics for -# block access operations. -# -cdl_option CYGIMP_BLOCK_LIB_STATISTICS { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# < -# Linux compatibility layer -# eCos supports a basic Linux compatibility Layer providing various -# functions, equivalents or stubs expected by Linux kernel code, for -# assistance in porting drivers and file system code from Linux. -# Note this does not provide Linux compatibility to applications. -# -cdl_package CYGPKG_LINUX_COMPAT { - # 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_BLOCK_LIB - # Requires: CYGPKG_LINUX_COMPAT -}; - -# > -# Define page size -# Define the page size. The value entered here is used as an -# exponent X in the expression 2^^X to ensure that the page -# size is always an integer power of two. -# -cdl_option CYGNUM_LINUX_COMPAT_PAGE_SIZE_EXPONENT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 12 - # value_source default - # Default value: 12 - # Legal values: 10 to 16 -}; - -# < -# uSTL library -# doc: ref/ustl.html -# This package provides the uSTL library. uSTL is a -# partial implementation of the STL specification intended to -# reduce code size of the derivative programs. This allows the -# user application to use well known standard C++ STL library -# containers, streams, iterators, algorithms and functors. -# -cdl_package CYGPKG_USTL { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_IO - # CYGPKG_IO == current - # --> 1 - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_CHAR_IO - # CYGINT_ISO_STDIO_CHAR_IO == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_DIRECT_IO - # CYGINT_ISO_STDIO_DIRECT_IO == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_ERROR - # CYGINT_ISO_STDIO_ERROR == 1 - # --> 1 - # Requires: CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 1 - # --> 1 - # Requires: CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 1 - # --> 1 - # Requires: CYGINT_ISO_C_TIME_TYPES - # CYGINT_ISO_C_TIME_TYPES == 1 - # --> 1 - # Requires: CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 1 - # --> 1 - # Requires: CYGINT_ISO_MAIN_STARTUP - # CYGINT_ISO_MAIN_STARTUP == 1 - # --> 1 - # Requires: CYGINT_ISO_ENVIRON - # CYGINT_ISO_ENVIRON == 1 - # --> 1 - # Requires: CYGINT_ISO_STRTOK_R - # CYGINT_ISO_STRTOK_R == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_LOCALE_FUNCS - # CYGINT_ISO_STRING_LOCALE_FUNCS == 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_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_LOCALE - # CYGINT_ISO_LOCALE == 1 - # --> 1 - # Requires: CYGIMP_LIBC_STDIO_C99_SNPRINTF - # CYGIMP_LIBC_STDIO_C99_SNPRINTF == 1 - # --> 1 -}; - -# > -# File streams support -# This option enables file stream support. For file stream -# support the File I/O package is required. -# -cdl_component CYGCLS_USTL_FSTREAMS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - # Requires: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - # Requires: CYGINT_ISO_STDIO_FILETYPES - # CYGINT_ISO_STDIO_FILETYPES == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_STREAMS - # CYGINT_ISO_STDIO_STREAMS == 1 - # --> 1 -}; - -# > -# cin, cout & cerr support -# Enable this option if you want the standard streams -# cin, cout and cerr to be included. You will not be able -# to run bvt tests if you don't enable this option. -# -cdl_option CYGVAR_USTL_CIN_COUT_CERR { - # 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_USTL_TESTS - # Calculated: (CYGVAR_USTL_CIN_COUT_CERR ? "tests/bvt00 tests/bvt01 tests/bvt02 tests/bvt03 tests/bvt04 tests/bvt05 tests/bvt06 tests/bvt07 tests/bvt08 tests/bvt09 tests/bvt10 tests/bvt11 tests/bvt12 tests/bvt13 tests/bvt14 tests/bvt15 tests/bvt16 tests/bvt17 tests/bvt18 tests/bvt19 tests/bvt20 tests/bvt21 tests/bvt22 tests/bvt23 tests/bvt24 tests/bvt25 tests/bvt26 tests/bvt27" : "" ) -}; - -# < -# Stream bounds checking -# Enable this option if you want stream operations to throw -# exceptions on insufficient data or insufficient space. -# All these errors should be preventable in output code; -# the input code should verify the data in a separate step. -# It slows down stream operations a lot, but it's your call. -# Debug builds always throws exceptions - this option is -# only valid for release builds. -# -cdl_option CYGSEM_USTL_STREAM_BOUNDS_CHECK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# uSTL library build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_USTL_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the uSTL library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_USTL_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-I\$(PREFIX)/include/ustl" - # value_source default - # Default value: "-I\$(PREFIX)/include/ustl" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the uSTL library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_USTL_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wundef - # value_source default - # Default value: -Wundef -}; - -# uSTL tests -# This option specifies the set of tests for the uSTL library. -# -cdl_option CYGPKG_USTL_TESTS { - # Calculated value: (CYGVAR_USTL_CIN_COUT_CERR ? "tests/bvt00 tests/bvt01 tests/bvt02 tests/bvt03 tests/bvt04 tests/bvt05 tests/bvt06 tests/bvt07 tests/bvt08 tests/bvt09 tests/bvt10 tests/bvt11 tests/bvt12 tests/bvt13 tests/bvt14 tests/bvt15 tests/bvt16 tests/bvt17 tests/bvt18 tests/bvt19 tests/bvt20 tests/bvt21 tests/bvt22 tests/bvt23 tests/bvt24 tests/bvt25 tests/bvt26 tests/bvt27" : "" ) - # CYGVAR_USTL_CIN_COUT_CERR == 1 - # Flavor: data - # Current_value: tests/bvt00 tests/bvt01 tests/bvt02 tests/bvt03 tests/bvt04 tests/bvt05 tests/bvt06 tests/bvt07 tests/bvt08 tests/bvt09 tests/bvt10 tests/bvt11 tests/bvt12 tests/bvt13 tests/bvt14 tests/bvt15 tests/bvt16 tests/bvt17 tests/bvt18 tests/bvt19 tests/bvt20 tests/bvt21 tests/bvt22 tests/bvt23 tests/bvt24 tests/bvt25 tests/bvt26 tests/bvt27 -}; - -# < -# < -# eCos ttkernel -# doc: doc/ttkernel.html -# This is a kernel package for time triggered scheduling. It relies on functionality provided by the HAL and INFRA packages. -# -cdl_package SMLPKG_TTKERNEL { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: !CYGPKG_HAL_COMMON_SMP_SUPPORT - # CYGPKG_HAL_COMMON_SMP_SUPPORT (unknown) == 0 - # --> 1 - # Requires: !CYGPKG_KERNEL - # CYGPKG_KERNEL (unknown) == 0 - # --> 1 -}; - -# > -# Real time clock -# The real time clock (rtc) triggers the interrupts that run the dispatcher. -# -cdl_component SMLPKG_TTKERNEL_RTC { - # There is no associated value. -}; - -# > -# Interrupt priority -# priority of the rtc interrupt. -# -# -cdl_option SMLNUM_TTKERNEL_RTC_PRIORITY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Reset timer -# There are architectures that needs the timer to be reset after an timer interrupt occures. -# -# -cdl_option SMLFUN_TTKERNEL_RTC_RESET { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Period length -# period length of a rtc tick. (in hardware timer ticks) -# -# -cdl_option SMLNUM_TTKERNEL_RTC_PERIOD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1193 - # value_source default - # Default value: CYGNUM_HAL_RTC_PERIOD - # CYGNUM_HAL_RTC_PERIOD == 1193 - # --> 1193 -}; - -# Denominator -# the interrupts should occure SMLNUM_TTKERNEL_RTC_DENOMINATOR times within a SMLNUM_TTKERNEL_RTC_NUMERATOR timeframe. -# -# -cdl_option SMLNUM_TTKERNEL_RTC_DENOMINATOR { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: CYGNUM_HAL_RTC_DENOMINATOR - # CYGNUM_HAL_RTC_DENOMINATOR == 100 - # --> 100 -}; - -# Numerator -# numerator timeframe length (normaly in nanoseconds). -# -# -cdl_option SMLNUM_TTKERNEL_RTC_NUMERATOR { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100000000 - # value_source default - # Default value: CYGNUM_HAL_RTC_NUMERATOR - # CYGNUM_HAL_RTC_NUMERATOR == 100000000 - # --> 100000000 -}; - -# < -# Synchronization -# Dispatcherrounds may be synchronized with a global time. You must specify which method -# you want to use. -# -cdl_component SMLPKG_TTKERNEL_SYNCH { - # There is no associated value. -}; - -# > -# -cdl_interface SMLINT_TTKERNEL_SYNCTYPE { - # Implemented by SMLIMP_TTKERNEL_SYNC_NONE, active, enabled - # Implemented by SMLIMP_TTKERNEL_SYNC_SYNCHRON, active, disabled - # Implemented by SMLIMP_TTKERNEL_SYNC_ASYNCHARD, active, disabled - # Implemented by SMLIMP_TTKERNEL_SYNC_ASYNSMOOTH, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == SMLINT_TTKERNEL_SYNCTYPE - # SMLINT_TTKERNEL_SYNCTYPE == 1 - # --> 1 - - # The following properties are affected by this value - # interface SMLINT_TTKERNEL_SYNCTYPE - # Requires: 1 == SMLINT_TTKERNEL_SYNCTYPE -}; - -# None -# No synchronisation is required. -# -cdl_option SMLIMP_TTKERNEL_SYNC_NONE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Start synchron -# Synchronous start-up. -# -cdl_option SMLIMP_TTKERNEL_SYNC_SYNCHRON { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Start asynchron, synchronize hard -# Asynchronous start-up. hard synchronisation -# -cdl_option SMLIMP_TTKERNEL_SYNC_ASYNCHARD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Start asynchron, synchronize smooth -# Asynchronous start-up. smooth synchronisation -# -cdl_component SMLIMP_TTKERNEL_SYNC_ASYNSMOOTH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Maximum adjustment -# Maximum allowed rtc ticks, the groundstate may be shortened or extended. -# -cdl_option SMLIMP_TTKERNEL_SYNC_ASYNCHMAXDELAY { - # This option is not active - # The parent SMLIMP_TTKERNEL_SYNC_ASYNSMOOTH is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 100 - # value_source default - # Default value: 100 -}; - -# < -# < -# Mode -# Defines the amount of checks, that are performed during runtime to protect the system from incorrect API usage. -# In EXTENDED configuration, the kernel monitors the system environment to ensure correct API usage. Additionally it prevents the use of illegal task pointers. -# This checks may be turned of by switching to BASIC mode. -# -# -cdl_option SMLFUN_TTKERNEL_MODE { - # Flavor: data - user_value BASIC - # value_source user - # Default value: EXTENDED - # Legal values: "BASIC" "EXTENDED" -}; - -# OS stack size -# The system stack size (OS stack). -# -# -cdl_component SMLNUM_TTKERNEL_STACKSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8192 - # value_source default - # Default value: 8192 -}; - -# Round length (ticks) -# All dispatcher tables must have the same round length. -# -# -cdl_option SMLNUM_TTKERNEL_DISPATCHERTABLE_LENGTH { - # Flavor: data - user_value 1000 - # value_source user - # Default value: 100 -}; - -# OSEKtime API -# Compatibility layer, providing an OSEKtime like API. -# -# -cdl_option SMLFUN_TTKERNEL_OSEKTIME { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# WCAO mesurement support -# In an real time environment it is important to know the overhead generated by the OS. -# This kernel comes with an interface for WCAO mesurement. Note: The implementation -# of the interface is left to you! Include <sml/ttkernel/performance.hxx> and implement the -# functions tt_record_dispatcherstart() and tt_record_dispatcherend(). -# -cdl_component SMLPKG_TTKERNEL_RTCHAR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# record dispatcher start -# Record dispatcher start. The function tt_record_interrupt_start() gets called when an timer -# interrupt occures and calls the dispatcher! -# -cdl_option SMLFUN_TTKERNEL_RECORD_DISPATCHERSTART { - # This option is not active - # The parent SMLPKG_TTKERNEL_RTCHAR is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# record dispatcher end -# Record dispatcher end. The function tt_record_interrupt_end() gets called when the dispatcher -# returns control to the running task. In case of an task activation this function gets not called! -# -cdl_option SMLFUN_TTKERNEL_RECORD_DISPATCHEREND { - # This option is not active - # The parent SMLPKG_TTKERNEL_RTCHAR is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Test support -# Support for extended timing tests. In detail, a second clock is implemented that shows the -# absolute timer interrupts (ticks) since system start. -# -# -cdl_option SMLNUM_TTKERNEL_TEST_SUPPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < - diff --git a/02_filter/ecosenv.sh b/02_filter/ecosenv.sh deleted file mode 100755 index 2b98e8d5767f25afb438b024cde5d60e0fca64bb..0000000000000000000000000000000000000000 --- a/02_filter/ecosenv.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -EZS_BASE_DIR=/proj/i4ezs/tools/ ; export EZS_BASE_DIR - -ECOS_BASE_DIR=$EZS_BASE_DIR/ecos/repo_ezs ; export ECOS_BASE_DIR -EZS_COMPILER_DIR=$EZS_BASE_DIR/gnutools_422 ; export EZS_COMPILER_DIR -EZS_CMAKE_MODULE_DIR=$ECOS_BASE_DIR/tools ; export EZS_CMAKE_MODULE_DIR -ECOS_REPOSITORY=$ECOS_BASE_DIR/packages ; export ECOS_REPOSITORY -UBUNTU_MENUPROXY=0 ; export UBUNTU_MENUPROXY -if [[ $PATH != *ecos* ]] ; then - # eCos paths - do not modify this line, it is used by the installer - PATH=$ECOS_BASE_DIR/tools:$EZS_COMPILER_DIR/bin:$PATH ; export PATH -fi - -if [[ $PATH != */proj/i4ezs/tools/fail/vezs ]] ; then - PATH=$EZS_BASE_DIR/fail:$PATH -fi diff --git a/02_filter/emu/BIOS-bochs-latest b/02_filter/emu/BIOS-bochs-latest deleted file mode 100644 index 2d3fea31f67a8c140e70b71cf14ceacd397923ab..0000000000000000000000000000000000000000 Binary files a/02_filter/emu/BIOS-bochs-latest and /dev/null differ diff --git a/02_filter/emu/CMakeLists.txt b/02_filter/emu/CMakeLists.txt deleted file mode 100644 index 486998dc7836d23f8802fca2c966ed69970be391..0000000000000000000000000000000000000000 --- a/02_filter/emu/CMakeLists.txt +++ /dev/null @@ -1,213 +0,0 @@ -include(processorcount) - -# Prepare some useful variable for use in config files -set(TGT_ELF "${TGT}.elf") -set(ISODIR "${PROJECT_BINARY_DIR}/grub_iso") -set(FAIL_BINARY "$ENV{EZS_BASE_DIR}/fail/fail-client") -set(ISOFILE "${PROJECT_BINARY_DIR}/${TGT}.iso") -set(ELFFILE "${PROJECT_BINARY_DIR}/${TGT}.elf") -set(RUNNER "/proj/i4ezs/tools/fail/vezs/bochs-experiment-runner.py") - - -set(FAILVARIANT "not_set" CACHE PATH "Variant name for Fail* injection") - -# Setup Bochs configuration -set(BOCHS_BIOS "${CMAKE_CURRENT_SOURCE_DIR}/BIOS-bochs-latest") -set(BOCHS_GUEST_RAM 32) -set(BOCHS_HOST_RAM 32) -set(BOCHS_VGA_IMAGE "${CMAKE_CURRENT_SOURCE_DIR}/vgabios.bin") -set(BOCHS_ISO_IMAGE "${ISOFILE}") - -set(STARTUP_SCRIPTS ${PROJECT_BINARY_DIR}/startup_scripts) -file(MAKE_DIRECTORY ${STARTUP_SCRIPTS}) -set(BOCHSRC "${STARTUP_SCRIPTS}/bochsrc") -configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bochsrc.in" ${BOCHSRC} ) -configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bochsrc-gdb.in" "${BOCHSRC}-gdb" ) -configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bochsrc-term.in" "${BOCHSRC}-term" ) - -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/qrun.sh.in ${STARTUP_SCRIPTS}/qrun.sh) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/frun.sh.in ${STARTUP_SCRIPTS}/frun.sh) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pts.sh.in ${STARTUP_SCRIPTS}/pts.sh) -configure_file(${SCRIPT_DIR}/findport.pl ${STARTUP_SCRIPTS}/findport.pl) - -#message(STATUS "Fail* @ ${FAIL_BINARY}") -#set(GDBINITFILE ${STARTUP_SCRIPTS}/.gdbinit) -#configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gdbinit.in" ${GDBINITFILE}) - -# Grub -find_program(GRUB_MKRESCUE "grub-mkrescue") -if(NOT GRUB_MKRESCUE) - message(FATAL_ERROR "grub-mkrescue not found, cannot create bootable iso :(") -endif() - - -# message(STATUS "Building bootable ISO for ${TGT}") - -# Generate build directory for grub-mkrescue -set(BOOTDIR "${ISODIR}/boot/") -set(GRUBDIR "${BOOTDIR}/grub") -file(MAKE_DIRECTORY ${GRUBDIR}) - -# Copy and configure grub configuration file -configure_file("${CMAKE_CURRENT_SOURCE_DIR}/grub.cfg.in" "${GRUBDIR}/grub.cfg") - -# Create bootable ISO from TGT -add_custom_command( - DEPENDS ${TGT} - COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${TGT}> ${BOOTDIR}/${TGT_ELF} - COMMAND ${GRUB_MKRESCUE} - ARGS -o ${ISOFILE} ${ISODIR} - COMMAND objdump -CDS ${BOOTDIR}/${TGT_ELF} > ${PROJECT_BINARY_DIR}/${TGT}.dis - OUTPUT ${ISOFILE} ${BOOTDIR}/${TGT_ELF} ${PROJECT_BINARY_DIR}/${TGT}.dis - COMMENT "Generating bootable grub iso." - ) - -# Create bootable ISO -add_custom_target( iso DEPENDS ${ISOFILE} ) - -# Start FAIL -# comment for 02_filter -##add_custom_target( sim -## COMMAND ${STARTUP_SCRIPTS}/frun.sh -## DEPENDS ${ISOFILE} -## COMMENT "Starting Fail*" -## WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -## ) - -# Start qemu -add_custom_target(run - DEPENDS ${ISOFILE} ${TGT} - COMMAND echo "Running ${ISOFILE}..." - COMMAND ${STARTUP_SCRIPTS}/qrun.sh - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - ) - -# make sim as alias for make run -add_custom_target(sim - DEPENDS ${ISOFILE} ${TGT} - COMMAND echo "Running ${ISOFILE}..." - COMMAND ${STARTUP_SCRIPTS}/qrun.sh - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - ) - -add_custom_target( ddd -# Start Qemu in Debug mode. - DEPENDS ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh ddd - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( gdb -# Start Qemu in Debug mode. - DEPENDS ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh gdb - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( gdbtui -# Start Qemu in Debug mode. - DEPENDS ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh gdbtui - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - - -add_custom_target( cgdb -# Start Qemu in Debug mode. - DEPENDS ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh cgdb - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - - -add_custom_target( fail-1-trace - # Start Qemu in Debug mode. - DEPENDS ${ISOFILE} - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ ${RUNNER} -e ${ELFFILE} -i ${BOCHS_ISO_IMAGE} -1 - -f /proj/i4ezs/tools/fail/vezs/fail-x86-tracing - -m 32 -- - -Wf,--start-symbol=fail_trace_start - -Wf,--save-symbol=fail_trace_start - -Wf,--end-symbol=fail_trace_stop - -Wf,--trace-file=${PROJECT_BINARY_DIR}/trace.pb - -Wf,--elf-file=${PROJECT_BINARY_DIR}/${TGT}.elf -q - COMMENT "Trace the app for golden run" - OUTPUT ${PROJECT_BINARY_DIR}/trace.pb - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( fail-2-import - # Start Qemu in Debug mode. - DEPENDS ${PROJECT_BINARY_DIR}/trace.pb - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ /proj/i4ezs/tools/fail/vezs/import-trace -t ${PROJECT_BINARY_DIR}/trace.pb -i mem -v aufgabe1 -b ${FAILVARIANT} -e ${ELFFILE} --faultspace-rightmargin R - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ /proj/i4ezs/tools/fail/vezs/import-trace -i ElfImporter --objdump objdump -e ${ELFFILE} -v aufgabe1 -b ${FAILVARIANT} - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ /proj/i4ezs/tools/fail/vezs/prune-trace -p basic -v aufgabe1 -b ${FAILVARIANT} --overwrite - COMMENT "Import the golden run into the database" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( fail-3-server - # Start Qemu in Debug mode. - DEPENDS ${PROJECT_BINARY_DIR}/trace.pb - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ /proj/i4ezs/tools/fail/vezs/generic-experiment-server -v aufgabe1 -b ${FAILVARIANT} - COMMENT "Start the campaign server" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( fail-4-client - # Start Qemu in Debug mode. - DEPENDS ${PROJECT_BINARY_DIR}/trace.pb - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ ${RUNNER} -e ${ELFFILE} -i ${BOCHS_ISO_IMAGE} - -f /proj/i4ezs/tools/fail/vezs/generic-experiment-client -m 32 - -e ${ELFFILE} - -i ${BOCHS_ISO_IMAGE} - -V vgabios.bin -b BIOS-bochs-latest -- - -Wf,--state-dir=state - -Wf,--trap -Wf,--timeout=10 - -Wf,--ok-marker=fail_marker_positive - -Wf,--fail-marker=fail_marker_negative - -Wf,--detected-marker=fail_marker_detected - -Wf,--catch-write-textsegment - -Wf,--catch-write-outerspace # 2>/dev/null | grep -C 4 'INJECT' - COMMENT "Start one fail-client" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( fail-4-client-parallel - # Start Qemu in Debug mode. - DEPENDS ${PROJECT_BINARY_DIR}/trace.pb - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ nice -n 19 ionice -c3 ${RUNNER} -e ${ELFFILE} -i ${BOCHS_ISO_IMAGE} - -f /proj/i4ezs/tools/fail/vezs/generic-experiment-client -m 32 - -e ${ELFFILE} - -i ${BOCHS_ISO_IMAGE} - -V vgabios.bin -b BIOS-bochs-latest -j${PROCESSOR_COUNT} -- - -Wf,--state-dir=state - -Wf,--trap -Wf,--timeout=10 - -Wf,--ok-marker=fail_marker_positive - -Wf,--fail-marker=fail_marker_negative - -Wf,--detected-marker=fail_marker_detected - -Wf,--catch-write-textsegment - -Wf,--catch-write-outerspace # 2>/dev/null | grep -C 4 'INJECT' - COMMENT "Start many fail-clients (use FAIL_SERVER_HOST for different campaign server)" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( fail-5-result - # Start Qemu in Debug mode. - COMMAND mysql -t < ${PROJECT_SOURCE_DIR}/eval/report.sql - COMMENT "Generate a report" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( fail-5-browse - # Start Qemu in Debug mode. - COMMAND mysql -t < ${PROJECT_SOURCE_DIR}/eval/report.sql - COMMAND /proj/i4ezs/tools/fail/vezs/resultbrowser/run.py - COMMENT "Generate HTML report" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - diff --git a/02_filter/emu/bochs-experiment-runner.py b/02_filter/emu/bochs-experiment-runner.py deleted file mode 100755 index 2b0ac6ba2ffd40a33e9caec09071566ec610a065..0000000000000000000000000000000000000000 --- a/02_filter/emu/bochs-experiment-runner.py +++ /dev/null @@ -1,128 +0,0 @@ -#!/usr/bin/python - -import os, sys -from optparse import OptionParser -from subprocess import * -from tempfile import mkstemp, mkdtemp -import shutil -import multiprocessing -from threading import Thread - -def parseArgs(): - parser = OptionParser() - parser.add_option("-e", "--elf-file", dest="elf_file", - help="elf file to be executed", metavar="ELF") - parser.add_option("-i", "--iso-file", dest="iso_file", - help="iso file to be executed", metavar="ISO") - parser.add_option("-f", "--fail-client", dest="fail_client", - help="fail-client to be executed", metavar="ISO") - parser.add_option("-m", "--memory", dest="memory", default="16", - help="memory for the bochs VM", metavar="SIZE") - - parser.add_option("-b", "--bios", dest="bios", default="/proj/i4ciao/tools/fail/BIOS-bochs-latest", - help="bios image for bochs", metavar="BIOS") - - parser.add_option("-V", "--vgabios", dest="vgabios", default="/proj/i4ciao/tools/fail/vgabios.bin", - help="vgabios image for bochs", metavar="VGABIOS") - - parser.add_option("-1", "--once", - action="store_false", dest="forever", default=True, - help="fail-client to be executed") - parser.add_option("-j", "--jobs", - action="store", dest="jobs", default=1, - help="fail-clients to be executed") - - - - (options, args) = parser.parse_args() - - if not (options.elf_file and options.iso_file and options.fail_client): - parser.error("elf, iso and fail-client are required") - - return options, args - -def execute(options, args, bochsrc, statedir): - command = "env FAIL_ELF_PATH=%s FAIL_STATEDIR=%s %s -q -f %s %s" %\ - (options.elf_file, statedir, options.fail_client, bochsrc, " ".join(args)) - print "executing: " + command - p = Popen(command, shell=True) - p.wait() - - return p.returncode - -def main(options, args): - bochsrc_args = { - "memory": options.memory, - "bios": options.bios, - "vgabios": options.vgabios, - "iso": options.iso_file - } - - bochsrc_text = """ -config_interface: textconfig -display_library: nogui -romimage: file="{bios}" -cpu: count=1, ips=5000000, reset_on_triple_fault=1, ignore_bad_msrs=1, msrs="msrs.def" -cpuid: mmx=1, sep=1, sse=sse4_2, xapic=1, aes=1, movbe=1, xsave=1, cpuid_limit_winnt=0 -memory: guest={memory}, host={memory} -vgaromimage: file="{vgabios}" -vga: extension=vbe -ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -ata1: enabled=0, ioaddr1=0x170, ioaddr2=0x370, irq=15 -ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9 -ata0-slave: type=cdrom, path="{iso}", status=inserted -boot: cdrom -clock: sync=none, time0=946681200 -floppy_bootsig_check: disabled=0 -panic: action=fatal -error: action=fatal -info: action=ignore -debug: action=ignore -pass: action=ignore -debugger_log: - -parport1: enabled=0 -vga_update_interval: 300000 -keyboard_serial_delay: 250 -keyboard_paste_delay: 100000 -private_colormap: enabled=0 -i440fxsupport: enabled=0, slot1=pcivga -""".format(**bochsrc_args) - - bochsrc = mkstemp() - fd = os.fdopen(bochsrc[0], "w") - fd.write(bochsrc_text) - fd.close() - bochsrc = bochsrc[1] - - statedir = mkdtemp() - - if options.forever: - while True: - res = execute(options, args, bochsrc, statedir) - if res != 0: - break - - ret = 0 - else: - ret = execute(options, args, bochsrc, statedir) - - os.unlink(bochsrc) - shutil.rmtree(statedir) - sys.exit(ret) - -if __name__ == "__main__": - (options, args) = parseArgs() - if options.jobs == "0": - jobs = multiprocessing.cpu_count() - else: - jobs = int(options.jobs) - - threads = [] - for i in range(0, jobs): - t = Thread(target = main, args = (options, args)) - t.start() - threads.append(t) - - for thread in threads: - thread.join() diff --git a/02_filter/emu/bochsrc-gdb.in b/02_filter/emu/bochsrc-gdb.in deleted file mode 100644 index 23567fceb539167aac7f4d79e5f3b483e709bccf..0000000000000000000000000000000000000000 --- a/02_filter/emu/bochsrc-gdb.in +++ /dev/null @@ -1,900 +0,0 @@ -# You may now use double quotes around pathnames, in case -# your pathname includes spaces. - -#======================================================================= -# CONFIG_INTERFACE -# -# The configuration interface is a series of menus or dialog boxes that -# allows you to change all the settings that control Bochs's behavior. -# Depending on the platform there are up to 3 choices of configuration -# interface: a text mode version called "textconfig" and two graphical versions -# called "win32config" and "wx". The text mode version uses stdin/stdout and -# is always compiled in, unless Bochs is compiled for wx only. The choice -# "win32config" is only available on win32 and it is the default there. -# The choice "wx" is only available when you use "--with-wx" on the configure -# command. If you do not write a config_interface line, Bochs will -# choose a default for you. -# -# NOTE: if you use the "wx" configuration interface, you must also use -# the "wx" display library. -#======================================================================= -config_interface: textconfig -#config_interface: wx - -#======================================================================= -# DISPLAY_LIBRARY -# -# The display library is the code that displays the Bochs VGA screen. Bochs -# has a selection of about 10 different display library implementations for -# different platforms. If you run configure with multiple --with-* options, -# the display_library command lets you choose which one you want to run with. -# If you do not write a display_library line, Bochs will choose a default for -# you. -# -# The choices are: -# x use X windows interface, cross platform -# sdl use SDL library, cross platform -# svga use SVGALIB library for Linux, allows graphics without X11 -# term text only, uses curses/ncurses library, cross platform -# wx use wxWidgets library, cross platform -# nogui no display at all -# -# NOTE: if you use the "wx" configuration interface, you must also use -# the "wx" display library. -# -# Specific options: -# Some display libraries now support specific option to control their -# behaviour. See the examples below for currently supported options. -#======================================================================= -#display_library: nogui -#display_library: sdl, options="fullscreen" # startup in fullscreen mode -display_library: term -#display_library: wx -#display_library: x -#display_library: x, options="hideIPS" # disable IPS output in status bar -#display_library: x, options="gui_debug" # use GTK debugger gui - -#======================================================================= -# ROMIMAGE: -# The ROM BIOS controls what the PC does when it first powers on. -# Normally, you can use a precompiled BIOS in the source or binary -# distribution called BIOS-bochs-latest. The ROM BIOS is usually loaded -# starting at address 0xf0000, and it is exactly 64k long. Another option -# is 128k BIOS which is loaded at address 0xe0000. -# You can also use the environment variable $BXSHARE to specify the -# location of the BIOS. -# The usage of external large BIOS images (up to 512k) at memory top is -# now supported, but we still recommend to use the BIOS distributed with -# Bochs. The start address optional, since it can be calculated from image size. -#======================================================================= -romimage: file=@BOCHS_BIOS@ -#romimage: file=bios/seabios-0.5.1.bin -#romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top - -#======================================================================= -# CPU: -# This defines cpu-related parameters inside Bochs: -# -# COUNT: -# Set the number of processors:cores per processor:threads per core -# when Bochs is compiled for SMP emulation. -# Bochs currently supports up to 8 threads running simultaniosly. -# If Bochs is compiled without SMP support, it won't accept values -# different from 1. -# -# QUANTUM: -# Maximum amount of instructions allowed to execute by processor before -# returning control to another cpu. This option exists only in Bochs -# binary compiled with SMP support. -# -# RESET_ON_TRIPLE_FAULT: -# Reset the CPU when triple fault occur (highly recommended) rather than -# PANIC. Remember that if you trying to continue after triple fault the -# simulation will be completely bogus ! -# -# MSRS: -# Define path to user CPU Model Specific Registers (MSRs) specification. -# See example in msrs.def. -# -# IGNORE_BAD_MSRS: -# Ignore MSR references that Bochs does not understand; print a warning -# message instead of generating #GP exception. This option is enabled -# by default but will not be avaiable if configurable MSRs are enabled. -# -# IPS: -# Emulated Instructions Per Second. This is the number of IPS that bochs -# is capable of running on your machine. You can recompile Bochs with -# --enable-show-ips option enabled, to find your host's capability. -# Measured IPS value will then be logged into your log file or shown -# in the status bar (if supported by the gui). -# -# IPS is used to calibrate many time-dependent events within the bochs -# simulation. For example, changing IPS affects the frequency of VGA -# updates, the duration of time before a key starts to autorepeat, and -# the measurement of BogoMips and other benchmarks. -# -# Examples: -# -# Bochs Machine/Compiler Mips -# ____________________________________________________________________ -# 2.3.7 3.2Ghz Intel Core 2 Q9770 with WinXP/g++ 3.4 50 to 55 Mips -# 2.3.7 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 38 to 43 Mips -# 2.2.6 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 21 to 25 Mips -# 2.2.6 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4 12 to 15 Mips -# 2.0.1 1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7 Mips -#======================================================================= -cpu: count=1, ips=@BOCHS_CPU_SPEED_MHZ@000000, reset_on_triple_fault=0, ignore_bad_msrs=1, msrs="msrs.def" - -#======================================================================= -# CPUID: -# -# This defines features and functionality supported by Bochs emulated CPU: -# -# MMX: -# Select MMX instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 5. -# -# SEP: -# Select SYSENTER/SYSEXIT instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# SSE: -# Select SSE instruction set support. -# Any of NONE/SSE/SSE2/SSE3/SSSE3/SSE4_1/SSE4_2 could be selected. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# XAPIC: -# Select XAPIC extensions support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# AES: -# Select AES instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# MOVBE: -# Select MOVBE Intel(R) Atom instruction support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# XSAVE: -# Select XSAVE extensions support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# 1G_PAGES: -# Enable 1G page size support in long mode. -# This option exists only if Bochs compiled with x86-64 support. -# -# MWAIT_IS_NOP: -# When this option is enabled MWAIT will not put the CPU into a sleep state. -# This option exists only if Bochs compiled with --enable-monitor-mwait. -# -# VENDOR_STRING: -# Set the CPUID vendor string returned by CPUID(0x0). This should be a -# twelve-character ASCII string. -# -# BRAND_STRING: -# Set the CPUID vendor string returned by CPUID(0x80000002 .. 0x80000004). -# This should be at most a forty-eight-character ASCII string. -# -# CPUID_LIMIT_WINNT: -# Determine whether to limit maximum CPUID function to 3. This mode is -# required to workaround WinNT installation and boot issues. -#======================================================================= -cpuid: mmx=1, sep=1, sse=sse4_2, xapic=1, aes=1, movbe=1, xsave=1, cpuid_limit_winnt=0 - -#======================================================================= -# MEMORY -# Set the amount of physical memory you want to emulate. -# -# GUEST: -# Set amount of guest physical memory to emulate. The default is 32MB, -# the maximum amount limited only by physical address space limitations. -# -# HOST: -# Set amount of host memory you want to allocate for guest RAM emulation. -# It is possible to allocate less memory than you want to emulate in guest -# system. This will fake guest to see the non-existing memory. Once guest -# system touches new memory block it will be dynamically taken from the -# memory pool. You will be warned (by FATAL PANIC) in case guest already -# used all allocated host memory and wants more. -# -#======================================================================= -#memory: guest=512, host=256 -memory: guest=@BOCHS_GUEST_RAM@, host=@BOCHS_HOST_RAM@ - -#======================================================================= -# OPTROMIMAGE[1-4]: -# You may now load up to 4 optional ROM images. Be sure to use a -# read-only area, typically between C8000 and EFFFF. These optional -# ROM images should not overwrite the rombios (located at -# F0000-FFFFF) and the videobios (located at C0000-C7FFF). -# Those ROM images will be initialized by the bios if they contain -# the right signature (0x55AA) and a valid checksum. -# It can also be a convenient way to upload some arbitrary code/data -# in the simulation, that can be retrieved by the boot loader -#======================================================================= -#optromimage1: file=optionalrom.bin, address=0xd0000 -#optromimage2: file=optionalrom.bin, address=0xd1000 -#optromimage3: file=optionalrom.bin, address=0xd2000 -#optromimage4: file=optionalrom.bin, address=0xd3000 - -#optramimage1: file=/path/file1.img, address=0x0010000 -#optramimage2: file=/path/file2.img, address=0x0020000 -#optramimage3: file=/path/file3.img, address=0x0030000 -#optramimage4: file=/path/file4.img, address=0x0040000 - -#======================================================================= -# VGAROMIMAGE -# You now need to load a VGA ROM BIOS into C0000. -#======================================================================= -vgaromimage: file=@BOCHS_VGA_IMAGE@ -#vgaromimage: file=/usr/share/vgabios/vgabios.debug.bin - -#======================================================================= -# VGA: -# Here you can specify the display extension to be used. With the value -# 'none' you can use standard VGA with no extension. Other supported -# values are 'vbe' for Bochs VBE and 'cirrus' for Cirrus SVGA support. -#======================================================================= -#vga: extension=cirrus -vga: extension=vbe - -#======================================================================= -# FLOPPYA: -# Point this to pathname of floppy image file or device -# This should be of a bootable floppy(image/device) if you're -# booting from 'a' (or 'floppy'). -# -# You can set the initial status of the media to 'ejected' or 'inserted'. -# floppya: 2_88=path, status=ejected (2.88M 3.5" media) -# floppya: 1_44=path, status=inserted (1.44M 3.5" media) -# floppya: 1_2=path, status=ejected (1.2M 5.25" media) -# floppya: 720k=path, status=inserted (720K 3.5" media) -# floppya: 360k=path, status=inserted (360K 5.25" media) -# floppya: 320k=path, status=inserted (320K 5.25" media) -# floppya: 180k=path, status=inserted (180K 5.25" media) -# floppya: 160k=path, status=inserted (160K 5.25" media) -# floppya: image=path, status=inserted (guess media type from image size) -# floppya: type=1_44 (1.44M 3.5" floppy drive, no media) -# -# The path should be the name of a disk image file. On Unix, you can use a raw -# device name such as /dev/fd0 on Linux. On win32 platforms, use drive letters -# such as a: or b: as the path. The parameter 'image' works with image files -# only. In that case the size must match one of the supported types. -# The parameter 'type' can be used to enable the floppy drive without media -# and status specified. Usually the drive type is set up based on the media type. -#======================================================================= -#floppya: 1_44=/dev/fd0, status=inserted -#floppya: image=../1.44, status=inserted -#floppya: 1_44=/dev/fd0H1440, status=inserted -#floppya: 1_2=../1_2, status=inserted -#floppya: 1_44=a:, status=inserted -#floppya: 1_44=a.img, status=inserted -#floppya: 1_44=/dev/rfd0a, status=inserted -#floppya: 1_44=bootdisk.vmi, status=inserted -#floppya: 1_44=oostubs/guarded.vmi, status=inserted - -#======================================================================= -# FLOPPYB: -# See FLOPPYA above for syntax -#======================================================================= -#floppyb: 1_44=b:, status=inserted -#floppyb: 1_44=b.img, status=inserted - -#======================================================================= -# ATA0, ATA1, ATA2, ATA3 -# ATA controller for hard disks and cdroms -# -# ata[0-3]: enabled=[0|1], ioaddr1=addr, ioaddr2=addr, irq=number -# -# These options enables up to 4 ata channels. For each channel -# the two base io addresses and the irq must be specified. -# -# ata0 and ata1 are enabled by default with the values shown below -# -# Examples: -# ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -# ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 -# ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -# ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9 -#======================================================================= -ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 -ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9 - -#======================================================================= -# ATA[0-3]-MASTER, ATA[0-3]-SLAVE -# -# This defines the type and characteristics of all attached ata devices: -# type= type of attached device [disk|cdrom] -# mode= only valid for disks [flat|concat|external|dll|sparse|vmware3] -# mode= only valid for disks [undoable|growing|volatile] -# path= path of the image -# cylinders= only valid for disks -# heads= only valid for disks -# spt= only valid for disks -# status= only valid for cdroms [inserted|ejected] -# biosdetect= type of biosdetection [none|auto], only for disks on ata0 [cmos] -# translation=type of translation of the bios, only for disks [none|lba|large|rechs|auto] -# model= string returned by identify device command -# journal= optional filename of the redolog for undoable and volatile disks -# -# Point this at a hard disk image file, cdrom iso file, or physical cdrom -# device. To create a hard disk image, try running bximage. It will help you -# choose the size and then suggest a line that works with it. -# -# In UNIX it may be possible to use a raw device as a Bochs hard disk, -# but WE DON'T RECOMMEND IT. In Windows there is no easy way. -# -# In windows, the drive letter + colon notation should be used for cdroms. -# Depending on versions of windows and drivers, you may only be able to -# access the "first" cdrom in the system. On MacOSX, use path="drive" -# to access the physical drive. -# -# The path is mandatory for hard disks. Disk geometry autodetection works with -# images created by bximage if CHS is set to 0/0/0 (cylinders are calculated -# using heads=16 and spt=63). For other hard disk images and modes the -# cylinders, heads, and spt are mandatory. In all cases the disk size reported -# from the image must be exactly C*H*S*512. -# -# Default values are: -# mode=flat, biosdetect=auto, translation=auto, model="Generic 1234" -# -# The biosdetect option has currently no effect on the bios -# -# Examples: -# ata0-master: type=disk, mode=flat, path=10M.sample, cylinders=306, heads=4, spt=17 -# ata0-slave: type=disk, mode=flat, path=20M.sample, cylinders=615, heads=4, spt=17 -# ata1-master: type=disk, mode=flat, path=30M.sample, cylinders=615, heads=6, spt=17 -# ata1-slave: type=disk, mode=flat, path=46M.sample, cylinders=940, heads=6, spt=17 -# ata2-master: type=disk, mode=flat, path=62M.sample, cylinders=940, heads=8, spt=17 -# ata2-slave: type=disk, mode=flat, path=112M.sample, cylinders=900, heads=15, spt=17 -# ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63 -# ata3-slave: type=cdrom, path=iso.sample, status=inserted -#======================================================================= -#ata0-master: type=disk, mode=flat, path="d.sample" -#ata0-master: type=disk, mode=flat, path="$HOME/.bochs/guest.hd0", cylinders=#cylinders#, heads=16, spt=63 -#ata0-master: type=disk, mode=flat, path="c.img", cylinders=0 # autodetect -ata0-slave: type=cdrom, path=@BOCHS_ISO_IMAGE@, status=inserted - -#======================================================================= -# BOOT: -# This defines the boot sequence. Now you can specify up to 3 boot drives, -# which can be 'floppy', 'disk', 'cdrom' or 'network' (boot ROM). -# Legacy 'a' and 'c' are also supported. -# Examples: -# boot: floppy -# boot: cdrom, disk -# boot: network, disk -# boot: cdrom, floppy, disk -#======================================================================= -#boot: floppy -#boot: disk -boot: cdrom - -#======================================================================= -# CLOCK: -# This defines the parameters of the clock inside Bochs: -# -# SYNC: -# This defines the method how to synchronize the Bochs internal time -# with realtime. With the value 'none' the Bochs time relies on the IPS -# value and no host time synchronization is used. The 'slowdown' method -# sacrifices performance to preserve reproducibility while allowing host -# time correlation. The 'realtime' method sacrifices reproducibility to -# preserve performance and host-time correlation. -# It is possible to enable both synchronization methods. -# -# TIME0: -# Specifies the start (boot) time of the virtual machine. Use a time -# value as returned by the time(2) system call. If no time0 value is -# set or if time0 equal to 1 (special case) or if time0 equal 'local', -# the simulation will be started at the current local host time. -# If time0 equal to 2 (special case) or if time0 equal 'utc', -# the simulation will be started at the current utc time. -# -# Syntax: -# clock: sync=[none|slowdown|realtime|both], time0=[timeValue|local|utc] -# -# Example: -# clock: sync=none, time0=local # Now (localtime) -# clock: sync=slowdown, time0=315529200 # Tue Jan 1 00:00:00 1980 -# clock: sync=none, time0=631148400 # Mon Jan 1 00:00:00 1990 -# clock: sync=realtime, time0=938581955 # Wed Sep 29 07:12:35 1999 -# clock: sync=realtime, time0=946681200 # Sat Jan 1 00:00:00 2000 -# clock: sync=none, time0=1 # Now (localtime) -# clock: sync=none, time0=utc # Now (utc/gmt) -# -# Default value are sync=none, time0=local -#======================================================================= -#clock: sync=realtime, time0=local - - -#======================================================================= -# FLOPPY_BOOTSIG_CHECK: disabled=[0|1] -# Enables or disables the 0xaa55 signature check on boot floppies -# Defaults to disabled=0 -# Examples: -# floppy_bootsig_check: disabled=0 -# floppy_bootsig_check: disabled=1 -#======================================================================= -floppy_bootsig_check: disabled=0 - -#======================================================================= -# LOG: -# Give the path of the log file you'd like Bochs debug and misc. verbiage -# to be written to. If you don't use this option or set the filename to -# '-' the output is written to the console. If you really don't want it, -# make it "/dev/null" (Unix) or "nul" (win32). :^( -# -# Examples: -# log: ./bochs.out -# log: /dev/tty -#======================================================================= -#log: /dev/stdout -#log: /dev/null -#log: /tmp/bochsout.txt -log: bochsout.txt - -#======================================================================= -# LOGPREFIX: -# This handles the format of the string prepended to each log line. -# You may use those special tokens : -# %t : 11 decimal digits timer tick -# %i : 8 hexadecimal digits of cpu current eip (ignored in SMP configuration) -# %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror) -# %d : 5 characters string of the device, between brackets -# -# Default : %t%e%d -# Examples: -# logprefix: %t-%e-@%i-%d -# logprefix: %i%e%d -#======================================================================= -#logprefix: %t%e%d - -#======================================================================= -# LOG CONTROLS -# -# Bochs now has four severity levels for event logging. -# panic: cannot proceed. If you choose to continue after a panic, -# don't be surprised if you get strange behavior or crashes. -# error: something went wrong, but it is probably safe to continue the -# simulation. -# info: interesting or useful messages. -# debug: messages useful only when debugging the code. This may -# spit out thousands per second. -# -# For events of each level, you can choose to crash, report, or ignore. -# TODO: allow choice based on the facility: e.g. crash on panics from -# everything except the cdrom, and only report those. -# -# If you are experiencing many panics, it can be helpful to change -# the panic action to report instead of fatal. However, be aware -# that anything executed after a panic is uncharted territory and can -# cause bochs to become unstable. The panic is a "graceful exit," so -# if you disable it you may get a spectacular disaster instead. -#======================================================================= -#panic: action=fatal -panic: action=ignore -error: action=ignore -info: action=ignore -debug: action=ignore -#pass: action=fatal - -#======================================================================= -# DEBUGGER_LOG: -# Give the path of the log file you'd like Bochs to log debugger output. -# If you really don't want it, make it /dev/null or '-'. :^( -# -# Examples: -# debugger_log: ./debugger.out -#======================================================================= -#debugger_log: /dev/null -#debugger_log: debugger.out -debugger_log: - - -#======================================================================= -# COM1, COM2, COM3, COM4: -# This defines a serial port (UART type 16550A). In the 'term' you can specify -# a device to use as com1. This can be a real serial line, or a pty. To use -# a pty (under X/Unix), create two windows (xterms, usually). One of them will -# run bochs, and the other will act as com1. Find out the tty the com1 -# window using the `tty' command, and use that as the `dev' parameter. -# Then do `sleep 1000000' in the com1 window to keep the shell from -# messing with things, and run bochs in the other window. Serial I/O to -# com1 (port 0x3f8) will all go to the other window. -# In socket* and pipe* (win32 only) modes Bochs becomes either socket/named pipe -# client or server. In client mode it connects to an already running server (if -# connection fails Bochs treats com port as not connected). In server mode it -# opens socket/named pipe and waits until a client application connects to it -# before starting simulation. This mode is useful for remote debugging (e.g. -# with gdb's "target remote host:port" command or windbg's command line option -# -k com:pipe,port=\\.\pipe\pipename). Note: 'socket' is a shorthand for -# 'socket-client' and 'pipe' for 'pipe-client'. Socket modes use simple TCP -# communication, pipe modes use duplex byte mode pipes. -# Other serial modes are 'null' (no input/output), 'file' (output to a file -# specified as the 'dev' parameter), 'raw' (use the real serial port - under -# construction for win32), 'mouse' (standard serial mouse - requires -# mouse option setting 'type=serial', 'type=serial_wheel' or 'type=serial_msys'). -# -# Examples: -# com1: enabled=1, mode=null -# com1: enabled=1, mode=mouse -# com2: enabled=1, mode=file, dev=serial.out -# com3: enabled=1, mode=raw, dev=com1 -# com3: enabled=1, mode=socket-client, dev=localhost:8888 -# com3: enabled=1, mode=socket-server, dev=localhost:8888 -# com4: enabled=1, mode=pipe-client, dev=\\.\pipe\mypipe -# com4: enabled=1, mode=pipe-server, dev=\\.\pipe\mypipe -#======================================================================= -#com1: enabled=1, mode=term, dev=/dev/ttyS0 - - -#======================================================================= -# PARPORT1, PARPORT2: -# This defines a parallel (printer) port. When turned on and an output file is -# defined the emulated printer port sends characters printed by the guest OS -# into the output file. On some platforms a device filename can be used to -# send the data to the real parallel port (e.g. "/dev/lp0" on Linux, "lpt1" on -# win32 platforms). -# -# Examples: -# parport1: enabled=1, file="parport.out" -# parport2: enabled=1, file="/dev/lp0" -# parport1: enabled=0 -#======================================================================= -#parport1: enabled=1, file="/dev/lp0" - -#======================================================================= -# SB16: -# This defines the SB16 sound emulation. It can have several of the -# following properties. -# All properties are in the format sb16: property=value -# midi: The filename is where the midi data is sent. This can be a -# device or just a file if you want to record the midi data. -# midimode: -# 0=no data -# 1=output to device (system dependent. midi denotes the device driver) -# 2=SMF file output, including headers -# 3=output the midi data stream to the file (no midi headers and no -# delta times, just command and data bytes) -# wave: This is the device/file where wave output is stored -# wavemode: -# 0=no data -# 1=output to device (system dependent. wave denotes the device driver) -# 2=VOC file output, incl. headers -# 3=output the raw wave stream to the file -# log: The file to write the sb16 emulator messages to. -# loglevel: -# 0=no log -# 1=resource changes, midi program and bank changes -# 2=severe errors -# 3=all errors -# 4=all errors plus all port accesses -# 5=all errors and port accesses plus a lot of extra info -# dmatimer: -# microseconds per second for a DMA cycle. Make it smaller to fix -# non-continuous sound. 750000 is usually a good value. This needs a -# reasonably correct setting for the IPS parameter of the CPU option. -# -# Examples for output devices: -# sb16: midimode=1, midi="", wavemode=1, wave="" # win32 -# sb16: midimode=1, midi=alsa:128:0, wavemode=1, wave=alsa # Linux with ALSA -#======================================================================= -#sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=/dev/stdout, dmatimer=600000 - -#======================================================================= -# VGA_UPDATE_INTERVAL: -# Video memory is scanned for updates and screen updated every so many -# virtual seconds. The default is 50000, about 20Hz. Keep in mind that -# you must tweak the 'cpu: ips=N' directive to be as close to the number -# of emulated instructions-per-second your workstation can do, for this -# to be accurate. -# -# Examples: -# vga_update_interval: 250000 -#======================================================================= -vga_update_interval: 300000 - -# using for Winstone '98 tests -#vga_update_interval: 100000 - -#======================================================================= -# KEYBOARD_SERIAL_DELAY: -# Approximate time in microseconds that it takes one character to -# be transfered from the keyboard to controller over the serial path. -# Examples: -# keyboard_serial_delay: 200 -#======================================================================= -keyboard_serial_delay: 250 - -#======================================================================= -# KEYBOARD_PASTE_DELAY: -# Approximate time in microseconds between attempts to paste -# characters to the keyboard controller. This leaves time for the -# guest os to deal with the flow of characters. The ideal setting -# depends on how your operating system processes characters. The -# default of 100000 usec (.1 seconds) was chosen because it works -# consistently in Windows. -# -# If your OS is losing characters during a paste, increase the paste -# delay until it stops losing characters. -# -# Examples: -# keyboard_paste_delay: 100000 -#======================================================================= -keyboard_paste_delay: 100000 - -#======================================================================= -# MOUSE: -# The Bochs gui creates mouse "events" unless the 'enabled' option is -# set to 0. The hardware emulation itself is not disabled by this. -# Unless you have a particular reason for enabling the mouse by default, -# it is recommended that you leave it off. You can also toggle the mouse -# usage at runtime (control key + middle mouse button on X11, SDL, -# wxWidgets and Win32). -# With the mouse type option you can select the type of mouse to emulate. -# The default value is 'ps2'. The other choices are 'imps2' (wheel mouse -# on PS/2), 'serial', 'serial_wheel' and 'serial_msys' (one com port requires -# setting 'mode=mouse'). To connect a mouse to an USB port, see the 'usb_uhci' -# or 'usb_ohci' option (requires PCI and USB support). -# -# Examples: -# mouse: enabled=1 -# mouse: enabled=1, type=imps2 -# mouse: enabled=1, type=serial -# mouse: enabled=0 -#======================================================================= -mouse: enabled=0 - -#======================================================================= -# private_colormap: Request that the GUI create and use it's own -# non-shared colormap. This colormap will be used -# when in the bochs window. If not enabled, a -# shared colormap scheme may be used. Not implemented -# on all GUI's. -# -# Examples: -# private_colormap: enabled=1 -# private_colormap: enabled=0 -#======================================================================= -private_colormap: enabled=0 - -#======================================================================= -# ne2k: NE2000 compatible ethernet adapter -# -# Examples: -# ne2k: ioaddr=IOADDR, irq=IRQ, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT -# -# ioaddr, irq: You probably won't need to change ioaddr and irq, unless there -# are IRQ conflicts. These arguments are ignored when assign the ne2k to a -# PCI slot. -# -# mac: The MAC address MUST NOT match the address of any machine on the net. -# Also, the first byte must be an even number (bit 0 set means a multicast -# address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast -# address. For the ethertap module, you must use fe:fd:00:00:00:01. There may -# be other restrictions too. To be safe, just use the b0:c4... address. -# -# ethdev: The ethdev value is the name of the network interface on your host -# platform. On UNIX machines, you can get the name by running ifconfig. On -# Windows machines, you must run niclist to get the name of the ethdev. -# Niclist source code is in misc/niclist.c and it is included in Windows -# binary releases. -# -# script: The script value is optional, and is the name of a script that -# is executed after bochs initialize the network interface. You can use -# this script to configure this network interface, or enable masquerading. -# This is mainly useful for the tun/tap devices that only exist during -# Bochs execution. The network interface name is supplied to the script -# as first parameter -# -# If you don't want to make connections to any physical networks, -# you can use the following 'ethmod's to simulate a virtual network. -# null: All packets are discarded, but logged to a few files. -# arpback: ARP is simulated. Disabled by default. -# vde: Virtual Distributed Ethernet -# vnet: ARP, ICMP-echo(ping), DHCP and read/write TFTP are simulated. -# The virtual host uses 192.168.10.1. -# DHCP assigns 192.168.10.2 to the guest. -# TFTP uses the ethdev value for the root directory and doesn't -# overwrite files. -# -#======================================================================= -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0 -# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0 -# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=null, ethdev=eth0 -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl" -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp" - -#======================================================================= -# pnic: Bochs/Etherboot pseudo-NIC -# -# Example: -# pnic: enabled=1, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT -# -# The pseudo-NIC accepts the same syntax (for mac, ethmod, ethdev, script) and -# supports the same networking modules as the NE2000 adapter. In addition to -# this, it must be assigned to a PCI slot. -#======================================================================= -#pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet - -#======================================================================= -# KEYBOARD_MAPPING: -# This enables a remap of a physical localized keyboard to a -# virtualized us keyboard, as the PC architecture expects. -# If enabled, the keymap file must be specified. -# -# Examples: -# keyboard_mapping: enabled=1, map=gui/keymaps/x11-pc-de.map -#======================================================================= -#keyboard_mapping: enabled=0, map=/usr/share/bochs/keymaps/x11-pc-de.map - -#======================================================================= -# KEYBOARD_TYPE: -# Type of keyboard return by a "identify keyboard" command to the -# keyboard controler. It must be one of "xt", "at" or "mf". -# Defaults to "mf". It should be ok for almost everybody. A known -# exception is french macs, that do have a "at"-like keyboard. -# -# Examples: -# keyboard_type: mf -#======================================================================= -#keyboard_type: mf - -#======================================================================= -# USER_SHORTCUT: -# This defines the keyboard shortcut to be sent when you press the "user" -# button in the headerbar. The shortcut string is a combination of maximum -# 3 key names (listed below) separated with a '-' character. -# Valid key names: -# "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter", "esc", -# "f1", ... "f12", "home", "ins", "left", "menu", "minus", "pgdwn", "pgup", -# "plus", "right", "shift", "space", "tab", "up", "win", "print" and "power". -# -# Example: -# user_shortcut: keys=ctrl-alt-del -#======================================================================= -#user_shortcut: keys=ctrl-alt-del - -#======================================================================= -# I440FXSUPPORT: -# This option controls the presence of the i440FX PCI chipset. You can -# also specify the devices connected to PCI slots. Up to 5 slots are -# available now. These devices are currently supported: ne2k, pcivga, -# pcidev, pcipnic and usb_ohci. If Bochs is compiled with Cirrus SVGA -# support you'll have the additional choice 'cirrus'. -# -# Example: -# i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k -#======================================================================= -i440fxsupport: enabled=1 - -#======================================================================= -# USB_UHCI: -# This option controls the presence of the USB root hub which is a part -# of the i440FX PCI chipset. With the portX option you can connect devices -# to the hub (currently supported: 'mouse', 'tablet', 'keypad', 'disk', 'cdrom' -# 'hub' and 'printer'). -# -# If you connect the mouse or tablet to one of the ports, Bochs forwards the -# mouse movement data to the USB device instead of the selected mouse type. -# When connecting the keypad to one of the ports, Bochs forwards the input of -# the numeric keypad to the USB device instead of the PS/2 keyboard. -# -# To connect a flat image as an USB hardisk you can use the 'disk' device with -# the path to the image separated with a colon (see below). To emulate an USB -# cdrom you can use the 'cdrom' device name and the path to an ISO image or raw -# device name also separated with a colon. -# -# The device name 'hub' connects an external hub with max. 8 ports (default: 4) -# to the root hub. To specify the number of ports you have to add the value -# separated with a colon. Connecting devices to the external hub ports is only -# available in the runtime configuration. -# -# The device 'printer' emulates the HP Deskjet 920C printer. The PCL data is -# sent to a file specified in bochsrc.txt. The current code appends the PCL -# code to the file if the file already existed. It would probably be nice to -# overwrite the file instead, asking user first. -#======================================================================= -#usb_uhci: enabled=1 -#usb_uhci: enabled=1, port1=mouse, port2=disk:usbdisk.img -#usb_uhci: enabled=1, port1=hub:7, port2=cdrom:image.iso - -#======================================================================= -# USB_OHCI: -# This option controls the presence of the USB OHCI host controller with a -# 2-port hub. The portX option accepts the same device types with the same -# syntax as the UHCI controller (see above). The OHCI HC must be assigned to -# a PCI slot. -#======================================================================= -#usb_ohci: enabled=1 -#usb_ohci: enabled=1, port1=printer:usbprinter.bin - -#======================================================================= -# CMOSIMAGE: -# This defines image file that can be loaded into the CMOS RAM at startup. -# The rtc_init parameter controls whether initialize the RTC with values stored -# in the image. By default the time0 argument given to the clock option is used. -# With 'rtc_init=image' the image is the source for the initial time. -# -# Example: -# cmosimage: file=cmos.img, rtc_init=image -#======================================================================= -#cmosimage: file=cmos.img, rtc_init=time0 - -#======================================================================= -# MAGIC_BREAK: -# This enables the "magic breakpoint" feature when using the debugger. -# The useless cpu instruction XCHG BX, BX causes Bochs to enter the -# debugger mode. This might be useful for software development. -# -# Example: -# magic_break: enabled=1 -#======================================================================= -#magic_break: enabled=1 - -#======================================================================= -# PORT_E9_HACK: -# The 0xE9 port doesn't exists in normal ISA architecture. However, we -# define a convention here, to display on the console of the system running -# Bochs anything that is written to it. The idea is to provide debug output -# very early when writing BIOS or OS code for example, without having to -# bother with setting up a serial port or etc. Reading from port 0xE9 will -# will return 0xe9 to let you know if the feature is available. -# Leave this 0 unless you have a reason to use it. -# -# Example: -# port_e9_hack: enabled=1 -#======================================================================= -#port_e9_hack: enabled=1 - -#======================================================================= -# DEBUG_SYMBOLS: -# This loads symbols from the specified file for use in Bochs' internal -# debugger. Symbols are loaded into global context. This is equivalent to -# issuing ldsym debugger command at start up. -# -# Example: -# debug_symbols: file="kernel.sym" -# debug_symbols: file="kernel.sym", offset=0x80000000 -#======================================================================= -#debug_symbols: file="kernel.sym" - -#======================================================================= -# other stuff -#======================================================================= -#load32bitOSImage: os=nullkernel, path=../kernel.img, iolog=../vga_io.log -#load32bitOSImage: os=linux, path=../linux.img, iolog=../vga_io.log, initrd=../initrd.img -#text_snapshot_check: enabled=1 -#print_timestamps: enabled=1 - -#------------------------- -# PCI host device mapping -#------------------------- -#pcidev: vendor=0x1234, device=0x5678 - -#======================================================================= -# GDBSTUB: -# Enable GDB stub. See user documentation for details. -# Default value is enabled=0. -#======================================================================= -gdbstub: enabled=1, port=BOCHSGDBSTUBPORTNUMBER, text_base=0, data_base=0, bss_base=0 - -#======================================================================= -# PLUGIN_CTRL: -# Controls the presence of optional plugins without a separate option. -# By default all existing plugins are enabled. These plugins are currently -# supported: 'acpi', 'biosdev', 'extfpuirq', 'gameport', 'iodebug', -# 'pci_ide', 'speaker' and 'unmapped'. -#======================================================================= -#plugin_ctrl: biosdev=0, speaker=0 - -#======================================================================= -# USER_PLUGIN: -# Load user-defined plugin. This option is available only if Bochs is -# compiled with plugin support. Maximum 8 different plugins are supported. -# See the example in the Bochs sources how to write a plugin device. -#======================================================================= -#user_plugin: name=testdev diff --git a/02_filter/emu/bochsrc-term.in b/02_filter/emu/bochsrc-term.in deleted file mode 100644 index 37448d4b8b259d69522545815ece54a07a059f24..0000000000000000000000000000000000000000 --- a/02_filter/emu/bochsrc-term.in +++ /dev/null @@ -1,900 +0,0 @@ -# You may now use double quotes around pathnames, in case -# your pathname includes spaces. - -#======================================================================= -# CONFIG_INTERFACE -# -# The configuration interface is a series of menus or dialog boxes that -# allows you to change all the settings that control Bochs's behavior. -# Depending on the platform there are up to 3 choices of configuration -# interface: a text mode version called "textconfig" and two graphical versions -# called "win32config" and "wx". The text mode version uses stdin/stdout and -# is always compiled in, unless Bochs is compiled for wx only. The choice -# "win32config" is only available on win32 and it is the default there. -# The choice "wx" is only available when you use "--with-wx" on the configure -# command. If you do not write a config_interface line, Bochs will -# choose a default for you. -# -# NOTE: if you use the "wx" configuration interface, you must also use -# the "wx" display library. -#======================================================================= -config_interface: textconfig -#config_interface: wx - -#======================================================================= -# DISPLAY_LIBRARY -# -# The display library is the code that displays the Bochs VGA screen. Bochs -# has a selection of about 10 different display library implementations for -# different platforms. If you run configure with multiple --with-* options, -# the display_library command lets you choose which one you want to run with. -# If you do not write a display_library line, Bochs will choose a default for -# you. -# -# The choices are: -# x use X windows interface, cross platform -# sdl use SDL library, cross platform -# svga use SVGALIB library for Linux, allows graphics without X11 -# term text only, uses curses/ncurses library, cross platform -# wx use wxWidgets library, cross platform -# nogui no display at all -# -# NOTE: if you use the "wx" configuration interface, you must also use -# the "wx" display library. -# -# Specific options: -# Some display libraries now support specific option to control their -# behaviour. See the examples below for currently supported options. -#======================================================================= -#display_library: nogui -#display_library: sdl, options="fullscreen" # startup in fullscreen mode -display_library: term -#display_library: wx -#display_library: x -#display_library: x, options="hideIPS" # disable IPS output in status bar -#display_library: x, options="gui_debug" # use GTK debugger gui - -#======================================================================= -# ROMIMAGE: -# The ROM BIOS controls what the PC does when it first powers on. -# Normally, you can use a precompiled BIOS in the source or binary -# distribution called BIOS-bochs-latest. The ROM BIOS is usually loaded -# starting at address 0xf0000, and it is exactly 64k long. Another option -# is 128k BIOS which is loaded at address 0xe0000. -# You can also use the environment variable $BXSHARE to specify the -# location of the BIOS. -# The usage of external large BIOS images (up to 512k) at memory top is -# now supported, but we still recommend to use the BIOS distributed with -# Bochs. The start address optional, since it can be calculated from image size. -#======================================================================= -romimage: file=@BOCHS_BIOS@ -#romimage: file=bios/seabios-0.5.1.bin -#romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top - -#======================================================================= -# CPU: -# This defines cpu-related parameters inside Bochs: -# -# COUNT: -# Set the number of processors:cores per processor:threads per core -# when Bochs is compiled for SMP emulation. -# Bochs currently supports up to 8 threads running simultaniosly. -# If Bochs is compiled without SMP support, it won't accept values -# different from 1. -# -# QUANTUM: -# Maximum amount of instructions allowed to execute by processor before -# returning control to another cpu. This option exists only in Bochs -# binary compiled with SMP support. -# -# RESET_ON_TRIPLE_FAULT: -# Reset the CPU when triple fault occur (highly recommended) rather than -# PANIC. Remember that if you trying to continue after triple fault the -# simulation will be completely bogus ! -# -# MSRS: -# Define path to user CPU Model Specific Registers (MSRs) specification. -# See example in msrs.def. -# -# IGNORE_BAD_MSRS: -# Ignore MSR references that Bochs does not understand; print a warning -# message instead of generating #GP exception. This option is enabled -# by default but will not be avaiable if configurable MSRs are enabled. -# -# IPS: -# Emulated Instructions Per Second. This is the number of IPS that bochs -# is capable of running on your machine. You can recompile Bochs with -# --enable-show-ips option enabled, to find your host's capability. -# Measured IPS value will then be logged into your log file or shown -# in the status bar (if supported by the gui). -# -# IPS is used to calibrate many time-dependent events within the bochs -# simulation. For example, changing IPS affects the frequency of VGA -# updates, the duration of time before a key starts to autorepeat, and -# the measurement of BogoMips and other benchmarks. -# -# Examples: -# -# Bochs Machine/Compiler Mips -# ____________________________________________________________________ -# 2.3.7 3.2Ghz Intel Core 2 Q9770 with WinXP/g++ 3.4 50 to 55 Mips -# 2.3.7 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 38 to 43 Mips -# 2.2.6 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 21 to 25 Mips -# 2.2.6 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4 12 to 15 Mips -# 2.0.1 1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7 Mips -#======================================================================= -cpu: count=1, ips=@BOCHS_CPU_SPEED_MHZ@000000, reset_on_triple_fault=0, ignore_bad_msrs=1, msrs="msrs.def" - -#======================================================================= -# CPUID: -# -# This defines features and functionality supported by Bochs emulated CPU: -# -# MMX: -# Select MMX instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 5. -# -# SEP: -# Select SYSENTER/SYSEXIT instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# SSE: -# Select SSE instruction set support. -# Any of NONE/SSE/SSE2/SSE3/SSSE3/SSE4_1/SSE4_2 could be selected. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# XAPIC: -# Select XAPIC extensions support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# AES: -# Select AES instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# MOVBE: -# Select MOVBE Intel(R) Atom instruction support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# XSAVE: -# Select XSAVE extensions support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# 1G_PAGES: -# Enable 1G page size support in long mode. -# This option exists only if Bochs compiled with x86-64 support. -# -# MWAIT_IS_NOP: -# When this option is enabled MWAIT will not put the CPU into a sleep state. -# This option exists only if Bochs compiled with --enable-monitor-mwait. -# -# VENDOR_STRING: -# Set the CPUID vendor string returned by CPUID(0x0). This should be a -# twelve-character ASCII string. -# -# BRAND_STRING: -# Set the CPUID vendor string returned by CPUID(0x80000002 .. 0x80000004). -# This should be at most a forty-eight-character ASCII string. -# -# CPUID_LIMIT_WINNT: -# Determine whether to limit maximum CPUID function to 3. This mode is -# required to workaround WinNT installation and boot issues. -#======================================================================= -cpuid: mmx=1, sep=1, sse=sse4_2, xapic=1, aes=1, movbe=1, xsave=1, cpuid_limit_winnt=0 - -#======================================================================= -# MEMORY -# Set the amount of physical memory you want to emulate. -# -# GUEST: -# Set amount of guest physical memory to emulate. The default is 32MB, -# the maximum amount limited only by physical address space limitations. -# -# HOST: -# Set amount of host memory you want to allocate for guest RAM emulation. -# It is possible to allocate less memory than you want to emulate in guest -# system. This will fake guest to see the non-existing memory. Once guest -# system touches new memory block it will be dynamically taken from the -# memory pool. You will be warned (by FATAL PANIC) in case guest already -# used all allocated host memory and wants more. -# -#======================================================================= -#memory: guest=512, host=256 -memory: guest=@BOCHS_GUEST_RAM@, host=@BOCHS_HOST_RAM@ - -#======================================================================= -# OPTROMIMAGE[1-4]: -# You may now load up to 4 optional ROM images. Be sure to use a -# read-only area, typically between C8000 and EFFFF. These optional -# ROM images should not overwrite the rombios (located at -# F0000-FFFFF) and the videobios (located at C0000-C7FFF). -# Those ROM images will be initialized by the bios if they contain -# the right signature (0x55AA) and a valid checksum. -# It can also be a convenient way to upload some arbitrary code/data -# in the simulation, that can be retrieved by the boot loader -#======================================================================= -#optromimage1: file=optionalrom.bin, address=0xd0000 -#optromimage2: file=optionalrom.bin, address=0xd1000 -#optromimage3: file=optionalrom.bin, address=0xd2000 -#optromimage4: file=optionalrom.bin, address=0xd3000 - -#optramimage1: file=/path/file1.img, address=0x0010000 -#optramimage2: file=/path/file2.img, address=0x0020000 -#optramimage3: file=/path/file3.img, address=0x0030000 -#optramimage4: file=/path/file4.img, address=0x0040000 - -#======================================================================= -# VGAROMIMAGE -# You now need to load a VGA ROM BIOS into C0000. -#======================================================================= -vgaromimage: file=@BOCHS_VGA_IMAGE@ -#vgaromimage: file=/usr/share/vgabios/vgabios.debug.bin - -#======================================================================= -# VGA: -# Here you can specify the display extension to be used. With the value -# 'none' you can use standard VGA with no extension. Other supported -# values are 'vbe' for Bochs VBE and 'cirrus' for Cirrus SVGA support. -#======================================================================= -#vga: extension=cirrus -vga: extension=vbe - -#======================================================================= -# FLOPPYA: -# Point this to pathname of floppy image file or device -# This should be of a bootable floppy(image/device) if you're -# booting from 'a' (or 'floppy'). -# -# You can set the initial status of the media to 'ejected' or 'inserted'. -# floppya: 2_88=path, status=ejected (2.88M 3.5" media) -# floppya: 1_44=path, status=inserted (1.44M 3.5" media) -# floppya: 1_2=path, status=ejected (1.2M 5.25" media) -# floppya: 720k=path, status=inserted (720K 3.5" media) -# floppya: 360k=path, status=inserted (360K 5.25" media) -# floppya: 320k=path, status=inserted (320K 5.25" media) -# floppya: 180k=path, status=inserted (180K 5.25" media) -# floppya: 160k=path, status=inserted (160K 5.25" media) -# floppya: image=path, status=inserted (guess media type from image size) -# floppya: type=1_44 (1.44M 3.5" floppy drive, no media) -# -# The path should be the name of a disk image file. On Unix, you can use a raw -# device name such as /dev/fd0 on Linux. On win32 platforms, use drive letters -# such as a: or b: as the path. The parameter 'image' works with image files -# only. In that case the size must match one of the supported types. -# The parameter 'type' can be used to enable the floppy drive without media -# and status specified. Usually the drive type is set up based on the media type. -#======================================================================= -#floppya: 1_44=/dev/fd0, status=inserted -#floppya: image=../1.44, status=inserted -#floppya: 1_44=/dev/fd0H1440, status=inserted -#floppya: 1_2=../1_2, status=inserted -#floppya: 1_44=a:, status=inserted -#floppya: 1_44=a.img, status=inserted -#floppya: 1_44=/dev/rfd0a, status=inserted -#floppya: 1_44=bootdisk.vmi, status=inserted -#floppya: 1_44=oostubs/guarded.vmi, status=inserted - -#======================================================================= -# FLOPPYB: -# See FLOPPYA above for syntax -#======================================================================= -#floppyb: 1_44=b:, status=inserted -#floppyb: 1_44=b.img, status=inserted - -#======================================================================= -# ATA0, ATA1, ATA2, ATA3 -# ATA controller for hard disks and cdroms -# -# ata[0-3]: enabled=[0|1], ioaddr1=addr, ioaddr2=addr, irq=number -# -# These options enables up to 4 ata channels. For each channel -# the two base io addresses and the irq must be specified. -# -# ata0 and ata1 are enabled by default with the values shown below -# -# Examples: -# ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -# ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 -# ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -# ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9 -#======================================================================= -ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 -ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9 - -#======================================================================= -# ATA[0-3]-MASTER, ATA[0-3]-SLAVE -# -# This defines the type and characteristics of all attached ata devices: -# type= type of attached device [disk|cdrom] -# mode= only valid for disks [flat|concat|external|dll|sparse|vmware3] -# mode= only valid for disks [undoable|growing|volatile] -# path= path of the image -# cylinders= only valid for disks -# heads= only valid for disks -# spt= only valid for disks -# status= only valid for cdroms [inserted|ejected] -# biosdetect= type of biosdetection [none|auto], only for disks on ata0 [cmos] -# translation=type of translation of the bios, only for disks [none|lba|large|rechs|auto] -# model= string returned by identify device command -# journal= optional filename of the redolog for undoable and volatile disks -# -# Point this at a hard disk image file, cdrom iso file, or physical cdrom -# device. To create a hard disk image, try running bximage. It will help you -# choose the size and then suggest a line that works with it. -# -# In UNIX it may be possible to use a raw device as a Bochs hard disk, -# but WE DON'T RECOMMEND IT. In Windows there is no easy way. -# -# In windows, the drive letter + colon notation should be used for cdroms. -# Depending on versions of windows and drivers, you may only be able to -# access the "first" cdrom in the system. On MacOSX, use path="drive" -# to access the physical drive. -# -# The path is mandatory for hard disks. Disk geometry autodetection works with -# images created by bximage if CHS is set to 0/0/0 (cylinders are calculated -# using heads=16 and spt=63). For other hard disk images and modes the -# cylinders, heads, and spt are mandatory. In all cases the disk size reported -# from the image must be exactly C*H*S*512. -# -# Default values are: -# mode=flat, biosdetect=auto, translation=auto, model="Generic 1234" -# -# The biosdetect option has currently no effect on the bios -# -# Examples: -# ata0-master: type=disk, mode=flat, path=10M.sample, cylinders=306, heads=4, spt=17 -# ata0-slave: type=disk, mode=flat, path=20M.sample, cylinders=615, heads=4, spt=17 -# ata1-master: type=disk, mode=flat, path=30M.sample, cylinders=615, heads=6, spt=17 -# ata1-slave: type=disk, mode=flat, path=46M.sample, cylinders=940, heads=6, spt=17 -# ata2-master: type=disk, mode=flat, path=62M.sample, cylinders=940, heads=8, spt=17 -# ata2-slave: type=disk, mode=flat, path=112M.sample, cylinders=900, heads=15, spt=17 -# ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63 -# ata3-slave: type=cdrom, path=iso.sample, status=inserted -#======================================================================= -#ata0-master: type=disk, mode=flat, path="d.sample" -#ata0-master: type=disk, mode=flat, path="$HOME/.bochs/guest.hd0", cylinders=#cylinders#, heads=16, spt=63 -#ata0-master: type=disk, mode=flat, path="c.img", cylinders=0 # autodetect -ata0-slave: type=cdrom, path=@BOCHS_ISO_IMAGE@, status=inserted - -#======================================================================= -# BOOT: -# This defines the boot sequence. Now you can specify up to 3 boot drives, -# which can be 'floppy', 'disk', 'cdrom' or 'network' (boot ROM). -# Legacy 'a' and 'c' are also supported. -# Examples: -# boot: floppy -# boot: cdrom, disk -# boot: network, disk -# boot: cdrom, floppy, disk -#======================================================================= -#boot: floppy -#boot: disk -boot: cdrom - -#======================================================================= -# CLOCK: -# This defines the parameters of the clock inside Bochs: -# -# SYNC: -# This defines the method how to synchronize the Bochs internal time -# with realtime. With the value 'none' the Bochs time relies on the IPS -# value and no host time synchronization is used. The 'slowdown' method -# sacrifices performance to preserve reproducibility while allowing host -# time correlation. The 'realtime' method sacrifices reproducibility to -# preserve performance and host-time correlation. -# It is possible to enable both synchronization methods. -# -# TIME0: -# Specifies the start (boot) time of the virtual machine. Use a time -# value as returned by the time(2) system call. If no time0 value is -# set or if time0 equal to 1 (special case) or if time0 equal 'local', -# the simulation will be started at the current local host time. -# If time0 equal to 2 (special case) or if time0 equal 'utc', -# the simulation will be started at the current utc time. -# -# Syntax: -# clock: sync=[none|slowdown|realtime|both], time0=[timeValue|local|utc] -# -# Example: -# clock: sync=none, time0=local # Now (localtime) -# clock: sync=slowdown, time0=315529200 # Tue Jan 1 00:00:00 1980 -# clock: sync=none, time0=631148400 # Mon Jan 1 00:00:00 1990 -# clock: sync=realtime, time0=938581955 # Wed Sep 29 07:12:35 1999 -# clock: sync=realtime, time0=946681200 # Sat Jan 1 00:00:00 2000 -# clock: sync=none, time0=1 # Now (localtime) -# clock: sync=none, time0=utc # Now (utc/gmt) -# -# Default value are sync=none, time0=local -#======================================================================= -#clock: sync=none, time0=local - - -#======================================================================= -# FLOPPY_BOOTSIG_CHECK: disabled=[0|1] -# Enables or disables the 0xaa55 signature check on boot floppies -# Defaults to disabled=0 -# Examples: -# floppy_bootsig_check: disabled=0 -# floppy_bootsig_check: disabled=1 -#======================================================================= -floppy_bootsig_check: disabled=0 - -#======================================================================= -# LOG: -# Give the path of the log file you'd like Bochs debug and misc. verbiage -# to be written to. If you don't use this option or set the filename to -# '-' the output is written to the console. If you really don't want it, -# make it "/dev/null" (Unix) or "nul" (win32). :^( -# -# Examples: -# log: ./bochs.out -# log: /dev/tty -#======================================================================= -#log: /dev/stdout -#log: /dev/null -#log: /tmp/bochsout.txt -log: bochsout.txt - -#======================================================================= -# LOGPREFIX: -# This handles the format of the string prepended to each log line. -# You may use those special tokens : -# %t : 11 decimal digits timer tick -# %i : 8 hexadecimal digits of cpu current eip (ignored in SMP configuration) -# %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror) -# %d : 5 characters string of the device, between brackets -# -# Default : %t%e%d -# Examples: -# logprefix: %t-%e-@%i-%d -# logprefix: %i%e%d -#======================================================================= -#logprefix: %t%e%d - -#======================================================================= -# LOG CONTROLS -# -# Bochs now has four severity levels for event logging. -# panic: cannot proceed. If you choose to continue after a panic, -# don't be surprised if you get strange behavior or crashes. -# error: something went wrong, but it is probably safe to continue the -# simulation. -# info: interesting or useful messages. -# debug: messages useful only when debugging the code. This may -# spit out thousands per second. -# -# For events of each level, you can choose to crash, report, or ignore. -# TODO: allow choice based on the facility: e.g. crash on panics from -# everything except the cdrom, and only report those. -# -# If you are experiencing many panics, it can be helpful to change -# the panic action to report instead of fatal. However, be aware -# that anything executed after a panic is uncharted territory and can -# cause bochs to become unstable. The panic is a "graceful exit," so -# if you disable it you may get a spectacular disaster instead. -#======================================================================= -#panic: action=fatal -panic: action=ignore -error: action=ignore -info: action=ignore -debug: action=ignore -#pass: action=fatal - -#======================================================================= -# DEBUGGER_LOG: -# Give the path of the log file you'd like Bochs to log debugger output. -# If you really don't want it, make it /dev/null or '-'. :^( -# -# Examples: -# debugger_log: ./debugger.out -#======================================================================= -#debugger_log: /dev/null -#debugger_log: debugger.out -debugger_log: - - -#======================================================================= -# COM1, COM2, COM3, COM4: -# This defines a serial port (UART type 16550A). In the 'term' you can specify -# a device to use as com1. This can be a real serial line, or a pty. To use -# a pty (under X/Unix), create two windows (xterms, usually). One of them will -# run bochs, and the other will act as com1. Find out the tty the com1 -# window using the `tty' command, and use that as the `dev' parameter. -# Then do `sleep 1000000' in the com1 window to keep the shell from -# messing with things, and run bochs in the other window. Serial I/O to -# com1 (port 0x3f8) will all go to the other window. -# In socket* and pipe* (win32 only) modes Bochs becomes either socket/named pipe -# client or server. In client mode it connects to an already running server (if -# connection fails Bochs treats com port as not connected). In server mode it -# opens socket/named pipe and waits until a client application connects to it -# before starting simulation. This mode is useful for remote debugging (e.g. -# with gdb's "target remote host:port" command or windbg's command line option -# -k com:pipe,port=\\.\pipe\pipename). Note: 'socket' is a shorthand for -# 'socket-client' and 'pipe' for 'pipe-client'. Socket modes use simple TCP -# communication, pipe modes use duplex byte mode pipes. -# Other serial modes are 'null' (no input/output), 'file' (output to a file -# specified as the 'dev' parameter), 'raw' (use the real serial port - under -# construction for win32), 'mouse' (standard serial mouse - requires -# mouse option setting 'type=serial', 'type=serial_wheel' or 'type=serial_msys'). -# -# Examples: -# com1: enabled=1, mode=null -# com1: enabled=1, mode=mouse -# com2: enabled=1, mode=file, dev=serial.out -# com3: enabled=1, mode=raw, dev=com1 -# com3: enabled=1, mode=socket-client, dev=localhost:8888 -# com3: enabled=1, mode=socket-server, dev=localhost:8888 -# com4: enabled=1, mode=pipe-client, dev=\\.\pipe\mypipe -# com4: enabled=1, mode=pipe-server, dev=\\.\pipe\mypipe -#======================================================================= -#com1: enabled=1, mode=term, dev=/dev/ttyS0 - - -#======================================================================= -# PARPORT1, PARPORT2: -# This defines a parallel (printer) port. When turned on and an output file is -# defined the emulated printer port sends characters printed by the guest OS -# into the output file. On some platforms a device filename can be used to -# send the data to the real parallel port (e.g. "/dev/lp0" on Linux, "lpt1" on -# win32 platforms). -# -# Examples: -# parport1: enabled=1, file="parport.out" -# parport2: enabled=1, file="/dev/lp0" -# parport1: enabled=0 -#======================================================================= -#parport1: enabled=1, file="/dev/lp0" - -#======================================================================= -# SB16: -# This defines the SB16 sound emulation. It can have several of the -# following properties. -# All properties are in the format sb16: property=value -# midi: The filename is where the midi data is sent. This can be a -# device or just a file if you want to record the midi data. -# midimode: -# 0=no data -# 1=output to device (system dependent. midi denotes the device driver) -# 2=SMF file output, including headers -# 3=output the midi data stream to the file (no midi headers and no -# delta times, just command and data bytes) -# wave: This is the device/file where wave output is stored -# wavemode: -# 0=no data -# 1=output to device (system dependent. wave denotes the device driver) -# 2=VOC file output, incl. headers -# 3=output the raw wave stream to the file -# log: The file to write the sb16 emulator messages to. -# loglevel: -# 0=no log -# 1=resource changes, midi program and bank changes -# 2=severe errors -# 3=all errors -# 4=all errors plus all port accesses -# 5=all errors and port accesses plus a lot of extra info -# dmatimer: -# microseconds per second for a DMA cycle. Make it smaller to fix -# non-continuous sound. 750000 is usually a good value. This needs a -# reasonably correct setting for the IPS parameter of the CPU option. -# -# Examples for output devices: -# sb16: midimode=1, midi="", wavemode=1, wave="" # win32 -# sb16: midimode=1, midi=alsa:128:0, wavemode=1, wave=alsa # Linux with ALSA -#======================================================================= -#sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=/dev/stdout, dmatimer=600000 - -#======================================================================= -# VGA_UPDATE_INTERVAL: -# Video memory is scanned for updates and screen updated every so many -# virtual seconds. The default is 50000, about 20Hz. Keep in mind that -# you must tweak the 'cpu: ips=N' directive to be as close to the number -# of emulated instructions-per-second your workstation can do, for this -# to be accurate. -# -# Examples: -# vga_update_interval: 250000 -#======================================================================= -vga_update_interval: 300000 - -# using for Winstone '98 tests -#vga_update_interval: 100000 - -#======================================================================= -# KEYBOARD_SERIAL_DELAY: -# Approximate time in microseconds that it takes one character to -# be transfered from the keyboard to controller over the serial path. -# Examples: -# keyboard_serial_delay: 200 -#======================================================================= -keyboard_serial_delay: 250 - -#======================================================================= -# KEYBOARD_PASTE_DELAY: -# Approximate time in microseconds between attempts to paste -# characters to the keyboard controller. This leaves time for the -# guest os to deal with the flow of characters. The ideal setting -# depends on how your operating system processes characters. The -# default of 100000 usec (.1 seconds) was chosen because it works -# consistently in Windows. -# -# If your OS is losing characters during a paste, increase the paste -# delay until it stops losing characters. -# -# Examples: -# keyboard_paste_delay: 100000 -#======================================================================= -keyboard_paste_delay: 100000 - -#======================================================================= -# MOUSE: -# The Bochs gui creates mouse "events" unless the 'enabled' option is -# set to 0. The hardware emulation itself is not disabled by this. -# Unless you have a particular reason for enabling the mouse by default, -# it is recommended that you leave it off. You can also toggle the mouse -# usage at runtime (control key + middle mouse button on X11, SDL, -# wxWidgets and Win32). -# With the mouse type option you can select the type of mouse to emulate. -# The default value is 'ps2'. The other choices are 'imps2' (wheel mouse -# on PS/2), 'serial', 'serial_wheel' and 'serial_msys' (one com port requires -# setting 'mode=mouse'). To connect a mouse to an USB port, see the 'usb_uhci' -# or 'usb_ohci' option (requires PCI and USB support). -# -# Examples: -# mouse: enabled=1 -# mouse: enabled=1, type=imps2 -# mouse: enabled=1, type=serial -# mouse: enabled=0 -#======================================================================= -mouse: enabled=0 - -#======================================================================= -# private_colormap: Request that the GUI create and use it's own -# non-shared colormap. This colormap will be used -# when in the bochs window. If not enabled, a -# shared colormap scheme may be used. Not implemented -# on all GUI's. -# -# Examples: -# private_colormap: enabled=1 -# private_colormap: enabled=0 -#======================================================================= -private_colormap: enabled=0 - -#======================================================================= -# ne2k: NE2000 compatible ethernet adapter -# -# Examples: -# ne2k: ioaddr=IOADDR, irq=IRQ, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT -# -# ioaddr, irq: You probably won't need to change ioaddr and irq, unless there -# are IRQ conflicts. These arguments are ignored when assign the ne2k to a -# PCI slot. -# -# mac: The MAC address MUST NOT match the address of any machine on the net. -# Also, the first byte must be an even number (bit 0 set means a multicast -# address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast -# address. For the ethertap module, you must use fe:fd:00:00:00:01. There may -# be other restrictions too. To be safe, just use the b0:c4... address. -# -# ethdev: The ethdev value is the name of the network interface on your host -# platform. On UNIX machines, you can get the name by running ifconfig. On -# Windows machines, you must run niclist to get the name of the ethdev. -# Niclist source code is in misc/niclist.c and it is included in Windows -# binary releases. -# -# script: The script value is optional, and is the name of a script that -# is executed after bochs initialize the network interface. You can use -# this script to configure this network interface, or enable masquerading. -# This is mainly useful for the tun/tap devices that only exist during -# Bochs execution. The network interface name is supplied to the script -# as first parameter -# -# If you don't want to make connections to any physical networks, -# you can use the following 'ethmod's to simulate a virtual network. -# null: All packets are discarded, but logged to a few files. -# arpback: ARP is simulated. Disabled by default. -# vde: Virtual Distributed Ethernet -# vnet: ARP, ICMP-echo(ping), DHCP and read/write TFTP are simulated. -# The virtual host uses 192.168.10.1. -# DHCP assigns 192.168.10.2 to the guest. -# TFTP uses the ethdev value for the root directory and doesn't -# overwrite files. -# -#======================================================================= -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0 -# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0 -# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=null, ethdev=eth0 -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl" -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp" - -#======================================================================= -# pnic: Bochs/Etherboot pseudo-NIC -# -# Example: -# pnic: enabled=1, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT -# -# The pseudo-NIC accepts the same syntax (for mac, ethmod, ethdev, script) and -# supports the same networking modules as the NE2000 adapter. In addition to -# this, it must be assigned to a PCI slot. -#======================================================================= -#pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet - -#======================================================================= -# KEYBOARD_MAPPING: -# This enables a remap of a physical localized keyboard to a -# virtualized us keyboard, as the PC architecture expects. -# If enabled, the keymap file must be specified. -# -# Examples: -# keyboard_mapping: enabled=1, map=gui/keymaps/x11-pc-de.map -#======================================================================= -#keyboard_mapping: enabled=0, map=/usr/share/bochs/keymaps/x11-pc-de.map - -#======================================================================= -# KEYBOARD_TYPE: -# Type of keyboard return by a "identify keyboard" command to the -# keyboard controler. It must be one of "xt", "at" or "mf". -# Defaults to "mf". It should be ok for almost everybody. A known -# exception is french macs, that do have a "at"-like keyboard. -# -# Examples: -# keyboard_type: mf -#======================================================================= -#keyboard_type: mf - -#======================================================================= -# USER_SHORTCUT: -# This defines the keyboard shortcut to be sent when you press the "user" -# button in the headerbar. The shortcut string is a combination of maximum -# 3 key names (listed below) separated with a '-' character. -# Valid key names: -# "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter", "esc", -# "f1", ... "f12", "home", "ins", "left", "menu", "minus", "pgdwn", "pgup", -# "plus", "right", "shift", "space", "tab", "up", "win", "print" and "power". -# -# Example: -# user_shortcut: keys=ctrl-alt-del -#======================================================================= -#user_shortcut: keys=ctrl-alt-del - -#======================================================================= -# I440FXSUPPORT: -# This option controls the presence of the i440FX PCI chipset. You can -# also specify the devices connected to PCI slots. Up to 5 slots are -# available now. These devices are currently supported: ne2k, pcivga, -# pcidev, pcipnic and usb_ohci. If Bochs is compiled with Cirrus SVGA -# support you'll have the additional choice 'cirrus'. -# -# Example: -# i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k -#======================================================================= -i440fxsupport: enabled=1 - -#======================================================================= -# USB_UHCI: -# This option controls the presence of the USB root hub which is a part -# of the i440FX PCI chipset. With the portX option you can connect devices -# to the hub (currently supported: 'mouse', 'tablet', 'keypad', 'disk', 'cdrom' -# 'hub' and 'printer'). -# -# If you connect the mouse or tablet to one of the ports, Bochs forwards the -# mouse movement data to the USB device instead of the selected mouse type. -# When connecting the keypad to one of the ports, Bochs forwards the input of -# the numeric keypad to the USB device instead of the PS/2 keyboard. -# -# To connect a flat image as an USB hardisk you can use the 'disk' device with -# the path to the image separated with a colon (see below). To emulate an USB -# cdrom you can use the 'cdrom' device name and the path to an ISO image or raw -# device name also separated with a colon. -# -# The device name 'hub' connects an external hub with max. 8 ports (default: 4) -# to the root hub. To specify the number of ports you have to add the value -# separated with a colon. Connecting devices to the external hub ports is only -# available in the runtime configuration. -# -# The device 'printer' emulates the HP Deskjet 920C printer. The PCL data is -# sent to a file specified in bochsrc.txt. The current code appends the PCL -# code to the file if the file already existed. It would probably be nice to -# overwrite the file instead, asking user first. -#======================================================================= -#usb_uhci: enabled=1 -#usb_uhci: enabled=1, port1=mouse, port2=disk:usbdisk.img -#usb_uhci: enabled=1, port1=hub:7, port2=cdrom:image.iso - -#======================================================================= -# USB_OHCI: -# This option controls the presence of the USB OHCI host controller with a -# 2-port hub. The portX option accepts the same device types with the same -# syntax as the UHCI controller (see above). The OHCI HC must be assigned to -# a PCI slot. -#======================================================================= -#usb_ohci: enabled=1 -#usb_ohci: enabled=1, port1=printer:usbprinter.bin - -#======================================================================= -# CMOSIMAGE: -# This defines image file that can be loaded into the CMOS RAM at startup. -# The rtc_init parameter controls whether initialize the RTC with values stored -# in the image. By default the time0 argument given to the clock option is used. -# With 'rtc_init=image' the image is the source for the initial time. -# -# Example: -# cmosimage: file=cmos.img, rtc_init=image -#======================================================================= -#cmosimage: file=cmos.img, rtc_init=time0 - -#======================================================================= -# MAGIC_BREAK: -# This enables the "magic breakpoint" feature when using the debugger. -# The useless cpu instruction XCHG BX, BX causes Bochs to enter the -# debugger mode. This might be useful for software development. -# -# Example: -# magic_break: enabled=1 -#======================================================================= -#magic_break: enabled=1 - -#======================================================================= -# PORT_E9_HACK: -# The 0xE9 port doesn't exists in normal ISA architecture. However, we -# define a convention here, to display on the console of the system running -# Bochs anything that is written to it. The idea is to provide debug output -# very early when writing BIOS or OS code for example, without having to -# bother with setting up a serial port or etc. Reading from port 0xE9 will -# will return 0xe9 to let you know if the feature is available. -# Leave this 0 unless you have a reason to use it. -# -# Example: -# port_e9_hack: enabled=1 -#======================================================================= -#port_e9_hack: enabled=1 - -#======================================================================= -# DEBUG_SYMBOLS: -# This loads symbols from the specified file for use in Bochs' internal -# debugger. Symbols are loaded into global context. This is equivalent to -# issuing ldsym debugger command at start up. -# -# Example: -# debug_symbols: file="kernel.sym" -# debug_symbols: file="kernel.sym", offset=0x80000000 -#======================================================================= -#debug_symbols: file="kernel.sym" - -#======================================================================= -# other stuff -#======================================================================= -#load32bitOSImage: os=nullkernel, path=../kernel.img, iolog=../vga_io.log -#load32bitOSImage: os=linux, path=../linux.img, iolog=../vga_io.log, initrd=../initrd.img -#text_snapshot_check: enabled=1 -#print_timestamps: enabled=1 - -#------------------------- -# PCI host device mapping -#------------------------- -#pcidev: vendor=0x1234, device=0x5678 - -#======================================================================= -# GDBSTUB: -# Enable GDB stub. See user documentation for details. -# Default value is enabled=0. -#======================================================================= -#gdbstub: enabled=0, port=1234, text_base=0, data_base=0, bss_base=0 - -#======================================================================= -# PLUGIN_CTRL: -# Controls the presence of optional plugins without a separate option. -# By default all existing plugins are enabled. These plugins are currently -# supported: 'acpi', 'biosdev', 'extfpuirq', 'gameport', 'iodebug', -# 'pci_ide', 'speaker' and 'unmapped'. -#======================================================================= -#plugin_ctrl: biosdev=0, speaker=0 - -#======================================================================= -# USER_PLUGIN: -# Load user-defined plugin. This option is available only if Bochs is -# compiled with plugin support. Maximum 8 different plugins are supported. -# See the example in the Bochs sources how to write a plugin device. -#======================================================================= -#user_plugin: name=testdev diff --git a/02_filter/emu/bochsrc.in b/02_filter/emu/bochsrc.in deleted file mode 100644 index 0cff5e5848085de1159b72d45e8cea4b5a0b04f5..0000000000000000000000000000000000000000 --- a/02_filter/emu/bochsrc.in +++ /dev/null @@ -1,900 +0,0 @@ -# You may now use double quotes around pathnames, in case -# your pathname includes spaces. - -#======================================================================= -# CONFIG_INTERFACE -# -# The configuration interface is a series of menus or dialog boxes that -# allows you to change all the settings that control Bochs's behavior. -# Depending on the platform there are up to 3 choices of configuration -# interface: a text mode version called "textconfig" and two graphical versions -# called "win32config" and "wx". The text mode version uses stdin/stdout and -# is always compiled in, unless Bochs is compiled for wx only. The choice -# "win32config" is only available on win32 and it is the default there. -# The choice "wx" is only available when you use "--with-wx" on the configure -# command. If you do not write a config_interface line, Bochs will -# choose a default for you. -# -# NOTE: if you use the "wx" configuration interface, you must also use -# the "wx" display library. -#======================================================================= -config_interface: textconfig -#config_interface: wx - -#======================================================================= -# DISPLAY_LIBRARY -# -# The display library is the code that displays the Bochs VGA screen. Bochs -# has a selection of about 10 different display library implementations for -# different platforms. If you run configure with multiple --with-* options, -# the display_library command lets you choose which one you want to run with. -# If you do not write a display_library line, Bochs will choose a default for -# you. -# -# The choices are: -# x use X windows interface, cross platform -# sdl use SDL library, cross platform -# svga use SVGALIB library for Linux, allows graphics without X11 -# term text only, uses curses/ncurses library, cross platform -# wx use wxWidgets library, cross platform -# nogui no display at all -# -# NOTE: if you use the "wx" configuration interface, you must also use -# the "wx" display library. -# -# Specific options: -# Some display libraries now support specific option to control their -# behaviour. See the examples below for currently supported options. -#======================================================================= -#display_library: nogui -#display_library: sdl, options="fullscreen" # startup in fullscreen mode -#display_library: term -#display_library: wx -display_library: x -#display_library: x, options="hideIPS" # disable IPS output in status bar -#display_library: x, options="gui_debug" # use GTK debugger gui - -#======================================================================= -# ROMIMAGE: -# The ROM BIOS controls what the PC does when it first powers on. -# Normally, you can use a precompiled BIOS in the source or binary -# distribution called BIOS-bochs-latest. The ROM BIOS is usually loaded -# starting at address 0xf0000, and it is exactly 64k long. Another option -# is 128k BIOS which is loaded at address 0xe0000. -# You can also use the environment variable $BXSHARE to specify the -# location of the BIOS. -# The usage of external large BIOS images (up to 512k) at memory top is -# now supported, but we still recommend to use the BIOS distributed with -# Bochs. The start address optional, since it can be calculated from image size. -#======================================================================= -romimage: file=@BOCHS_BIOS@ -#romimage: file=bios/seabios-0.5.1.bin -#romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top - -#======================================================================= -# CPU: -# This defines cpu-related parameters inside Bochs: -# -# COUNT: -# Set the number of processors:cores per processor:threads per core -# when Bochs is compiled for SMP emulation. -# Bochs currently supports up to 8 threads running simultaniosly. -# If Bochs is compiled without SMP support, it won't accept values -# different from 1. -# -# QUANTUM: -# Maximum amount of instructions allowed to execute by processor before -# returning control to another cpu. This option exists only in Bochs -# binary compiled with SMP support. -# -# RESET_ON_TRIPLE_FAULT: -# Reset the CPU when triple fault occur (highly recommended) rather than -# PANIC. Remember that if you trying to continue after triple fault the -# simulation will be completely bogus ! -# -# MSRS: -# Define path to user CPU Model Specific Registers (MSRs) specification. -# See example in msrs.def. -# -# IGNORE_BAD_MSRS: -# Ignore MSR references that Bochs does not understand; print a warning -# message instead of generating #GP exception. This option is enabled -# by default but will not be avaiable if configurable MSRs are enabled. -# -# IPS: -# Emulated Instructions Per Second. This is the number of IPS that bochs -# is capable of running on your machine. You can recompile Bochs with -# --enable-show-ips option enabled, to find your host's capability. -# Measured IPS value will then be logged into your log file or shown -# in the status bar (if supported by the gui). -# -# IPS is used to calibrate many time-dependent events within the bochs -# simulation. For example, changing IPS affects the frequency of VGA -# updates, the duration of time before a key starts to autorepeat, and -# the measurement of BogoMips and other benchmarks. -# -# Examples: -# -# Bochs Machine/Compiler Mips -# ____________________________________________________________________ -# 2.3.7 3.2Ghz Intel Core 2 Q9770 with WinXP/g++ 3.4 50 to 55 Mips -# 2.3.7 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 38 to 43 Mips -# 2.2.6 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 21 to 25 Mips -# 2.2.6 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4 12 to 15 Mips -# 2.0.1 1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7 Mips -#======================================================================= -cpu: count=1, ips=@BOCHS_CPU_SPEED_MHZ@000000, reset_on_triple_fault=0, ignore_bad_msrs=1, msrs="msrs.def" - -#======================================================================= -# CPUID: -# -# This defines features and functionality supported by Bochs emulated CPU: -# -# MMX: -# Select MMX instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 5. -# -# SEP: -# Select SYSENTER/SYSEXIT instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# SSE: -# Select SSE instruction set support. -# Any of NONE/SSE/SSE2/SSE3/SSSE3/SSE4_1/SSE4_2 could be selected. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# XAPIC: -# Select XAPIC extensions support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# AES: -# Select AES instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# MOVBE: -# Select MOVBE Intel(R) Atom instruction support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# XSAVE: -# Select XSAVE extensions support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# 1G_PAGES: -# Enable 1G page size support in long mode. -# This option exists only if Bochs compiled with x86-64 support. -# -# MWAIT_IS_NOP: -# When this option is enabled MWAIT will not put the CPU into a sleep state. -# This option exists only if Bochs compiled with --enable-monitor-mwait. -# -# VENDOR_STRING: -# Set the CPUID vendor string returned by CPUID(0x0). This should be a -# twelve-character ASCII string. -# -# BRAND_STRING: -# Set the CPUID vendor string returned by CPUID(0x80000002 .. 0x80000004). -# This should be at most a forty-eight-character ASCII string. -# -# CPUID_LIMIT_WINNT: -# Determine whether to limit maximum CPUID function to 3. This mode is -# required to workaround WinNT installation and boot issues. -#======================================================================= -cpuid: mmx=1, sep=1, sse=sse4_2, xapic=1, aes=1, movbe=1, xsave=1, cpuid_limit_winnt=0 - -#======================================================================= -# MEMORY -# Set the amount of physical memory you want to emulate. -# -# GUEST: -# Set amount of guest physical memory to emulate. The default is 32MB, -# the maximum amount limited only by physical address space limitations. -# -# HOST: -# Set amount of host memory you want to allocate for guest RAM emulation. -# It is possible to allocate less memory than you want to emulate in guest -# system. This will fake guest to see the non-existing memory. Once guest -# system touches new memory block it will be dynamically taken from the -# memory pool. You will be warned (by FATAL PANIC) in case guest already -# used all allocated host memory and wants more. -# -#======================================================================= -#memory: guest=512, host=256 -memory: guest=@BOCHS_GUEST_RAM@, host=@BOCHS_HOST_RAM@ - -#======================================================================= -# OPTROMIMAGE[1-4]: -# You may now load up to 4 optional ROM images. Be sure to use a -# read-only area, typically between C8000 and EFFFF. These optional -# ROM images should not overwrite the rombios (located at -# F0000-FFFFF) and the videobios (located at C0000-C7FFF). -# Those ROM images will be initialized by the bios if they contain -# the right signature (0x55AA) and a valid checksum. -# It can also be a convenient way to upload some arbitrary code/data -# in the simulation, that can be retrieved by the boot loader -#======================================================================= -#optromimage1: file=optionalrom.bin, address=0xd0000 -#optromimage2: file=optionalrom.bin, address=0xd1000 -#optromimage3: file=optionalrom.bin, address=0xd2000 -#optromimage4: file=optionalrom.bin, address=0xd3000 - -#optramimage1: file=/path/file1.img, address=0x0010000 -#optramimage2: file=/path/file2.img, address=0x0020000 -#optramimage3: file=/path/file3.img, address=0x0030000 -#optramimage4: file=/path/file4.img, address=0x0040000 - -#======================================================================= -# VGAROMIMAGE -# You now need to load a VGA ROM BIOS into C0000. -#======================================================================= -vgaromimage: file=@BOCHS_VGA_IMAGE@ -#vgaromimage: file=/usr/share/vgabios/vgabios.debug.bin - -#======================================================================= -# VGA: -# Here you can specify the display extension to be used. With the value -# 'none' you can use standard VGA with no extension. Other supported -# values are 'vbe' for Bochs VBE and 'cirrus' for Cirrus SVGA support. -#======================================================================= -#vga: extension=cirrus -vga: extension=vbe - -#======================================================================= -# FLOPPYA: -# Point this to pathname of floppy image file or device -# This should be of a bootable floppy(image/device) if you're -# booting from 'a' (or 'floppy'). -# -# You can set the initial status of the media to 'ejected' or 'inserted'. -# floppya: 2_88=path, status=ejected (2.88M 3.5" media) -# floppya: 1_44=path, status=inserted (1.44M 3.5" media) -# floppya: 1_2=path, status=ejected (1.2M 5.25" media) -# floppya: 720k=path, status=inserted (720K 3.5" media) -# floppya: 360k=path, status=inserted (360K 5.25" media) -# floppya: 320k=path, status=inserted (320K 5.25" media) -# floppya: 180k=path, status=inserted (180K 5.25" media) -# floppya: 160k=path, status=inserted (160K 5.25" media) -# floppya: image=path, status=inserted (guess media type from image size) -# floppya: type=1_44 (1.44M 3.5" floppy drive, no media) -# -# The path should be the name of a disk image file. On Unix, you can use a raw -# device name such as /dev/fd0 on Linux. On win32 platforms, use drive letters -# such as a: or b: as the path. The parameter 'image' works with image files -# only. In that case the size must match one of the supported types. -# The parameter 'type' can be used to enable the floppy drive without media -# and status specified. Usually the drive type is set up based on the media type. -#======================================================================= -#floppya: 1_44=/dev/fd0, status=inserted -#floppya: image=../1.44, status=inserted -#floppya: 1_44=/dev/fd0H1440, status=inserted -#floppya: 1_2=../1_2, status=inserted -#floppya: 1_44=a:, status=inserted -#floppya: 1_44=a.img, status=inserted -#floppya: 1_44=/dev/rfd0a, status=inserted -#floppya: 1_44=bootdisk.vmi, status=inserted -#floppya: 1_44=oostubs/guarded.vmi, status=inserted - -#======================================================================= -# FLOPPYB: -# See FLOPPYA above for syntax -#======================================================================= -#floppyb: 1_44=b:, status=inserted -#floppyb: 1_44=b.img, status=inserted - -#======================================================================= -# ATA0, ATA1, ATA2, ATA3 -# ATA controller for hard disks and cdroms -# -# ata[0-3]: enabled=[0|1], ioaddr1=addr, ioaddr2=addr, irq=number -# -# These options enables up to 4 ata channels. For each channel -# the two base io addresses and the irq must be specified. -# -# ata0 and ata1 are enabled by default with the values shown below -# -# Examples: -# ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -# ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 -# ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -# ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9 -#======================================================================= -ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 -ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9 - -#======================================================================= -# ATA[0-3]-MASTER, ATA[0-3]-SLAVE -# -# This defines the type and characteristics of all attached ata devices: -# type= type of attached device [disk|cdrom] -# mode= only valid for disks [flat|concat|external|dll|sparse|vmware3] -# mode= only valid for disks [undoable|growing|volatile] -# path= path of the image -# cylinders= only valid for disks -# heads= only valid for disks -# spt= only valid for disks -# status= only valid for cdroms [inserted|ejected] -# biosdetect= type of biosdetection [none|auto], only for disks on ata0 [cmos] -# translation=type of translation of the bios, only for disks [none|lba|large|rechs|auto] -# model= string returned by identify device command -# journal= optional filename of the redolog for undoable and volatile disks -# -# Point this at a hard disk image file, cdrom iso file, or physical cdrom -# device. To create a hard disk image, try running bximage. It will help you -# choose the size and then suggest a line that works with it. -# -# In UNIX it may be possible to use a raw device as a Bochs hard disk, -# but WE DON'T RECOMMEND IT. In Windows there is no easy way. -# -# In windows, the drive letter + colon notation should be used for cdroms. -# Depending on versions of windows and drivers, you may only be able to -# access the "first" cdrom in the system. On MacOSX, use path="drive" -# to access the physical drive. -# -# The path is mandatory for hard disks. Disk geometry autodetection works with -# images created by bximage if CHS is set to 0/0/0 (cylinders are calculated -# using heads=16 and spt=63). For other hard disk images and modes the -# cylinders, heads, and spt are mandatory. In all cases the disk size reported -# from the image must be exactly C*H*S*512. -# -# Default values are: -# mode=flat, biosdetect=auto, translation=auto, model="Generic 1234" -# -# The biosdetect option has currently no effect on the bios -# -# Examples: -# ata0-master: type=disk, mode=flat, path=10M.sample, cylinders=306, heads=4, spt=17 -# ata0-slave: type=disk, mode=flat, path=20M.sample, cylinders=615, heads=4, spt=17 -# ata1-master: type=disk, mode=flat, path=30M.sample, cylinders=615, heads=6, spt=17 -# ata1-slave: type=disk, mode=flat, path=46M.sample, cylinders=940, heads=6, spt=17 -# ata2-master: type=disk, mode=flat, path=62M.sample, cylinders=940, heads=8, spt=17 -# ata2-slave: type=disk, mode=flat, path=112M.sample, cylinders=900, heads=15, spt=17 -# ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63 -# ata3-slave: type=cdrom, path=iso.sample, status=inserted -#======================================================================= -#ata0-master: type=disk, mode=flat, path="d.sample" -#ata0-master: type=disk, mode=flat, path="$HOME/.bochs/guest.hd0", cylinders=#cylinders#, heads=16, spt=63 -#ata0-master: type=disk, mode=flat, path="c.img", cylinders=0 # autodetect -ata0-slave: type=cdrom, path=@BOCHS_ISO_IMAGE@, status=inserted - -#======================================================================= -# BOOT: -# This defines the boot sequence. Now you can specify up to 3 boot drives, -# which can be 'floppy', 'disk', 'cdrom' or 'network' (boot ROM). -# Legacy 'a' and 'c' are also supported. -# Examples: -# boot: floppy -# boot: cdrom, disk -# boot: network, disk -# boot: cdrom, floppy, disk -#======================================================================= -#boot: floppy -#boot: disk -boot: cdrom - -#======================================================================= -# CLOCK: -# This defines the parameters of the clock inside Bochs: -# -# SYNC: -# This defines the method how to synchronize the Bochs internal time -# with realtime. With the value 'none' the Bochs time relies on the IPS -# value and no host time synchronization is used. The 'slowdown' method -# sacrifices performance to preserve reproducibility while allowing host -# time correlation. The 'realtime' method sacrifices reproducibility to -# preserve performance and host-time correlation. -# It is possible to enable both synchronization methods. -# -# TIME0: -# Specifies the start (boot) time of the virtual machine. Use a time -# value as returned by the time(2) system call. If no time0 value is -# set or if time0 equal to 1 (special case) or if time0 equal 'local', -# the simulation will be started at the current local host time. -# If time0 equal to 2 (special case) or if time0 equal 'utc', -# the simulation will be started at the current utc time. -# -# Syntax: -# clock: sync=[none|slowdown|realtime|both], time0=[timeValue|local|utc] -# -# Example: -# clock: sync=none, time0=local # Now (localtime) -# clock: sync=slowdown, time0=315529200 # Tue Jan 1 00:00:00 1980 -# clock: sync=none, time0=631148400 # Mon Jan 1 00:00:00 1990 -# clock: sync=realtime, time0=938581955 # Wed Sep 29 07:12:35 1999 -# clock: sync=realtime, time0=946681200 # Sat Jan 1 00:00:00 2000 -# clock: sync=none, time0=1 # Now (localtime) -# clock: sync=none, time0=utc # Now (utc/gmt) -# -# Default value are sync=none, time0=local -#======================================================================= -#clock: sync=realtime, time0=local - - -#======================================================================= -# FLOPPY_BOOTSIG_CHECK: disabled=[0|1] -# Enables or disables the 0xaa55 signature check on boot floppies -# Defaults to disabled=0 -# Examples: -# floppy_bootsig_check: disabled=0 -# floppy_bootsig_check: disabled=1 -#======================================================================= -floppy_bootsig_check: disabled=0 - -#======================================================================= -# LOG: -# Give the path of the log file you'd like Bochs debug and misc. verbiage -# to be written to. If you don't use this option or set the filename to -# '-' the output is written to the console. If you really don't want it, -# make it "/dev/null" (Unix) or "nul" (win32). :^( -# -# Examples: -# log: ./bochs.out -# log: /dev/tty -#======================================================================= -#log: /dev/stdout -#log: /dev/null -#log: /tmp/bochsout.txt -log: - - -#======================================================================= -# LOGPREFIX: -# This handles the format of the string prepended to each log line. -# You may use those special tokens : -# %t : 11 decimal digits timer tick -# %i : 8 hexadecimal digits of cpu current eip (ignored in SMP configuration) -# %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror) -# %d : 5 characters string of the device, between brackets -# -# Default : %t%e%d -# Examples: -# logprefix: %t-%e-@%i-%d -# logprefix: %i%e%d -#======================================================================= -#logprefix: %t%e%d - -#======================================================================= -# LOG CONTROLS -# -# Bochs now has four severity levels for event logging. -# panic: cannot proceed. If you choose to continue after a panic, -# don't be surprised if you get strange behavior or crashes. -# error: something went wrong, but it is probably safe to continue the -# simulation. -# info: interesting or useful messages. -# debug: messages useful only when debugging the code. This may -# spit out thousands per second. -# -# For events of each level, you can choose to crash, report, or ignore. -# TODO: allow choice based on the facility: e.g. crash on panics from -# everything except the cdrom, and only report those. -# -# If you are experiencing many panics, it can be helpful to change -# the panic action to report instead of fatal. However, be aware -# that anything executed after a panic is uncharted territory and can -# cause bochs to become unstable. The panic is a "graceful exit," so -# if you disable it you may get a spectacular disaster instead. -#======================================================================= -#panic: action=fatal -panic: action=ignore -error: action=ignore -info: action=ignore -debug: action=ignore -#pass: action=fatal - -#======================================================================= -# DEBUGGER_LOG: -# Give the path of the log file you'd like Bochs to log debugger output. -# If you really don't want it, make it /dev/null or '-'. :^( -# -# Examples: -# debugger_log: ./debugger.out -#======================================================================= -#debugger_log: /dev/null -#debugger_log: debugger.out -debugger_log: - - -#======================================================================= -# COM1, COM2, COM3, COM4: -# This defines a serial port (UART type 16550A). In the 'term' you can specify -# a device to use as com1. This can be a real serial line, or a pty. To use -# a pty (under X/Unix), create two windows (xterms, usually). One of them will -# run bochs, and the other will act as com1. Find out the tty the com1 -# window using the `tty' command, and use that as the `dev' parameter. -# Then do `sleep 1000000' in the com1 window to keep the shell from -# messing with things, and run bochs in the other window. Serial I/O to -# com1 (port 0x3f8) will all go to the other window. -# In socket* and pipe* (win32 only) modes Bochs becomes either socket/named pipe -# client or server. In client mode it connects to an already running server (if -# connection fails Bochs treats com port as not connected). In server mode it -# opens socket/named pipe and waits until a client application connects to it -# before starting simulation. This mode is useful for remote debugging (e.g. -# with gdb's "target remote host:port" command or windbg's command line option -# -k com:pipe,port=\\.\pipe\pipename). Note: 'socket' is a shorthand for -# 'socket-client' and 'pipe' for 'pipe-client'. Socket modes use simple TCP -# communication, pipe modes use duplex byte mode pipes. -# Other serial modes are 'null' (no input/output), 'file' (output to a file -# specified as the 'dev' parameter), 'raw' (use the real serial port - under -# construction for win32), 'mouse' (standard serial mouse - requires -# mouse option setting 'type=serial', 'type=serial_wheel' or 'type=serial_msys'). -# -# Examples: -# com1: enabled=1, mode=null -# com1: enabled=1, mode=mouse -# com2: enabled=1, mode=file, dev=serial.out -# com3: enabled=1, mode=raw, dev=com1 -# com3: enabled=1, mode=socket-client, dev=localhost:8888 -# com3: enabled=1, mode=socket-server, dev=localhost:8888 -# com4: enabled=1, mode=pipe-client, dev=\\.\pipe\mypipe -# com4: enabled=1, mode=pipe-server, dev=\\.\pipe\mypipe -#======================================================================= -com1: enabled=1, mode=term, dev=BOCHSTTYNUM - - -#======================================================================= -# PARPORT1, PARPORT2: -# This defines a parallel (printer) port. When turned on and an output file is -# defined the emulated printer port sends characters printed by the guest OS -# into the output file. On some platforms a device filename can be used to -# send the data to the real parallel port (e.g. "/dev/lp0" on Linux, "lpt1" on -# win32 platforms). -# -# Examples: -# parport1: enabled=1, file="parport.out" -# parport2: enabled=1, file="/dev/lp0" -# parport1: enabled=0 -#======================================================================= -#parport1: enabled=1, file="/dev/lp0" - -#======================================================================= -# SB16: -# This defines the SB16 sound emulation. It can have several of the -# following properties. -# All properties are in the format sb16: property=value -# midi: The filename is where the midi data is sent. This can be a -# device or just a file if you want to record the midi data. -# midimode: -# 0=no data -# 1=output to device (system dependent. midi denotes the device driver) -# 2=SMF file output, including headers -# 3=output the midi data stream to the file (no midi headers and no -# delta times, just command and data bytes) -# wave: This is the device/file where wave output is stored -# wavemode: -# 0=no data -# 1=output to device (system dependent. wave denotes the device driver) -# 2=VOC file output, incl. headers -# 3=output the raw wave stream to the file -# log: The file to write the sb16 emulator messages to. -# loglevel: -# 0=no log -# 1=resource changes, midi program and bank changes -# 2=severe errors -# 3=all errors -# 4=all errors plus all port accesses -# 5=all errors and port accesses plus a lot of extra info -# dmatimer: -# microseconds per second for a DMA cycle. Make it smaller to fix -# non-continuous sound. 750000 is usually a good value. This needs a -# reasonably correct setting for the IPS parameter of the CPU option. -# -# Examples for output devices: -# sb16: midimode=1, midi="", wavemode=1, wave="" # win32 -# sb16: midimode=1, midi=alsa:128:0, wavemode=1, wave=alsa # Linux with ALSA -#======================================================================= -#sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=/dev/stdout, dmatimer=600000 - -#======================================================================= -# VGA_UPDATE_INTERVAL: -# Video memory is scanned for updates and screen updated every so many -# virtual seconds. The default is 50000, about 20Hz. Keep in mind that -# you must tweak the 'cpu: ips=N' directive to be as close to the number -# of emulated instructions-per-second your workstation can do, for this -# to be accurate. -# -# Examples: -# vga_update_interval: 250000 -#======================================================================= -#vga_update_interval: 50000 - -# using for Winstone '98 tests -#vga_update_interval: 100000 - -#======================================================================= -# KEYBOARD_SERIAL_DELAY: -# Approximate time in microseconds that it takes one character to -# be transfered from the keyboard to controller over the serial path. -# Examples: -# keyboard_serial_delay: 200 -#======================================================================= -keyboard_serial_delay: 250 - -#======================================================================= -# KEYBOARD_PASTE_DELAY: -# Approximate time in microseconds between attempts to paste -# characters to the keyboard controller. This leaves time for the -# guest os to deal with the flow of characters. The ideal setting -# depends on how your operating system processes characters. The -# default of 100000 usec (.1 seconds) was chosen because it works -# consistently in Windows. -# -# If your OS is losing characters during a paste, increase the paste -# delay until it stops losing characters. -# -# Examples: -# keyboard_paste_delay: 100000 -#======================================================================= -keyboard_paste_delay: 100000 - -#======================================================================= -# MOUSE: -# The Bochs gui creates mouse "events" unless the 'enabled' option is -# set to 0. The hardware emulation itself is not disabled by this. -# Unless you have a particular reason for enabling the mouse by default, -# it is recommended that you leave it off. You can also toggle the mouse -# usage at runtime (control key + middle mouse button on X11, SDL, -# wxWidgets and Win32). -# With the mouse type option you can select the type of mouse to emulate. -# The default value is 'ps2'. The other choices are 'imps2' (wheel mouse -# on PS/2), 'serial', 'serial_wheel' and 'serial_msys' (one com port requires -# setting 'mode=mouse'). To connect a mouse to an USB port, see the 'usb_uhci' -# or 'usb_ohci' option (requires PCI and USB support). -# -# Examples: -# mouse: enabled=1 -# mouse: enabled=1, type=imps2 -# mouse: enabled=1, type=serial -# mouse: enabled=0 -#======================================================================= -mouse: enabled=0 - -#======================================================================= -# private_colormap: Request that the GUI create and use it's own -# non-shared colormap. This colormap will be used -# when in the bochs window. If not enabled, a -# shared colormap scheme may be used. Not implemented -# on all GUI's. -# -# Examples: -# private_colormap: enabled=1 -# private_colormap: enabled=0 -#======================================================================= -private_colormap: enabled=0 - -#======================================================================= -# ne2k: NE2000 compatible ethernet adapter -# -# Examples: -# ne2k: ioaddr=IOADDR, irq=IRQ, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT -# -# ioaddr, irq: You probably won't need to change ioaddr and irq, unless there -# are IRQ conflicts. These arguments are ignored when assign the ne2k to a -# PCI slot. -# -# mac: The MAC address MUST NOT match the address of any machine on the net. -# Also, the first byte must be an even number (bit 0 set means a multicast -# address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast -# address. For the ethertap module, you must use fe:fd:00:00:00:01. There may -# be other restrictions too. To be safe, just use the b0:c4... address. -# -# ethdev: The ethdev value is the name of the network interface on your host -# platform. On UNIX machines, you can get the name by running ifconfig. On -# Windows machines, you must run niclist to get the name of the ethdev. -# Niclist source code is in misc/niclist.c and it is included in Windows -# binary releases. -# -# script: The script value is optional, and is the name of a script that -# is executed after bochs initialize the network interface. You can use -# this script to configure this network interface, or enable masquerading. -# This is mainly useful for the tun/tap devices that only exist during -# Bochs execution. The network interface name is supplied to the script -# as first parameter -# -# If you don't want to make connections to any physical networks, -# you can use the following 'ethmod's to simulate a virtual network. -# null: All packets are discarded, but logged to a few files. -# arpback: ARP is simulated. Disabled by default. -# vde: Virtual Distributed Ethernet -# vnet: ARP, ICMP-echo(ping), DHCP and read/write TFTP are simulated. -# The virtual host uses 192.168.10.1. -# DHCP assigns 192.168.10.2 to the guest. -# TFTP uses the ethdev value for the root directory and doesn't -# overwrite files. -# -#======================================================================= -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0 -# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0 -# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=null, ethdev=eth0 -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl" -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp" - -#======================================================================= -# pnic: Bochs/Etherboot pseudo-NIC -# -# Example: -# pnic: enabled=1, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT -# -# The pseudo-NIC accepts the same syntax (for mac, ethmod, ethdev, script) and -# supports the same networking modules as the NE2000 adapter. In addition to -# this, it must be assigned to a PCI slot. -#======================================================================= -#pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet - -#======================================================================= -# KEYBOARD_MAPPING: -# This enables a remap of a physical localized keyboard to a -# virtualized us keyboard, as the PC architecture expects. -# If enabled, the keymap file must be specified. -# -# Examples: -# keyboard_mapping: enabled=1, map=gui/keymaps/x11-pc-de.map -#======================================================================= -#keyboard_mapping: enabled=0, map=/usr/share/bochs/keymaps/x11-pc-de.map - -#======================================================================= -# KEYBOARD_TYPE: -# Type of keyboard return by a "identify keyboard" command to the -# keyboard controler. It must be one of "xt", "at" or "mf". -# Defaults to "mf". It should be ok for almost everybody. A known -# exception is french macs, that do have a "at"-like keyboard. -# -# Examples: -# keyboard_type: mf -#======================================================================= -#keyboard_type: mf - -#======================================================================= -# USER_SHORTCUT: -# This defines the keyboard shortcut to be sent when you press the "user" -# button in the headerbar. The shortcut string is a combination of maximum -# 3 key names (listed below) separated with a '-' character. -# Valid key names: -# "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter", "esc", -# "f1", ... "f12", "home", "ins", "left", "menu", "minus", "pgdwn", "pgup", -# "plus", "right", "shift", "space", "tab", "up", "win", "print" and "power". -# -# Example: -# user_shortcut: keys=ctrl-alt-del -#======================================================================= -#user_shortcut: keys=ctrl-alt-del - -#======================================================================= -# I440FXSUPPORT: -# This option controls the presence of the i440FX PCI chipset. You can -# also specify the devices connected to PCI slots. Up to 5 slots are -# available now. These devices are currently supported: ne2k, pcivga, -# pcidev, pcipnic and usb_ohci. If Bochs is compiled with Cirrus SVGA -# support you'll have the additional choice 'cirrus'. -# -# Example: -# i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k -#======================================================================= -i440fxsupport: enabled=1 - -#======================================================================= -# USB_UHCI: -# This option controls the presence of the USB root hub which is a part -# of the i440FX PCI chipset. With the portX option you can connect devices -# to the hub (currently supported: 'mouse', 'tablet', 'keypad', 'disk', 'cdrom' -# 'hub' and 'printer'). -# -# If you connect the mouse or tablet to one of the ports, Bochs forwards the -# mouse movement data to the USB device instead of the selected mouse type. -# When connecting the keypad to one of the ports, Bochs forwards the input of -# the numeric keypad to the USB device instead of the PS/2 keyboard. -# -# To connect a flat image as an USB hardisk you can use the 'disk' device with -# the path to the image separated with a colon (see below). To emulate an USB -# cdrom you can use the 'cdrom' device name and the path to an ISO image or raw -# device name also separated with a colon. -# -# The device name 'hub' connects an external hub with max. 8 ports (default: 4) -# to the root hub. To specify the number of ports you have to add the value -# separated with a colon. Connecting devices to the external hub ports is only -# available in the runtime configuration. -# -# The device 'printer' emulates the HP Deskjet 920C printer. The PCL data is -# sent to a file specified in bochsrc.txt. The current code appends the PCL -# code to the file if the file already existed. It would probably be nice to -# overwrite the file instead, asking user first. -#======================================================================= -#usb_uhci: enabled=1 -#usb_uhci: enabled=1, port1=mouse, port2=disk:usbdisk.img -#usb_uhci: enabled=1, port1=hub:7, port2=cdrom:image.iso - -#======================================================================= -# USB_OHCI: -# This option controls the presence of the USB OHCI host controller with a -# 2-port hub. The portX option accepts the same device types with the same -# syntax as the UHCI controller (see above). The OHCI HC must be assigned to -# a PCI slot. -#======================================================================= -#usb_ohci: enabled=1 -#usb_ohci: enabled=1, port1=printer:usbprinter.bin - -#======================================================================= -# CMOSIMAGE: -# This defines image file that can be loaded into the CMOS RAM at startup. -# The rtc_init parameter controls whether initialize the RTC with values stored -# in the image. By default the time0 argument given to the clock option is used. -# With 'rtc_init=image' the image is the source for the initial time. -# -# Example: -# cmosimage: file=cmos.img, rtc_init=image -#======================================================================= -#cmosimage: file=cmos.img, rtc_init=time0 - -#======================================================================= -# MAGIC_BREAK: -# This enables the "magic breakpoint" feature when using the debugger. -# The useless cpu instruction XCHG BX, BX causes Bochs to enter the -# debugger mode. This might be useful for software development. -# -# Example: -# magic_break: enabled=1 -#======================================================================= -#magic_break: enabled=1 - -#======================================================================= -# PORT_E9_HACK: -# The 0xE9 port doesn't exists in normal ISA architecture. However, we -# define a convention here, to display on the console of the system running -# Bochs anything that is written to it. The idea is to provide debug output -# very early when writing BIOS or OS code for example, without having to -# bother with setting up a serial port or etc. Reading from port 0xE9 will -# will return 0xe9 to let you know if the feature is available. -# Leave this 0 unless you have a reason to use it. -# -# Example: -# port_e9_hack: enabled=1 -#======================================================================= -#port_e9_hack: enabled=1 - -#======================================================================= -# DEBUG_SYMBOLS: -# This loads symbols from the specified file for use in Bochs' internal -# debugger. Symbols are loaded into global context. This is equivalent to -# issuing ldsym debugger command at start up. -# -# Example: -# debug_symbols: file="kernel.sym" -# debug_symbols: file="kernel.sym", offset=0x80000000 -#======================================================================= -#debug_symbols: file="kernel.sym" - -#======================================================================= -# other stuff -#======================================================================= -#load32bitOSImage: os=nullkernel, path=../kernel.img, iolog=../vga_io.log -#load32bitOSImage: os=linux, path=../linux.img, iolog=../vga_io.log, initrd=../initrd.img -#text_snapshot_check: enabled=1 -#print_timestamps: enabled=1 - -#------------------------- -# PCI host device mapping -#------------------------- -#pcidev: vendor=0x1234, device=0x5678 - -#======================================================================= -# GDBSTUB: -# Enable GDB stub. See user documentation for details. -# Default value is enabled=0. -#======================================================================= -#gdbstub: enabled=0, port=1234, text_base=0, data_base=0, bss_base=0 - -#======================================================================= -# PLUGIN_CTRL: -# Controls the presence of optional plugins without a separate option. -# By default all existing plugins are enabled. These plugins are currently -# supported: 'acpi', 'biosdev', 'extfpuirq', 'gameport', 'iodebug', -# 'pci_ide', 'speaker' and 'unmapped'. -#======================================================================= -#plugin_ctrl: biosdev=0, speaker=0 - -#======================================================================= -# USER_PLUGIN: -# Load user-defined plugin. This option is available only if Bochs is -# compiled with plugin support. Maximum 8 different plugins are supported. -# See the example in the Bochs sources how to write a plugin device. -#======================================================================= -#user_plugin: name=testdev diff --git a/02_filter/emu/frun.sh.in b/02_filter/emu/frun.sh.in deleted file mode 100755 index 9a668ab1609015af55750569c6b66a468d7f2d73..0000000000000000000000000000000000000000 --- a/02_filter/emu/frun.sh.in +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -# a shell script to run Fail* emulator - -BOCHSRC=@BOCHSRC@-serial - -BINARY=@TGT_ELF@ - -# Kill plot windows on termination -on_die() { - [[ ! -z $PLOT_PID ]] && kill $PLOT_PID - [[ ! -z $TRACE_PID ]] && kill $TRACE_PID - [[ ! -z $SERIAL_PID ]] && kill $SERIAL_PID -} - -trap 'on_die' TERM - -# start a terminal that will telnet to the virtual machine's serial port -XTERMEXE="@STARTUP_SCRIPTS@/pts.sh" -(urxvt -geometry 120x80 -title "eCos Serial 0" -name "eCos Serial 0" -e $XTERMEXE )& -SERIAL_PID=$! -sleep 0.5 - -# MACHINE=$(gcc -dumpmachine|cut -f1 -d-) -# if [[ $MACHINE == "x86_64" ]]; then -# BITS="64" -# else -# BITS="32" -# fi - -# start the emulator -OUTFILE=/tmp/ezs-dac-$USER.txt -TRACEFILE=/tmp/ezs-trace-$USER.txt - -touch $OUTFILE -touch $TRACEFILE - -python $EZS_CMAKE_MODULE_DIR/plot.py $OUTFILE & -PLOT_PID=$! -python $EZS_CMAKE_MODULE_DIR/plot.py $TRACEFILE dotrace & -TRACE_PID=$! - - -FAIL_ELF_PATH=@PROJECT_BINARY_DIR@/@TGT_ELF@ @FAIL_BINARY@ -f $BOCHSRC -q - - -on_die diff --git a/02_filter/emu/gdbinit.in b/02_filter/emu/gdbinit.in deleted file mode 100644 index db7597ee291d154b865f0e6a03e10ffc2f059056..0000000000000000000000000000000000000000 --- a/02_filter/emu/gdbinit.in +++ /dev/null @@ -1,6 +0,0 @@ -file @ELF@ -set archi i386:x64-32:intel -target remote localhost:1234 - -define pe - printf "[vc] %u - [B] %u - [D] %u %% [A] %u = %u (rem %u)\n", $arg0.vc, $arg0.B, $arg0.D, $arg0.A, (($arg0.vc - $arg0.B - $arg0.D) / $arg0.A), (($arg0.vc - $arg0.B - $arg0.D) % $arg0.A) diff --git a/02_filter/emu/grub.cfg.in b/02_filter/emu/grub.cfg.in deleted file mode 100644 index 993e16b48772aa6fb6e690b7e05017b216f3e063..0000000000000000000000000000000000000000 --- a/02_filter/emu/grub.cfg.in +++ /dev/null @@ -1,7 +0,0 @@ -set timeout=0 -set default=0 - -menuentry "EZS eCos" { - multiboot /boot/@TGT_ELF@ - boot -} diff --git a/02_filter/emu/pts.sh.in b/02_filter/emu/pts.sh.in deleted file mode 100755 index dbf1af82d584c1c8a9453e98feb87c09c0706f23..0000000000000000000000000000000000000000 --- a/02_filter/emu/pts.sh.in +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# Retrieve tty device name -TTY=`tty` -# Setup com1 ouput to this terminal -cat @BOCHSRC@ | sed -e "s|BOCHSTTYNUM|$TTY|" > @BOCHSRC@-serial -echo "Terminal on tty: " -echo $TTY -sleep 1000000 - diff --git a/02_filter/emu/qrun.sh.in b/02_filter/emu/qrun.sh.in deleted file mode 100755 index 66c026cb0848d694d9708cac3a0f31fae0a9c2d5..0000000000000000000000000000000000000000 --- a/02_filter/emu/qrun.sh.in +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/bash -# a shell script to run in the Qemu PC emulator an eCos -# application that's been built with "Grub" startup mode. -# -# It runs Qemu with a -# single serial port connected to a telnet -# server socket. -# -# An instance of the "xterm" X11 terminal emulator is started with -# telnet command to connect to that virtual serial port on port -# -# When $2 is 'ddd' a debugger window is opened accordingly - -PORTFILENAME=/tmp/$USER.portnum -@STARTUP_SCRIPTS@/findport.pl > $PORTFILENAME -PORTNUM=`head -n 1 /tmp/$USER.portnum` -SERIALPORTNUM=`tail -n 1 /tmp/$USER.portnum` -GDB_BIN=gdb -GDB_TUI_BIN=gdbtui -TERMINAL=urxvt - -BINARY=@TGT_ELF@ -echo $PWD -echo "target remote :$PORTNUM" > .gdbinit -echo "br cyg_user_start" >> .gdbinit - -if [[ $1 == "ddd" ]] || [[ $1 == "gdb" ]] || [[ $1 == "cgdb" ]]; then - DEBUG="-s -S -gdb tcp::$PORTNUM" -fi - -XTERMEXE="telnet localhost $SERIALPORTNUM" - -# start a terminal that will telnet to the virtual machine's serial port -(sleep 0.5; $TERMINAL -geometry 120x80 -title "eCos Serial 0" -name "eCos Serial 0" -e $XTERMEXE )& - -sleep 0.5 -# start ddd Debugger -if [[ $1 == ddd ]]; then - (sleep 0.5; $TERMINAL -e ddd --command .gdbinit --gdb --debugger $GDB_BIN $BINARY ) & -fi - -# start GDB in xterm terminal -if [[ $1 == gdb ]]; then - (sleep 0.5; $TERMINAL -e $GDB_BIN $BINARY ) & -fi - -# start GDBTUI in xterm terminal -if [[ $1 == gdbtui ]]; then - (sleep 0.5; $TERMINAL -e $GDB_TUI_BIN $BINARY ) & -fi - - -# start cgdb in xterm terminal -if [[ $1 == cgdb ]]; then - (sleep 0.5; $TERMINAL -e cgdb $BINARY ) & -fi - - -# MACHINE=$(gcc -dumpmachine|cut -f1 -d-) -# if [[ $MACHINE == "x86_64" ]]; then -# BITS="64" -# else -# BITS="32" -# fi - -qemu-system-i386 -machine pc,accel=tcg \ - $DEBUG \ - -kernel $BINARY \ - -serial telnet:localhost:$SERIALPORTNUM,server,nowait - diff --git a/02_filter/emu/vgabios.bin b/02_filter/emu/vgabios.bin deleted file mode 100644 index fa9806b76fca32f6e44cbb4a8e0bec637fb9e8ab..0000000000000000000000000000000000000000 Binary files a/02_filter/emu/vgabios.bin and /dev/null differ diff --git a/02_filter/eval/report.sql b/02_filter/eval/report.sql deleted file mode 100644 index 6e5cf6f91a3ff2410f0e143b554d3b46be598245..0000000000000000000000000000000000000000 --- a/02_filter/eval/report.sql +++ /dev/null @@ -1,36 +0,0 @@ -update result_GenericExperimentMessage r - INNER JOIN fsppilot p ON r.pilot_id = p.id AND known_outcome = 1 - SET resulttype = 'OK_MARKER', details = 10000; - -SELECT sum((t.time2 - t.time1 + 1) * width) AS occurences, resulttype, details -FROM variant v - JOIN trace t ON v.id = t.variant_id - JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address - JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id - JOIN fsppilot p ON r.pilot_id = p.id -GROUP BY v.id, resulttype, details; - -SELECT hex(injection_instr_absolute) AS "instruction pointer", - sum((t.time2 - t.time1 + 1) * width) AS occurences, - resulttype -FROM variant v - JOIN trace t ON v.id = t.variant_id - JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address - JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id - JOIN fsppilot p ON r.pilot_id = p.id -WHERE resulttype != 'OK_MARKER' -GROUP BY v.id, injection_instr_absolute, resulttype -ORDER BY occurences DESC LIMIT 10; - -SELECT hex(t.data_address) AS "data address", - sum((t.time2 - t.time1 + 1) * width) AS occurences, - resulttype -FROM variant v - JOIN trace t ON v.id = t.variant_id - JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address - JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id - JOIN fsppilot p ON r.pilot_id = p.id -WHERE resulttype != 'OK_MARKER' -GROUP BY v.id, t.data_address, resulttype -ORDER BY occurences DESC LIMIT 10; - diff --git a/02_filter/include/fixedpoint.h b/02_filter/include/fixedpoint.h deleted file mode 100644 index d4bec65deaf0863aaccc291f4524b85323db073c..0000000000000000000000000000000000000000 --- a/02_filter/include/fixedpoint.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef FIXEDPOINT_H_INCLUDED -#define FIXEDPOINT_H_INCLUDED - -#include <stdint.h> - -int8_t float_to_q(float f); - -float q_to_float(int8_t q); - -int8_t q_add(int8_t s1, int8_t s2); - -int8_t q_sub(int8_t minuend, int8_t subtrahend); - -int8_t q_mul(int8_t fac1, int8_t fac2); - -int8_t q_div(int8_t divident, int8_t divisor); - -#endif // FIXEDPOINT_H_INCLUDED diff --git a/02_filter/libEZS/include/ezs_common.h b/02_filter/libEZS/include/ezs_common.h deleted file mode 100644 index f793157154113fc025810b587639ce724a480cae..0000000000000000000000000000000000000000 --- a/02_filter/libEZS/include/ezs_common.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef EZS_COMMON_H_INCLUDED -#define EZS_COMMON_H_INCLUDED - -/*! - * @file ezs_common.h - * @brief common functions for EZS - * @author Florian Franzmann - * \ingroup common - */ - -#include <stdint.h> - - - -/*! - * \brief returns the low byte of value - */ -uint8_t ezs_low_byte(uint16_t value); - -/*! - * \brief returns the high byte of value - */ -uint8_t ezs_high_byte(uint16_t value); - - -#endif // EZS_COMMON_H_INCLUDED diff --git a/02_filter/libEZS/src/ezs_common.c b/02_filter/libEZS/src/ezs_common.c deleted file mode 100644 index d7378065868b078822834252516ceb48152dcad2..0000000000000000000000000000000000000000 --- a/02_filter/libEZS/src/ezs_common.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "ezs_common.h" - -uint8_t ezs_low_byte(uint16_t value) -{ - return (uint8_t) (value & 0xFF); -} - -uint8_t ezs_high_byte(uint16_t value) -{ - return (uint8_t) ((value & 0xFF00) >> 8); -} - diff --git a/02_filter/libEZS/src/fixedpoint.c b/02_filter/libEZS/src/fixedpoint.c deleted file mode 100644 index 1a930c44d5ff1c46afbb8b48ee046cbf166d4b05..0000000000000000000000000000000000000000 --- a/02_filter/libEZS/src/fixedpoint.c +++ /dev/null @@ -1,72 +0,0 @@ -#include "fixedpoint.h" -#include <assert.h> -#include <stdio.h> - -enum { - N = 5, -}; -static const int16_t K = 1 << (N - 1); - -int8_t float_to_q(float f) -{ - float temp = f * (1 << N); - return (int8_t) temp; -} - -float q_to_float(int8_t q) -{ - float temp = (float) q; - return temp / (1 << N); -} - -int8_t q_add(int8_t s1, int8_t s2) -{ - int8_t res = (int8_t) (s1 + s2); - return res; -} - -int8_t q_sub(int8_t minuend, int8_t subtrahend) -{ - int8_t res = (int8_t) (minuend - subtrahend); - return res; -} - -// saturate to range of int8_t -int8_t sat8(int16_t x) -{ - if (x > 0x7F) return 0x7F; - else if (x < -0x80) return -0x80; - else return (int8_t)x; -} - -int8_t q_mul(int8_t fac1, int8_t fac2) -{ - int8_t result; - int16_t temp; - - temp = (int16_t)fac1 * (int16_t)fac2; // result type is operand's type - // Rounding; mid values are rounded up - temp += K; - - // Correct by dividing by base and saturate result - result = sat8(temp >> N); - - return result; -} - -int8_t q_div(int8_t dividend, int8_t divisor) -{ - int8_t result; - int16_t temp; - - // pre-multiply by the base - temp = (int16_t)dividend << N; - // Rounding: mid values are rounded up (down for negative values). - if ((temp >= 0 && divisor >= 0) || (temp < 0 && divisor < 0)) - temp += divisor / 2; - else - temp -= divisor / 2; - result = (int8_t)(temp / divisor); - - return result; -} diff --git a/02_filter/src/app.c b/02_filter/src/app.c deleted file mode 100644 index 27a2d2d0f04521140cbccdee369ce8a4e7798056..0000000000000000000000000000000000000000 --- a/02_filter/src/app.c +++ /dev/null @@ -1,99 +0,0 @@ -#include <sml/ttkernel/c_api.h> -#include <pkgconf/ttkernel.h> -#include <stdio.h> - -#include <cyg/io/framebuf.h> -#include <cyg/io/framebufs/i386_fb.h> - -#define INPUTLENGTH 16U -#define FILTERLENGTH 3U -#define OUTPUTLENGTH 4U - -// Input data struct, definition -// TODO: VEZS: Definition von struct input_t -struct input_t { - // TODO ... -}; - -// Instatiation: The global variable g_input holds the SignalValues (g_input->SignalValues) and Filter parameters. -struct input_t g_Input = {/* TODO */}; -// TODO: VEZS: Initialisierung des Inputs mit folgenden Signalwerten: -/* -{ - 0.4660297830757463, 0.291652750726228, 0.039019837642634725, 0.025791065563132265, - 0.1438180872933461, 0.07790451716276092, 0.5323362120330787, 0.06318652076060649, - 0.029056230398846528, 0.8297977482396356, 0.6446787397078008, 0.9698337715018641, - 0.8951997126483968, 0.35959743693927293, 0.2776439558609356, 0.9593172302712314, -}, -*/ -// sowie den folgenden Wertem des Filters: -/* - {1, 2, -1} -*/ - - -/* Our application is a FIR filter convolution on a fixed set of - input values. We get 4 Output Values */ -float g_Output[OUTPUTLENGTH]; - - -/* Convolve Signal with Filter. - - Signal must contain OutputLength + FilterLength - 1 elements. Conversely, - if there are N elements in Signal, OutputLength may be at most - N+1-FilterLength. -*/ -// TODO: VEZS: eine Funktion implementieren, die die Faltung (engl. convolution) uebernimmt -// HINWEIS: lineare Filterung == Faltung der Original-Funktion eines Signals mit der Impulsantwort (FilterParams) dar - - -// Little Helper: Checksum over float array. -unsigned char checksum(float* values, size_t length) { - // TODO: VEZS: Funktionalitaet die *Bytes* aufaddiert hier implementieren... - return 0; -} - -/* Actuate function - Here we check the results. -*/ -void actuate(float* output, size_t length) { - - // Calculate a bytewise checksum for checking integrity. - unsigned char chksum = checksum(output, length); - - printf("Chksum: %x\r\n", chksum); - /* For OutputLength == 4: chksum == 0xc5 */ - if (chksum == 0x47) { - /* The checksum is correct, no silent data corruption has occured */ - printf("no errors occured!\r\n"); - } else { - /* An SDC occured! */ - // TODO: VEZS: Ausgabe, dass Fehler aufgetreten ist - } -} - -void* run(void) { - - // Execute algorithm. - // TODO: VEZS: hier muss die Faltung aufgerufen werden ... - - // Return pointer to results. - return g_Output; -} - - -void cyg_user_start(void) { - // Initialize framebuffer in graphic mode - ezs_fb_init(); - - printf("Starting up the filtering application!\r\n"); - - // Run filtering - void * result = run(); - - // Actuate based on the filtered values (is only a checksum for now) ... - actuate((float*) result, OUTPUTLENGTH); - - printf("Will wait forever here...\r\n"); - while(1); -} diff --git a/03_TMR/CMakeLists.txt b/03_TMR/CMakeLists.txt deleted file mode 100644 index f6718fa3728231514ab57982ab8c423bceb5996e..0000000000000000000000000000000000000000 --- a/03_TMR/CMakeLists.txt +++ /dev/null @@ -1,96 +0,0 @@ -Project(Filter) - -cmake_minimum_required(VERSION 2.8) - -# use the eCos support coming with CMake -# without this line CMake doesn't know how to build eCos applications -# all functions/macros coming from this file start with "ECOS_" - - -set(SCRIPT_DIR "$ENV{ECOS_REPOSITORY}/../tools/scripts") -set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ${SCRIPT_DIR}/..) - -INCLUDE(UseEcos) - -# cmake modules -INCLUDE(doxygendocu) -INCLUDE(coloroutput) -INCLUDE(emu) - -# add the ecos/install/include/ directory to the header search path -ECOS_ADD_INCLUDE_DIRECTORIES() -ECOS_USE_I386_ELF_TOOLS() - -set(COMMON_FLAGS "-nostartfiles -nostdlib -ffunction-sections -fdata-sections -fno-builtin -Wall -Wpointer-arith -Wundef -fdata-sections") -set(CMAKE_C_FLAGS "${COMMON_FLAGS}") -set(CMAKE_CXX_FLAGS "${COMMON_FLAGS} -fno-rtti -fno-exceptions -fno-unwind-tables -Woverloaded-virtual" ) - - -set(BOCHS_CPU_SPEED_MHZ 10) -# use ADD_DEFINITIONS() to add the definitions (or switches) you like -add_definitions("-g -DBOCHS_CPU_MHZ=${BOCHS_CPU_SPEED_MHZ}") - -set(LIBEZS_DIR "${PROJECT_SOURCE_DIR}/libEZS") -set(EZS_DRIVERS_DIR "${LIBEZS_DIR}/drivers") - -include_directories( - ${LIBEZS_DIR}/include - include - ) - -set(LIBEZS_SOURCES - ${LIBEZS_DIR}/src/ezs_common.c - ${LIBEZS_DIR}/src/fixedpoint.c - ${LIBEZS_DIR}/src/ezs_stopwatch.c - ${LIBEZS_DIR}/src/ezs_sensors.c - ${LIBEZS_DIR}/src/ezs_outputs.c - ) - -set(HW_PLATFORM i386) - -set(DRIVERS_SOURCES - ${EZS_DRIVERS_DIR}/${HW_PLATFORM}/ezs_fb.c - ${EZS_DRIVERS_DIR}/${HW_PLATFORM}/ezs_tracer.cpp - ${EZS_DRIVERS_DIR}/${HW_PLATFORM}/ezs_counter.c - ) - -set(SRC_DIR src) -set(BASE_APPLICATION_SOURCES - ${SRC_DIR}/app.c - ${SRC_DIR}/filter.c - ${SRC_DIR}/watchdog.c - ) -set(EXT_APPLICATION_SOURCES - ${SRC_DIR}/app_ext.cpp - ${SRC_DIR}/watchdog.c - ) - -# this is one of the most important lines -# here you list all source files of your application -# you can mix C and C++ files as you like -# you can also add the header files here, but you don't have to -# you can use relative or absolute paths as you like -SET(BASE_SRC_LIST - ${BASE_APPLICATION_SOURCES} - ${LIBEZS_SOURCES} - ${DRIVERS_SOURCES} - ) -SET(EXT_SRC_LIST - ${EXT_APPLICATION_SOURCES} - ${LIBEZS_SOURCES} - ${DRIVERS_SOURCES} - ) - -set(TGT "tmr") -# this is the most important line: -# tell CMake that we want to create an executable named "sampleapp" -# from the files listed in the variable SRC_LIST -ECOS_ADD_EXECUTABLE(${TGT} ${BASE_SRC_LIST}) -addemu(${TGT}) -ECOS_ADD_EXECUTABLE(${TGT}_ext ${EXT_SRC_LIST}) -addemu(${TGT}_ext) - -add_definitions(-ggdb) - -message(STATUS "${BoldGreen}[AUFGABE 3 (TMR)] execute `make run` to start basic application${ColourReset}") -message(STATUS "${BoldGreen}[AUFGABE 3 (TMR)] execute `make run_tmr_ext` to start extended application${ColourReset}") diff --git a/03_TMR/Doxyfile.in b/03_TMR/Doxyfile.in deleted file mode 100644 index 38caface428145ab3f92324338904eb3b42aa767..0000000000000000000000000000000000000000 --- a/03_TMR/Doxyfile.in +++ /dev/null @@ -1,1792 +0,0 @@ -# Doxyfile 1.8.1.2 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = @PROJECT_NAME@ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = "Verlässliche Echtzeitsysteme" - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @DOXY_OUTPUT@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@ - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all -# comments according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you -# can mix doxygen, HTML, and XML commands with Markdown formatting. -# Disable only in case of backward compatibilities issues. - -MARKDOWN_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = NO - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = NO - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @CMAKE_SOURCE_DIR@ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = @DOXY_IGNORE@ - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = YES - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C, C++ and Fortran comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# style sheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of -# entries shown in the various tree structured indices initially; the user -# can expand and collapse entries dynamically later on. Doxygen will expand -# the tree to such a level that at most the specified number of entries are -# visible (unless a fully collapsed tree already exceeds this amount). -# So setting the number of entries 1 will produce a full collapsed tree by -# default. 0 is a special value representing an infinite number of entries -# and will result in a full expanded tree by default. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> -# Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> -# Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. - -DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. - -GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you may also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to -# the MathJax Content Delivery Network so you can quickly see the result without -# installing MathJax. -# However, it is strongly recommended to install a local -# copy of MathJax from http://www.mathjax.org before deployment. - -MATHJAX_RELPATH = http://www.mathjax.org/mathjax - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load style sheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. For each -# tag file the location of the external documentation should be added. The -# format of a tag file without this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths -# or URLs. Note that each tag file must have a unique name (where the name does -# NOT include the path). If a tag file is not located in the directory in which -# doxygen is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If the UML_LOOK tag is enabled, the fields and methods are shown inside -# the class node. If there are many fields or methods and many nodes the -# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS -# threshold limits the number of items for each type to make the size more -# managable. Set this to 0 for no limit. Note that the threshold may be -# exceeded by 50% before the limit is enforced. - -UML_LIMIT_NUM_FIELDS = 10 - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/03_TMR/build/.keepdir b/03_TMR/build/.keepdir deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/03_TMR/cmake/Doxyfile.in b/03_TMR/cmake/Doxyfile.in deleted file mode 100644 index 10846197cadc72ae5dcdb9eb5be67bb48ede64f0..0000000000000000000000000000000000000000 --- a/03_TMR/cmake/Doxyfile.in +++ /dev/null @@ -1,1757 +0,0 @@ -# Doxyfile 1.7.5.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = @PROJECT_NAME@ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @PROJECT_VERSION@ - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @DOXY_OUTPUT@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@ - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. The create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @DOXY_INPUT_DIR@ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to directory from which doxygen is run. - -EXCLUDE = @DOXY_IGNORE@ - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = YES - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is adviced to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the stylesheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> -# Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> -# Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the -# mathjax.org site, so you can quickly see the result without installing -# MathJax, but it is strongly recommended to install a local copy of MathJax -# before deployment. - -MATHJAX_RELPATH = http://www.mathjax.org/mathjax - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = @DOXY_GENERATE_LATEX@ - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = @DOXY_USE_GRAPHVIZ@ - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = NO - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = YES - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = YES - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/03_TMR/cmake/UseEcos.cmake b/03_TMR/cmake/UseEcos.cmake deleted file mode 100644 index 55f9aad36878494910c3936f3e8ebb302a527b00..0000000000000000000000000000000000000000 --- a/03_TMR/cmake/UseEcos.cmake +++ /dev/null @@ -1,252 +0,0 @@ -#.rst: -# UseEcos -# ------- -# -# This module defines variables and macros required to build eCos application. -# -# This file contains the following macros: -# ECOS_ADD_INCLUDE_DIRECTORIES() - add the eCos include dirs -# ECOS_ADD_EXECUTABLE(name source1 ... sourceN ) - create an eCos -# executable ECOS_ADJUST_DIRECTORY(VAR source1 ... sourceN ) - adjusts -# the path of the source files and puts the result into VAR -# -# Macros for selecting the toolchain: ECOS_USE_ARM_ELF_TOOLS() - enable -# the ARM ELF toolchain for the directory where it is called -# ECOS_USE_I386_ELF_TOOLS() - enable the i386 ELF toolchain for the -# directory where it is called ECOS_USE_PPC_EABI_TOOLS() - enable the -# PowerPC toolchain for the directory where it is called -# -# It contains the following variables: ECOS_DEFINITIONS -# ECOSCONFIG_EXECUTABLE ECOS_CONFIG_FILE - defaults to ecos.ecc, if your -# eCos configuration file has a different name, adjust this variable for -# internal use only: -# -# :: -# -# ECOS_ADD_TARGET_LIB - -#============================================================================= -# Copyright 2006-2009 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -# first check that ecosconfig is available -find_program(ECOSCONFIG_EXECUTABLE NAMES ecosconfig) -if(NOT ECOSCONFIG_EXECUTABLE) - message(SEND_ERROR "ecosconfig was not found. Either include it in the system path or set it manually using ccmake.") -else() - message(STATUS "Found ecosconfig: ${ECOSCONFIG_EXECUTABLE}") -endif() - -# check that ECOS_REPOSITORY is set correctly -if (NOT EXISTS $ENV{ECOS_REPOSITORY}/ecos.db) - message(SEND_ERROR "The environment variable ECOS_REPOSITORY is not set correctly. Set it to the directory which contains the file ecos.db") -else () - message(STATUS "ECOS_REPOSITORY is set to $ENV{ECOS_REPOSITORY}") -endif () - -# check that tclsh (coming with TCL) is available, otherwise ecosconfig doesn't work -find_package(Tclsh) -if (NOT TCL_TCLSH) - message(SEND_ERROR "The TCL tclsh was not found. Please install TCL, it is required for building eCos applications.") -else () - message(STATUS "tlcsh found: ${TCL_TCLSH}") -endif () - -#add the globale include-diretories -#usage: ECOS_ADD_INCLUDE_DIRECTORIES() -macro(ECOS_ADD_INCLUDE_DIRECTORIES) -#check for ProjectSources.txt one level higher - if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../ProjectSources.txt) - include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../) - else () - include_directories(${CMAKE_CURRENT_SOURCE_DIR}/) - endif () - -#the ecos include directory - include_directories(${CMAKE_CURRENT_BINARY_DIR}/ecos/install/include/) - -endmacro() - - -#we want to compile for the xscale processor, in this case the following macro has to be called -#usage: ECOS_USE_ARM_ELF_TOOLS() -macro (ECOS_USE_ARM_ELF_TOOLS) - set(CMAKE_CXX_COMPILER "arm-elf-c++") - set(CMAKE_COMPILER_IS_GNUCXX 1) - set(CMAKE_C_COMPILER "arm-elf-gcc") - set(CMAKE_AR "arm-elf-ar") - set(CMAKE_RANLIB "arm-elf-ranlib") -#for linking - set(ECOS_LD_MCPU "-mcpu=xscale") -#for compiling - add_definitions(-mcpu=xscale -mapcs-frame) -#for the obj-tools - set(ECOS_ARCH_PREFIX "arm-elf-") -endmacro () - -#usage: ECOS_USE_PPC_EABI_TOOLS() -macro (ECOS_USE_PPC_EABI_TOOLS) - set(CMAKE_CXX_COMPILER "powerpc-eabi-c++") - set(CMAKE_COMPILER_IS_GNUCXX 1) - set(CMAKE_C_COMPILER "powerpc-eabi-gcc") - set(CMAKE_AR "powerpc-eabi-ar") - set(CMAKE_RANLIB "powerpc-eabi-ranlib") -#for linking - set(ECOS_LD_MCPU "") -#for compiling - add_definitions() -#for the obj-tools - set(ECOS_ARCH_PREFIX "powerpc-eabi-") -endmacro () - -#usage: ECOS_USE_I386_ELF_TOOLS() -macro (ECOS_USE_I386_ELF_TOOLS) - set(CMAKE_CXX_COMPILER "i386-elf-c++") - set(CMAKE_COMPILER_IS_GNUCXX 1) - set(CMAKE_C_COMPILER "i386-elf-gcc") - set(CMAKE_AR "i386-elf-ar") - set(CMAKE_RANLIB "i386-elf-ranlib") -#for linking - set(ECOS_LD_MCPU "") -#for compiling - add_definitions() -#for the obj-tools - set(ECOS_ARCH_PREFIX "i386-elf-") -endmacro () - - -#since the actual sources are located one level upwards -#a "../" has to be prepended in front of every source file -#call the following macro to achieve this, the first parameter -#is the name of the new list of source files with adjusted paths, -#followed by all source files -#usage: ECOS_ADJUST_DIRECTORY(adjusted_SRCS ${my_srcs}) -macro(ECOS_ADJUST_DIRECTORY _target_FILES ) - foreach (_current_FILE ${ARGN}) - get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE) - if (NOT ${_abs_FILE} STREQUAL ${_current_FILE}) - get_filename_component(_abs_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../${_current_FILE} ABSOLUTE) - endif () - list(APPEND ${_target_FILES} ${_abs_FILE}) - endforeach () -endmacro() - -# the default ecos config file name -# maybe in future also out-of-source builds may be possible -set(ECOS_CONFIG_FILE ecos.ecc) - -#creates the dependency from all source files on the ecos target.ld, -#adds the command for compiling ecos -macro(ECOS_ADD_TARGET_LIB) - if(NOT TARGET ecos) -# when building out-of-source, create the ecos/ subdir - if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ecos) - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ecos) - endif() - -#sources depend on target.ld - set_source_files_properties( - ${ARGN} - PROPERTIES - OBJECT_DEPENDS - ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld - ) - - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld - COMMAND sh -c \"make -C ${CMAKE_CURRENT_BINARY_DIR}/ecos || exit -1\; if [ -e ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld ] \; then touch ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld\; fi\" - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile - ) - - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile - COMMAND sh -c \" cd ${CMAKE_CURRENT_BINARY_DIR}/ecos\; ${ECOSCONFIG_EXECUTABLE} --config=${CMAKE_CURRENT_SOURCE_DIR}/ecos/${ECOS_CONFIG_FILE} tree || exit -1\;\" - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ecos/${ECOS_CONFIG_FILE} - ) - - add_custom_target( ecos make -C ${CMAKE_CURRENT_BINARY_DIR}/ecos/ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile ) - endif() -endmacro() - -# get the directory of the current file, used later on in the file -get_filename_component( ECOS_CMAKE_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) - -#macro for creating an executable ecos application -#the first parameter is the name of the executable, -#the second is the list of all source files (where the path -#has been adjusted beforehand by calling ECOS_ADJUST_DIRECTORY() -#usage: ECOS_ADD_EXECUTABLE(my_app ${adjusted_SRCS}) -macro(ECOS_ADD_EXECUTABLE _exe_NAME ) - #definitions, valid for all ecos projects - #the optimization and "-g" for debugging has to be enabled - #in the project-specific CMakeLists.txt - add_definitions(-D__ECOS__=1 -D__ECOS=1) - set(ECOS_DEFINITIONS -Wall -Wno-long-long -pipe -fno-builtin) - -#the executable depends on ecos target.ld - ECOS_ADD_TARGET_LIB(${ARGN}) - -# when using nmake makefiles, the custom buildtype supresses the default cl.exe flags -# and the rules for creating objects are adjusted for gcc - set(CMAKE_BUILD_TYPE CUSTOM_ECOS_BUILD) - set(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <FLAGS> -o <OBJECT> -c <SOURCE>") - set(CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <FLAGS> -o <OBJECT> -c <SOURCE>") -# special link commands for ecos-executables - set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <OBJECTS> -o <TARGET> ${_ecos_EXTRA_LIBS} -nostdlib -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}") - set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <CMAKE_C_LINK_FLAGS> <OBJECTS> -o <TARGET> ${_ecos_EXTRA_LIBS} -nostdlib -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}") -# some strict compiler flags - set (CMAKE_C_FLAGS "-Wstrict-prototypes") - set (CMAKE_CXX_FLAGS "-Woverloaded-virtual -fno-rtti -Wctor-dtor-privacy -fno-strict-aliasing -fno-exceptions") - - add_executable(${_exe_NAME} ${ARGN}) - set_target_properties(${_exe_NAME} PROPERTIES SUFFIX ".elf") - -#create a binary file - add_custom_command( - TARGET ${_exe_NAME} - POST_BUILD - COMMAND ${ECOS_ARCH_PREFIX}objcopy - ARGS -O binary ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.bin - ) - -#and an srec file - add_custom_command( - TARGET ${_exe_NAME} - POST_BUILD - COMMAND ${ECOS_ARCH_PREFIX}objcopy - ARGS -O srec ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.srec - ) - -#add the created files to the clean-files - set_directory_properties( - PROPERTIES - ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.bin;${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.srec;${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst;" - ) - - if(NOT TARGET ecosclean) - add_custom_target(ecosclean ${CMAKE_COMMAND} -DECOS_DIR=${CMAKE_CURRENT_BINARY_DIR}/ecos/ -P ${ECOS_CMAKE_MODULE_DIR}/ecos_clean.cmake ) - endif() - if(NOT TARGET normalclean) - add_custom_target(normalclean ${CMAKE_MAKE_PROGRAM} clean WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - add_dependencies (ecosclean normalclean) - endif() - - - - add_custom_target( listing_${_exe_NAME} - COMMAND echo -e \"\\n--- Symbols sorted by address ---\\n\" > ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst - COMMAND ${ECOS_ARCH_PREFIX}nm -S -C -n ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst - COMMAND echo -e \"\\n--- Symbols sorted by size ---\\n\" >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst - COMMAND ${ECOS_ARCH_PREFIX}nm -S -C -r --size-sort ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst - COMMAND echo -e \"\\n--- Full assembly listing ---\\n\" >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst - COMMAND ${ECOS_ARCH_PREFIX}objdump -S -x -d -C ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst ) - -endmacro() - diff --git a/03_TMR/cmake/cccc.cmake b/03_TMR/cmake/cccc.cmake deleted file mode 100644 index ea0af18350624a979a3e278d351094fedc57278e..0000000000000000000000000000000000000000 --- a/03_TMR/cmake/cccc.cmake +++ /dev/null @@ -1,13 +0,0 @@ -find_program(CCCC_EXE "cccc") - -if(CCCC_EXE) - - message(STATUS "[CCCC] at ${CCCC_EXE}") - add_custom_target(cccc) - - add_custom_command(TARGET cccc POST_BUILD - COMMAND ${CCCC_EXE} - ) -else() - message(FATAL_ERROR "[CCCC] Could not find cccc executable") -endif() diff --git a/03_TMR/cmake/coloroutput.cmake b/03_TMR/cmake/coloroutput.cmake deleted file mode 100644 index 1280d32bd454884daeef7e6a35e446a43a8b9236..0000000000000000000000000000000000000000 --- a/03_TMR/cmake/coloroutput.cmake +++ /dev/null @@ -1,20 +0,0 @@ -if(NOT WIN32) - string(ASCII 27 Esc) - set(ColourReset "${Esc}[m") - set(ColourBold "${Esc}[1m") - set(Red "${Esc}[31m") - set(Green "${Esc}[32m") - set(Yellow "${Esc}[33m") - set(Blue "${Esc}[34m") - set(Magenta "${Esc}[35m") - set(Cyan "${Esc}[36m") - set(White "${Esc}[37m") - set(BoldRed "${Esc}[1;31m") - set(BoldGreen "${Esc}[1;32m") - set(BoldYellow "${Esc}[1;33m") - set(BoldBlue "${Esc}[1;34m") - set(BoldMagenta "${Esc}[1;35m") - set(BoldCyan "${Esc}[1;36m") - set(BoldWhite "${Esc}[1;37m") -endif() - diff --git a/03_TMR/cmake/compilerwarnings.cmake b/03_TMR/cmake/compilerwarnings.cmake deleted file mode 100644 index e89c8c3b080d6d7350836a74ed6ae7a04427fd05..0000000000000000000000000000000000000000 --- a/03_TMR/cmake/compilerwarnings.cmake +++ /dev/null @@ -1,56 +0,0 @@ -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Werror" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wall" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wextra" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -pedantic" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wcast-align" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wconversion" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wformat-nonliteral" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wformat-security" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Winit-self" ) - -if(CMAKE_C_COMPILER_ID STREQUAL "GNU") - message("-- gcc detected") - if(CMAKE_C_COMPILER_VERSION VERSION_GREATER "4.0.0") - message("-- gcc >= 4.0.0 detected") - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=pointer-to-int-cast" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=cast-qual" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=float-equal" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unknown-pragmas") - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=write-strings" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=switch-default" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=switch-enum" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-function") - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-macros" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-variable" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-parameter" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=shadow" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=missing-noreturn" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=packed" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unreachable-code" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-but-set-variable" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wlogical-op" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wmissing-include-dirs" ) - endif() -endif() -if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.0.0") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=overloaded-virtual" ) - endif() -endif() - -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wpointer-arith" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wundef" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wredundant-decls" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-inline" ) - -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNINGS_COMMONFLAGS}") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wstrict-prototypes") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wbad-function-cast") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wold-style-definition") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-prototypes") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-declarations") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wnested-externs") - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNINGS_COMMONFLAGS}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weffc++" ) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wold-style-cast" ) diff --git a/03_TMR/cmake/cppcheck.cmake b/03_TMR/cmake/cppcheck.cmake deleted file mode 100644 index 6c5f00597d1f1d9b77623a13595f1446018debb9..0000000000000000000000000000000000000000 --- a/03_TMR/cmake/cppcheck.cmake +++ /dev/null @@ -1,13 +0,0 @@ -find_program(CPPCHECK_EXE "cppcheck") - -if(CPPCHECK_EXE) - - message(STATUS "[CPPCHECK] at ${CPPCHECK_EXE}") - add_custom_target(cppcheck) - - add_custom_command(TARGET cppcheck POST_BUILD - COMMAND ${CPPCHECK_EXE} --template=gcc -f --std=posix --std=c99 --std=c++11 --enable=all -i ${PROJECT_BINARY_DIR} -I ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR} - ) -else() - message(FATAL_ERROR "[CPPCHECK] Could not find cppcheck executable") -endif() diff --git a/03_TMR/cmake/doxy.cmake b/03_TMR/cmake/doxy.cmake deleted file mode 100644 index 4037ae09255fcb77f950894083d551b96bc2fe51..0000000000000000000000000000000000000000 --- a/03_TMR/cmake/doxy.cmake +++ /dev/null @@ -1,31 +0,0 @@ - - FIND_PACKAGE(Doxygen) - - # set output path - set(DOXY_OUTPUT "doc") - set(DOXY_GENERATE_LATEX "NO") - set(DOXY_IGNORE "") - set(DOXY_INPUT_DIR "${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/src") - - if(DOXYGEN_DOT_FOUND) - set(DOXY_USE_GRAPHVIZ "YES" ) - message(STATUS "[DOXYGEN] Using graphviz to draw nice graphs.") - else(DOXYGEN_DOT_FOUND) - set(DOXY_USE_GRAPHVIY "NO" ) - message(STATUS "[DOXYGEN] GraphViz' Dot tool not found.") - endif(DOXYGEN_DOT_FOUND) - - if (NOT DOXYGEN_FOUND) - message(FATAL_ERROR - "Doxygen is needed to build the documentation. Please install it correctly") - endif() - ## Configure the Template Doxyfile for our specific project - configure_file(${PROJECT_SOURCE_DIR}/cmake/Doxyfile.in - ${PROJECT_BINARY_DIR}/Doxyfile @ONLY IMMEDIATE) - ## Add a custom target to run Doxygen (make doc) - add_custom_target ( doxy - COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile - SOURCES ${PROJECT_BINARY_DIR}/Doxyfile - COMMAND echo "HTML ouput at ${DOXY_OUTPUT}/html/index.html" - ) - diff --git a/03_TMR/cmake/emu.cmake b/03_TMR/cmake/emu.cmake deleted file mode 100644 index d7d0471d5626bb8e4057d46dd51da50d22cc27a8..0000000000000000000000000000000000000000 --- a/03_TMR/cmake/emu.cmake +++ /dev/null @@ -1,224 +0,0 @@ -include(processorcount) - -# Grub -find_program(GRUB_MKRESCUE "grub-mkrescue") -if(NOT GRUB_MKRESCUE) - message(FATAL_ERROR "grub-mkrescue not found, cannot create bootable iso :(") -endif() - - -macro(ADDEMU TGT) -# Prepare some useful variable for use in config files -set(TGT_ELF "${CMAKE_CURRENT_BINARY_DIR}/${TGT}.elf") -set(ISODIR "${PROJECT_BINARY_DIR}/grub_iso") -set(FAIL_BINARY "$ENV{EZS_BASE_DIR}/fail/fail-client") -set(ISOFILE "${PROJECT_BINARY_DIR}/${TGT}.iso") -set(ELFFILE "${PROJECT_BINARY_DIR}/${TGT}.elf") -set(RUNNER "/proj/i4ezs/tools/fail/vezs/bochs-experiment-runner.py") - - -set(FAILVARIANT "not_set" CACHE PATH "Variant name for Fail* injection") - -####deprecated -# Setup Bochs configuration -set(BOCHS_BIOS "${CMAKE_CURRENT_SOURCE_DIR}/BIOS-bochs-latest") -set(BOCHS_GUEST_RAM 32) -set(BOCHS_HOST_RAM 32) -set(BOCHS_VGA_IMAGE "${CMAKE_CURRENT_SOURCE_DIR}/vgabios.bin") -set(BOCHS_ISO_IMAGE "${ISOFILE}") -#### - - -set(STARTUP_SCRIPTS ${PROJECT_BINARY_DIR}/startup_scripts) -file(MAKE_DIRECTORY ${STARTUP_SCRIPTS}) - -#####deprecated bochsrc includes iso name :-( -#set(BOCHSRC "${STARTUP_SCRIPTS}/bochsrc") -#configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bochsrc.in" ${BOCHSRC} ) -#configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bochsrc-gdb.in" "${BOCHSRC}-gdb" ) -#configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bochsrc-term.in" "${BOCHSRC}-term" ) -#configure_file(${CMAKE_CURRENT_SOURCE_DIR}/frun.sh.in ${STARTUP_SCRIPTS}/frun.sh) -#configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pts.sh.in ${STARTUP_SCRIPTS}/pts.sh) -##### - -configure_file(${PROJECT_SOURCE_DIR}/emu/qrun.sh.in ${STARTUP_SCRIPTS}/qrun.sh) -configure_file(${SCRIPT_DIR}/findport.pl ${STARTUP_SCRIPTS}/findport.pl) - -#message(STATUS "Fail* @ ${FAIL_BINARY}") -#set(GDBINITFILE ${STARTUP_SCRIPTS}/.gdbinit) -#configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gdbinit.in" ${GDBINITFILE}) - - -# message(STATUS "Building bootable ISO for ${TGT}") - -# Generate build directory for grub-mkrescue -set(BOOTDIR "${ISODIR}/boot/") -set(GRUBDIR "${BOOTDIR}/grub") -file(MAKE_DIRECTORY ${GRUBDIR}) - -####TODO: make iso-genration generic -## Copy and configure grub configuration file -#configure_file("${CMAKE_CURRENT_SOURCE_DIR}/grub.cfg.in" "${GRUBDIR}/grub.cfg") -## Create bootable ISO from TGT -#add_custom_command( -# DEPENDS ${TGT} -# COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${TGT}> ${BOOTDIR}/${TGT_ELF} -# COMMAND ${GRUB_MKRESCUE} -# ARGS -o ${ISOFILE} ${ISODIR} -# COMMAND objdump -CDS ${BOOTDIR}/${TGT_ELF} > ${PROJECT_BINARY_DIR}/${TGT}.dis -# OUTPUT ${ISOFILE} ${BOOTDIR}/${TGT_ELF} ${PROJECT_BINARY_DIR}/${TGT}.dis -# COMMENT "Generating bootable grub iso." -# ) -# -## Create bootable ISO -#add_custom_target( iso DEPENDS ${ISOFILE} ) - - - -# Start FAIL -# comment for 02_filter -##add_custom_target( sim -## COMMAND ${STARTUP_SCRIPTS}/frun.sh -## DEPENDS ${ISOFILE} -## COMMENT "Starting Fail*" -## WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -## ) - -# Start qemu -add_custom_target(run_${TGT} - DEPENDS ${TGT_ELF} ${TGT} - COMMAND echo "Running ${TGT_ELF}..." - COMMAND ${STARTUP_SCRIPTS}/qrun.sh ${TGT_ELF} - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - ) - -add_custom_target( ddd_${TGT} -# Start Qemu in Debug mode. - DEPENDS ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh ${TGT_ELF} ddd - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( gdb_${TGT} -# Start Qemu in Debug mode. - DEPENDS ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh ${TGT_ELF} gdb - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( gdbtui_${TGT} -# Start Qemu in Debug mode. - DEPENDS ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh ${TGT_ELF} gdbtui - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - - -add_custom_target( cgdb_${TGT} -# Start Qemu in Debug mode. - DEPENDS ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh ${TGT_ELF} cgdb - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -# add legacytargets -if( NOT TARGET run ) - add_custom_target(run DEPENDS run_${TGT}) - add_custom_target(ddd DEPENDS ddd_${TGT}) - add_custom_target(gdb DEPENDS gdb_${TGT}) - add_custom_target(gdbtui DEPENDS gdbtui_${TGT}) - add_custom_target(cgdb DEPENDS cgdb_${TGT}) -endif() - -#add_custom_target( fail-1-trace -# # Start Qemu in Debug mode. -# DEPENDS ${ISOFILE} -# COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ ${RUNNER} -e ${ELFFILE} -i ${BOCHS_ISO_IMAGE} -1 -# -f /proj/i4ezs/tools/fail/vezs/fail-x86-tracing -# -m 32 -- -# -Wf,--start-symbol=fail_trace_start -# -Wf,--save-symbol=fail_trace_start -# -Wf,--end-symbol=fail_trace_stop -# -Wf,--trace-file=${PROJECT_BINARY_DIR}/trace.pb -# -Wf,--elf-file=${PROJECT_BINARY_DIR}/${TGT}.elf -q -# COMMENT "Trace the app for golden run" -# OUTPUT ${PROJECT_BINARY_DIR}/trace.pb -# WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -#) -# -#add_custom_target( fail-2-import -# # Start Qemu in Debug mode. -# DEPENDS ${PROJECT_BINARY_DIR}/trace.pb -# COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ /proj/i4ezs/tools/fail/vezs/import-trace -t ${PROJECT_BINARY_DIR}/trace.pb -i mem -v aufgabe1 -b ${FAILVARIANT} -e ${ELFFILE} --faultspace-rightmargin R -# COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ /proj/i4ezs/tools/fail/vezs/import-trace -i ElfImporter --objdump objdump -e ${ELFFILE} -v aufgabe1 -b ${FAILVARIANT} -# COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ /proj/i4ezs/tools/fail/vezs/prune-trace -p basic -v aufgabe1 -b ${FAILVARIANT} --overwrite -# COMMENT "Import the golden run into the database" -# WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -#) -# -#add_custom_target( fail-3-server -# # Start Qemu in Debug mode. -# DEPENDS ${PROJECT_BINARY_DIR}/trace.pb -# COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ /proj/i4ezs/tools/fail/vezs/generic-experiment-server -v aufgabe1 -b ${FAILVARIANT} -# COMMENT "Start the campaign server" -# WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -#) -# -#add_custom_target( fail-4-client -# # Start Qemu in Debug mode. -# DEPENDS ${PROJECT_BINARY_DIR}/trace.pb -# COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ ${RUNNER} -e ${ELFFILE} -i ${BOCHS_ISO_IMAGE} -# -f /proj/i4ezs/tools/fail/vezs/generic-experiment-client -m 32 -# -e ${ELFFILE} -# -i ${BOCHS_ISO_IMAGE} -# -V vgabios.bin -b BIOS-bochs-latest -- -# -Wf,--state-dir=state -# -Wf,--trap -Wf,--timeout=10 -# -Wf,--ok-marker=fail_marker_positive -# -Wf,--fail-marker=fail_marker_negative -# -Wf,--detected-marker=fail_marker_detected -# -Wf,--catch-write-textsegment -# -Wf,--catch-write-outerspace # 2>/dev/null | grep -C 4 'INJECT' -# COMMENT "Start one fail-client" -# WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -#) -# -#add_custom_target( fail-4-client-parallel -# # Start Qemu in Debug mode. -# DEPENDS ${PROJECT_BINARY_DIR}/trace.pb -# COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ nice -n 19 ionice -c3 ${RUNNER} -e ${ELFFILE} -i ${BOCHS_ISO_IMAGE} -# -f /proj/i4ezs/tools/fail/vezs/generic-experiment-client -m 32 -# -e ${ELFFILE} -# -i ${BOCHS_ISO_IMAGE} -# -V vgabios.bin -b BIOS-bochs-latest -j${PROCESSOR_COUNT} -- -# -Wf,--state-dir=state -# -Wf,--trap -Wf,--timeout=10 -# -Wf,--ok-marker=fail_marker_positive -# -Wf,--fail-marker=fail_marker_negative -# -Wf,--detected-marker=fail_marker_detected -# -Wf,--catch-write-textsegment -# -Wf,--catch-write-outerspace # 2>/dev/null | grep -C 4 'INJECT' -# COMMENT "Start many fail-clients (use FAIL_SERVER_HOST for different campaign server)" -# WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -#) -# -#add_custom_target( fail-5-result -# # Start Qemu in Debug mode. -# COMMAND mysql -t < ${PROJECT_SOURCE_DIR}/eval/report.sql -# COMMENT "Generate a report" -# WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -#) -# -#add_custom_target( fail-5-browse -# # Start Qemu in Debug mode. -# COMMAND mysql -t < ${PROJECT_SOURCE_DIR}/eval/report.sql -# COMMAND /proj/i4ezs/tools/fail/vezs/resultbrowser/run.py -# COMMENT "Generate HTML report" -# WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -#) -endmacro(ADDEMU TGT) - diff --git a/03_TMR/cmake/framac.cmake b/03_TMR/cmake/framac.cmake deleted file mode 100644 index ecc49a14a3ae5d13a1f0be4086b9e554c1400dce..0000000000000000000000000000000000000000 --- a/03_TMR/cmake/framac.cmake +++ /dev/null @@ -1,26 +0,0 @@ - -find_program(FRAMA_GUI_EXE "frama-c-gui") -find_program(FRAMA_EXE "frama-c") -find_program(WHY_EXE "why3ide") - -if(FRAMA_GUI_EXE) - add_custom_target(frama-c-gui) - message(STATUS "[FRAMA-C] at ${FRAMA_GUI_EXE}") - add_custom_command(TARGET frama-c-gui POST_BUILD - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - COMMAND ${FRAMA_GUI_EXE} -cpp-extra-args='-I ${PROJECT_SOURCE_DIR}/include' - ) -else() - message(FATAL_ERROR "[FRAMA-C] Could not find frama-c-gui executable") -endif() - -if(FRAMA_EXE AND WHY_EXE) - add_custom_target(jessie) - message(STATUS "[JESSIE] at ${FRAMA_EXE} and ${WHY_EXE}") - add_custom_command(TARGET jessie POST_BUILD - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - COMMAND ${FRAMA_EXE} -add-path /local/why-2.34/lib/frama-c-plugin -jessie -jessie-atp why3ide -cpp-extra-args='-I ${PROJECT_SOURCE_DIR}/include' - ) -else() - message(FATAL_ERROR "[JESSIE] Could not find frama-c or why3ide executable") -endif() diff --git a/03_TMR/cmake/lcov.cmake b/03_TMR/cmake/lcov.cmake deleted file mode 100644 index b4efe2f69ab1962a5e7dd39d6fa7a2aab98daf47..0000000000000000000000000000000000000000 --- a/03_TMR/cmake/lcov.cmake +++ /dev/null @@ -1,51 +0,0 @@ - -find_program(LCOV_TOOL "lcov") -find_program(LCOV_HTML "genhtml") - -#This is very ugly but we need to have the oldest gcov to support llvm -find_program(GCOV_LEGACY "gcov-4.2" ) - -if(NOT GCOV_LEGACY) - find_program(GCOV_LEGACY "gcov-4.3" ) -endif() - -if(NOT GCOV_LEGACY) - find_program(GCOV_LEGACY "gcov-4.4" ) -endif() - -if(LCOV_TOOL AND LCOV_HTML) - - message(STATUS "[LCOV] lcov at ${LCOV_TOOL}") - message(STATUS "[LCOV] genhtml at ${LCOV_HTML}") - - if(NOT DEFINED "LCOV_OUTPUT_DIR") - set(LCOV_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/doc) - endif() - - if(NOT DEFINED "LCOV_SCAN_DIR") - set(LCOV_SCAN_DIR_FLAG --directory ${CMAKE_CURRENT_BINARY_DIR}/src) - endif() - - if(CMAKE_C_COMPILER_ID STREQUAL "Clang") - if(GCOV_LEGACY) - message(STATUS "[LCOV] lcov support for clang is rather buggy") - message(STATUS "[LCOV] using old gcov to support clang at ${GCOV_LEGACY}") - set(OPTION_GCOV_TOOL "--gcov-tool" "${GCOV_LEGACY}") - else() - message(WARNING "lcov won't work with clang") - set(OPTION_GCOV_TOOL "") - endif() - else() - set(OPTION_GCOV_TOOL "") - endif() - - add_custom_target(lcov) - - add_custom_command(TARGET lcov POST_BUILD - COMMAND ${LCOV_TOOL} ${OPTION_GCOV_TOOL} --capture ${LCOV_SCAN_DIR_FLAG} --output-file ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov - COMMAND ${LCOV_TOOL} --remove ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov '*.h' --output-file ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov - COMMAND ${LCOV_TOOL} --remove ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov '/usr/include/*' --output-file ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov - COMMAND ${LCOV_HTML} ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov --show-details --legend --output-directory ${LCOV_OUTPUT_DIR}/lcov - COMMAND echo "HTML results at: file://${LCOV_OUTPUT_DIR}/lcov/index.html" - ) -endif() diff --git a/03_TMR/cmake/processorcount.cmake b/03_TMR/cmake/processorcount.cmake deleted file mode 100644 index bc9b4d6de81b6695c8e79a06d9e00f413ac1737c..0000000000000000000000000000000000000000 --- a/03_TMR/cmake/processorcount.cmake +++ /dev/null @@ -1,28 +0,0 @@ -if(NOT DEFINED PROCESSOR_COUNT) - # Unknown: - set(PROCESSOR_COUNT 0) - - # Linux: - set(cpuinfo_file "/proc/cpuinfo") - if(EXISTS "${cpuinfo_file}") - file(STRINGS "${cpuinfo_file}" procs REGEX "^processor.: [0-9]+$") - list(LENGTH procs PROCESSOR_COUNT) - endif() - - # Mac: - if(APPLE) - find_program(cmd_sys_pro "system_profiler") - if(cmd_sys_pro) - execute_process(COMMAND ${cmd_sys_pro} OUTPUT_VARIABLE info) - string(REGEX REPLACE "^.*Total Number Of Cores: ([0-9]+).*$" "\\1" - PROCESSOR_COUNT "${info}") - endif() - endif() - - # Windows: - if(WIN32) - set(PROCESSOR_COUNT "$ENV{NUMBER_OF_PROCESSORS}") - endif() -endif() - -message("-- Processor count: " ${PROCESSOR_COUNT}) diff --git a/03_TMR/cmake/sanitizer.cmake b/03_TMR/cmake/sanitizer.cmake deleted file mode 100644 index dbeaafbabbfa9f891b9101a5ac201238434223e3..0000000000000000000000000000000000000000 --- a/03_TMR/cmake/sanitizer.cmake +++ /dev/null @@ -1,7 +0,0 @@ -if(CMAKE_C_COMPILER_ID STREQUAL "GNU") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address,undefined,enum,null,shift,signed-integer-overflow,vla-bound") - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fsanitize=address,undefined,enum,null,shift,signed-integer-overflow,vla-bound") -elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address,integer,undefined,bounds,enum,float-cast-overflow,float-divide-by-zero,null,object-size,shift,signed-integer-overflow,vla-bound") - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fsanitize=address,integer,undefined,bounds,enum,float-cast-overflow,float-divide-by-zero,null,object-size,shift,signed-integer-overflow,vla-bound") -endif() diff --git a/03_TMR/ecos/ecos.ecc b/03_TMR/ecos/ecos.ecc deleted file mode 100644 index 9ff15a51e17fe8d7aedd5db184fe8ebcd084f94d..0000000000000000000000000000000000000000 --- a/03_TMR/ecos/ecos.ecc +++ /dev/null @@ -1,15595 +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 pc_i82559 ; - template default ; - package -template CYGPKG_HAL current ; - package -template CYGPKG_IO current ; - package -template CYGPKG_IO_SERIAL current ; - package -template CYGPKG_INFRA current ; - package -template CYGPKG_KERNEL current ; - package -template CYGPKG_MEMALLOC current ; - package -template CYGPKG_ISOINFRA current ; - package -template CYGPKG_LIBC current ; - package -template CYGPKG_LIBC_I18N current ; - package -template CYGPKG_LIBC_SETJMP current ; - package -template CYGPKG_LIBC_SIGNALS current ; - package -template CYGPKG_LIBC_STARTUP current ; - package -template CYGPKG_LIBC_STDIO current ; - package -template CYGPKG_LIBC_STDLIB current ; - package -template CYGPKG_LIBC_STRING current ; - package -template CYGPKG_LIBC_TIME current ; - package -template CYGPKG_LIBM current ; - package -template CYGPKG_IO_WALLCLOCK current ; - package -template CYGPKG_ERROR current ; - package -hardware CYGPKG_HAL_I386 current ; - package -hardware CYGPKG_HAL_I386_GENERIC current ; - package -hardware CYGPKG_HAL_I386_PC current ; - package -hardware CYGPKG_HAL_I386_PCMB current ; - package -hardware CYGPKG_IO_PCI current ; - package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X current ; - package -hardware CYGPKG_IO_SERIAL_I386_PC current ; - package -hardware CYGPKG_DEVS_ETH_INTEL_I82559 current ; - package -hardware CYGPKG_DEVS_ETH_I386_PC_I82559 current ; - package -hardware CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 current ; - package -hardware CYGPKG_DEVICES_WALLCLOCK_I386_PC current ; - package -hardware CYGPKG_DEVS_FRAMEBUF_I386 v3_0 ; - package CYGPKG_IO_FRAMEBUF current ; - package CYGPKG_BLOCK_LIB current ; - package CYGPKG_LINUX_COMPAT current ; - package CYGPKG_POSIX current ; - package CYGPKG_IO_FILEIO current ; - package CYGPKG_USTL 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. If your host operating system -# is Linux you can set this to empty to use your native tools. -# If so, your native gcc must be gcc-2.95.2 or later, and -# "ld -v" must report a version more recent than 2.9.1. -# -cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { - # Flavor: data - user_value i386-elf - # value_source user - # Default value: i386-elf -}; - -# 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 "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - # value_source user - # Default value: CYGBLD_GLOBAL_WARNFLAGS . " -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - # CYGBLD_GLOBAL_WARNFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings " - # --> "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - - # 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 "-g -nostdlib -Wl,--gc-sections -Wl,-static" - # value_source default - # Default value: "-g -nostdlib -Wl,--gc-sections -Wl,-static" -}; - -# Build GDB stub loader image -# This option enables the building of the GDB stubs for the -# board. The common HAL controls takes care of most of the -# build process, but the final conversion from ELF image to -# binary data is handled by the platform CDL, allowing -# relocation of the data if necessary. -# -cdl_option CYGBLD_BUILD_GDB_STUBS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "GRUB" - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # --> 1 - # Requires: CYGSEM_HAL_ROM_MONITOR - # CYGSEM_HAL_ROM_MONITOR == 0 - # --> 0 - # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS - # CYGBLD_BUILD_COMMON_GDB_STUBS == 0 - # --> 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 0 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 1 - # --> 0 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 1 - # --> 0 -}; - -# Standard compiler warning flags -# This option specifies the default warning-related compiler flags used -# on all eCos platforms. -# -cdl_option CYGBLD_GLOBAL_WARNFLAGS { - # Calculated value: "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings " - # Flavor: data - # Current_value: -Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings - - # The following properties are affected by this value - # option CYGBLD_GLOBAL_CFLAGS - # DefaultValue: CYGBLD_GLOBAL_WARNFLAGS . " -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " -}; - -# Build common GDB stub ROM image -# Unless a target board has specific requirements to the -# stub implementation, it can use a simple common stub. -# This option, which gets enabled by platform HALs as -# appropriate, controls the building of the common stub. -# -cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS -}; - -# < -# Redboot HAL options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_HAL_OPTIONS { - # This option is not active - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT (unknown) == 0 - # --> 0 - - # There is no associated value. -}; - -# > -# Build RedBoot binary image -# -cdl_component CYGBLD_BUILD_REDBOOT_BIN { - # This option is not active - # The parent CYGPKG_REDBOOT_HAL_OPTIONS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Build Redboot FLOPPY binary image -# This option enables the conversion of the Redboot -# ELF image to a binary image suitable for -# copying to a floppy disk. -# -cdl_option CYGBLD_BUILD_REDBOOT_BIN_FLOPPY { - # This option is not active - # The parent CYGBLD_BUILD_REDBOOT_BIN is not active - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT - # CYGBLD_BUILD_REDBOOT (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYG_HAL_STARTUP == "FLOPPY" - # CYG_HAL_STARTUP == GRUB - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# 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_ROM { - # This option is not active - # The parent CYGBLD_BUILD_REDBOOT_BIN is not active - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT - # CYGBLD_BUILD_REDBOOT (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" - # CYG_HAL_STARTUP == GRUB - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# < -# < -# Intel 82559 ethernet driver -# Ethernet driver for Intel 82559 controller. -# -cdl_package CYGPKG_DEVS_ETH_INTEL_I82559 { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This option is not active - # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS - # CYGPKG_IO_ETH_DRIVERS (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED - # CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED == 0 - # --> 0 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# Prints ethernet device status info during startup -# Definining this will cause the ethernet device initialization code -# to print lots of info -# to confirm that it has found the devices on the PCI bus, read -# the MAC address from EEPROM correctly, and so on, and also -# displays the mode (10/100MHz, half/full duplex) of the -# connection. If the value is set higher than one then -# additional information about each packet sent will be printed. -# -cdl_option CYGDBG_DEVS_ETH_INTEL_I82559_CHATTER { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # 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 supported interfaces. -# This option selects the number of PCI ethernet interfaces to -# be supported by the driver. -# -cdl_option CYGNUM_DEVS_ETH_INTEL_I82559_DEV_COUNT { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Calculated value: CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED - # CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED == 0 - # Flavor: data - # Current_value: 0 -}; - -# Keep Ethernet statistics -# The ethernet device can maintain statistics about the network, -# specifically a great variety of error rates which are useful -# for network management. SNMP for example uses this -# information. There is some performance cost in maintaining -# this information; disable this option to recoup that. -# -cdl_component CYGDBG_DEVS_ETH_INTEL_I82559_KEEP_STATISTICS { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Keep i82559 Internal statistics -# The i82559 keeps internal counters, and it is possible to -# acquire these. But the i82559 (reputedly) does not service -# the network whilst uploading the data to RAM from its -# internal registers. If throughput is a problem, disable -# this option to acquire only those statistics gathered by -# software, so that the i82559 never sleeps. -# -cdl_option CYGDBG_DEVS_ETH_INTEL_I82559_KEEP_82559_STATISTICS { - # This option is not active - # The parent CYGDBG_DEVS_ETH_INTEL_I82559_KEEP_STATISTICS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# SIOCSIFHWADDR records MAC address in EEPROM -# The ioctl() socket call with operand SIOCSIFHWADDR sets the -# interface hardware address - the MAC address or ethernet -# address. This option causes the new MAC address to be written -# into the EEPROM associated with the interface, so that the new -# MAC address is permanently recorded. Doing this should be a -# carefully chosen decision, hence this option. -# -cdl_component CYGPKG_DEVS_ETH_INTEL_I82559_WRITE_EEPROM { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Maximum number of RX descriptors -# An RX descriptor is used for each ethernet frame required -# to be passed to the upper networking layers. This option -# sets the maximum number of these. Higher numbers use more -# memory, lower numbers will reduce performance. The system -# appears to work OK with as few as 8 descriptors but limps -# painfully with only 4. Performance is better with more than -# 8, but assuming the size of non-cached (so useless for anything -# else) memory window is 1Mb, we might as well use it all. -# 128 RX and TX descriptors uses the whole 1Mb, near enough. -# -cdl_option CYGNUM_DEVS_ETH_INTEL_I82559_MAX_RX_DESCRIPTORS { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: CYGPKG_REDBOOT ? 4 : 128 - # CYGPKG_REDBOOT (unknown) == 0 - # --> 128 -}; - -# Maximum number of TX descriptors -# A TX descriptor is used for each ethernet frame passed down -# from upper networking layers for transmission. This option -# sets the maximum number of these. Higher numbers use more -# memory, lower numbers will reduce performance. The system -# appears to work OK with as few as 8 descriptors but limps -# painfully with only 4. Performance is better with more than -# 8, but assuming the size of non-cached (so useless for anything -# else) memory window is 1Mb, we might as well use it all. -# 128 RX and TX descriptors uses the whole 1Mb, near enough. -# -cdl_option CYGNUM_DEVS_ETH_INTEL_I82559_MAX_TX_DESCRIPTORS { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: CYGPKG_REDBOOT ? 4 : 128 - # CYGPKG_REDBOOT (unknown) == 0 - # --> 128 -}; - -# Intel 82559 ethernet driver build options -# -cdl_component CYGPKG_DEVS_ETH_INTEL_I82559_OPTIONS { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the Intel 82559 ethernet driver -# package. These flags are used in addition to the set of -# global flags. -# -cdl_option CYGPKG_DEVS_ETH_INTEL_I82559_CFLAGS_ADD { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559_OPTIONS is not active - - # 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" -}; - -# < -# < -# PC board ethernet driver -# Ethernet driver for PC. -# -cdl_package CYGPKG_DEVS_ETH_I386_PC_I82559 { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This option is not active - # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS - # CYGPKG_IO_ETH_DRIVERS (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYGPKG_HAL_I386_PC - # CYGPKG_HAL_I386_PC == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# Intel i82559 ethernet driver required -# -cdl_interface CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED { - # Implemented by CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0, inactive, enabled - # This option is not active - # The parent CYGPKG_DEVS_ETH_I386_PC_I82559 is not active - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # package CYGPKG_DEVS_ETH_INTEL_I82559 - # ActiveIf: CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED - # option CYGNUM_DEVS_ETH_INTEL_I82559_DEV_COUNT - # Calculated: CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED -}; - -# Ethernet port 0 driver -# -cdl_component CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0 { - # This option is not active - # The parent CYGPKG_DEVS_ETH_I386_PC_I82559 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Device name for the ETH0 ethernet port 0 driver -# This option sets the name of the ethernet device for the -# i82559 ethernet port 0. -# -cdl_option CYGDAT_DEVS_ETH_I386_PC_I82559_ETH0_NAME { - # This option is not active - # The parent CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"eth0\"" - # value_source default - # Default value: "\"eth0\"" -}; - -# Set the ethernet station address -# Enabling this option will allow the ethernet -# station address to be forced to the value set by the -# configuration. This may be required if the hardware does -# not include a serial EEPROM for the ESA. -# -cdl_component CYGSEM_DEVS_ETH_I386_PC_I82559_ETH0_SET_ESA { - # This option is not active - # The parent CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# The ethernet station address -# The ethernet station address -# -cdl_option CYGDAT_DEVS_ETH_I386_PC_I82559_ETH0_ESA { - # This option is not active - # The parent CYGSEM_DEVS_ETH_I386_PC_I82559_ETH0_SET_ESA is not active - # The parent CYGSEM_DEVS_ETH_I386_PC_I82559_ETH0_SET_ESA is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{0x08, 0x00, 0x00, 0x00, 0x00, 0x01}" - # value_source default - # Default value: "{0x08, 0x00, 0x00, 0x00, 0x00, 0x01}" -}; - -# < -# < -# < -# < -# 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 - # package CYGPKG_IO_FRAMEBUF - # Requires: CYGPKG_INFRA CYGPKG_HAL CYGPKG_ERROR -}; - -# > -# Platform-independent HAL options -# A number of configuration options are common to most or all -# HAL packages, for example options controlling how much state -# should be saved during a context switch. The implementations -# of these options will vary from architecture to architecture. -# -cdl_component CYGPKG_HAL_COMMON { - # There is no associated value. -}; - -# > -# Provide eCos kernel support -# The HAL can be configured to either support the full eCos -# kernel, or to support only very simple applications which do -# not require a full kernel. If kernel support is not required -# then some of the startup, exception, and interrupt handling -# code can be eliminated. -# -cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 -}; - -# HAL exception support -# When a processor exception occurs, for example an attempt to -# execute an illegal instruction or to perform a divide by -# zero, this exception may be handled in a number of different -# ways. If the target system has gdb support then typically -# the exception will be handled by gdb code. Otherwise if the -# HAL exception support is enabled then the HAL will invoke a -# routine deliver_exception(). Typically this routine will be -# provided by the eCos kernel, but it is possible for -# application code to provide its own implementation. If the -# HAL exception support is not enabled and a processor -# exception occurs then the behaviour of the system is -# undefined. -# -cdl_option CYGPKG_HAL_EXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS == 1 - # --> 1 - # Requires: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_KERNEL_EXCEPTIONS - # Requires: CYGPKG_HAL_EXCEPTIONS -}; - -# Stop calling constructors early -# This option supports environments where some constructors -# must be run in the context of a thread rather than at -# simple system startup time. A boolean flag named -# cyg_hal_stop_constructors is set to 1 when constructors -# should no longer be invoked. It is up to some other -# package to deal with the rest of the constructors. -# In the current version this is only possible with the -# C library. -# -cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # Requires: CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG -}; - -# HAL uses the MMU and allows for CDL manipulation of it's use -# -cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_HAL_INSTALL_MMU_TABLES - # ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES -}; - -# Install MMU tables. -# This option controls whether this application installs -# its own Memory Management Unit (MMU) tables, or relies on the -# existing environment to run. -# -cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES - # CYGINT_HAL_SUPPORTS_MMU_TABLES == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == GRUB - # --> 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 (unknown) == 0 - # CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0 - # CYGPKG_HAL_V85X_V850 (unknown) == 0 - # CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 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 == GRUB - # --> 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" -}; - -# < -# Grouped libraries for linking -# This option provides a list of libraries used to satisfy -# linker dependencies, but necessary for building eCos. It is passed -# to a GROUP() directive in the linker script, which is analogous -# to using the "-(" aka "--start-group", and "-)" aka -# "--end-group" options on the linker command line. -# It provides a similar function to adding "-llibname" to the -# linker, but with the added feature that each library in the group -# is scanned in turn for unresolved symbols, and this process is -# repeated until there are no more unresolved symbols. This is important -# for system libraries as there are often mutual dependencies. -# This option should not be used for adding application specific -# libraries. That should be done in the application's own makefile -# or link line. -# Users wishing to use the GNU Compiler prior to GCC 3.0 will -# need to remove libsupc++.a from this option. -# Note that libtarget.a is always required to build eCos. -# -cdl_component CYGBLD_HAL_LINKER_GROUPED_LIBS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "libtarget.a libgcc.a libsupc++.a" - # value_source default - # Default value: CYGBLD_HAL_LINKER_GROUPED_LIBS_DEFAULT - # CYGBLD_HAL_LINKER_GROUPED_LIBS_DEFAULT == "libtarget.a libgcc.a libsupc++.a" - # --> "libtarget.a libgcc.a libsupc++.a" - # Requires: is_substr(CYGBLD_HAL_LINKER_GROUPED_LIBS, "libtarget.a") - # CYGBLD_HAL_LINKER_GROUPED_LIBS == "libtarget.a libgcc.a libsupc++.a" - # --> 1 - - # The following properties are affected by this value - # component CYGBLD_HAL_LINKER_GROUPED_LIBS - # Requires: is_substr(CYGBLD_HAL_LINKER_GROUPED_LIBS, "libtarget.a") -}; - -# > -# Default setting -# This option is intended to be used by other eCos packages (including -# HAL packages) to provide a different default value for -# CYGBLD_HAL_LINKER_GROUPED_LIBS. -# This is separated into its own option to continue to -# allow the user to make customisations to the grouped library -# list. -# -cdl_option CYGBLD_HAL_LINKER_GROUPED_LIBS_DEFAULT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "libtarget.a libgcc.a libsupc++.a" - # value_source default - # Default value: "libtarget.a libgcc.a libsupc++.a" - - # The following properties are affected by this value - # component CYGBLD_HAL_LINKER_GROUPED_LIBS - # DefaultValue: CYGBLD_HAL_LINKER_GROUPED_LIBS_DEFAULT -}; - -# < -# < -# HAL interrupt handling -# A number of configuration options related to interrupt -# handling are common to most or all HAL packages, even though -# the implementations will vary from architecture to -# architecture. -# -cdl_component CYGPKG_HAL_COMMON_INTERRUPTS { - # There is no associated value. -}; - -# > -# Use separate stack for interrupts -# When an interrupt occurs this interrupt can be handled either -# on the current stack or on a separate stack maintained by the -# HAL. Using a separate stack requires a small number of extra -# instructions in the interrupt handling code, but it has the -# advantage that it is no longer necessary to allow extra space -# in every thread stack for the interrupt handlers. The amount -# of extra space required depends on the interrupt handlers -# that are being used. -# -cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Interrupt stack size -# This configuration option specifies the stack size in bytes -# for the interrupt stack. Typically this should be a multiple -# of 16, but the exact requirements will vary from architecture -# to architecture. The interrupt stack serves two separate -# purposes. It is used as the stack during system -# initialization. In addition, if the interrupt system is -# configured to use a separate stack then all interrupts will -# be processed on this stack. The exact memory requirements -# will vary from application to application, and will depend -# heavily on whether or not other interrupt-related options, -# for example nested interrupts, are enabled. On most targets, -# in a configuration with no kernel this stack will also be -# the stack used to invoke the application, and must obviously -# be appropriately large in that case. -# -cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4096 - # value_source default - # Default value: CYGPKG_KERNEL ? 4096 : 32768 - # CYGPKG_KERNEL == current - # --> 4096 - # Legal values: 128 to 1048576 -}; - -# Allow nested interrupts -# When an interrupt occurs the HAL interrupt handling code can -# either leave interrupts disabled for the duration of the -# interrupt handling code, or by doing some extra work it can -# reenable interrupts before invoking the interrupt handler and -# thus allow nested interrupts to happen. If all the interrupt -# handlers being used are small and do not involve any loops -# then it is usually better to disallow nested interrupts. -# However if any of the interrupt handlers are more complicated -# than nested interrupts will usually be required. -# -cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Save minimum context on interrupt -# The HAL interrupt handling code can exploit the calling conventions -# defined for a given architecture to reduce the amount of state -# that has to be saved. Generally this improves performance and -# reduces code size. However it can make source-level debugging -# more difficult. -# -cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # option CYGBLD_BUILD_GDB_STUBS - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT -}; - -# Chain all interrupts together -# Interrupts can be attached to vectors either singly, or be -# chained together. The latter is necessary if there is no way -# of discovering which device has interrupted without -# inspecting the device itself. It can also reduce the amount -# of RAM needed for interrupt decoding tables and code. -# -cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - - # The following properties are affected by this value - # option CYGIMP_KERNEL_INTERRUPTS_CHAIN - # Requires: CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN -}; - -# Ignore spurious [fleeting] interrupts -# On some hardware, interrupt sources may not be de-bounced or -# de-glitched. Rather than try to handle these interrupts (no -# handling may be possible), this option allows the HAL to simply -# ignore them. In most cases, if the interrupt is real it will -# reoccur in a detectable form. -# -cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# HAL context switch support -# A number of configuration options related to thread contexts -# are common to most or all HAL packages, even though the -# implementations will vary from architecture to architecture. -# -cdl_component CYGPKG_HAL_COMMON_CONTEXT { - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Use minimum thread context -# The thread context switch code can exploit the calling -# conventions defined for a given architecture to reduce the -# amount of state that has to be saved during a context -# switch. Generally this improves performance and reduces -# code size. However it can make source-level debugging more -# difficult. -# -cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # option CYGBLD_BUILD_GDB_STUBS - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM -}; - -# < -# Explicit control over cache behaviour -# These options let the default behaviour of the caches -# be easily configurable. -# -cdl_component CYGPKG_HAL_CACHE_CONTROL { - # There is no associated value. -}; - -# > -# Enable DATA cache on startup -# Enabling this option will cause the data cache to be enabled -# as soon as practicable when eCos starts up. One would choose -# to disable this if the data cache cannot safely be turned on, -# such as a case where the cache(s) require additional platform -# specific setup. -# -cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# DATA cache mode on startup -# This option controls the mode the cache will be set to -# when enabled on startup. -# -cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value COPYBACK - # 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. - - # The following properties are affected by this value -}; - -# > -# Support for GDB stubs -# The HAL implements GDB stubs for the target. -# -cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS { - # Implemented by CYGPKG_HAL_I386_PC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS -}; - -# Include GDB stubs in HAL -# This option causes a set of GDB stubs to be included into the -# system. On some target systems the GDB support will be -# provided by other means, for example by a ROM monitor. On -# other targets, especially when building a ROM-booting system, -# the necessary support has to go into the target library -# itself. When GDB stubs are include in a configuration, HAL -# serial drivers must also be included. -# -cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS { - # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS - # CYGINT_HAL_DEBUG_GDB_STUBS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 1 - # --> 0 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 1 - # --> 0 - # 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 CYGDBG_HAL_DEBUG_GDB_INITIAL_BREAK - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS -}; - -# Support for external break support in GDB stubs -# The HAL implements external break (or asynchronous interrupt) -# in the GDB stubs for the target. -# -cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK { - # Implemented by CYGPKG_HAL_I386_PC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK -}; - -# Include GDB external break support for stubs -# This option causes the GDB stub to add a serial interrupt handler -# which will listen for GDB break packets. This lets you stop the -# target asynchronously when using GDB, usually by hitting Control+C -# or pressing the STOP button. This option differs from -# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when -# GDB stubs are present. -# -cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT { - # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK - # CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # option CYGBLD_BUILD_GDB_STUBS - # Requires: ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT -}; - -# Platform does not support CTRLC -# -cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # ActiveIf: CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 -}; - -# Include GDB external break support when no stubs -# This option adds an interrupt handler for the GDB serial line -# which will listen for GDB break packets. This lets you stop the -# target asynchronously when using GDB, usually by hitting Control+C -# or pressing the STOP button. This option differs from -# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB -# stubs are NOT present. -# -cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT { - # 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 CYGBLD_BUILD_GDB_STUBS - # 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 == 0 - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # option CYGBLD_BUILD_GDB_STUBS - # 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" -}; - -# Enable initial breakpoint -# This option causes an application that has GDB stubs built in -# to take a breakpoint immediately before calling cyg_start(). -# This gives the developer a chance to set any breakpoints or -# inspect the system state before it proceeds. -# -cdl_option CYGDBG_HAL_DEBUG_GDB_INITIAL_BREAK { - # This option is not active - # ActiveIf constraint: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: !CYGPKG_REDBOOT - # CYGPKG_REDBOOT (unknown) == 0 - # --> 1 -}; - -# < -# 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_I386_PC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT -}; - -# Target supports baud rate control via vectors -# Whether this target supports the __COMMCTL_GETBAUD -# and __COMMCTL_SETBAUD virtual vector comm control operations. -# -cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Enable use of virtual vector calling interface -# Virtual vector support allows the HAL to let the ROM -# monitor handle certain operations. The virtual vector table -# defines a calling interface between applications running in -# RAM and the ROM monitor. -# -cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT { - # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT - # CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# 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 -}; - -# 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 -}; - -# 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 == GRUB - # 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_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_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_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 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 board, and this -# ROM monitor may process exceptions or interrupts generated from the -# application. This enables features such as utilizing a separate -# interrupt stack when exceptions are generated. -# -cdl_option CYGSEM_HAL_ROM_MONITOR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "GRUB" - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # --> 1 - # Requires: !CYGHWR_HAL_I386_FPU_SWITCH_LAZY - # CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 1 - # --> 0 - - # The following properties are affected by this value - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYGSEM_HAL_ROM_MONITOR - # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT -}; - -# 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 == GRUB - # --> 0 0 - # Legal values: "Generic" "GDB_stubs" - # Requires: CYG_HAL_STARTUP == "RAM" - # CYG_HAL_STARTUP == GRUB - # --> 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 { - # Implemented by CYGPKG_HAL_I386_PCMB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# Saved interrupt state required -# Components requiring access to saved interrupt state via the -# hal_saved_interrupt_state symbol should implement this -# interface. -# -cdl_interface CYGINT_HAL_COMMON_SAVED_INTERRUPT_STATE_REQUIRED { - # Implemented by CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT, active, disabled - # Implemented by CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT, inactive, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value -}; - -# File I/O operations via GDB -# This option enables support for various file I/O -# operations using the GDB remote protocol to communicate -# with GDB. The operations are then performed on the -# debugging host by proxy. These operations are only -# currently available by using a system call interface -# to RedBoot. This may change in the future. -# -cdl_option CYGPKG_HAL_GDB_FILEIO { - # This option is not active - # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS - # CYGSEM_REDBOOT_BSP_SYSCALLS (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 -}; - -# Build Compiler sanity checking tests -# Enabling this option causes compiler tests to be built. -# -cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - - # The following properties are affected by this value - # component CYGPKG_HAL_TESTS - # Calculated: "tests/context tests/basic" - # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") - # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") - # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") -}; - -# Common HAL tests -# This option specifies the set of tests for the common HAL. -# -cdl_component CYGPKG_HAL_TESTS { - # Calculated value: "tests/context tests/basic" - # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") - # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") - # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") - # CYGINT_HAL_TESTS_NO_CACHES == 0 - # CYGPKG_HAL_BUILD_COMPILER_TESTS == 0 - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # Flavor: data - # Current_value: tests/context tests/basic tests/cache -}; - -# > -# Interface for cache presence -# Some architectures and/or platforms do not have caches. By -# implementing this interface, these can disable the various -# cache-related tests. -# -cdl_interface CYGINT_HAL_TESTS_NO_CACHES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_HAL_TESTS - # Calculated: "tests/context tests/basic" - # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") - # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") - # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # -}; - -# < -# i386 architecture -# The i386 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_I386 { - # 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 CYGPKG_LIBM_CFLAGS_ADD - # DefaultValue: "-fno-strict-aliasing" . ((!CYGPKG_HAL_I386 && !CYGPKG_HAL_SYNTH_I386) ? "" : " -ffloat-store") -}; - -# > -# SMP support -# -cdl_component CYGPKG_HAL_SMP_SUPPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 0 - # CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 1 - # --> 0 - - # The following properties are affected by this value - # component CYGPKG_KERNEL_SMP_SUPPORT - # Requires: CYGPKG_HAL_SMP_SUPPORT - # component CYGPKG_HAL_I386_PCMB_SMP_SUPPORT - # ActiveIf: CYGPKG_HAL_SMP_SUPPORT - # component CYGPKG_HAL_I386_PCMB_SMP_SUPPORT - # Calculated: CYGPKG_HAL_SMP_SUPPORT -}; - -# > -# Max number of CPUs supported -# -cdl_option CYGPKG_HAL_SMP_CPU_MAX { - # This option is not active - # The parent CYGPKG_HAL_SMP_SUPPORT is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 2 - # value_source default - # Default value: 2 -}; - -# < -# Enable I386 FPU support -# This component enables support for the -# I386 floating point unit. -# -cdl_component CYGHWR_HAL_I386_FPU { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Use lazy FPU state switching -# This option enables lazy FPU state switching. -# The default behaviour for eCos is to save and -# restore FPU state on every thread switch, interrupt -# and exception. While simple and deterministic, this -# approach can be expensive if the FPU is not used by -# all threads. The alternative, enabled by this option, -# is to use hardware features that allow the FPU state -# of a thread to be left in the FPU after it has been -# descheduled, and to allow the state to be switched to -# a new thread only if it actually uses the FPU. Where -# only one or two threads use the FPU this can avoid a -# lot of unnecessary state switching. -# -cdl_option CYGHWR_HAL_I386_FPU_SWITCH_LAZY { - # 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_HAL_SMP_SUPPORT - # Requires: CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 0 - # option CYGSEM_HAL_ROM_MONITOR - # Requires: !CYGHWR_HAL_I386_FPU_SWITCH_LAZY -}; - -# < -# Enable Pentium class CPU features -# This component enables support for various -# features of Pentium class CPUs. -# -cdl_component CYGHWR_HAL_I386_PENTIUM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Save/Restore SSE registers on context switch -# This option enables SSE state switching. The default -# behaviour for eCos is to ignore the SSE registers. -# Enabling this option adds SSE state information to -# every thread context. -# -cdl_option CYGHWR_HAL_I386_PENTIUM_SSE { - # This option is not active - # The parent CYGHWR_HAL_I386_PENTIUM is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support extra Pentium registers in GDB stub -# This option enables support for extra Pentium registers -# in the GDB stub. These are registers such as CR0-CR4, and -# all MSRs. Not all GDBs support these registers, so the -# default behaviour for eCos is to not include them in the -# GDB stub support code. -# -cdl_option CYGHWR_HAL_I386_PENTIUM_GDB_REGS { - # This option is not active - # The parent CYGHWR_HAL_I386_PENTIUM is disabled - - # 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/i386.ld" - # Flavor: data - # Current_value: src/i386.ld -}; - -# Implementations of hal_i386_mem_real_region_top() -# -cdl_interface CYGINT_HAL_I386_MEM_REAL_REGION_TOP { - # Implemented by CYGPKG_HAL_I386_PCMB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # 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_I386_LINUX_EXEC { - # This option is not active - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC - # CYGBLD_BUILD_REDBOOT_WITH_EXEC (unknown) == 0 - # --> 0 - - # There is no associated value. -}; - -# > -# Address for the trampoline code -# This is the address to where the trampoline code is -# copied. The trampoline copies the image to its -# final location and jumps to its entry point. -# -cdl_option CYGHWR_REDBOOT_I386_TRAMPOLINE_ADDRESS { - # This option is not active - # The parent CYGPKG_REDBOOT_I386_LINUX_EXEC is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x0007C000 - # value_source default - # Default value: 0x0007C000 -}; - -# < -# i386 generic target -# This package provides support for generic IA32 CPU variants. -# Any CPU from an 80386 to the latest Pentium/Athlon should work -# with this variant HAL. Essentially this variant is empty, it -# just avoids providing any configuration to the generic architecture -# support in the architecture HAL. -# -cdl_package CYGPKG_HAL_I386_GENERIC { - # 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 -}; - -# i386 PC Target -# The i386 PC Target HAL package provides the -# support needed to run eCos binaries on an i386 PC. -# -cdl_package CYGPKG_HAL_I386_PC { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # package CYGPKG_DEVS_ETH_I386_PC_I82559 - # ActiveIf: CYGPKG_HAL_I386_PC - # package CYGPKG_DEVICES_WALLCLOCK_I386_PC - # ActiveIf: CYGPKG_HAL_I386_PC -}; - -# > -# How to discover the size of available RAM. -# It is possible for the HAL to discover the -# size of RAM In several ways. Currently this -# can be done by querying the BIOS or by -# hardcoding the values into the executable. -# -cdl_component CYGPKG_HAL_I386_PC_MEMSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value BIOS - # value_source default - # Default value: BIOS - # Legal values: "BIOS" "HARDCODE" - - # The following properties are affected by this value - # option CYGNUM_HAL_I386_PC_MEMSIZE_BASE - # ActiveIf: CYGPKG_HAL_I386_PC_MEMSIZE == "HARDCODE" - # option CYGNUM_HAL_I386_PC_MEMSIZE_EXTENDED - # ActiveIf: CYGPKG_HAL_I386_PC_MEMSIZE == "HARDCODE" -}; - -# > -# Amount of Base RAM available. -# -cdl_option CYGNUM_HAL_I386_PC_MEMSIZE_BASE { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_I386_PC_MEMSIZE == "HARDCODE" - # CYGPKG_HAL_I386_PC_MEMSIZE == BIOS - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x000F0000 - # value_source default - # Default value: 0x000F0000 -}; - -# Amount of Extended RAM available. -# -cdl_option CYGNUM_HAL_I386_PC_MEMSIZE_EXTENDED { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_I386_PC_MEMSIZE == "HARDCODE" - # CYGPKG_HAL_I386_PC_MEMSIZE == BIOS - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# Startup type -# It is possible to configure eCos for the PC target to build for: -# RAM startup (generally when being run under an existing -# Monitor program like RedBoot); FLOPPY startup (for writing -# to a floppy disk, which can then be used for booting -# on PCs with a standard BIOS), GRUB startup (for being booted -# by the GRUB bootloader) ROM startup (for writing -# straight to a boot ROM/Flash). ROM startup is experimental -# at this time. -# -cdl_component CYG_HAL_STARTUP { - # Flavor: data - user_value GRUB - # value_source user - # Default value: RAM - # Legal values: "RAM" "FLOPPY" "ROM" "GRUB" - - # The following properties are affected by this value - # option CYGBLD_BUILD_I386_ROMBOOT - # Calculated: CYG_HAL_STARTUP == "ROM" - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "GRUB" - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "GRUB" - # option CYGHWR_HAL_I386_PC_LOAD_HIGH - # Requires: CYG_HAL_STARTUP == "RAM" || CYG_HAL_STARTUP == "GRUB" - # option CYGHWR_HAL_I386_PC_LOAD_HIGH - # Requires: CYG_HAL_STARTUP == "RAM" || CYG_HAL_STARTUP == "GRUB" - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "GRUB" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "GRUB" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "GRUB" - # 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 CYGBLD_BUILD_REDBOOT_BIN_FLOPPY - # ActiveIf: CYG_HAL_STARTUP == "FLOPPY" - # option CYGBLD_BUILD_REDBOOT_BIN_ROM - # 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 -}; - -# Build ROM bootstrap code -# -cdl_option CYGBLD_BUILD_I386_ROMBOOT { - # Calculated value: CYG_HAL_STARTUP == "ROM" - # CYG_HAL_STARTUP == GRUB - # Flavor: bool - # Current value: 0 -}; - -# Diagnostic serial port baud rate -# This option selects the baud rate used for the diagnostic port. -# Note: this should match the value chosen for the GDB port if the -# diagnostic 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 38400 - # value_source default - # Default value: 38400 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# GDB serial port baud rate -# This option controls the baud rate used for the GDB connection. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 38400 - # value_source default - # Default value: 38400 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# Number of communication channels on the board -# This define the number of serial ports that will be used by the HAL. -# Ports 0 and 1 equate to COM1 and COM2 and port 2 is the PC screen and -# keyboard. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 3 - # value_source default - # Default value: CYGSEM_HAL_I386_PC_DIAG_SCREEN ? 3 : 2 - # CYGSEM_HAL_I386_PC_DIAG_SCREEN == 1 - # --> 3 - # Legal values: 1 to 3 - - # 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 -# On PCs with two 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 { - # 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 == 3 -}; - -# Default console channel. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT { - # 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 == 3 - - # The following properties are affected by this value - # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL - # DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT -}; - -# Diagnostic serial port -# On PCs with two serial ports, this option -# chooses which port will be used for diagnostic output. -# Selecting port 2 will cause the PC screen to be used. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL { - # 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 == 3 -}; - -# Output to PC screen -# This option enables use of the PC screen and keyboard as a -# third virtual serial device. -# -cdl_option CYGSEM_HAL_I386_PC_DIAG_SCREEN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS - # DefaultValue: CYGSEM_HAL_I386_PC_DIAG_SCREEN ? 3 : 2 - # option CYGNUM_HAL_I386_PC_STARTUP_VIDEO_MODE - # Requires: !CYGSEM_HAL_I386_PC_DIAG_SCREEN -}; - -# Load into higher memory (2MB) -# This option enables building RAM applications -# which have a start address outside of the area -# used by redboot_GRUB. -# -cdl_option CYGHWR_HAL_I386_PC_LOAD_HIGH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "RAM" || CYG_HAL_STARTUP == "GRUB" - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # --> 1 - - # The following properties are affected by this value - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" -}; - -# Memory layout -# -cdl_component CYGHWR_MEMORY_LAYOUT { - # Calculated value: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # Flavor: data - # Current_value: i386_pc_grub -}; - -# > -# Memory layout linker script fragment -# -cdl_option CYGHWR_MEMORY_LAYOUT_LDI { - # Calculated value: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # Flavor: data - # Current_value: <pkgconf/mlt_i386_pc_grub.ldi> -}; - -# Memory layout header file -# -cdl_option CYGHWR_MEMORY_LAYOUT_H { - # Calculated value: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # Flavor: data - # Current_value: <pkgconf/mlt_i386_pc_grub.h> -}; - -# < -# < -# i386 PC Motherboard Support -# The i386 PC Motherboard HAL package provides the -# support needed to run eCos binaries on an i386 PC -# using a standard motherboard. This package provides -# support for the standard PC devices: timers, interrupt -# controller, serial ports, ASCII display, keyboard, PCI -# bus etc. that are found on all PC compatible platforms. -# It does not provide support for devices that may also be -# found on modern motherboards, such as ethernet, sound and -# video devices. These are supported by drivers elsewhere. -# -cdl_package CYGPKG_HAL_I386_PCMB { - # 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_IO_SERIAL_I386_PC - # ActiveIf: CYGPKG_HAL_I386_PCMB -}; - -# > -# Real-time clock constants. -# The RTC period is based on the clock input -# to the 8254, which is 1193180 Hz. -# CYGNUM_HAL_RTC_PERIOD is set for 100 ticks -# per second. -# -cdl_component CYGNUM_HAL_RTC_CONSTANTS { - # There is no associated value. -}; - -# > -# Real-time clock numerator -# -cdl_option CYGNUM_HAL_RTC_NUMERATOR { - # Flavor: data - user_value 1000000000 - # value_source user - # Default value: 1000000000 -}; - -# Real-time clock denominator -# -cdl_option CYGNUM_HAL_RTC_DENOMINATOR { - # Flavor: data - user_value 1000 - # value_source user - # Default value: 100 -}; - -# Real-time clock period -# -cdl_option CYGNUM_HAL_RTC_PERIOD { - # Flavor: data - user_value 1193 - # value_source user - # Default value: 11932 -}; - -# < -# Search entire PCI space -# This option enables searching the entire PCI address space, including -# up to 256 busses, etc. Probably only useful when there are bridges or -# other PCI expanding devices (such as a board with it's own PCI bus) -# in the system. If disabled, the system will revert to the default -# PCI space size (typically 8 busses). -# -cdl_option CYGSEM_HAL_I386_PC_LARGE_PCI_SPACE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Switch the display to an alternative video mode -# This option can be used when building RedBoot to switch -# the display to a suitable mode, typically before running -# an eCos graphical application. The mode switch involves -# calling the PC Video BIOS, so needs to happen while the -# processor is still running in real mode. Some information -# about the video BIOS, the current mode, and the available -# modes will be written to video memory so that the eCos -# application knows what happened. -# Different graphics cards use different numbers for the -# various modes, so there is no simple way of knowing which -# mode should be specified to achieve the desired resolution. -# Instead RedBoot can be built with a suitable default, for -# example 0x0100, and then a simple eCos application can be -# built using an appropriate eCos configuration and -# run to find out about all the available mode. RedBoot can -# then be reconfigured and rebuilt to use a suitable mode. -# The PC motherboard support package comes with a simple -# eCos program gfxmode.c which can be used for this. -# -cdl_option CYGNUM_HAL_I386_PC_STARTUP_VIDEO_MODE { - # This option is not active - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT (unknown) == 0 - # --> 0 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Requires: !CYGSEM_HAL_I386_PC_DIAG_SCREEN - # CYGSEM_HAL_I386_PC_DIAG_SCREEN == 1 - # --> 0 -}; - -# -cdl_component CYGPKG_HAL_I386_PCMB_SMP_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_SMP_SUPPORT - # CYGPKG_HAL_SMP_SUPPORT == 0 - # --> 0 - - # Calculated value: CYGPKG_HAL_SMP_SUPPORT - # CYGPKG_HAL_SMP_SUPPORT == 0 - # Flavor: bool - # Current value: 0 -}; - -# Support for gprof profiling -# The PC HAL support can provide a profiling timer for use -# by the gprof package. However the hardware only provides a -# single source of timer interrupts so this must be shared -# between the system clock and the profiling code. The current -# implementation requires that the system clock be initialized -# first (which happens in a static constructor with priority -# CYG_INIT_CLOCK), then profiling can be enabled via a call -# to profile_on(). -# -cdl_option CYGFUN_HAL_I386_PCMB_GPROF_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGPKG_PROFILE_GPROF - # CYGPKG_PROFILE_GPROF (unknown) == 0 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 -}; - -# Enable PC screen support -# This option enables support for the PC screen and -# keyboard. These are combined into a virtual serial -# device that may be used for diagnostic output. -# Note that there is little point in trying to use it -# as a debug channel. -# -cdl_interface CYGINT_HAL_I386_PCMB_SCREEN_SUPPORT { - # Implemented by CYGSEM_HAL_I386_PC_DIAG_SCREEN, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# < -# < -# < -# I/O sub-system -# doc: ref/io.html -# The eCos system is supplied with a number of different -# device drivers. This option enables the basic I/O system -# support which is the basis for all drivers. -# -cdl_package CYGPKG_IO { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_IO_SERIAL - # ActiveIf: CYGPKG_IO - # package CYGPKG_LIBC_STDIO - # Requires: CYGPKG_IO - # option CYGPKG_IO_FILEIO_DEVFS_SUPPORT - # ActiveIf: CYGPKG_IO - # package CYGPKG_USTL - # Requires: CYGPKG_IO -}; - -# > -# Debug I/O sub-system -# This option enables verbose messages to be displayed on the -# system 'diag' device during I/O system initialization. -# -cdl_option CYGDBG_IO_INIT { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 0 -}; - -# Basic support for file based I/O -# This option control support for simple file I/O primitives. It is only -# present if the FILEIO package is not included. -# -cdl_component CYGPKG_IO_FILE_SUPPORT { - # This option is not active - # ActiveIf constraint: !CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Number of open files -# This option controls the number of open files. -# -cdl_option CYGPKG_IO_NFILE { - # This option is not active - # The parent CYGPKG_IO_FILE_SUPPORT is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 -}; - -# < -# Serial device drivers -# doc: ref/io.html -# This option enables drivers for basic I/O services on -# serial devices. -# -cdl_package CYGPKG_IO_SERIAL { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # ActiveIf constraint: CYGPKG_IO - # CYGPKG_IO == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_IO_SERIAL_GENERIC_16X5X - # ActiveIf: CYGPKG_IO_SERIAL - # package CYGPKG_IO_SERIAL_I386_PC - # ActiveIf: CYGPKG_IO_SERIAL -}; - -# > -# Support non-blocking read and write calls -# This option enables extra code in the generic serial driver -# which allows clients to switch read() and write() call -# semantics from blocking to non-blocking. -# -cdl_option CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Driver requires block transfer callback functions -# Some low-level drivers can be optimized to transfer blocks -# of data instead of a single character at a time. These usually -# rely on a hardware FIFO of some sort. -# -cdl_interface CYGINT_IO_SERIAL_BLOCK_TRANSFER { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Serial driver supports line status -# -cdl_interface CYGINT_IO_SERIAL_LINE_STATUS_HW { - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL0, active, enabled - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL1, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # option CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS - # Requires: CYGINT_IO_SERIAL_LINE_STATUS_HW > 0 - # option CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS - # DefaultValue: 0 != CYGINT_IO_SERIAL_LINE_STATUS_HW -}; - -# Support line status callbacks -# This option indicates that if the serial driver supports it, -# serial line status and modem status information should be -# propagated to higher layers via callbacks. -# -cdl_option CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_IO_SERIAL_LINE_STATUS_HW - # CYGINT_IO_SERIAL_LINE_STATUS_HW == 2 - # --> 1 - # Requires: CYGINT_IO_SERIAL_LINE_STATUS_HW > 0 - # CYGINT_IO_SERIAL_LINE_STATUS_HW == 2 - # --> 1 - - # The following properties are affected by this value - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # Requires: CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # DefaultValue: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 ? CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS : 0 -}; - -# Flow control -# This component contains options related to flow control. -# -cdl_component CYGPKG_IO_SERIAL_FLOW_CONTROL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: (CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE || CYGOPT_IO_SERIAL_FLOW_CONTROL_HW) - # CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE == 0 - # CYGOPT_IO_SERIAL_FLOW_CONTROL_HW == 0 - # --> 0 -}; - -# > -# Software flow control -# This component enables support of software flow control. -# -cdl_component CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # component CYGPKG_IO_SERIAL_FLOW_CONTROL - # Requires: (CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE || CYGOPT_IO_SERIAL_FLOW_CONTROL_HW) -}; - -# > -# Start character -# This option specifies the ascii character used to -# indicate that transmission should start. -# -cdl_option CYGDAT_IO_SERIAL_FLOW_CONTROL_XON_CHAR { - # This option is not active - # The parent CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 17 - # value_source default - # Default value: 17 - # Legal values: 0 to 255 -}; - -# Stop character -# This option specifies the ascii character used to -# indicate that transmission should stop. -# -cdl_option CYGDAT_IO_SERIAL_FLOW_CONTROL_XOFF_CHAR { - # This option is not active - # The parent CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 19 - # value_source default - # Default value: 19 - # Legal values: 0 to 255 -}; - -# < -# Hardware flow control -# If the hardware supports it, this option allows hardware -# flow control to be enabled. This may be in the form of -# either or both of RTS/CTS, or DSR/DTR flow control. -# -cdl_option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - # ActiveIf constraint: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 - # CYGINT_IO_SERIAL_FLOW_CONTROL_HW == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 ? CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS : 0 - # CYGINT_IO_SERIAL_FLOW_CONTROL_HW == 0 - # CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS == 1 - # --> 0 - # Requires: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 - # CYGINT_IO_SERIAL_FLOW_CONTROL_HW == 0 - # --> 0 - # Requires: CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS - # CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_IO_SERIAL_FLOW_CONTROL - # Requires: (CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE || CYGOPT_IO_SERIAL_FLOW_CONTROL_HW) -}; - -# Serial h/w supports hardware flow control -# -cdl_interface CYGINT_IO_SERIAL_FLOW_CONTROL_HW { - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL0, active, enabled - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL1, active, enabled - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # ActiveIf: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # Requires: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # DefaultValue: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 ? CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS : 0 -}; - -# Default flow control method -# This option allows a default flow control method -# to be defined. Combinations of flow control methods -# may also be set, but this is only possible by -# using the cyg_io_set_config() API in source code. -# -cdl_option CYGDAT_IO_SERIAL_FLOW_CONTROL_DEFAULT { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value NONE - # value_source default - # Default value: NONE - # Legal values: "NONE" "XONXOFF" "RTSCTS" "DSRDTR" -}; - -# Rx flow control low water mark -# This sets the water mark used for determining -# when to disable flow control, expressed -# as a percentage of the buffer size. When the -# receive buffer size is lower than this percentage, -# if the transmitter had previously been throttled, it -# will now be informed it can restart. -# -cdl_option CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 33 - # value_source default - # Default value: 33 - # Legal values: 1 to 100 - - # The following properties are affected by this value - # option CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT - # Requires: CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT >= CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT -}; - -# Rx flow control high water mark -# This sets the water mark used for determining -# when to enable flow control, expressed -# as a percentage of the buffer size. When the -# receive buffer size exceeds this percentage, -# signals are sent to the transmitter to tell it -# to throttle tranmission. -# -cdl_option CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 66 - # value_source default - # Default value: 66 - # Legal values: 1 to 100 - # Requires: CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT >= CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT - # CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT == 0 - # CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT - # Requires: CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT >= CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT -}; - -# < -# TTY-mode serial device drivers -# This option enables a simple terminal-like device driver -# that can be used for serial devices that interact with humans, -# such as a system console. -# -cdl_component CYGPKG_IO_SERIAL_TTY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# HAL/diag serial device driver -# This option enables the use of the HAL diagnostic channel -# via the standard I/O drivers. -# -cdl_component CYGPKG_IO_SERIAL_HALDIAG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? CYGPKG_IO_SERIAL_HALDIAG : 1) -}; - -# Console device name -# This option selects the TTY device to use for the console. -# -cdl_option CYGDAT_IO_SERIAL_TTY_CONSOLE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ttydiag\"" - # value_source default - # Default value: "\"/dev/ttydiag\"" - - # The following properties are affected by this value - # option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE - # DefaultValue: CYGDAT_IO_SERIAL_TTY_CONSOLE ? CYGDAT_IO_SERIAL_TTY_CONSOLE : "\"/dev/null\"" - # option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE - # DefaultValue: CYGDAT_IO_SERIAL_TTY_CONSOLE ? CYGDAT_IO_SERIAL_TTY_CONSOLE : "\"/dev/null\"" -}; - -# TTY mode HAL/diag channel -# This option causes '/dev/ttydiag' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTYDIAG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# TTY mode channel #0 -# This option causes '/dev/tty0' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTY0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# TTY mode channel #0 device -# This option selects the physical device to use for -# '/dev/tty0'. -# -cdl_option CYGDAT_IO_SERIAL_TTY_TTY0_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TTY_TTY0 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser0\"" - # value_source default - # Default value: "\"/dev/ser0\"" -}; - -# < -# TTY mode channel #1 -# This option causes '/dev/tty1' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTY1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# TTY mode channel #1 device -# This option selects the physical device to use for -# '/dev/tty1'. -# -cdl_option CYGDAT_IO_SERIAL_TTY_TTY1_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TTY_TTY1 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser1\"" - # value_source default - # Default value: "\"/dev/ser1\"" -}; - -# < -# TTY mode channel #2 -# This option causes '/dev/tty2' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTY2 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# TTY mode channel #2 device -# This option selects the physical device to use for -# '/dev/tty2'. -# -cdl_option CYGDAT_IO_SERIAL_TTY_TTY2_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TTY_TTY2 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser2\"" - # value_source default - # Default value: "\"/dev/ser2\"" -}; - -# < -# TTY mode channel #3 -# This option causes '/dev/tty3' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTY3 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# TTY mode channel #3 device -# This option selects the physical device to use for -# '/dev/tty3'. -# -cdl_option CYGDAT_IO_SERIAL_TTY_TTY3_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TTY_TTY3 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser3\"" - # value_source default - # Default value: "\"/dev/ser3\"" -}; - -# < -# < -# Termios compatible TTY drivers -# This option enables terminal drivers compatible with -# POSIX termios. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # CYGPKG_ISOINFRA == current - # CYGPKG_IO_FILEIO == current - # CYGINT_ISO_ERRNO_CODES == 1 - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 -}; - -# > -# Interface for termios tty driver file enabling -# -cdl_interface CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY { - # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS0, active, disabled - # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS1, active, disabled - # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS2, active, disabled - # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS3, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGBLD_IO_SERIAL_TERMIOS_TERMIOS_TTY - # ActiveIf: CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY > 0 -}; - -# Build termios tty driver file -# -cdl_option CYGBLD_IO_SERIAL_TERMIOS_TERMIOS_TTY { - # This option is not active - # ActiveIf constraint: CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY > 0 - # CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY == 0 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Termios TTY channel #0 -# This option causes '/dev/termios0' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Termios TTY channel #0 device -# This option selects the physical device to use for -# '/dev/termios0'. -# -cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS0_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS0 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser0\"" - # value_source default - # Default value: "\"/dev/ser0\"" -}; - -# < -# Termios TTY channel #1 -# This option causes '/dev/termios1' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Termios TTY channel #1 device -# This option selects the physical device to use for -# '/dev/termios1'. -# -cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS1_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS1 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser1\"" - # value_source default - # Default value: "\"/dev/ser1\"" -}; - -# < -# Termios TTY channel #2 -# This option causes '/dev/termios2' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS2 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Termios TTY channel #2 device -# This option selects the physical device to use for -# '/dev/termios2'. -# -cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS2_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS2 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser2\"" - # value_source default - # Default value: "\"/dev/ser2\"" -}; - -# < -# Termios TTY channel #3 -# This option causes '/dev/termios3' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS3 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Termios TTY channel #3 device -# This option selects the physical device to use for -# '/dev/termios3'. -# -cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS3_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS3 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser3\"" - # value_source default - # Default value: "\"/dev/ser3\"" -}; - -# < -# Support signals -# This option selects whether those parts of the termios -# interface involving signals is supported. This includes -# BRKINT mode, the INTR and QUIT characters, and whether -# SIGHUP is sent on terminal close. -# -cdl_option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS { - # Flavor: bool - user_value 1 - # value_source user - # Default value: CYGINT_ISO_SIGNAL_NUMBERS != 0 && CYGINT_ISO_SIGNAL_IMPL != 0 - # CYGINT_ISO_SIGNAL_NUMBERS == 1 - # CYGINT_ISO_SIGNAL_IMPL == 1 - # --> 1 - # Requires: CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 1 - # --> 1 - # Requires: CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 1 - # --> 1 -}; - -# < -# Hardware serial device drivers -# This option enables the hardware device drivers -# for the current platform. -# -cdl_component CYGPKG_IO_SERIAL_DEVICES { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 - - # The following properties are affected by this value - # option CYGPKG_IO_SERIAL_TESTS - # Calculated: CYGPKG_IO_SERIAL_DEVICES ? "tests/serial1 tests/serial2 tests/serial3 tests/serial4 tests/serial5 tests/tty1 tests/tty2 tests/flow1 tests/flow2" : "" -}; - -# > -# 16x5x generic serial device drivers -# This option enables the serial device drivers for the -# 16x5x compatiple controllers. -# -cdl_package CYGPKG_IO_SERIAL_GENERIC_16X5X { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # ActiveIf constraint: CYGPKG_IO_SERIAL - # CYGPKG_IO_SERIAL == current - # --> 1 - # ActiveIf constraint: CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED - # CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED == 2 - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 -}; - -# > -# Per channel interrupt priority support -# A platform should implement this interface if it supports -# per channel interrupt priorities. If a platform implements -# this interface it needs to provide an interrupt priority -# value for each UART channel it supports. -# -cdl_interface CYGINT_IO_SERIAL_GENERIC_16X5X_CHAN_INTPRIO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 -}; - -# Transmission require priming -# This option should be switched on when enabling THRE interrupt -# does not generate interrupt unless bytes are posted to the FIFO. -# -cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_XMIT_REQUIRE_PRIME { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 16x5x FIFO support -# Options to configure the FIFO on a 16550 (or above) variant. -# -cdl_component CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Threshold for RX interrupt on 16550 FIFO -# This options configures the threshold value at which -# the RX interrupt occurs when a FIFO is used. (16550 and -# above only), this may be after 1, 4, 8 or 14 characters. -# -cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO_RX_THRESHOLD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Legal values: 14 8 4 1 -}; - -# 16x5x TX FIFO size -# Configures the maximum number of bytes written to the -# 16x5x UART transmit FIFO when the TX interrupt occurs. -# -cdl_option CYGNUM_IO_SERIAL_GENERIC_16X5X_FIFO_TX_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 -}; - -# < -# Serial device driver build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_IO_SERIAL_GENERIC_16X5X_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building these serial device drivers. These flags are -# used in addition to the set of global flags. -# -cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building these serial device drivers. These flags are -# removed from the set of global flags if present. -# -cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# < -# PC serial device drivers -# This option enables the serial device drivers for the -# PC. -# -cdl_package CYGPKG_IO_SERIAL_I386_PC { - # 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_SERIAL - # CYGPKG_IO_SERIAL == current - # --> 1 - # ActiveIf constraint: CYGPKG_HAL_I386_PCMB - # CYGPKG_HAL_I386_PCMB == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 -}; - -# > -# Generic 16x5x serial driver required -# -cdl_interface CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED { - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL0, active, enabled - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL1, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # package CYGPKG_IO_SERIAL_GENERIC_16X5X - # ActiveIf: CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED -}; - -# PC serial port 0 driver -# This option includes the serial device driver for port 0 on the -# PC. -# -cdl_component CYGPKG_IO_SERIAL_I386_PC_SERIAL0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # component CYGPKG_IO_SERIAL_I386_PC_TESTING - # ActiveIf: CYGPKG_IO_SERIAL_I386_PC_SERIAL0 -}; - -# > -# Device name for PC serial port 0 -# This option specifies the device name port 0 on the PC. -# -cdl_option CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser0\"" - # value_source default - # Default value: "\"/dev/ser0\"" - - # The following properties are affected by this value - # option CYGPRI_SER_TEST_SER_DEV - # DefaultValue: CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME -}; - -# Baud rate for the PC serial port 0 driver -# This option specifies the default baud rate (speed) for the -# PC port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 38400 - # value_source default - # Default value: 38400 - # Legal values: 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600 - # 4800 7200 9600 14400 19200 38400 57600 115200 230400 - # -}; - -# Buffer size for the PC serial port 0 driver -# This option specifies the size of the internal buffers used -# for the PC port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_BUFSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 - # Legal values: 0 to 8192 -}; - -# I/O base address for the i386-PC serial port 0 -# This option specifies the I/O address of the 8250 or 16550 for serial port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IOBASE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x000003F8 - # value_source default - # Default value: 0x000003F8 - # Legal values: 0 to 0xFF8 -}; - -# IRQ for the i386-PC serial port 0 -# This option specifies the IRQ of the 8250 or 16550 for serial port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 0 to 15 - - # The following properties are affected by this value - # option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_INT - # DefaultValue: CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ + 32 -}; - -# INT for the i386-PC serial port 0 -# This option specifies the interrupt vector of the 8250 or 16550 for serial port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_INT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 36 - # value_source default - # Default value: CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ + 32 - # CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ == 4 - # --> 36 - # Legal values: 32 to 47 -}; - -# < -# PC serial port 1 driver -# This option includes the serial device driver for port 1 on -# the PC. -# -cdl_component CYGPKG_IO_SERIAL_I386_PC_SERIAL1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Device name for PC serial port 1 -# This option specifies the device name port 1 on the PC. -# -cdl_option CYGDAT_IO_SERIAL_I386_PC_SERIAL1_NAME { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser1\"" - # value_source default - # Default value: "\"/dev/ser1\"" -}; - -# Baud rate for the PC serial port 1 driver -# This option specifies the default baud rate (speed) for the -# PC port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 38400 - # value_source default - # Default value: 38400 - # Legal values: 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600 - # 4800 7200 9600 14400 19200 38400 57600 115200 230400 - # -}; - -# Buffer size for the PC serial port 1 driver -# This option specifies the size of the internal buffers used -# for the PC port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_BUFSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 - # Legal values: 0 to 8192 -}; - -# I/O base address for the i386-PC serial port 1 -# This option specifies the I/O address of the 8250 or 16550 for serial port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IOBASE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x000002F8 - # value_source default - # Default value: 0x000002F8 - # Legal values: 0 to 0xFF8 -}; - -# IRQ for the i386-PC serial port 1 -# This option specifies the IRQ of the 8250 or 16550 for serial port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 3 - # value_source default - # Default value: 3 - # Legal values: 0 to 15 - - # The following properties are affected by this value - # option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_INT - # DefaultValue: CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ + 32 -}; - -# INT for the i386-PC serial port 1 -# This option specifies the interrupt vector of the 8250 or 16550 for serial port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_INT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 35 - # value_source default - # Default value: CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ + 32 - # CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ == 3 - # --> 35 - # Legal values: 32 to 47 -}; - -# < -# Serial device driver build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_IO_SERIAL_I386_PC_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building these serial device drivers. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_SERIAL_I386_PC_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 these serial device drivers. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_SERIAL_I386_PC_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# Testing parameters -# -cdl_component CYGPKG_IO_SERIAL_I386_PC_TESTING { - # ActiveIf constraint: CYGPKG_IO_SERIAL_I386_PC_SERIAL0 - # CYGPKG_IO_SERIAL_I386_PC_SERIAL0 == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Serial device used for testing -# -cdl_option CYGPRI_SER_TEST_SER_DEV { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser0\"" - # value_source default - # Default value: CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME - # CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME == "\"/dev/ser0\"" - # --> "\"/dev/ser0\"" -}; - -# < -# < -# < -# Build extra serial tests -# This option enables the building of some extra tests which -# can be used when testing / debugging serial drivers. These -# are not built by default since they do not use the dedicated -# testing infrastructure. -# -cdl_option CYGBLD_IO_SERIAL_EXTRA_TESTS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Serial device driver build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_IO_SERIAL_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the serial device drivers. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_SERIAL_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the serial device drivers. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_SERIAL_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Serial device driver tests -# This option specifies the set of tests for the serial device drivers. -# -cdl_option CYGPKG_IO_SERIAL_TESTS { - # Calculated value: CYGPKG_IO_SERIAL_DEVICES ? "tests/serial1 tests/serial2 tests/serial3 tests/serial4 tests/serial5 tests/tty1 tests/tty2 tests/flow1 tests/flow2" : "" - # CYGPKG_IO_SERIAL_DEVICES == 1 - # Flavor: data - # Current_value: tests/serial1 tests/serial2 tests/serial3 tests/serial4 tests/serial5 tests/tty1 tests/tty2 tests/flow1 tests/flow2 -}; - -# < -# Enable serial device select support -# This option enables support for the select() API function on all -# serial devices. -# -cdl_option CYGPKG_IO_SERIAL_SELECT_SUPPORT { - # ActiveIf constraint: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_IO_FILEIO_SELECT == 1 - # CYGFUN_IO_FILEIO_SELECT == 1 - # --> 1 -}; - -# Serial testing specification -# -cdl_component CYGPKG_IO_SERIAL_TEST_SPECS { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Skip 9600 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_9600 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 14400 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_14400 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 19200 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_19200 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 38400 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_38400 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 57600 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_57600 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 115200 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_115200 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip even-parity testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_PARITY_EVEN { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip odd-parity testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_PARITY_ODD { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 2-stop bit testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_STOP_2 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# < -# < -# PCI configuration library -# doc: ref/io-pci.html -# The PCI configuration library provides initialization of devices -# on the PCI bus. Functions to find and access these devices are -# also provided. -# -cdl_package CYGPKG_IO_PCI { - # 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 -}; - -# > -# PCI 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_PCI_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the PCI configuration library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_PCI_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 PCI configuration library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_PCI_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Enable debugging. -# This option enables minimal debugging of the PCI library. -# In particular, it will print information about devices as the -# PCI bus is being scanned/searched. -# -cdl_option CYGPKG_IO_PCI_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# PCI tests -# This option specifies the set of tests for the PCI configuration library. -# -cdl_option CYGPKG_IO_PCI_TESTS { - # Calculated value: "tests/pci1 tests/pci2" - # Flavor: data - # Current_value: tests/pci1 tests/pci2 -}; - -# Writeback Interrupt Line register. -# This option causes a PCI device interrupt vector to be -# written to the Interrupt Line register in config space. -# This is traditionally done by a BIOS so that device -# drivers can read the interrupt vector directly from -# device configuration space. -# -cdl_option CYGPKG_IO_PCI_CONFIGURE_INTLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < -# < -# Infrastructure -# Common types and useful macros. -# Tracing and assertion facilities. -# Package startup options. -# -cdl_package CYGPKG_INFRA { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # package CYGPKG_HAL - # Requires: CYGPKG_INFRA - # package CYGPKG_IO_FRAMEBUF - # Requires: CYGPKG_INFRA CYGPKG_HAL CYGPKG_ERROR -}; - -# > -# 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 - # component CYGFUN_KERNEL_THREADS_STACK_CHECKING - # ActiveIf: CYGPKG_INFRA_DEBUG - # component CYGFUN_KERNEL_THREADS_STACK_MEASUREMENT - # DefaultValue: 0 != CYGPKG_INFRA_DEBUG - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # -}; - -# > -# Use asserts -# If this option is defined, asserts in the code are tested. -# Assert functions (CYG_ASSERT()) are defined in -# 'include/cyg/infra/cyg_ass.h' within the 'install' tree. -# If it is not defined, these result in no additional -# object code and no checking of the asserted conditions. -# -cdl_component CYGDBG_USE_ASSERTS { - # 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 - # component CYGFUN_KERNEL_THREADS_STACK_CHECKING - # ActiveIf: CYGDBG_USE_ASSERTS - # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG - # Requires: CYGDBG_USE_ASSERTS - # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG - # DefaultValue: 0 != CYGDBG_USE_ASSERTS - # option CYGSEM_LIBC_SIGNALS_BAD_SIGNAL_FATAL - # Requires: 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 - # option CYGDBG_KERNEL_TRACE_TIMESLICE - # ActiveIf: CYGDBG_USE_TRACING - # component CYGPKG_LIBM_TRACE - # Requires: CYGDBG_USE_TRACING -}; - -# > -# Trace function reports -# This option allows individual control of -# function entry/exit tracing, independent of -# more general tracing output. -# This may be useful to remove clutter from a -# trace log. -# -cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS { - # This option is not active - # The parent CYGDBG_USE_TRACING is 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 - - # The following properties are affected by this value - # option CYGDBG_KERNEL_TRACE_TIMESLICE - # Requires: !CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE -}; - -# Fancy output -# An output module which produces fancy output -# from tracing and assertion events. -# -cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY { - # 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 - - # The following properties are affected by this value - # option CYGDBG_KERNEL_TRACE_TIMESLICE - # Requires: !CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY -}; - -# Buffered tracing -# An output module which buffers output -# from tracing and assertion events. The stored -# messages are output when an assert fires, or -# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>) -# 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 0 - # value_source default - # Default value: CYGINT_ISO_EXIT == 0 - # CYGINT_ISO_EXIT == 1 - # --> 0 - # Requires: !CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 1 - # --> 0 -}; - -# Reset platform at end of test case execution -# If this option is set then test case programs will reset the platform -# when they terminate, as opposed to the default which is to just hang -# in a loop. -# -cdl_option CYGSEM_INFRA_RESET_ON_TEST_EXIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Provide dummy strlen() function -# This option controls the inclusion of a dummy strlen() function. -# Parts of the C and C++ compiler runtime systems contain references -# to strlen(), particulary in the C++ exception handling code. It is -# not possible to eliminate these references, so this dummy function -# in included to satisfy them. While it is not expected that this function -# will ever be called, it is functional but uses the simplest, smallest -# algorithm. There is a faster version of strlen() in the C library. -# -cdl_option CYGFUN_INFRA_DUMMY_STRLEN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGINT_ISO_STRING_STRFUNCS == 0 - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 0 - # Requires: !CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 0 -}; - -# Make all compiler warnings show as errors -# Enabling this option will cause all compiler warnings to show -# as errors and bring the library build to a halt. This is used -# to ensure that the code base is warning free, and thus ensure -# that newly introduced warnings stand out and get fixed before -# they show up as weird run-time behavior. -# -cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - # --> 0 -}; - -# Make compiler and assembler communicate by pipe -# Enabling this option will cause the compiler to feed the -# assembly output the the assembler via a pipe instead of -# via a temporary file. This normally reduces the build -# time. -# -cdl_option CYGBLD_INFRA_CFLAGS_PIPE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - # --> 0 -}; - -# Infra build options -# Package specific build options including control over -# compiler flags used only in building this package. -# -cdl_component CYGPKG_INFRA_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the eCos infra package. These flags are used -# in addition to the set of global flags. -# -cdl_option CYGPKG_INFRA_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the eCos infra package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_INFRA_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed linker flags -# This option modifies the set of linker flags for -# building the eCos infra package tests. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wl,--gc-sections - # value_source default - # Default value: -Wl,--gc-sections -}; - -# Additional linker flags -# This option modifies the set of linker flags for -# building the eCos infra package tests. These flags are added to -# the set of global flags if present. -# -cdl_option CYGPKG_INFRA_LDFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wl,--fatal-warnings - # value_source default - # Default value: -Wl,--fatal-warnings -}; - -# Infra package tests -# -cdl_component CYGPKG_INFRA_TESTS { - # Calculated value: "tests/cxxsupp 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 -}; - -# < -# < -# < -# eCos kernel -# doc: ref/kernel.html -# This package contains the core functionality of the eCos -# kernel. It relies on functionality provided by various HAL -# packages and by the eCos infrastructure. In turn the eCos -# kernel provides support for other packages such as the device -# drivers and the uITRON compatibility layer. -# -cdl_package CYGPKG_KERNEL { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # option CYGFUN_HAL_COMMON_KERNEL_SUPPORT - # Requires: CYGPKG_KERNEL - # option CYGFUN_HAL_COMMON_KERNEL_SUPPORT - # DefaultValue: CYGPKG_KERNEL - # option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE - # DefaultValue: CYGPKG_KERNEL ? 4096 : 32768 - # option CYGSEM_MEMALLOC_ALLOCATOR_FIXED_THREADAWARE - # ActiveIf: CYGPKG_KERNEL - # option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_THREADAWARE - # ActiveIf: CYGPKG_KERNEL - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_THREADAWARE - # ActiveIf: CYGPKG_KERNEL - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_THREADAWARE - # Requires: CYGPKG_KERNEL - # option CYGSEM_MEMALLOC_ALLOCATOR_SEPMETA_THREADAWARE - # ActiveIf: CYGPKG_KERNEL - # option CYGFUN_MEMALLOC_KAPI - # ActiveIf: CYGPKG_KERNEL - # option CYGSEM_LIBC_I18N_PER_THREAD_MB - # ActiveIf: CYGPKG_KERNEL - # option CYGSEM_LIBC_SIGNALS_THREAD_SAFE - # Requires: CYGPKG_KERNEL - # option CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT - # DefaultValue: 0 == CYGPKG_KERNEL && 0 == - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # component CYGSEM_LIBC_STARTUP_MAIN_THREAD - # Requires: CYGPKG_KERNEL - # component CYGSEM_LIBC_STARTUP_MAIN_THREAD - # DefaultValue: 0 != CYGPKG_KERNEL && 0 == CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # option CYGSEM_LIBC_EXIT_STOPS_SYSTEM - # Requires: CYGPKG_KERNEL - # option CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS - # ActiveIf: CYGPKG_KERNEL - # option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK - # ActiveIf: CYGPKG_KERNEL - # option CYGPKG_WALLCLOCK_EMULATE - # Requires: CYGPKG_KERNEL - # option CYGIMP_WALLCLOCK_NONE - # DefaultValue: !CYGPKG_KERNEL && 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS - # option CYGPKG_IO_WALLCLOCK_TESTS - # Calculated: CYGPKG_KERNEL ? "tests/wallclock tests/wallclock2" : "" - # package CYGPKG_POSIX - # Requires: CYGPKG_KERNEL - # option CYGPKG_POSIX_CLOCKS - # Requires: CYGPKG_KERNEL - # option CYGPKG_POSIX_TIMERS - # Requires: CYGPKG_KERNEL - # component CYGPKG_POSIX_MQUEUES - # Requires: CYGPKG_KERNEL - # option CYGFUN_IO_FILEIO_SELECT - # ActiveIf: CYGPKG_KERNEL - # option CYGPKG_IO_FILEIO_SOCKET_SUPPORT - # ActiveIf: CYGPKG_KERNEL -}; - -# > -# Kernel interrupt handling -# doc: ref/kernel-interrupts.html -# The majority of configuration options related to interrupt -# handling are in the HAL packages, since usually the code has -# to be platform-specific. There are a number of options -# provided within the kernel related to slightly higher-level -# concepts, for example Delayed Service Routines. -# -cdl_component CYGPKG_KERNEL_INTERRUPTS { - # There is no associated value. - - # The following properties are affected by this value - # option CYGDBG_KERNEL_INSTRUMENT_INTR - # ActiveIf: CYGPKG_KERNEL_INTERRUPTS -}; - -# > -# Use delayed service routines (DSRs) -# In eCos the recommended way to handle device interrupts is to -# do a minimum amount of work inside the low level interrupt -# handler itself, and instead do as much as possible in a -# Delayed Service Routine or DSR. If an application does not -# make use of DSRs directly or indirectly then it is possible -# to disable the DSR support completely, which reduces the -# overheads of context switches and interrupt handling. Note -# that the kernel real-time clock makes use of DSRs, as do many -# of the device drivers. -# -cdl_component CYGIMP_KERNEL_INTERRUPTS_DSRS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGVAR_KERNEL_COUNTERS_CLOCK - # Requires: CYGIMP_KERNEL_INTERRUPTS_DSRS -}; - -# > -# -cdl_interface CYGINT_KERNEL_INTERRUPTS_DSRS { - # Implemented by CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST, active, enabled - # Implemented by CYGIMP_KERNEL_INTERRUPTS_DSRS_TABLE, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == CYGINT_KERNEL_INTERRUPTS_DSRS - # CYGINT_KERNEL_INTERRUPTS_DSRS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_KERNEL_INTERRUPTS_DSRS - # Requires: 1 == CYGINT_KERNEL_INTERRUPTS_DSRS -}; - -# Use linked lists for DSRs -# When DSR support is enabled the kernel must keep track of all -# the DSRs that are pending. This information can be kept in a -# fixed-size table or in a linked list. The list implementation -# requires that the kernel disable interrupts for a very short -# period of time outside interrupt handlers, but there is no -# possibility of a table overflow occurring. -# -cdl_component CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Schedule DSRs in FIFO order -# When this option is set, DSRs are scheduled -# in the natural FIFO (first in, first out) order, -# otherwise they are scheduled in LIFO (last in, first -# out) order. Applications should not rely on any -# particular order of scheduling of DSRs. LIFO -# scheduling is kept for backward compatibility only and -# is not recommended as it may lead to high (up to 2 -# times higher then FIFO) IRQ-to-DSR latencies at some -# (typically rare) conditions. If unsure, leave this set. -# -cdl_option CYGSEM_KERNEL_INTERRUPTS_DSRS_LIST_FIFO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Use fixed-size table for DSRs -# When DSR support is enabled the kernel must keep track of all -# the DSRs that are pending. This information can be kept in a -# fixed-size table or in a linked list. The table -# implementation involves a very small risk of overflow at -# run-time if a given interrupt source is able to have more -# than one pending DSR. However it has the advantage that -# the kernel does not need to disable interrupts outside -# interrupt handlers. -# -cdl_component CYGIMP_KERNEL_INTERRUPTS_DSRS_TABLE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Number of entries in fixed-size DSR table -# When DSR support is enabled the kernel must keep track of all -# the DSRs that are pending. One approach involves a fixed-size -# table, which involves a very small risk of overflow at -# run-time. By increasing the table size it is possible to reduce -# this risk. -# -cdl_option CYGNUM_KERNEL_INTERRUPTS_DSRS_TABLE_SIZE { - # This option is not active - # The parent CYGIMP_KERNEL_INTERRUPTS_DSRS_TABLE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 - # Legal values: 2 to 1024 -}; - -# < -# Chain all interrupts together -# Interrupts can be attached to vectors either singly, or be -# chained together. The latter is necessary if there is no way -# of discovering which device has interrupted without -# inspecting the device itself. It can also reduce the amount -# of RAM needed for interrupt decoding tables and code. -# -cdl_option CYGIMP_KERNEL_INTERRUPTS_CHAIN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN - # CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN == 0 - # --> 0 -}; - -# < -# < -# Exception handling -# doc: ref/kernel-exceptions.html -# In the context of the eCos kernel exceptions are unexpected -# events detected by the hardware, for example an attempt to -# execute an illegal instruction. There is no relation with -# other forms of exception, for example the catch and throw -# facilities of languages like C++. It is possible to disable -# all support for exceptions and thus save some memory. -# -cdl_component CYGPKG_KERNEL_EXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_HAL_EXCEPTIONS - # CYGPKG_HAL_EXCEPTIONS == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGPKG_HAL_EXCEPTIONS - # Requires: CYGPKG_KERNEL_EXCEPTIONS - # option CYGPKG_HAL_EXCEPTIONS - # DefaultValue: CYGPKG_KERNEL_EXCEPTIONS - # component CYGPKG_POSIX_SIGNALS - # Requires: CYGPKG_KERNEL_EXCEPTIONS -}; - -# > -# Decode exception types in kernel -# On targets where several different types of exception are -# possible, for example executing an illegal instruction and -# division by zero, it is possible for the kernel to do some -# decoding of the exception type and deliver the different -# types of exception to different handlers in the application -# code. Alternatively the kernel can simply pass all -# exceptions directly to application code, leaving the -# decoding to be done by the application -# -cdl_option CYGSEM_KERNEL_EXCEPTIONS_DECODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - - # The following properties are affected by this value - # component CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS - # Requires: CYGSEM_KERNEL_EXCEPTIONS_DECODE -}; - -# Use global exception handlers -# In the context of the eCos kernel exceptions are -# unexpected events detected by the hardware, for -# example an attempt to execute an illegal -# instruction. If the kernel is configured -# to support exceptions then two implementations are -# possible. The default implementation involves a single set -# of exception handlers that are in use for the entire -# system. The alternative implementation allows different -# exception handlers to be specified for each thread. -# -cdl_option CYGSEM_KERNEL_EXCEPTIONS_GLOBAL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # component CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS - # Requires: CYGSEM_KERNEL_EXCEPTIONS_GLOBAL -}; - -# < -# Kernel schedulers -# doc: ref/kernel-overview.html#KERNEL-OVERVIEW-SCHEDULERS -# The eCos kernel provides a choice of schedulers. In addition -# there are a number of configuration options to control the -# detailed behaviour of these schedulers. -# -cdl_component CYGPKG_KERNEL_SCHED { - # There is no associated value. - - # The following properties are affected by this value - # option CYGDBG_KERNEL_INSTRUMENT_SCHED - # ActiveIf: CYGPKG_KERNEL_SCHED -}; - -# > -# Number of schedulers in this configuration -# -cdl_interface CYGINT_KERNEL_SCHEDULER { - # Implemented by CYGSEM_KERNEL_SCHED_MLQUEUE, active, enabled - # Implemented by CYGSEM_KERNEL_SCHED_BITMAP, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == CYGINT_KERNEL_SCHEDULER - # CYGINT_KERNEL_SCHEDULER == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_KERNEL_SCHEDULER - # Requires: 1 == CYGINT_KERNEL_SCHEDULER -}; - -# Non-zero if the active schedule only has unique priorities -# Not all schedulers allow mutiple threads to use the same -# priority. That property is signalled via this option, allowing -# scheduler and tests to behave accordingly. -# -cdl_interface CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES { - # Implemented by CYGSEM_KERNEL_SCHED_BITMAP, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # component CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL - # Requires: CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES == 0 -}; - -# Multi-level queue scheduler -# The multi-level queue scheduler supports multiple priority -# levels and multiple threads at each priority level. -# Preemption between priority levels is automatic. Timeslicing -# within a given priority level is controlled by a separate -# configuration option. -# -cdl_component CYGSEM_KERNEL_SCHED_MLQUEUE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGPRI_KERNEL_SCHED_IMPL_HXX - # Calculated: CYGSEM_KERNEL_SCHED_BITMAP ? "<cyg/kernel/bitmap.hxx>" : CYGSEM_KERNEL_SCHED_MLQUEUE ? "<cyg/kernel/mlqueue.hxx>" : CYGSEM_KERNEL_SCHED_LOTTERY ? "<cyg/kernel/lottery.hxx>" : "!!!-- Configuration broken - no scheduler selected --!!!" - # component CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL - # ActiveIf: CYGSEM_KERNEL_SCHED_MLQUEUE - # option CYGDBG_KERNEL_INSTRUMENT_MLQ - # ActiveIf: CYGSEM_KERNEL_SCHED_MLQUEUE - # option _POSIX_PRIORITY_SCHEDULING - # Requires: CYGSEM_KERNEL_SCHED_MLQUEUE - # option _POSIX_THREAD_PRIORITY_SCHEDULING - # Requires: CYGSEM_KERNEL_SCHED_MLQUEUE -}; - -# > -# Output timeslices when tracing -# When tracing is enabled, output trace messages every -# timeslice. This can be quite verbose so is disabled by -# default. -# -cdl_option CYGDBG_KERNEL_TRACE_TIMESLICE { - # This option is not active - # ActiveIf constraint: CYGDBG_USE_TRACING - # CYGDBG_USE_TRACING == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: !CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE - # CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE == 0 - # --> 1 - # Requires: !CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY - # CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY == 0 - # --> 1 -}; - -# < -# Bitmap scheduler -# The bitmap scheduler supports multiple priority levels but -# only one thread can exist at each priority level. This means -# that scheduling decisions are very simple and hence the -# scheduler is efficient. Preemption between priority levels is -# automatic. Timeslicing within a given priority level is -# irrelevant since there can be only one thread at each -# priority level. -# -cdl_option CYGSEM_KERNEL_SCHED_BITMAP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: !CYGPKG_KERNEL_SMP_SUPPORT - # CYGPKG_KERNEL_SMP_SUPPORT == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGPRI_KERNEL_SCHED_IMPL_HXX - # Calculated: CYGSEM_KERNEL_SCHED_BITMAP ? "<cyg/kernel/bitmap.hxx>" : CYGSEM_KERNEL_SCHED_MLQUEUE ? "<cyg/kernel/mlqueue.hxx>" : CYGSEM_KERNEL_SCHED_LOTTERY ? "<cyg/kernel/lottery.hxx>" : "!!!-- Configuration broken - no scheduler selected --!!!" - # component CYGSEM_KERNEL_SCHED_TIMESLICE - # Requires: !CYGSEM_KERNEL_SCHED_BITMAP - # option CYGDBG_KERNEL_INSTRUMENT_BITMAP - # ActiveIf: CYGSEM_KERNEL_SCHED_BITMAP -}; - -# Scheduler header file -# This option sets a preprocessor symbol which names the header -# file for the selected scheduler. It is used internally by the -# common scheduler code to include the correct header file. -# -cdl_option CYGPRI_KERNEL_SCHED_IMPL_HXX { - # Calculated value: CYGSEM_KERNEL_SCHED_BITMAP ? "<cyg/kernel/bitmap.hxx>" : CYGSEM_KERNEL_SCHED_MLQUEUE ? "<cyg/kernel/mlqueue.hxx>" : CYGSEM_KERNEL_SCHED_LOTTERY ? "<cyg/kernel/lottery.hxx>" : "!!!-- Configuration broken - no scheduler selected --!!!" - # CYGSEM_KERNEL_SCHED_BITMAP == 0 - # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 - # CYGSEM_KERNEL_SCHED_LOTTERY (unknown) == 0 - # Flavor: data - # Current_value: <cyg/kernel/mlqueue.hxx> -}; - -# Number of priority levels -# This option controls the number of priority levels that are -# available. For some types of scheduler including the bitmap -# scheduler this may impose an upper bound on the number of -# threads in the system. For other schedulers such as the -# mlqueue scheduler the number of threads is independent from -# the number of priority levels. Note that the lowest priority -# level is normally used only by the idle thread, although -# application threads can run at this priority if necessary. -# -cdl_component CYGNUM_KERNEL_SCHED_PRIORITIES { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 - # Legal values: 1 to 32 - - # The following properties are affected by this value - # option CYGIMP_IDLE_THREAD_YIELD - # ActiveIf: (CYGNUM_KERNEL_SCHED_PRIORITIES == 1) - # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY - # LegalValues: 0 to CYGNUM_KERNEL_SCHED_PRIORITIES - 1 -}; - -# > -# Bitmap size -# This option automatically defines the size of bitmap -# used to track occupied priority levels. -# -cdl_option CYGNUM_KERNEL_SCHED_BITMAP_SIZE { - # Calculated value: "CYGNUM_KERNEL_SCHED_PRIORITIES" - # Flavor: data - # Current_value: CYGNUM_KERNEL_SCHED_PRIORITIES -}; - -# Dequeue highest priority threads first -# With this option enabled, threads queued in a thread queue -# will be dequeued in priority order, rather than first in, -# first out (FIFO). Threads of equal priority are dequeued -# oldest first. The only exception is the scheduler run -# queues where order is less important as each is already -# sorted by priority. Note that this makes the thread queueing -# less deterministic. -# -cdl_option CYGIMP_KERNEL_SCHED_SORTED_QUEUES { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 - - # The following properties are affected by this value - # package CYGPKG_POSIX - # Requires: CYGIMP_KERNEL_SCHED_SORTED_QUEUES -}; - -# < -# Scheduler timeslicing -# Some schedulers including the mlqueue scheduler support -# timeslicing. This means that the kernel will check regularly -# whether or not there is another runnable thread with the -# same priority, and if there is such a thread there will be -# an automatic context switch. Not all applications require -# timeslicing, for example because every thread performs a -# blocking operation regularly. For these applications it is -# possible to disable timeslicing, which reduces the overheads -# associated with timer interrupts. -# -cdl_component CYGSEM_KERNEL_SCHED_TIMESLICE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: !CYGSEM_KERNEL_SCHED_BITMAP - # CYGSEM_KERNEL_SCHED_BITMAP == 0 - # --> 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # The following properties are affected by this value - # option _POSIX_THREADS - # Requires: CYGSEM_KERNEL_SCHED_TIMESLICE -}; - -# > -# Number of clock ticks between timeslices -# Assuming timeslicing is enabled, how frequently should it -# take place? The value of this option corresponds to the -# number of clock ticks that should occur before a timeslice -# takes place, so increasing the value reduces the frequency -# of timeslices. -# -cdl_option CYGNUM_KERNEL_SCHED_TIMESLICE_TICKS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 5 - # value_source default - # Default value: 5 - # Legal values: 1 to 65535 -}; - -# Support runtime enable of timeslice per-thread -# This option makes timslicing a per-thread runtime -# option. When enabled, threads may have timeslicing -# turned on or off dynamically. This is generally used -# by higher level APIs (such as POSIX) to implement -# differing scheduling policies. -# -cdl_option CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE { - # Flavor: bool - user_value 1 - # value_source user - # Default value: false - # false (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE -}; - -# < -# Enable ASR support -# This component controls support for Asynchronous Service -# Routines (ASRs). This is a function that may be called -# from the scheduler when it has just exited the scheduler -# lock. This is primarily for use by API compatibility layers. -# -cdl_component CYGSEM_KERNEL_SCHED_ASR_SUPPORT { - # Flavor: bool - user_value 1 - # value_source user - # Default value: false - # false (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGSEM_KERNEL_SCHED_ASR_SUPPORT -}; - -# > -# Make ASR function global -# This option controls whether the ASR function is shared by -# all threads, or whether each thread may have its own ASR -# function. -# -cdl_option CYGSEM_KERNEL_SCHED_ASR_GLOBAL { - # Flavor: bool - user_value 1 - # value_source user - # Default value: true - # true (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGSEM_KERNEL_SCHED_ASR_GLOBAL -}; - -# Make ASR data global -# This option controls whether the ASR data is shared by -# all threads, or whether each thread may have its own ASR -# data. This is independent of the previous option because -# it may be useful to pass per-thread data to a shared ASR -# function. -# -cdl_option CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: true - # true (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: !CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL -}; - -# < -# < -# SMP support -# -cdl_component CYGPKG_KERNEL_SMP_SUPPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGPKG_HAL_SMP_SUPPORT - # CYGPKG_HAL_SMP_SUPPORT == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGSEM_KERNEL_SCHED_BITMAP - # Requires: !CYGPKG_KERNEL_SMP_SUPPORT - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # -}; - -# Counters and clocks -# doc: ref/kernel-counters.html -# The counter objects provided by the kernel provide an -# abstraction of the clock facility that is generally provided. -# Application code can associate alarms with counters, where an -# alarm is identified by the number of ticks until it triggers, -# the action to be taken on triggering, and whether or not the -# alarm should be repeated. -# -cdl_component CYGPKG_KERNEL_COUNTERS { - # There is no associated value. -}; - -# > -# Provide real-time clock -# On all current target systems the kernel can provide a -# real-time clock. This clock serves two purposes. First it is -# necessary to support clock and alarm related functions. -# Second it is needed to implement timeslicing in some of the -# schedulers including the mlqueue scheduler. If the -# application does not require any of these facilities then it -# is possible to disable the real time clock support -# completely. -# -cdl_option CYGVAR_KERNEL_COUNTERS_CLOCK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGIMP_KERNEL_INTERRUPTS_DSRS - # CYGIMP_KERNEL_INTERRUPTS_DSRS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGSEM_KERNEL_SCHED_TIMESLICE - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGNUM_KERNEL_COUNTERS_CLOCK_ISR_PRIORITY - # ActiveIf: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGFUN_KERNEL_THREADS_TIMER - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGDBG_KERNEL_INSTRUMENT_CLOCK - # ActiveIf: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGDBG_KERNEL_INSTRUMENT_ALARM - # ActiveIf: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGDBG_KERNEL_INSTRUMENT_SMP - # ActiveIf: CYGVAR_KERNEL_COUNTERS_CLOCK - # component CYGPKG_HAL_TESTS - # Calculated: "tests/context tests/basic" - # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") - # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") - # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") - # option CYGSEM_LIBC_TIME_CLOCK_WORKING - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGFUN_HAL_I386_PCMB_GPROF_SUPPORT - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGPKG_POSIX_CLOCKS - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGPKG_POSIX_TIMERS - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK -}; - -# Interrupt priority for the real-time clock -# The implementation of the kernel's real-time clock typically -# involves installing an interrupt handler on a suitable hardware -# timer. This option controls the priority level used for that -# interrupt. On most platforms the value is not important because -# the clock ISR leaves most of the work to be done by the DSR. -# However some processors have interrupt controllers with special -# requirements for the interrupt priorities, in which case -# application developers must be able to manipulate the clock's -# priority. -# -cdl_option CYGNUM_KERNEL_COUNTERS_CLOCK_ISR_PRIORITY { - # ActiveIf constraint: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: is_loaded(CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY) ? - # CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY : 1 - # CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY (unknown) == 0 - # CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY (unknown) == 0 - # --> 1 -}; - -# -cdl_interface CYGINT_KERNEL_COUNTERS { - # Implemented by CYGIMP_KERNEL_COUNTERS_SINGLE_LIST, active, enabled - # Implemented by CYGIMP_KERNEL_COUNTERS_MULTI_LIST, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == CYGINT_KERNEL_COUNTERS - # CYGINT_KERNEL_COUNTERS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_KERNEL_COUNTERS - # Requires: 1 == CYGINT_KERNEL_COUNTERS -}; - -# Implement counters using a single list -# There are two different implementations of the counter -# objects. The first implementation stores all alarms in a -# single linked list. The alternative implementation uses a -# table of linked lists. A single list is more efficient in -# terms of memory usage and is generally adequate when the -# application only makes use of a small number of alarms. -# -cdl_option CYGIMP_KERNEL_COUNTERS_SINGLE_LIST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Implement counters using a table of lists -# There are two different implementations of the counter -# objects. The first implementation stores all alarms in a -# single linked list. The alternative implementation uses a -# table of linked lists, with the size of the table being a -# separate configurable option. For more complicated -# operations it is better to have a table of lists since this -# reduces the amount of computation whenever the timer goes -# off. Assuming a table size of 8 (the default value) on -# average the timer code will only need to check 1/8 of the -# pending alarms instead of all of them. -# -cdl_component CYGIMP_KERNEL_COUNTERS_MULTI_LIST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Size of counter list table -# If counters are implemented using an array of linked lists -# then this option controls the size of the array. A larger -# size reduces the amount of computation that needs to take -# place whenever the timer goes off, but requires extra -# memory. -# -cdl_option CYGNUM_KERNEL_COUNTERS_MULTI_LIST_SIZE { - # This option is not active - # The parent CYGIMP_KERNEL_COUNTERS_MULTI_LIST is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: 1 to 1024 -}; - -# < -# Sort the counter list -# Sorting the counter lists reduces the amount of work that -# has to be done when a counter tick is processed, since the -# next alarm to expire is always at the front of the list. -# However, it makes adding an alarm to the list more expensive -# since a search must be done for the correct place to put it. -# Many alarms are used to implement timeouts, which seldom trigger, -# so it is worthwhile optimizing this case. For this reason -# sorted list are disabled by default. -# -cdl_option CYGIMP_KERNEL_COUNTERS_SORT_LIST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Measure real-time [clock] interrupt latency -# Measure the interrupt latency as seen by the real-time clock -# timer interrupt. This requires hardware support, defined by -# the HAL_CLOCK_LATENCY() macro. -# -cdl_option CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGVAR_KERNEL_COUNTERS_CLOCK_DSR_LATENCY - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY - # option CYGVAR_KERNEL_COUNTERS_CLOCK_DSR_LATENCY - # DefaultValue: CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY -}; - -# Measure real-time [clock] DSR latency -# Measure the DSR latency as seen by the real-time clock -# timer interrupt. This requires hardware support, defined by -# the HAL_CLOCK_LATENCY() macro. -# -cdl_option CYGVAR_KERNEL_COUNTERS_CLOCK_DSR_LATENCY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY - # CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY - # CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY == 0 - # --> 0 -}; - -# RTC resolution -# This option automatically defines the tuple which is used to -# initialize the RTC resolution, consisting of a numerator and -# denominator. The values of the numerator and denominator are -# defined by the HAL. -# -cdl_option CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION { - # Calculated value: "{CYGNUM_HAL_RTC_NUMERATOR, CYGNUM_HAL_RTC_DENOMINATOR}" - # Flavor: data - # Current_value: {CYGNUM_HAL_RTC_NUMERATOR, CYGNUM_HAL_RTC_DENOMINATOR} -}; - -# RTC period -# This option defines the RTC period to be used in -# setting the system clock hardware. It is essentially -# an alias for CYGNUM_HAL_RTC_PERIOD, which is defined -# in the HAL. -# -cdl_option CYGNUM_KERNEL_COUNTERS_RTC_PERIOD { - # Calculated value: "CYGNUM_HAL_RTC_PERIOD" - # Flavor: data - # Current_value: CYGNUM_HAL_RTC_PERIOD -}; - -# < -# Thread-related options -# There are a number of configuration options related to the -# implementation of threads, for example whether or not the -# eCos kernel supports per-thread data. -# -cdl_component CYGPKG_KERNEL_THREADS { - # There is no associated value. - - # The following properties are affected by this value - # option CYGDBG_KERNEL_INSTRUMENT_THREAD - # ActiveIf: CYGPKG_KERNEL_THREADS -}; - -# > -# Allow per-thread timers -# This option controls whether or not the kernel should support -# per-thread clock and alarm related functions. Also some of -# the synchronization primitives such as semaphore and -# condition variable timed wait operations require per-thread -# timer support. If none of these facilities are required then -# the option can be disabled. -# -cdl_option CYGFUN_KERNEL_THREADS_TIMER { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT - # Requires: CYGFUN_KERNEL_THREADS_TIMER - # option CYGSEM_LIBC_TIME_CLOCK_WORKING - # Requires: CYGFUN_KERNEL_THREADS_TIMER -}; - -# Support optional name for each thread -# Threads may optionally be supplied with a name string that is -# used to identify them during debugging. This name is only -# present if `this option is defined. Disabling it reduces both -# code and data size. -# -cdl_option CYGVAR_KERNEL_THREADS_NAME { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Keep track of all threads using a linked list -# Threads may optionally be placed on a housekeeping list so -# that all threads may be located easily. This is useful mainly -# in conjunction with source-level debugging. -# -cdl_option CYGVAR_KERNEL_THREADS_LIST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGFUN_KERNEL_ALL_THREADS_STACK_CHECKING - # Requires: CYGVAR_KERNEL_THREADS_LIST - # option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # Requires: CYGVAR_KERNEL_THREADS_LIST -}; - -# Keep track of the base of each thread's stack -# This option makes the kernel keep track of the lower limit on -# each thread's stack. It allows the kernel to adjust the lower -# limit, thus making space for per-thread data. Note that it -# does not imply any form of run-time stack overflow checking. -# -cdl_option CYGFUN_KERNEL_THREADS_STACK_LIMIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # component CYGVAR_KERNEL_THREADS_DATA - # Requires: CYGFUN_KERNEL_THREADS_STACK_LIMIT - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGFUN_KERNEL_THREADS_STACK_LIMIT -}; - -# Check thread stacks for overflows -# This option enables a variety of checks for stack overflow -# including signatures at the top and base of thread stacks, -# which are asserted for correctness whenever a thread switches. -# -cdl_component CYGFUN_KERNEL_THREADS_STACK_CHECKING { - # This option is not active - # ActiveIf constraint: CYGPKG_INFRA_DEBUG - # CYGPKG_INFRA_DEBUG == 0 - # --> 0 - # ActiveIf constraint: CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Check all threads whenever possible -# This option enables more active checking of all threads for -# wrongdoing. In theory, checking threads other than the old and new -# executing threads in a thread-switch is pointless, because no other -# thread has run, so no other stack can be exceeded. But errors such -# as memory scribbling, dangling pointers, overlapping use of store -# or errors accessing objects adjacent to a stack which can be very -# hard to find can be detected this way, saving debug time. -# -cdl_option CYGFUN_KERNEL_ALL_THREADS_STACK_CHECKING { - # This option is not active - # The parent CYGFUN_KERNEL_THREADS_STACK_CHECKING is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGVAR_KERNEL_THREADS_LIST - # CYGVAR_KERNEL_THREADS_LIST == 1 - # --> 1 -}; - -# Signature size in bytes, at stack top and bottom -# This is the size of the area reserved for a signature at the top -# and bottom of all stacks. It also provides a buffer zone for -# detecting overflow before external objects are corrupted, hence the -# ability to vary it here. But if you are short of stack, increasing -# this value will make the overflow more, not less likely, of course. -# -cdl_option CYGNUM_KERNEL_THREADS_STACK_CHECK_DATA_SIZE { - # This option is not active - # The parent CYGFUN_KERNEL_THREADS_STACK_CHECKING is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 - # Legal values: 8 to 512 -}; - -# < -# Measure stack usage -# This option allows measurement of each thread's stack by initializing -# it to a predefined value at thread creation time. Later use of the -# cyg_thread_measure_stack_usage() function allows the maximum stack -# usage of the thread so far to be obtained. Note that this is not -# necessarily the true maximum stack usage that the thread will ever -# use since all that has been measured is the stack usage corresponding -# to the code path followed this time, and not the code path that may -# be followed in future. -# -cdl_component CYGFUN_KERNEL_THREADS_STACK_MEASUREMENT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 != CYGPKG_INFRA_DEBUG - # CYGPKG_INFRA_DEBUG == 0 - # --> 0 -}; - -# > -# Output stack usage on thread exit -# This will output the measured stack usage on the diagnostic -# output when a thread exits. -# -cdl_option CYGDBG_KERNEL_THREADS_STACK_MEASUREMENT_VERBOSE_EXIT { - # This option is not active - # The parent CYGFUN_KERNEL_THREADS_STACK_MEASUREMENT 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 per-thread data -# doc: ref/kernel-thread-data.html -# It is possible for the kernel to support per-thread data, in -# other words an area of memory specific to each thread which -# can be used to store data for that thread. This per-thread -# data can be used by applications or by other packages such as -# the ISO C library. -# -cdl_component CYGVAR_KERNEL_THREADS_DATA { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_KERNEL_THREADS_STACK_LIMIT - # CYGFUN_KERNEL_THREADS_STACK_LIMIT == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_LIBC_I18N_PER_THREAD_MB - # Requires: CYGVAR_KERNEL_THREADS_DATA - # option CYGSEM_LIBC_I18N_PER_THREAD_MB - # DefaultValue: CYGVAR_KERNEL_THREADS_DATA != 0 - # option CYGSEM_LIBC_PER_THREAD_RAND - # Requires: CYGVAR_KERNEL_THREADS_DATA - # option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK - # Requires: CYGVAR_KERNEL_THREADS_DATA - # option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK - # DefaultValue: CYGVAR_KERNEL_THREADS_DATA - # option CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE - # Requires: CYGVAR_KERNEL_THREADS_DATA - # option CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS - # Requires: CYGVAR_KERNEL_THREADS_DATA - # option CYGSEM_ERROR_PER_THREAD_ERRNO - # Requires: CYGVAR_KERNEL_THREADS_DATA - # option _POSIX_THREADS - # Requires: CYGVAR_KERNEL_THREADS_DATA -}; - -# > -# Number of words of per-thread data -# It is possible for the kernel to support per-thread data, in -# other words an area of memory specific to each thread which -# can be used to store data for that thread. This per-thread -# data can be used by applications or by other packages such as -# the ISO C library. This configuration option controls the -# number of words of per-thread data that the kernel will -# allow. In the current implementation a bitmask is used to identify -# used per-thread data slots and so the maximum legal value must -# remain 32. -# -cdl_option CYGNUM_KERNEL_THREADS_DATA_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 6 - # value_source default - # Default value: 6 - # Legal values: 4 to 32 -}; - -# Bitmap of preallocated slots of thread data -# Per thread data options. Per thread data support is based loosely -# on that defined by POSIX. Each thread has an array of slots, up to -# CYGNUM_KERNEL_THREADS_DATA_MAX, that may contain data. Some of the -# slots have been preallocated to specific packages. Others may be -# allocated dynamically. -# -cdl_component CYGNUM_KERNEL_THREADS_DATA_ALL { - # Calculated value: 15 - # Flavor: data - # Current_value: 15 -}; - -# > -# Slot 0 preallocated for the kernel -# This option defines the index of a per-thread data -# slot which is reserved by -# the eCos kernel -# for private use. -# -cdl_option CYGNUM_KERNEL_THREADS_DATA_KERNEL { - # Calculated value: 0 - # Flavor: data - # Current_value: 0 -}; - -# Slot 1 preallocated for uITRON -# This option defines the index of a per-thread data -# slot which is reserved by -# the uITRON compatibility layer -# for private use. -# -cdl_option CYGNUM_KERNEL_THREADS_DATA_ITRON { - # Calculated value: 1 - # Flavor: data - # Current_value: 1 -}; - -# Slot 2 preallocated for errno -# This option defines the index of a per-thread data -# slot which is reserved for use by an errno variable. -# -cdl_option CYGNUM_KERNEL_THREADS_DATA_ERRNO { - # Calculated value: 2 - # Flavor: data - # Current_value: 2 -}; - -# Slot 3 preallocated for POSIX -# This option defines the index of a per-thread data -# slot which is reserved by -# POSIX -# for private use. -# -cdl_option CYGNUM_KERNEL_THREADS_DATA_POSIX { - # Calculated value: 3 - # Flavor: data - # Current_value: 3 -}; - -# < -# < -# Thread destructors -# doc: ref/kernel-thread-destructors.html -# This option enables support for registered destructor functions to -# be called on thread exit. -# -cdl_component CYGPKG_KERNEL_THREADS_DESTRUCTORS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Number of possible destructors -# This option gives the number of possible destructors allowed. -# Increasing this will increase the size of every -# thread control structure if per-thread destructors are -# enabled. -# -cdl_option CYGNUM_KERNEL_THREADS_DESTRUCTORS { - # This option is not active - # The parent CYGPKG_KERNEL_THREADS_DESTRUCTORS is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: 1 to 65535 -}; - -# Per-thread destructors -# Enabling this option makes the thread destructors a per-thread -# property, with each thread having its own list of destructors. -# Disabling this option makes the thread destructor list -# global so all threads have the same destructors. -# -cdl_option CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD { - # This option is not active - # The parent CYGPKG_KERNEL_THREADS_DESTRUCTORS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Stack size for the idle thread -# This configuration option specifies the stack size in bytes -# for the idle thread. Unless the HAL is configured to use a -# separate interrupt stack this size must be sufficient to meet -# the requirements of all interrupt handlers - these -# requirements are cumulative if nested interrupted are -# enabled. Depending on the target architecture, the stack size -# typically has to be a multiple of eight or sixteen bytes. -# This will be overridden where it is used if the -# architectural HAL requires a minimum stack size -# to handle interrupts correctly. -# -cdl_option CYGNUM_KERNEL_THREADS_IDLE_STACK_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 2048 - # value_source default - # Default value: 2048 - # Legal values: 512 to 65536 -}; - -# Maximal suspend count -# This option provides for an assertion that the count value for -# counted thread suspends do not exceed set limits. This is to help -# with debugging, to allow a runaway loop, for example, to be -# detected more easily. -# If the option is not defined, no assert is included. Whether asserts -# are themselves included depends on infrastructure configury in -# infra.h -# -cdl_option CYGNUM_KERNEL_MAX_SUSPEND_COUNT_ASSERT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 500 - # value_source default - # Default value: 500 -}; - -# Maximal wake count -# This option provides for an assertion that the count value for -# counted thread wakeups do not exceed set limits. This is to -# help with debugging, to allow a runaaway loop, for example, to -# be detected more easily. -# If the option is not defined, no assert is included. Whether asserts -# are themselves included depends on infrastructure configury in -# infra.h -# -cdl_option CYGNUM_KERNEL_MAX_COUNTED_WAKE_COUNT_ASSERT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 500 - # value_source default - # Default value: 500 -}; - -# Idle thread must always yield -# If the scheduler configuration only has a single priority -# level, then the idle thread must yield each time around its loop. -# -cdl_option CYGIMP_IDLE_THREAD_YIELD { - # This option is not active - # ActiveIf constraint: (CYGNUM_KERNEL_SCHED_PRIORITIES == 1) - # CYGNUM_KERNEL_SCHED_PRIORITIES == 32 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# < -# Synchronization primitives -# The eCos kernel supports a number of different -# synchronization primitives such as mutexes, semaphores, -# condition variables, and message boxes. There are -# configuration options to control the exact behaviour of some -# of these synchronization primitives. -# -cdl_component CYGPKG_KERNEL_SYNCH { - # There is no associated value. - - # The following properties are affected by this value - # option CYGDBG_KERNEL_INSTRUMENT_MUTEX - # ActiveIf: CYGPKG_KERNEL_SYNCH - # option CYGDBG_KERNEL_INSTRUMENT_CONDVAR - # ActiveIf: CYGPKG_KERNEL_SYNCH - # option CYGDBG_KERNEL_INSTRUMENT_BINSEM - # ActiveIf: CYGPKG_KERNEL_SYNCH - # option CYGDBG_KERNEL_INSTRUMENT_CNTSEM - # ActiveIf: CYGPKG_KERNEL_SYNCH - # option CYGDBG_KERNEL_INSTRUMENT_MBOXT - # ActiveIf: CYGPKG_KERNEL_SYNCH - # option CYGDBG_KERNEL_INSTRUMENT_FLAG - # ActiveIf: CYGPKG_KERNEL_SYNCH -}; - -# > -# Priority inversion protection protocols -# doc: ref/kernel-mutexes.html -# This component controls the protocols used to protect mutexes against -# priority inversion. If this option is enabled it defines which -# algorithm is used to implement this protection. At present only -# one such algorithm is defined: "SIMPLE". The implementation -# will only work in the mlqueue scheduler, and it does not handle the -# rare case of nested mutexes completely correctly. However it is -# both fast and deterministic. -# -cdl_component CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL { - # ActiveIf constraint: CYGSEM_KERNEL_SCHED_MLQUEUE - # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 - # --> 1 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 SIMPLE - # value_source default - # Default value: 1 SIMPLE - # Legal values: "SIMPLE" - # Requires: CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES == 0 - # CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES == 0 - # --> 1 -}; - -# > -# Enable priority inheritance protocol -# This option enables priority inheritance protocol. This protocol -# causes the owner of a mutex to be executed at the highest priority -# of the threads waiting for access to the mutex. -# -cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT - # DefaultValue: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT ? - # "INHERIT" : - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING ? - # "CEILING" : "NONE" - # option _POSIX_THREAD_PRIO_INHERIT - # Requires: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT -}; - -# Enable priority ceiling protocol -# This option enables priority ceiling protocol. This protocol -# causes the owner of a mutex to be executed at a priority -# associated with the mutex. -# -cdl_component CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY - # ActiveIf: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING - # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT - # DefaultValue: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT ? - # "INHERIT" : - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING ? - # "CEILING" : "NONE" - # option _POSIX_THREAD_PRIO_PROTECT - # Requires: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING -}; - -# > -# Default priority ceiling -# This option defines the default priority ceiling to be -# used if the chosen default priority inversion protocol is -# priority ceoptioniling protocol. The default value for this is zero, -# making all such mutexes boost threads to the maximum priority. -# -cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY { - # ActiveIf constraint: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to CYGNUM_KERNEL_SCHED_PRIORITIES - 1 - # CYGNUM_KERNEL_SCHED_PRIORITIES == 32 -}; - -# < -# No priority inversion protocol -# This option enables the ability to have no priority inversion protocol. -# It is equivalent to disabling the priority inversion protocol at -# the top level, but is necessary for the runtime and default -# selection options. -# -cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_NONE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Default priority inversion protocol -# This option defines the default inversion protocol used for mutexes that -# are created without an explicit protocol being specified. The protocol -# chosen by default is to use priority inheritance if it is present otherwise -# priority ceiling, or none if neither is present. -# -cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT { - # ActiveIf constraint: CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT > 1 - # CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT == 3 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value INHERIT - # value_source default - # Default value: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT ? - # "INHERIT" : - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING ? - # "CEILING" : "NONE" - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT == 1 - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING == 1 - # --> INHERIT - # Legal values: "INHERIT" "CEILING" "NONE" -}; - -# Specify mutex priority inversion protocol at runtime -# This option controls whether the priority inversion protocol used by -# a mutex can be specified when that mutex is created. -# -cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DYNAMIC { - # ActiveIf constraint: CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT > 1 - # CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT == 3 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Number of protocols selected -# -cdl_interface CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT { - # Implemented by CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT, active, enabled - # Implemented by CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING, active, enabled - # Implemented by CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_NONE, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 3 - - # The following properties are affected by this value - # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT - # ActiveIf: CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT > 1 - # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DYNAMIC - # ActiveIf: CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT > 1 -}; - -# < -# Use mboxt_plain mbox implementation -# Use the plain mboxt implementation instead of the mboxt2 -# implementation. The mboxt2 version is designed to provide -# semantics compatible with UITRON, the plain implementation -# is adquate in most other situations. -# -cdl_option CYGIMP_MBOX_USE_MBOXT_PLAIN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Message box blocking put support -# doc: ref/kernel-mail-boxes.html -# Message boxes can support three different versions of the -# put-message operation. The first is tryput(), which will fail -# if the message box is already full. The other two are the -# ordinary put() function which will block if the message box -# is full, and a timed put() operation which will block for -# upto a certain length of time if the message box is currently -# full. The blocking versions require extra memory in the -# message box data structure and extra code in the other -# message box functions, so they can be disabled if the -# application does not require them. If this option is enabled -# then the system will always provide the blocking put() -# function, and it will also provide the timed put() function -# if thread timers are enabled. -# -cdl_option CYGMFN_KERNEL_SYNCH_MBOXT_PUT_CAN_WAIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Message box queue size -# doc: ref/kernel-mail-boxes.html -# This configuration option controls the number of messages -# that can be queued in a message box before a non-blocking -# put() operation will fail or a blocking put() operation will -# block. The cost in memory is one pointer per message box for -# each possible message. -# -cdl_option CYGNUM_KERNEL_SYNCH_MBOX_QUEUE_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 - # Legal values: 1 to 65535 -}; - -# Condition variable timed-wait support -# doc: ref/kernel-condition-variables.html -# This option enables the condition variable timed wait -# facility. -# -cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_KERNEL_THREADS_TIMER - # CYGFUN_KERNEL_THREADS_TIMER == 1 - # --> 1 -}; - -# Condition variable explicit mutex wait support -# doc: ref/kernel-condition-variables.html -# This option enables the condition variable explicit mutex wait -# facility. By default condition variables in eCos are created with -# a statically associated mutex. This option permits wait (and timed wait -# if CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT is enabled) to provide a -# different mutex as an argument. This makes no difference to the semantics -# the wait operation except that a different mutex will be used during it. -# -cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_WAIT_MUTEX { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Avoid inlines in mqueue implementation -# With this option disabled, the 'mqueue' message queue implementation -# provides most of its implementation via inlines. However this can -# adversely affect code size in application that make lots of mqueue -# calls from different places, so enabling this option provides -# non-inline versions to be used instead. -# -cdl_option CYGIMP_KERNEL_SYNCH_MQUEUE_NOT_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Kernel instrumentation -# doc: user-guide/kernel-instrumentation.html -# The current release of the kernel contains an initial version -# of instrumentation support. The various parts of the kernel -# will invoke instrumentation routines whenever appropriate -# events occur, and these will be stored in a circular buffer -# for later reference. -# -cdl_component CYGPKG_KERNEL_INSTRUMENT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - - # The following properties are affected by this value - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # -}; - -# > -# Use buffer provided by the application -# In most circumstances the kernel should provide the -# instrumentation circular buffer itself. Occasionally -# application code may wish to provide the buffer instead, -# giving the application code more convenient access to the -# buffer. This also makes it possible to put the circular -# buffer in special areas of memory, for example a region that -# is shared with the host. -# -cdl_option CYGVAR_KERNEL_INSTRUMENT_EXTERNAL_BUFFER { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Instrumentation buffer size -# If kernel instrumentation is enabled then the instrumentation -# data goes into a circular buffer. A larger buffer allows -# more data to be stored, but at a significant cost in memory. -# The value of this option corresponds to the number of entries -# in the table, and typically each entry will require 16 bytes -# of memory. -# -cdl_option CYGNUM_KERNEL_INSTRUMENT_BUFFER_SIZE { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: 256 - # Legal values: 16 to 0x100000 -}; - -# Wrap instrumentation buffer -# When the instrumentation buffer is full it can either be restarted -# from the beginning, overwriting older data, or it can stop at the -# end. The former is useful if you want to look at the last entries -# made while the latter is useful if you want to look at the first -# few. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_BUFFER_WRAP { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Perform selective instrumentation -# The kernel can either collect all instrumentation events, or -# it can filter out events at runtime based on a set of flags. -# For example it would be possible to decide at runtime that -# only scheduler and interrupt instrumentation flags are of -# interest and that all other flags should be ignored. This -# flag mechanism involves extra code and processor cycle -# overhead in the instrumentation code, so it can be disabled -# if the application developer is interested in all -# instrumentation events. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_FLAGS { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument common scheduler operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the scheduling code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_SCHED { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SCHED - # CYGPKG_KERNEL_SCHED == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument thread operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the code that manipulates threads. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_THREAD { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_THREADS - # CYGPKG_KERNEL_THREADS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument interrupt-related operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the interrupt handling code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_INTR { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_INTERRUPTS - # CYGPKG_KERNEL_INTERRUPTS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument mutex operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the mutex code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_MUTEX { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SYNCH - # CYGPKG_KERNEL_SYNCH == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument condition variable operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the condition variable code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_CONDVAR { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SYNCH - # CYGPKG_KERNEL_SYNCH == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument binary semaphore operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the binary semaphore code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_BINSEM { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SYNCH - # CYGPKG_KERNEL_SYNCH == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument counting semaphore operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the counting semaphore code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_CNTSEM { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SYNCH - # CYGPKG_KERNEL_SYNCH == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument message box operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the message box code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_MBOXT { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SYNCH - # CYGPKG_KERNEL_SYNCH == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument event flag operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the event flag code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_FLAG { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SYNCH - # CYGPKG_KERNEL_SYNCH == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument clock operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the real-time clock code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_CLOCK { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument alarm-related operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the code related to alarm operations. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_ALARM { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument SMP-related operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the code related to SMP operations. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_SMP { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument multi-level queue scheduler operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the code for the multi-level queue scheduler. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_MLQ { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGSEM_KERNEL_SCHED_MLQUEUE - # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument bitmap scheduler operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the code for the bitmap scheduler. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_BITMAP { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGSEM_KERNEL_SCHED_BITMAP - # CYGSEM_KERNEL_SCHED_BITMAP == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support application-level instrumentation -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not application-level instrumentation gets -# compiled in. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_USER { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Provide user-friendly instrumentation messages -# Include code which will convert the instrument type field -# into a more human understandable string -# -cdl_component CYGDBG_KERNEL_INSTRUMENT_MSGS { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Rebuild the header file -# Make (using a shell script) include/cyg/kernel/instrument_desc.h in -# your build tree; this is normally simply copied from the repository. -# If you make a permanent change to include/instrmnt.h, such that -# instrument_desc.h needs updating, it's up to you to first delete the -# master file -# ECOS_REPOSITORY/kernel/VERSION/include/instrument_desc.h -# in your source repository, make the new version by enabling this -# option then copy the new file -# back from your build place to its source in -# ECOS_REPOSITORY/kernel/VERSION/include/instrument_desc.h -# and/or commit this to any version control system that you use. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_MSGS_BUILD_HEADERFILE { - # This option is not active - # The parent CYGDBG_KERNEL_INSTRUMENT_MSGS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Build the host tool to print out a dump -# Generate a host program which can dump the instrumentation -# data in a human readable format. You have to somehow get the -# instrumentation buffer into a file on the host. 'Exercise for -# the reader' as university lecturers tend to say. -# -cdl_component CYGDBG_KERNEL_INSTRUMENT_BUILD_HOST_DUMP { - # This option is not active - # The parent CYGDBG_KERNEL_INSTRUMENT_MSGS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < -# Source-level debugging support -# If the source level debugger gdb is to be used for debugging -# application code then it may be necessary to configure in support -# for this in the kernel. -# -cdl_component CYGPKG_KERNEL_DEBUG { - # There is no associated value. -}; - -# > -# Include GDB multi-threading debug support -# This option enables some extra kernel code which is needed -# to support multi-threaded source level debugging. -# -cdl_option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGVAR_KERNEL_THREADS_LIST - # CYGVAR_KERNEL_THREADS_LIST == 1 - # --> 1 - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT -}; - -# < -# Kernel APIs -# The eCos kernel is implemented in C++, so a C++ interface -# to the kernel is always available. There is also an optional -# C API. Additional API's may be provided in future versions. -# -cdl_component CYGPKG_KERNEL_API { - # There is no associated value. -}; - -# > -# Provide C API -# The eCos kernel is implemented in C++, but there is an -# optional C API for use by application code. This C API can be -# disabled if the application code does not invoke the kernel -# directly, but instead uses higher level code such as the -# uITRON compatibility layer. -# -cdl_option CYGFUN_KERNEL_API_C { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # - # option CYGFUN_MEMALLOC_KAPI - # DefaultValue: CYGFUN_KERNEL_API_C -}; - -# < -# Kernel build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_KERNEL_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the eCos kernel. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_KERNEL_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the eCos kernel. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_KERNEL_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Kernel tests -# This option specifies the set of tests for the eCos kernel. -# -cdl_option CYGPKG_KERNEL_TESTS { - # Calculated value: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # - # CYGFUN_KERNEL_API_C == 1 - # CYGPKG_INFRA_DEBUG == 0 - # CYGPKG_KERNEL_INSTRUMENT == 0 - # CYGFUN_KERNEL_API_C == 1 - # CYGPKG_KERNEL_SMP_SUPPORT == 0 - # CYGFUN_KERNEL_API_C == 1 - # CYGINT_HAL_TESTS_NO_CACHES == 0 - # CYGFUN_KERNEL_API_C == 1 - # Flavor: data - # Current_value: tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2 tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0 tests/dhrystone tests/kcache1 tests/kcache2 -}; - -# < -# < -# 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 - # package CYGPKG_BLOCK_LIB - # 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 { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Simple variable block allocator -# This component contains configuration options related to the -# simple variable block memory allocator. This allocator is not -# very fast, and in particular does not scale well with large -# numbers of allocations. It is however very compact in terms of -# code size and does not have very much overhead per allocation. -# -cdl_component CYGPKG_MEMALLOC_ALLOCATOR_VARIABLE { - # There is no associated value. -}; - -# > -# Make thread safe -# With this option enabled, this allocator will be -# made thread-safe. Additionally allocation functions -# are added that allow a thread to wait until memory -# are made available that allow a thread to wait -# until memory is available. -# -cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_THREADAWARE { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Coalesce memory -# The variable-block memory allocator can perform coalescing -# of memory whenever the application code releases memory back -# to the pool. This coalescing reduces the possibility of -# memory fragmentation problems, but involves extra code and -# processor cycles. -# -cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE - # Requires: CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE -}; - -# < -# Doug Lea's malloc -# This component contains configuration options related to the -# port of Doug Lea's memory allocator, normally known as -# dlmalloc. dlmalloc has a reputation for being both fast -# and space-conserving, as well as resisting fragmentation well. -# It is a common choice for a general purpose allocator and -# has been used in both newlib and Linux glibc. -# -cdl_component CYGPKG_MEMALLOC_ALLOCATOR_DLMALLOC { - # There is no associated value. -}; - -# > -# Debug build -# Doug Lea's malloc implementation has substantial amounts -# of internal checking in order to verify the operation -# and consistency of the allocator. However this imposes -# substantial overhead on each operation. Therefore this -# checking may be individually disabled. -# -cdl_option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 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 { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 -}; - -# Support more than one instance -# Having this option disabled allows important -# implementation structures to be declared as a single -# static instance, allowing faster access. However this -# would fail if there is more than one instance of -# the dlmalloc allocator class. Therefore this option can -# be enabled if multiple instances are required. Note: as -# a special case, if this allocator is used as the -# implementation of malloc, and it can be determined there -# is more than one malloc pool, then this option will be -# silently enabled. -# -cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_SAFE_MULTIPLE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Use system 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 have been reported -# to be faster in some circumstances. The use of "MEMCPY" -# in the CDL option name is an anachronism and only -# present for backwards compatibility. -# -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) && (0 != CYGINT_ISO_STRING_MEMFUNCS) - # CYGPKG_ISOINFRA == current - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 -}; - -# Minimum alignment of allocated blocks -# This option controls the minimum alignment that the -# allocated memory blocks are aligned on, specified as -# 2^N. Note that using large mininum alignments can lead -# to excessive memory wastage. -# -cdl_option CYGNUM_MEMALLOC_ALLOCATOR_DLMALLOC_ALIGNMENT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 3 - # value_source default - # Default value: 3 - # Legal values: 3 to 10 -}; - -# < -# Variable block allocator with separate metadata -# This component contains configuration options related to the -# variable block memory allocator with separate metadata. -# -cdl_component CYGPKG_MEMALLOC_ALLOCATOR_SEPMETA { - # There is no associated value. -}; - -# > -# Make thread safe -# With this option enabled, this allocator will be -# made thread-safe. Additionally allocation functions -# are made available that allow a thread to wait -# until memory is available. -# -cdl_option CYGSEM_MEMALLOC_ALLOCATOR_SEPMETA_THREADAWARE { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# < -# Kernel C API support for memory allocation -# This option must be enabled to provide the extensions required -# to support integration into the kernel C API. -# -cdl_option CYGFUN_MEMALLOC_KAPI { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGFUN_KERNEL_API_C - # CYGFUN_KERNEL_API_C == 1 - # --> 1 -}; - -# malloc(0) returns NULL -# This option controls the behavior of malloc(0) ( or calloc with -# either argument 0 ). It is permitted by the standard to return -# either a NULL pointer or a unique pointer. Enabling this option -# forces a NULL pointer to be returned. -# -cdl_option CYGSEM_MEMALLOC_MALLOC_ZERO_RETURNS_NULL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Breakpoint site when running out of memory -# Whenever the system runs out of memory, it invokes this function -# before either going to sleep waiting for memory to become -# available or returning failure. -# -cdl_option CYGSEM_MEMALLOC_INVOKE_OUT_OF_MEMORY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# malloc() and supporting allocators -# This component enables support for dynamic memory -# allocation as supplied by the functions malloc(), -# free(), calloc() and realloc(). As these -# functions are often used, but can have quite an -# overhead, disabling them here can ensure they -# cannot even be used accidentally when static -# allocation is preferred. Within this component are -# various allocators that can be selected for use -# as the underlying implementation of the dynamic -# allocation functions. -# -cdl_component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS { - # ActiveIf constraint: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Use external heap definition -# This option allows other components in the -# system to override the default system -# provision of heap memory pools. This should -# be set to a header which provides the equivalent -# definitions to <pkgconf/heaps.hxx>. -# -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 <cyg/memalloc/dlmalloc.hxx> - # value_source default - # Default value: <cyg/memalloc/dlmalloc.hxx> - - # The following properties are affected by this value - # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE - # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "<cyg/memalloc/memvar.hxx>" - # option CYGIMP_MEMALLOC_MALLOC_DLMALLOC - # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "<cyg/memalloc/dlmalloc.hxx>" -}; - -# 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 == "<cyg/memalloc/memvar.hxx>" - # CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx> - # --> 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 == "<cyg/memalloc/dlmalloc.hxx>" - # CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx> - # --> 1 -}; - -# < -# Size of the fallback dynamic memory pool in bytes -# If *no* heaps are configured in your memory layout, -# dynamic memory allocation by -# malloc() and calloc() must be from a fixed-size, -# contiguous memory pool (note here that it is the -# pool that is of a fixed size, but malloc() is still -# able to allocate variable sized chunks of memory -# from it). This option is the size -# of that pool, in bytes. Note that not all of -# this is available for programs to -# use - some is needed for internal information -# about memory regions, and some may be lost to -# ensure that memory allocation only returns -# memory aligned on word (or double word) -# boundaries - a very common architecture -# constraint. -# -cdl_option CYGNUM_MEMALLOC_FALLBACK_MALLOC_POOL_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16384 - # value_source default - # Default value: 16384 - # Legal values: 32 to 0x7fffffff -}; - -# Common memory allocator package build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_MEMALLOC_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_MEMALLOC_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_MEMALLOC_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Tests -# This option specifies the set of tests for this package. -# -cdl_option CYGPKG_MEMALLOC_TESTS { - # Calculated value: "tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2" - # Flavor: data - # Current_value: tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2 -}; - -# < -# < -# ISO C and POSIX infrastructure -# eCos supports implementations of ISO C libraries and POSIX -# implementations. This package provides infrastructure used by -# all such implementations. -# -cdl_package CYGPKG_ISOINFRA { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGPKG_ISOINFRA - # component CYGPKG_IO_SERIAL_TERMIOS - # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY - # Requires: CYGPKG_ISOINFRA - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY - # DefaultValue: (0 != CYGPKG_ISOINFRA) && (0 != CYGINT_ISO_STRING_MEMFUNCS) - # component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS - # ActiveIf: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_I18N - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_SETJMP - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_SIGNALS - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STARTUP - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STDIO - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STDLIB - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STRING - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_TIME - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_BLOCK_LIB - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_POSIX - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_IO_FILEIO - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_USTL - # Requires: CYGPKG_ISOINFRA -}; - -# > -# Startup and termination -# -cdl_component CYGPKG_ISO_STARTUP { - # There is no associated value. -}; - -# > -# main() startup implementations -# Implementations of this interface arrange for a user-supplied -# main() to be called in an ISO compatible environment. -# -cdl_interface CYGINT_ISO_MAIN_STARTUP { - # Implemented by CYGPKG_LIBC_STARTUP, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP - # CYGINT_ISO_MAIN_STARTUP == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_MAIN_STARTUP - # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP - # package CYGPKG_USTL - # Requires: CYGINT_ISO_MAIN_STARTUP -}; - -# environ implementations -# Implementations of this interface provide the environ -# variable required by POSIX. -# -cdl_interface CYGINT_ISO_ENVIRON { - # Implemented by CYGPKG_LIBC_STARTUP, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_ENVIRON - # CYGINT_ISO_ENVIRON == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_ENVIRON - # Requires: 1 >= CYGINT_ISO_ENVIRON - # package CYGPKG_USTL - # Requires: CYGINT_ISO_ENVIRON -}; - -# < -# ctype.h functions -# -cdl_component CYGPKG_ISO_CTYPE_H { - # There is no associated value. -}; - -# > -# Number of implementations of ctype functions -# -cdl_interface CYGINT_ISO_CTYPE { - # Implemented by CYGPKG_LIBC_I18N, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_CTYPE - # Requires: 1 >= CYGINT_ISO_CTYPE - # package CYGPKG_LIBC_STDLIB - # Requires: CYGINT_ISO_CTYPE - # option CYGFUN_LIBC_STRING_BSD_FUNCS - # Requires: CYGINT_ISO_CTYPE - # component CYGPKG_FILEIO_FNMATCH - # DefaultValue: ( CYGINT_ISO_STRING_STRFUNCS && CYGINT_ISO_CTYPE ) - # package CYGPKG_USTL - # 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 <cyg/libc/i18n/ctype.inl> - # 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 == "<cyg/libc/i18n/newlibctype.h>" - # option CYGIMP_LIBC_I18N_CTYPE_INLINES - # Requires: CYGBLD_ISO_CTYPE_HEADER == "<cyg/libc/i18n/ctype.inl>" -}; - -# < -# Error handling -# -cdl_component CYGPKG_ISO_ERRNO { - # There is no associated value. -}; - -# > -# Number of implementations of error codes -# -cdl_interface CYGINT_ISO_ERRNO_CODES { - # Implemented by CYGPKG_ERROR, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_ERRNO_CODES - # Requires: 1 >= CYGINT_ISO_ERRNO_CODES - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGINT_ISO_ERRNO_CODES - # component CYGPKG_IO_SERIAL_TERMIOS - # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # option CYGSEM_LIBC_SIGNALS_RAISE_SETS_ERRNO - # Requires: CYGINT_ISO_ERRNO_CODES - # option CYGSEM_LIBC_SIGNALS_SIGNAL_SETS_ERRNO - # Requires: CYGINT_ISO_ERRNO_CODES - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_ERRNO_CODES - # package CYGPKG_POSIX - # Requires: CYGINT_ISO_ERRNO_CODES - # package CYGPKG_IO_FILEIO - # Requires: CYGINT_ISO_ERRNO_CODES - # package CYGPKG_USTL - # Requires: CYGINT_ISO_ERRNO_CODES -}; - -# Error codes implementation header -# -cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/error/codes.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_ERROR - # Requires: CYGBLD_ISO_ERRNO_CODES_HEADER == "<cyg/error/codes.h>" -}; - -# Number of implementations of errno variable -# -cdl_interface CYGINT_ISO_ERRNO { - # Implemented by CYGPKG_ERROR_ERRNO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_ERRNO - # Requires: 1 >= CYGINT_ISO_ERRNO - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGINT_ISO_ERRNO - # component CYGPKG_IO_SERIAL_TERMIOS - # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # option CYGSEM_LIBC_SIGNALS_RAISE_SETS_ERRNO - # Requires: CYGINT_ISO_ERRNO - # option CYGSEM_LIBC_SIGNALS_SIGNAL_SETS_ERRNO - # Requires: CYGINT_ISO_ERRNO - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_ERRNO - # package CYGPKG_POSIX - # Requires: CYGINT_ISO_ERRNO - # component CYGPKG_POSIX_MQUEUES - # Requires: CYGINT_ISO_ERRNO - # package CYGPKG_IO_FILEIO - # Requires: CYGINT_ISO_ERRNO - # package CYGPKG_USTL - # Requires: CYGINT_ISO_ERRNO -}; - -# errno variable implementation header -# -cdl_option CYGBLD_ISO_ERRNO_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/error/errno.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_ERROR_ERRNO - # Requires: CYGBLD_ISO_ERRNO_HEADER == "<cyg/error/errno.h>" -}; - -# < -# 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 - # package CYGPKG_USTL - # Requires: CYGINT_ISO_LOCALE -}; - -# Locale implementation header -# -cdl_option CYGBLD_ISO_LOCALE_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# Standard I/O-related functionality -# -cdl_component CYGPKG_ISO_STDIO { - # There is no associated value. -}; - -# > -# Number of implementations of stdio file types -# -cdl_interface CYGINT_ISO_STDIO_FILETYPES { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES - # CYGINT_ISO_STDIO_FILETYPES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILETYPES - # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES - # component CYGCLS_USTL_FSTREAMS - # Requires: CYGINT_ISO_STDIO_FILETYPES -}; - -# Stdio file types implementation header -# -cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FILETYPES_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Stdio standard streams implementations -# -cdl_interface CYGINT_ISO_STDIO_STREAMS { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS - # CYGINT_ISO_STDIO_STREAMS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_STREAMS - # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS - # component CYGCLS_USTL_FSTREAMS - # Requires: CYGINT_ISO_STDIO_STREAMS -}; - -# Stdio standard streams implementation header -# This header file must define stdin, stdout -# and stderr. -# -cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_STREAMS_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio file operations -# -cdl_interface CYGINT_ISO_STDIO_FILEOPS { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS - # CYGINT_ISO_STDIO_FILEOPS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEOPS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS -}; - -# Stdio file operations implementation header -# This header controls the file system operations on a file -# such as remove(), rename(), tmpfile(), tmpnam() and associated -# constants. -# -cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FILEOPS_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio file access functionals -# -cdl_interface CYGINT_ISO_STDIO_FILEACCESS { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEACCESS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # option CYGSEM_LIBC_EXIT_CALLS_FFLUSH - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # option CYGSEM_LIBC_EXIT_CALLS_FFLUSH - # DefaultValue: 0 != CYGINT_ISO_STDIO_FILEACCESS - # component CYGCLS_USTL_FSTREAMS - # 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FILEACCESS_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio formatted I/O -# -cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FORMATTED_IO - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # package CYGPKG_USTL - # 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio character I/O -# -cdl_interface CYGINT_ISO_STDIO_CHAR_IO { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO - # CYGINT_ISO_STDIO_CHAR_IO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_CHAR_IO - # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO - # package CYGPKG_USTL - # Requires: CYGINT_ISO_STDIO_CHAR_IO -}; - -# Stdio character I/O implementation header -# -cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_CHAR_IO_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio direct I/O -# -cdl_interface CYGINT_ISO_STDIO_DIRECT_IO { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO - # CYGINT_ISO_STDIO_DIRECT_IO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_DIRECT_IO - # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO - # package CYGPKG_USTL - # Requires: CYGINT_ISO_STDIO_DIRECT_IO -}; - -# Stdio direct I/O implementation header -# -cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio file positioning -# -cdl_interface CYGINT_ISO_STDIO_FILEPOS { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEPOS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # component CYGCLS_USTL_FSTREAMS - # 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FILEPOS_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio error handling -# -cdl_interface CYGINT_ISO_STDIO_ERROR { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_ERROR - # CYGINT_ISO_STDIO_ERROR == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_ERROR - # Requires: 1 >= CYGINT_ISO_STDIO_ERROR - # package CYGPKG_USTL - # Requires: CYGINT_ISO_STDIO_ERROR -}; - -# Stdio error handling implementation header -# -cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_ERROR_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# POSIX fd-related function implementations -# -cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS { - # Implemented by CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS - # CYGINT_ISO_STDIO_POSIX_FDFUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS - # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS -}; - -# POSIX fd-related function implementation header -# -cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# Standard general utility functions -# -cdl_component CYGPKG_ISO_STDLIB { - # There is no associated value. -}; - -# > -# String conversion function implementations -# -cdl_interface CYGINT_ISO_STDLIB_STRCONV { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV - # CYGINT_ISO_STDLIB_STRCONV == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_STRCONV - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_STDLIB_STRCONV -}; - -# String conversion function implementation header -# -cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdlib/atox.inl> - # 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 == "<cyg/libc/stdlib/atox.inl>" -}; - -# String to FP conversion function implementations -# -cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT { - # Implemented by CYGFUN_LIBC_strtod, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT - # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT - # Requires: CYGINT_ISO_STDLIB_STRCONV_FLOAT - # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT - # DefaultValue: 0 != CYGPKG_LIBM && - # 0 != CYGINT_ISO_STDLIB_STRCONV_FLOAT -}; - -# String to FP conversion function implementation header -# -cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Random number generator implementations -# -cdl_interface CYGINT_ISO_RAND { - # Implemented by CYGIMP_LIBC_RAND_SIMPLEST, active, disabled - # Implemented by CYGIMP_LIBC_RAND_SIMPLE1, active, enabled - # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_RAND - # CYGINT_ISO_RAND == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_RAND - # Requires: 1 >= CYGINT_ISO_RAND -}; - -# Random number generator implementation header -# -cdl_option CYGBLD_ISO_RAND_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Malloc implementations -# -cdl_interface CYGINT_ISO_MALLOC { - # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_MALLOC - # Requires: 1 >= CYGINT_ISO_MALLOC - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGINT_ISO_MALLOC - # option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC - # Requires: CYGINT_ISO_MALLOC - # option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC - # DefaultValue: 0 != CYGINT_ISO_MALLOC - # component CYGPKG_LIBC_STDIO_OPEN - # Requires: CYGINT_ISO_MALLOC - # component CYGPKG_LIBC_STDIO_OPEN - # DefaultValue: 0 != CYGINT_ISO_MALLOC - # option CYGFUN_LIBC_STRING_STRDUP - # ActiveIf: CYGINT_ISO_MALLOC - # component CYGPKG_POSIX_MQUEUES - # Requires: CYGINT_ISO_MALLOC - # component CYGPKG_IO_FILEIO_INODE - # Requires: CYGINT_ISO_MALLOC - # package CYGPKG_USTL - # Requires: CYGINT_ISO_MALLOC -}; - -# Malloc implementation header -# -cdl_option CYGBLD_ISO_MALLOC_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Mallinfo() implementations -# -cdl_interface CYGINT_ISO_MALLINFO { - # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_MALLINFO - # CYGINT_ISO_MALLINFO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_MALLINFO - # Requires: 1 >= CYGINT_ISO_MALLINFO -}; - -# Mallinfo() implementation header -# -cdl_option CYGBLD_ISO_MALLINFO_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Program exit functionality implementations -# -cdl_interface CYGINT_ISO_EXIT { - # Implemented by CYGPKG_LIBC_STARTUP, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_EXIT - # Requires: 1 >= CYGINT_ISO_EXIT - # option CYGFUN_INFRA_DUMMY_ABORT - # Requires: !CYGINT_ISO_EXIT - # option CYGFUN_INFRA_DUMMY_ABORT - # DefaultValue: CYGINT_ISO_EXIT == 0 - # package CYGPKG_USTL - # Requires: CYGINT_ISO_EXIT -}; - -# Program exit functionality implementation header -# -cdl_option CYGBLD_ISO_EXIT_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Program environment implementations -# -cdl_interface CYGINT_ISO_STDLIB_ENVIRON { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_ENVIRON - # CYGINT_ISO_STDLIB_ENVIRON == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_ENVIRON - # Requires: 1 >= CYGINT_ISO_STDLIB_ENVIRON -}; - -# Program environment implementation header -# -cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# system() implementations -# -cdl_interface CYGINT_ISO_STDLIB_SYSTEM { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_SYSTEM - # CYGINT_ISO_STDLIB_SYSTEM == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_SYSTEM - # Requires: 1 >= CYGINT_ISO_STDLIB_SYSTEM -}; - -# system() implementation header -# -cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# bsearch() implementations -# -cdl_interface CYGINT_ISO_BSEARCH { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_BSEARCH - # CYGINT_ISO_BSEARCH == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_BSEARCH - # Requires: 1 >= CYGINT_ISO_BSEARCH -}; - -# bsearch() implementation header -# -cdl_option CYGBLD_ISO_BSEARCH_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# qsort() implementations -# -cdl_interface CYGINT_ISO_QSORT { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_QSORT - # CYGINT_ISO_STDLIB_QSORT (unknown) == 0 - # --> 1 - - # The following properties are affected by this value -}; - -# qsort() implementation header -# -cdl_option CYGBLD_ISO_QSORT_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# abs()/labs() implementations -# -cdl_interface CYGINT_ISO_ABS { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_ABS - # CYGINT_ISO_STDLIB_ABS (unknown) == 0 - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_TIME - # Requires: CYGINT_ISO_ABS -}; - -# abs()/labs() implementation header -# -cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdlib/abs.inl> - # 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 == "<cyg/libc/stdlib/abs.inl>" -}; - -# div()/ldiv() implementations -# -cdl_interface CYGINT_ISO_DIV { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_DIV - # CYGINT_ISO_STDLIB_DIV (unknown) == 0 - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_TIME - # Requires: CYGINT_ISO_DIV -}; - -# div()/ldiv() implementation header -# -cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdlib/div.inl> - # 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 == "<cyg/libc/stdlib/div.inl>" -}; - -# 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 == "<cyg/libc/i18n/mb.h>" -}; - -# Multibyte character implementations -# -cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE { - # Implemented by CYGPKG_LIBC_I18N, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_MULTIBYTE - # CYGINT_ISO_STDLIB_MULTIBYTE == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_MULTIBYTE - # Requires: 1 >= CYGINT_ISO_STDLIB_MULTIBYTE -}; - -# Multibyte character implementation header -# -cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# String functions -# -cdl_component CYGPKG_ISO_STRING { - # There is no associated value. -}; - -# > -# Number of implementations of strerror() function -# -cdl_interface CYGINT_ISO_STRERROR { - # Implemented by CYGPKG_ERROR_STRERROR, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STRERROR - # CYGINT_ISO_STRERROR == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRERROR - # Requires: 1 >= CYGINT_ISO_STRERROR - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_STRERROR -}; - -# 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 <cyg/error/strerror.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_ERROR_STRERROR - # Requires: CYGBLD_ISO_STRERROR_HEADER == "<cyg/error/strerror.h>" -}; - -# 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 - # package CYGPKG_USTL - # Requires: 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 <cyg/libc/string/string.h> - # 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 == "<cyg/libc/string/string.h>" -}; - -# 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 - # package CYGPKG_USTL - # Requires: 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 <cyg/libc/string/string.h> - # 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 == "<cyg/libc/string/string.h>" -}; - -# Number of implementations of BSD string functions -# -cdl_interface CYGINT_ISO_STRING_BSD_FUNCS { - # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS - # CYGINT_ISO_STRING_BSD_FUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRING_BSD_FUNCS - # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS - # option CYGFUN_LIBC_TIME_POSIX - # Requires: CYGINT_ISO_STRING_BSD_FUNCS -}; - -# 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 <cyg/libc/string/bsdstring.h> - # 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 == "<cyg/libc/string/bsdstring.h>" -}; - -# 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 - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY - # DefaultValue: (0 != CYGPKG_ISOINFRA) && (0 != CYGINT_ISO_STRING_MEMFUNCS) - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # package CYGPKG_USTL - # 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 <cyg/libc/string/string.h> - # 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 == "<cyg/libc/string/string.h>" -}; - -# Number of implementations of other ISO C str*() functions -# This covers the other str*() functions defined by ISO C. -# -cdl_interface CYGINT_ISO_STRING_STRFUNCS { - # Implemented by CYGPKG_LIBC_STRING, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRING_STRFUNCS - # Requires: 1 >= CYGINT_ISO_STRING_STRFUNCS - # option CYGFUN_INFRA_DUMMY_STRLEN - # Requires: !CYGINT_ISO_STRING_STRFUNCS - # option CYGFUN_INFRA_DUMMY_STRLEN - # DefaultValue: CYGINT_ISO_STRING_STRFUNCS == 0 - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_LIBC_STDLIB - # Requires: CYGINT_ISO_STRING_STRFUNCS - # component CYGPKG_POSIX_MQUEUES - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_IO_FILEIO - # Requires: CYGINT_ISO_STRING_STRFUNCS - # component CYGPKG_FILEIO_FNMATCH - # DefaultValue: ( CYGINT_ISO_STRING_STRFUNCS && CYGINT_ISO_CTYPE ) - # package CYGPKG_USTL - # 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 <cyg/libc/string/string.h> - # 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 == "<cyg/libc/string/string.h>" -}; - -# < -# 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 - user_value 1 <cyg/posix/sys/time.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_CLOCKS - # Requires: CYGBLD_ISO_STRUCTTIMEVAL_HEADER == "<cyg/posix/sys/time.h>" -}; - -# fnmatch implementation header -# -cdl_option CYGBLD_ISO_FNMATCH_HEADER { - # Flavor: booldata - user_value 1 <cyg/fileio/fnmatch.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_FILEIO_FNMATCH - # Requires: CYGBLD_ISO_FNMATCH_HEADER == "<cyg/fileio/fnmatch.h>" -}; - -# Number of implementations of POSIX timer types -# -cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES { - # Implemented by CYGPKG_POSIX_TIMERS, active, disabled - # 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 - user_value 1 <cyg/posix/time.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TIMERS - # Requires: CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER == "<cyg/posix/time.h>" -}; - -# Number of implementations of POSIX clock types -# -cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES { - # Implemented by CYGPKG_POSIX_CLOCKS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES - # CYGINT_ISO_POSIX_CLOCK_TYPES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_POSIX_CLOCK_TYPES - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES -}; - -# POSIX clock types implementation header -# -cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/time.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_CLOCKS - # Requires: CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER == "<cyg/posix/time.h>" -}; - -# Number of implementations of ISO C types -# -cdl_interface CYGINT_ISO_C_TIME_TYPES { - # Implemented by CYGPKG_LIBC_TIME, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES - # CYGINT_ISO_C_TIME_TYPES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_C_TIME_TYPES - # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES - # package CYGPKG_USTL - # Requires: CYGINT_ISO_C_TIME_TYPES -}; - -# ISO C time types implementation header -# -cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/time/time.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_TIME - # Requires: CYGBLD_ISO_C_TIME_TYPES_HEADER == "<cyg/libc/time/time.h>" -}; - -# Number of implementations of POSIX timers -# -cdl_interface CYGINT_ISO_POSIX_TIMERS { - # Implemented by CYGPKG_POSIX_TIMERS, active, disabled - # 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 - user_value 1 <cyg/posix/time.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TIMERS - # Requires: CYGBLD_ISO_POSIX_TIMERS_HEADER == "<cyg/posix/time.h>" -}; - -# Number of implementations of POSIX clocks -# -cdl_interface CYGINT_ISO_POSIX_CLOCKS { - # Implemented by CYGPKG_POSIX_CLOCKS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCKS - # CYGINT_ISO_POSIX_CLOCKS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_POSIX_CLOCKS - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCKS - # option CYGPKG_POSIX_TIMERS - # Requires: CYGINT_ISO_POSIX_CLOCKS -}; - -# POSIX clocks implementation header -# -cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/time.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_CLOCKS - # Requires: CYGBLD_ISO_POSIX_CLOCKS_HEADER == "<cyg/posix/time.h>" -}; - -# Number of implementations of ISO C clock functions -# -cdl_interface CYGINT_ISO_C_CLOCK_FUNCS { - # Implemented by CYGPKG_LIBC_TIME, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS - # CYGINT_ISO_C_CLOCK_FUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_C_CLOCK_FUNCS - # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS -}; - -# ISO C clock functions' implementation header -# -cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/time/time.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_TIME - # Requires: CYGBLD_ISO_C_CLOCK_FUNCS_HEADER == "<cyg/libc/time/time.h>" -}; - -# Number of implementations of tzset() function -# -cdl_interface CYGINT_ISO_TZSET { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_TZSET - # CYGINT_ISO_TZSET == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_TZSET - # Requires: 1 >= CYGINT_ISO_TZSET -}; - -# tzset() implementation header -# -cdl_option CYGBLD_ISO_TZSET_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# Signal functionality -# -cdl_component CYGPKG_ISO_SIGNAL { - # There is no associated value. -}; - -# > -# Number of implementations of signal numbers -# -cdl_interface CYGINT_ISO_SIGNAL_NUMBERS { - # Implemented by CYGPKG_LIBC_SIGNALS, active, enabled - # Implemented by CYGPKG_POSIX_SIGNALS, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_NUMBERS - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS - # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS - # Requires: CYGINT_ISO_SIGNAL_NUMBERS - # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS - # DefaultValue: CYGINT_ISO_SIGNAL_NUMBERS != 0 && CYGINT_ISO_SIGNAL_IMPL != 0 - # package CYGPKG_USTL - # Requires: 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/signals/signal.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_SIGNALS - # Requires: CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == "<cyg/libc/signals/signal.h>" - # component CYGPKG_POSIX_SIGNALS - # Requires: CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == "<cyg/posix/signal.h>" -}; - -# Number of signal implementations -# -cdl_interface CYGINT_ISO_SIGNAL_IMPL { - # Implemented by CYGPKG_LIBC_SIGNALS, active, enabled - # Implemented by CYGPKG_POSIX_SIGNALS, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_IMPL - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL - # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS - # Requires: CYGINT_ISO_SIGNAL_IMPL - # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS - # DefaultValue: CYGINT_ISO_SIGNAL_NUMBERS != 0 && CYGINT_ISO_SIGNAL_IMPL != 0 - # package CYGPKG_USTL - # Requires: 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/signals/signal.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_SIGNALS - # Requires: CYGBLD_ISO_SIGNAL_IMPL_HEADER == "<cyg/libc/signals/signal.h>" - # component CYGPKG_POSIX_SIGNALS - # Requires: CYGBLD_ISO_SIGNAL_IMPL_HEADER == "<cyg/posix/signal.h>" -}; - -# POSIX real time signals feature test macro -# This defines the POSIX feature test macro -# that indicates that the POSIX real time signals -# are present. -# -cdl_interface CYGINT_POSIX_REALTIME_SIGNALS { - # Implemented by CYGPKG_POSIX_SIGNALS, active, disabled - # 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 { - # Implemented by CYGPKG_LIBC_SETJMP, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SETJMP - # CYGINT_ISO_SETJMP == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SETJMP - # Requires: 1 >= CYGINT_ISO_SETJMP -}; - -# setjmp() / longjmp() implementation header -# -cdl_option CYGBLD_ISO_SETJMP_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/setjmp/setjmp.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_SETJMP - # Requires: CYGBLD_ISO_SETJMP_HEADER == "<cyg/libc/setjmp/setjmp.h>" -}; - -# sigsetjmp() / siglongjmp() implementations -# -cdl_interface CYGINT_ISO_SIGSETJMP { - # Implemented by CYGPKG_POSIX_SIGNALS, active, disabled - # 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 - user_value 1 <cyg/posix/sigsetjmp.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_POSIX_SIGNALS - # Requires: CYGBLD_ISO_SIGSETJMP_HEADER == "<cyg/posix/sigsetjmp.h>" -}; - -# < -# 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 <fcntl.h> -# -cdl_component CYGPKG_ISO_POSIX_FCNTL { - # There is no associated value. -}; - -# > -# POSIX open flags implementation header -# -cdl_option CYGBLD_ISO_OFLAG_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# POSIX fcntl() implementations -# -cdl_interface CYGINT_ISO_FCNTL { - # Implemented by CYGPKG_IO_FILEIO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_FCNTL - # CYGINT_ISO_FCNTL == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_FCNTL - # Requires: 1 >= CYGINT_ISO_FCNTL -}; - -# POSIX fcntl() implementation header -# -cdl_option CYGBLD_ISO_FCNTL_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# POSIX file open implementations -# -cdl_interface CYGINT_ISO_OPEN { - # Implemented by CYGPKG_IO_FILEIO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_OPEN - # CYGINT_ISO_OPEN == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_OPEN - # Requires: 1 >= CYGINT_ISO_OPEN -}; - -# POSIX file open implementation header -# -cdl_option CYGBLD_ISO_OPEN_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# <sys/stat.h> definitions implementation header -# -cdl_option CYGBLD_ISO_STAT_DEFS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# POSIX directory reading implementation -# -cdl_interface CYGINT_ISO_DIRENT { - # Implemented by CYGPKG_IO_FILEIO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_DIRENT - # CYGINT_ISO_DIRENT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_DIRENT - # Requires: 1 >= CYGINT_ISO_DIRENT -}; - -# <dirent.h> definitions implementation header -# -cdl_option CYGBLD_ISO_DIRENT_HEADER { - # Flavor: booldata - user_value 1 <cyg/fileio/dirent.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_IO_FILEIO - # Requires: CYGBLD_ISO_DIRENT_HEADER == "<cyg/fileio/dirent.h>" -}; - -# POSIX <sys/types.h> contents -# This covers the types required by POSIX to be in -# <sys/types.h> -# -cdl_component CYGPKG_ISO_POSIX_TYPES { - # There is no associated value. -}; - -# > -# POSIX thread types implementations -# -cdl_interface CYGINT_ISO_PTHREADTYPES { - # Implemented by CYGPKG_POSIX_PTHREAD_REQUIREMENTS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_PTHREADTYPES - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # interface CYGINT_ISO_PMUTEXTYPES - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES -}; - -# POSIX thread types implementation header -# -cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/types.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGBLD_ISO_PTHREADTYPES_HEADER == "<cyg/posix/types.h>" -}; - -# POSIX mutex types implementations -# -cdl_interface CYGINT_ISO_PMUTEXTYPES { - # Implemented by CYGPKG_POSIX_PTHREAD_MUTEX, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 1 - # --> 1 - - # The following properties are affected by this value -}; - -# POSIX mutex types implementation header -# -cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/muttypes.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_POSIX - # Requires: CYGBLD_ISO_PMUTEXTYPES_HEADER == "<cyg/posix/muttypes.h>" -}; - -# 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 <sys/types.h> contents -# This covers the extra types required by non-POSIX -# packages to be in <sys/types.h>. 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 - user_value 1 <cyg/posix/utsname.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_POSIX_UTSNAME - # Requires: CYGBLD_ISO_UTSNAME_HEADER == "<cyg/posix/utsname.h>" -}; - -# < -# POSIX scheduler -# -cdl_component CYGPKG_ISO_SCHED { - # There is no associated value. -}; - -# > -# POSIX scheduler implementations -# -cdl_interface CYGINT_ISO_SCHED_IMPL { - # Implemented by CYGPKG_POSIX_SCHED, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SCHED_IMPL - # CYGINT_ISO_SCHED_IMPL == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SCHED_IMPL - # Requires: 1 >= CYGINT_ISO_SCHED_IMPL -}; - -# POSIX scheduler implementation header -# -cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX semaphores -# -cdl_component CYGPKG_ISO_SEMAPHORES { - # There is no associated value. -}; - -# > -# POSIX semaphore implementations -# -cdl_interface CYGINT_ISO_SEMAPHORES { - # Implemented by CYGPKG_POSIX_SEMAPHORES, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SEMAPHORES - # CYGINT_ISO_SEMAPHORES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SEMAPHORES - # Requires: 1 >= CYGINT_ISO_SEMAPHORES -}; - -# POSIX semaphore implementation header -# -cdl_option CYGBLD_ISO_SEMAPHORES_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/semaphore.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_SEMAPHORES - # Requires: CYGBLD_ISO_SEMAPHORES_HEADER == "<cyg/posix/semaphore.h>" -}; - -# < -# POSIX message queues -# -cdl_component CYGPKG_ISO_MQUEUE { - # There is no associated value. -}; - -# > -# Implementations -# -cdl_interface CYGINT_ISO_MQUEUE { - # Implemented by CYGPKG_POSIX_MQUEUES, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_MQUEUE - # Requires: 1 >= CYGINT_ISO_MQUEUE - # option CYGNUM_ISO_MQUEUE_OPEN_MAX - # ActiveIf: CYGINT_ISO_MQUEUE - # option CYGNUM_ISO_MQUEUE_PRIO_MAX - # ActiveIf: CYGINT_ISO_MQUEUE -}; - -# Implementation header -# -cdl_option CYGBLD_ISO_MQUEUE_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Maximum number of open message queues -# -cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX { - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 1 - # --> 1 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 8 - # value_source default - # Default value: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX == 8 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX == 8 - # --> 1 8 -}; - -# Maximum number of message priorities -# -cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX { - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 1 - # --> 1 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 65535 - # value_source default - # Default value: 1 65535 -}; - -# < -# POSIX threads -# -cdl_component CYGPKG_ISO_PTHREAD { - # There is no associated value. -}; - -# > -# POSIX pthread implementations -# -cdl_interface CYGINT_ISO_PTHREAD_IMPL { - # Implemented by CYGPKG_POSIX_PTHREAD_REQUIREMENTS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_PTHREAD_IMPL - # CYGINT_ISO_PTHREAD_IMPL == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_PTHREAD_IMPL - # Requires: 1 >= CYGINT_ISO_PTHREAD_IMPL -}; - -# POSIX pthread implementation header -# -cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/pthread.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGBLD_ISO_PTHREAD_IMPL_HEADER == "<cyg/posix/pthread.h>" -}; - -# POSIX mutex/cond var implementations -# -cdl_interface CYGINT_ISO_PTHREAD_MUTEX { - # Implemented by CYGPKG_POSIX_PTHREAD_MUTEX, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_PTHREAD_MUTEX - # CYGINT_ISO_PTHREAD_MUTEX == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_PTHREAD_MUTEX - # Requires: 1 >= CYGINT_ISO_PTHREAD_MUTEX - # component CYGPKG_POSIX_MQUEUES - # Requires: CYGINT_ISO_PTHREAD_MUTEX -}; - -# POSIX mutex/cond var implementation header -# -cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/mutex.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_POSIX - # Requires: CYGBLD_ISO_PTHREAD_MUTEX_HEADER == "<cyg/posix/mutex.h>" -}; - -# < -# Limits -# -cdl_component CYGPKG_ISO_LIMITS { - # There is no associated value. -}; - -# > -# POSIX pthread limits implementations -# -cdl_interface CYGINT_ISO_POSIX_LIMITS { - # Implemented by CYGPKG_POSIX, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_POSIX_LIMITS - # CYGINT_ISO_POSIX_LIMITS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_POSIX_LIMITS - # Requires: 1 >= CYGINT_ISO_POSIX_LIMITS -}; - -# POSIX pthread limits implementation header -# -cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/limits.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_POSIX - # Requires: CYGBLD_ISO_POSIX_LIMITS_HEADER == "<cyg/posix/limits.h>" -}; - -# OPEN_MAX implementation header -# -cdl_option CYGBLD_ISO_OPEN_MAX_HEADER { - # Flavor: booldata - user_value 1 <cyg/fileio/limits.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_IO_FILEIO - # Requires: CYGBLD_ISO_OPEN_MAX_HEADER == "<cyg/fileio/limits.h>" -}; - -# 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 - user_value 1 <cyg/fileio/limits.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_IO_FILEIO - # Requires: CYGBLD_ISO_NAME_MAX_HEADER == "<cyg/fileio/limits.h>" -}; - -# PATH_MAX implementation header -# -cdl_option CYGBLD_ISO_PATH_MAX_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX termios -# -cdl_component CYGPKG_ISO_TERMIOS { - # There is no associated value. -}; - -# > -# POSIX termios implementations -# -cdl_interface CYGINT_ISO_TERMIOS { - # Implemented by CYGPKG_IO_SERIAL_TERMIOS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_TERMIOS - # CYGINT_ISO_TERMIOS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_TERMIOS - # Requires: 1 >= CYGINT_ISO_TERMIOS -}; - -# POSIX termios implementation header -# -cdl_option CYGBLD_ISO_TERMIOS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# Dynamic load API -# -cdl_component CYGPKG_ISO_DLFCN { - # There is no associated value. -}; - -# > -# Dynamic load implementations -# -cdl_interface CYGINT_ISO_DLFCN { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_DLFCN - # CYGINT_ISO_DLFCN == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_DLFCN - # Requires: 1 >= CYGINT_ISO_DLFCN -}; - -# Dynamic load implementation header -# -cdl_option CYGBLD_ISO_DLFCN_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# UNIX standard functions -# -cdl_component CYGPKG_ISO_UNISTD { - # There is no associated value. -}; - -# > -# POSIX timer operations implementations -# -cdl_interface CYGINT_ISO_POSIX_TIMER_OPS { - # Implemented by CYGPKG_POSIX_TIMERS, active, disabled - # 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 { - # Implemented by CYGPKG_POSIX_CLOCKS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_POSIX_SLEEP - # CYGINT_ISO_POSIX_SLEEP == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_POSIX_SLEEP - # Requires: 1 >= CYGINT_ISO_POSIX_SLEEP -}; - -# POSIX sleep() implementation header -# -cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# select()/poll() functions -# -cdl_component CYGPKG_ISO_SELECT { - # There is no associated value. -}; - -# > -# select() implementations -# -cdl_interface CYGINT_ISO_SELECT { - # Implemented by CYGFUN_IO_FILEIO_SELECT, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_SELECT - # CYGINT_ISO_SELECT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SELECT - # Requires: 1 >= CYGINT_ISO_SELECT -}; - -# select() implementation header -# -cdl_option CYGBLD_ISO_SELECT_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# poll() implementations -# -cdl_interface CYGINT_ISO_POLL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POLL - # CYGINT_ISO_POLL == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_POLL - # Requires: 1 >= CYGINT_ISO_POLL -}; - -# poll() implementation header -# -cdl_option CYGBLD_ISO_POLL_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# NetDB utility functions -# -cdl_component CYGPKG_ISO_NETDB { - # There is no associated value. -}; - -# > -# DNS implementations -# -cdl_interface CYGINT_ISO_DNS { - # 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: "" -}; - -# < -# < -# ISO C library -# doc: ref/libc.html -# The packages under this package enable compatibility with the ISO C -# standard - ISO/IEC 9899:1990. This allows the user application to use -# well known standard C library functions, and in eCos starts a thread -# to invoke the user function main(). This package is a top-level placeholder -# to contain the implementations. -# -cdl_package CYGPKG_LIBC { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # component CYGNUM_LIBM_COMPATIBILITY - # Requires: CYGPKG_LIBC -}; - -# > -# ISO C library 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 <ctype.h> functionality. -# -cdl_package CYGPKG_LIBC_I18N { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGPKG_LIBC_I18N -}; - -# > -# Supported locales -# These options determine which locales other than the "C" locale -# are supported and hence contribute to the size of the executable. -# -cdl_component CYGPKG_LIBC_I18N_LOCALES { - # There is no associated value. -}; - -# > -# Support for multiple locales required -# -cdl_interface CYGINT_LIBC_I18N_MB_REQUIRED { - # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_SJIS, active, disabled - # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_JIS, active, disabled - # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_EUCJP, active, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER == "<cyg/libc/i18n/mb.h>" - # 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 == "<cyg/libc/i18n/newlibctype.h>" - # CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl> - # --> 0 -}; - -# Per-thread multibyte state -# This option controls whether the multibyte character -# handling functions mblen(), mbtowc(), and wctomb(), -# have their state recorded on a per-thread -# basis rather than global. If this option is -# disabled, some per-thread space can be saved. -# Enabling this option will use three slots -# of kernel per-thread data. You should ensure you -# have enough slots configured for all your -# per-thread data. -# -cdl_option CYGSEM_LIBC_I18N_PER_THREAD_MB { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA != 0 - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 -}; - -# Size of locale name strings -# This option controls the maximum size of -# locale names and is used, among other things -# to instantiate a static string used -# as a return value from the -# setlocale() function. When requesting the -# current locale settings with LC_ALL, a string -# must be constructed to contain this data, rather -# than just returning a constant string. This -# string data is stored in the static string. -# This depends on the length of locale names, -# hence this option. If just the C locale is -# present, this option can be set as low as 2. -# -cdl_option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 2 - # value_source default - # Default value: (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 : (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 : (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) - # CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0 - # CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0 - # CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0 - # --> 2 - # Legal values: (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 : (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 : (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff - # CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0 - # CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0 - # CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0 -}; - -# Inline versions of <ctype.h> functions -# This option chooses whether the simple character -# classification and conversion functions (e.g. -# isupper(), isalpha(), toupper(), etc.) -# from <ctype.h> 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 == "<cyg/libc/i18n/ctype.inl>" - # CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl> - # --> 1 -}; - -# C library i18n functions build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_I18N_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_I18N_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_I18N_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library i18n function tests -# This option specifies the set of tests for the C library -# i18n functions. -# -cdl_option CYGPKG_LIBC_I18N_TESTS { - # Calculated value: "tests/ctype tests/setlocale tests/i18nmb" - # Flavor: data - # Current_value: tests/ctype tests/setlocale tests/i18nmb -}; - -# < -# < -# ISO C library setjmp/longjmp functions -# doc: ref/libc.html -# This package provides non-local jumps based on setjmp() and -# longjmp() in <setjmp.h> as specified by the ISO C -# standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_SETJMP { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGBLD_ISO_SETJMP_HEADER == "<cyg/libc/setjmp/setjmp.h>" - # CYGBLD_ISO_SETJMP_HEADER == <cyg/libc/setjmp/setjmp.h> - # --> 1 -}; - -# > -# C library setjmp build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_SETJMP_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_SETJMP_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_SETJMP_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library setjmp tests -# This option specifies the set of tests for this package. -# -cdl_option CYGPKG_LIBC_SETJMP_TESTS { - # Calculated value: "tests/setjmp" - # Flavor: data - # Current_value: tests/setjmp -}; - -# < -# < -# ISO C library signal functions -# doc: ref/libc.html -# This component controls signal functionality, -# as implemented in ISO/IEC 9899:1990 chapter 7.7 with -# the signal() and raise() functions. As well as -# allowing a program to send itself signals, it is -# also possible to cause hardware exceptions to -# be signalled to the program in a similar way. -# -cdl_package CYGPKG_LIBC_SIGNALS { - # 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_SIGNAL_NUMBERS_HEADER == "<cyg/libc/signals/signal.h>" - # CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == <cyg/libc/signals/signal.h> - # --> 1 - # Requires: CYGBLD_ISO_SIGNAL_IMPL_HEADER == "<cyg/libc/signals/signal.h>" - # CYGBLD_ISO_SIGNAL_IMPL_HEADER == <cyg/libc/signals/signal.h> - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 -}; - -# > -# Thread safe signals -# Because signal handlers are global, and not -# thread-specific (as mandated by POSIX 1003.1) -# it is possible for multiple threads to clash -# and corrupt data if setting the same signal -# handler at the same time. With this option -# enabled, a kernel mutex will be used to protect -# the shared data. -# -cdl_option CYGSEM_LIBC_SIGNALS_THREAD_SAFE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 -}; - -# Hardware exceptions cause signals -# This causes hardware exceptions like -# arithmetic exceptions (e.g. divide by zero) -# or bad memory accesses to be passed through as -# signals. It is thus possible for a program to -# handle these exceptions in a generic way using -# the appropriate signal handlers. The details of -# exactly which exceptions are passed through -# under what circumstances depend on the -# underlying HAL implementation. Consequently it -# must be remembered that signal handlers cannot -# be guaranteed to be invoked in the expected -# circumstances if you do not know about the -# underlying HAL implementation - it is possible -# that the architecture is unable to detect that -# exception. -# -cdl_component CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_KERNEL_EXCEPTIONS_GLOBAL - # CYGSEM_KERNEL_EXCEPTIONS_GLOBAL == 1 - # --> 1 - # Requires: CYGSEM_KERNEL_EXCEPTIONS_DECODE - # CYGSEM_KERNEL_EXCEPTIONS_DECODE == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_LIBC_SIGNALS_TESTS - # Calculated: - # "tests/signal1" - # . ((CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS) ? " tests/signal2" : "") - # -}; - -# > -# Chain old exception handlers -# When hardware exceptions are generated, it -# is possible to chain into the old kernel exception -# handler before calling any registered signal -# handler. If this is not required, disable this -# option and only the signal handler will be -# called when this exception occurs. Disabling -# this option will also save some space and code -# usage. -# -cdl_option CYGSEM_LIBC_SIGNALS_CHAIN_HWEXCEPTIONS { - # This option is not active - # The parent CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Inline versions of functions -# Some functions can be made inline instead of -# being function calls. These can be set here. -# -cdl_component CYGPKG_LIBC_SIGNALS_INLINE { - # There is no associated value. -}; - -# > -# raise() -# Enabling this option makes raise() an inline function. -# -cdl_option CYGIMP_LIBC_SIGNALS_RAISE_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# signal() -# Enabling this option makes signal() an inline function. -# -cdl_option CYGIMP_LIBC_SIGNALS_SIGNAL_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Error handling -# You may or may not want errno to be set by -# certain functions. Not using errno could save -# both space, code, and avoid worrying about -# interactions between multiple threads when -# setting it. -# -cdl_component CYGPKG_LIBC_SIGNALS_ERROR_HANDLING { - # There is no associated value. -}; - -# > -# Bad signal fatal -# Enabling this option will cause an assertion -# failure if the signal handling code is -# passed a bad signal. Otherwise an error will -# be returned, or in the case of a -# hardware-generated exception it will be silently -# ignored. -# -cdl_option CYGSEM_LIBC_SIGNALS_BAD_SIGNAL_FATAL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 -}; - -# raise() sets errno -# You may or may not want errno to be set by -# raise() on error conditions. Not using errno -# could save both space, code, and avoid worrying -# about interactions between multiple threads when -# setting it. Strictly ISO C does not mandate -# that errno be set by raise(). -# -cdl_option CYGSEM_LIBC_SIGNALS_RAISE_SETS_ERRNO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 -}; - -# signal() sets errno -# You may or may not want errno to be set by -# signal() on error conditions. Not using errno -# could save both space, code, and avoid worrying -# about interactions between multiple threads when -# setting it. Strictly ISO C mandates -# that errno be set by signal(). -# -cdl_option CYGSEM_LIBC_SIGNALS_SIGNAL_SETS_ERRNO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 -}; - -# < -# Tracing -# These options control the trace output for the C -# library internal signal implementation. -# -cdl_component CYGPKG_LIBC_SIGNALS_TRACING { - # There is no associated value. -}; - -# > -# Default trace level for raise() -# This gives the default tracing level for the -# raise() function. Higher numbers are more -# verbose. -# -cdl_option CYGNUM_LIBC_SIGNALS_RAISE_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 -}; - -# Default hardware exception handler trace level -# This gives the default tracing level for the -# hardware exception handler function (if enabled). -# Higher numbers are more verbose. -# -cdl_option CYGNUM_LIBC_SIGNALS_HWHANDLER_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 signal 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_SIGNALS_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_SIGNALS_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_SIGNALS_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library signal function tests -# This option specifies the set of tests for the C library -# signal functions. -# -cdl_option CYGPKG_LIBC_SIGNALS_TESTS { - # Calculated value: - # "tests/signal1" - # . ((CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS) ? " tests/signal2" : "") - # - # CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS == 0 - # Flavor: data - # Current_value: tests/signal1 -}; - -# < -# < -# ISO environment startup/termination -# doc: ref/c-library-startup.html -# This package manages the control of the -# environment (in the general sense) that an -# application would require for full ISO C / POSIX -# compatibility, including a main() entry point -# supplied with arguments and an environment -# (as retrievable by the getenv() function). -# It also includes at the other end of things, -# what happens when main() returns or exit() is -# called. -# -cdl_package CYGPKG_LIBC_STARTUP { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGINT_LIBC_STARTUP_CONTEXT == 1 - # CYGINT_LIBC_STARTUP_CONTEXT == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_POSIX_MAIN_THREAD - # Requires: 0 != CYGPKG_LIBC_STARTUP -}; - -# > -# main() can be invoked elsewhere -# Implementors of this interface show that they -# allow main() to be invoked elsewhere. -# -cdl_interface CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE { - # Implemented by CYGPKG_POSIX_MAIN_THREAD, active, enabled - # This value cannot be modified here. - # Flavor: bool - # Current value: 1 - - # The following properties are affected by this value - # option CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT - # DefaultValue: 0 == CYGPKG_KERNEL && 0 == - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # component CYGSEM_LIBC_STARTUP_MAIN_THREAD - # DefaultValue: 0 != CYGPKG_KERNEL && 0 == CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # option CYGSEM_LIBC_STARTUP_MAIN_OTHER - # DefaultValue: 0 != CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # option CYGSEM_LIBC_STARTUP_MAIN_OTHER - # Requires: CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE -}; - -# Arguments to main() -# This option allows the setting of the arguments -# to the main function. This only has any effect -# when cyg_iso_c_start() is used to start the -# ISO C compatibility. This will automatically -# invoke main() in an ISO C compatible fashion. -# This option is in fact used as argv, and so is -# an n-tuple of string constants. The final -# entry must be NULL. Conventionally if argv[0] -# is supplied, it is used to inform the program -# of its name. -# -cdl_option CYGDAT_LIBC_ARGUMENTS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{(char *)\"\", (char *)NULL}" - # value_source default - # Default value: "{(char *)\"\", (char *)NULL}" -}; - -# Startup context for main() -# This component describes the options available for -# what context main() is invoked in, such as in a thread -# etc. -# -cdl_component CYGPKG_LIBC_STARTUP_CONTEXT { - # There is no associated value. -}; - -# > -# Startup context implementors -# -cdl_interface CYGINT_LIBC_STARTUP_CONTEXT { - # Implemented by CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT, active, disabled - # Implemented by CYGSEM_LIBC_STARTUP_MAIN_THREAD, active, disabled - # Implemented by CYGSEM_LIBC_STARTUP_MAIN_OTHER, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STARTUP - # Requires: CYGINT_LIBC_STARTUP_CONTEXT == 1 -}; - -# Invoked from initialization context -# With this option selected, main() will be -# called via cyg_user_start() (unless the program -# overrides the default cyg_user_start()). This -# means it is run in the context of the system -# initialization code, without the eCos kernel -# scheduler running, and using the startup stack. -# This means that any functions that may require -# interactions with a running kernel will not -# work (including libc functions, if configured -# to be thread safe for example), so you should -# restrict yourself to only calling fully -# re-entrant functions from within main() in -# this case. -# -cdl_option CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 == CYGPKG_KERNEL && 0 == - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # CYGPKG_KERNEL == current - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 1 - # --> 0 -}; - -# Invoked as eCos thread -# With this option selected, main() is invoked from an eCos -# thread. -# -cdl_component CYGSEM_LIBC_STARTUP_MAIN_THREAD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 != CYGPKG_KERNEL && 0 == CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # CYGPKG_KERNEL == current - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 1 - # --> 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) -}; - -# > -# System provides stack for main()'s thread -# This option controls whether the stack of -# main()'s thread is provided by the application or -# provided by the system. When disabled, the -# application must declare a pointer variable -# cyg_libc_main_stack which is a pointer to an -# appropriately aligned region of memory. The -# application must also declare a variable of -# type `int' called cyg_libc_main_stack_size -# which contains the size of the stack in bytes. -# This must be a multiple of 8. -# -cdl_option CYGSEM_LIBC_MAIN_STACK_FROM_SYSTEM { - # This option is not active - # The parent CYGSEM_LIBC_STARTUP_MAIN_THREAD is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Priority of main()'s thread -# This option is used to provide the thread -# priority which main()'s thread runs at. Be -# sure to check that this number is appropriate -# for the kernel scheduler chosen. Different -# kernel schedulers impose different restrictions -# on the usable priorities. -# -cdl_option CYGNUM_LIBC_MAIN_THREAD_PRIORITY { - # This option is not active - # The parent CYGSEM_LIBC_STARTUP_MAIN_THREAD is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 - # Legal values: 0 to 0x7fffffff -}; - -# < -# Invoked elsewhere -# With this option selected, main() must be -# invoked by a separate package, or by the user. -# -cdl_option CYGSEM_LIBC_STARTUP_MAIN_OTHER { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 1 - # --> 1 - # Requires: CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) - # component CYGPKG_POSIX_MAIN_THREAD - # Requires: CYGSEM_LIBC_STARTUP_MAIN_OTHER -}; - -# < -# Don't allow main()'s stack size to be set -# This interface describes whether the stack size -# value set in this package is supported by the -# implementation that invokes main. If not, that -# option is disabled. -# -cdl_interface CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE { - # Implemented by CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT, active, disabled - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - - # The following properties are affected by this value - # option CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE - # ActiveIf: !CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE -}; - -# main()'s default thread stack size -# This option sets the size of the stack used -# in the context that invokes main(). For example, -# with an eCos kernel, when the cyg_iso_c_start() -# function is used to invoke the user-supplied -# main() function in an ISO C compatible fashion, -# a separate thread is created to call main(). -# This option controls the size of that thread's -# stack, which is allocated in the BSS. It -# must be a multiple of 8. Note, a low number -# here may be overriden by the HAL if there is -# a minimum requirement to process interrupts -# etc. This option cannot be set if the implementation -# that invokes main() does not use it. -# -cdl_option CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE { - # ActiveIf constraint: !CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE - # CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE == 0 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8192 - # value_source default - # Default value: 8192 - # Legal values: 16 to 0x7fffffff -}; - -# Include atexit() function -# This option enables the use of the atexit() -# function, and ensure that the atexit handlers -# are invoked from within exit() as defined in -# the ISO C standard. -# -cdl_component CYGFUN_LIBC_ATEXIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Number of functions atexit() supports -# This option sets the number of functions -# that atexit() has room for. In other words, -# the number of separate atexit() calls that -# can be made before calling exit() or returning -# from main() ( in an environment controlled by -# cyg_iso_c_start() ). For strict compliance -# with the ISO C standard this should be at -# least 32. -# -cdl_option CYGNUM_LIBC_ATEXIT_HANDLERS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 - # Legal values: 1 to 0x7fffffff -}; - -# < -# Make exit() call fflush() -# This option will ensure that all output -# streams are flushed when exitting using -# exit() as prescribed by the ISO C standard. -# -cdl_option CYGSEM_LIBC_EXIT_CALLS_FFLUSH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 1 - # --> 1 -}; - -# _exit() stops all threads -# If this option is enabled then _exit(), -# which is called from exit() which itself is -# called on return from main(), stops the eCos -# scheduler. For strict POSIX 1003.1 -# compatibility this would be the normal -# behaviour. To allow the thread to simply -# exit, without affecting other threads, simply -# leave this option disabled. If there is no eCos -# scheduler, then _exit() simply loops -# irrespective of the setting of this option. -# -cdl_option CYGSEM_LIBC_EXIT_STOPS_SYSTEM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 -}; - -# Default environment -# This option allows the setting of the default -# contents of the environment. This is in fact -# the contents of the global environment pointer -# char **environ defined by POSIX 1003.1. Strings -# must be of the form NAME=VALUE, and the final -# entry must be NULL. -# -cdl_option CYGDAT_LIBC_DEFAULT_ENVIRONMENT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{ NULL }" - # value_source default - # Default value: "{ NULL }" -}; - -# Invoke default static constructors -# This option causes the C library to call -# static constructors with default priority -# from within the context of the main() thread, -# working with the co-operation of the HAL. -# This may be needed for environments that -# expect static constructors to be run in a -# thread context. Note that this uses an object -# with priority 65534. Therefore do not use -# priority 65534 for any other static objects -# with this option enabled. -# -cdl_option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG - # CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG == 0 - # --> 0 - # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) - # CYGSEM_LIBC_STARTUP_MAIN_THREAD == 0 - # CYGSEM_LIBC_STARTUP_MAIN_OTHER == 1 - # CYGPKG_POSIX_PTHREAD == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG - # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS -}; - -# ISO environment startup/termination build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_STARTUP_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_STARTUP_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_STARTUP_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# ISO environment startup/termination tests -# This option specifies the set of tests for this package. -# -cdl_option CYGPKG_LIBC_STARTUP_TESTS { - # Calculated value: "tests/atexit" - # Flavor: data - # Current_value: tests/atexit -}; - -# < -# < -# ISO C library standard input/output functions -# doc: ref/libc.html -# This package provides standard input/output functions associated -# with the header file <stdio.h> as specified by the -# ISO C standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_STDIO { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_IO - # CYGPKG_IO == current - # --> 1 - # Requires: CYGPKG_LIBC_I18N - # CYGPKG_LIBC_I18N == current - # --> 1 - # Requires: (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? CYGPKG_IO_SERIAL_HALDIAG : 1) - # CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" - # CYGPKG_IO_SERIAL_HALDIAG == 1 - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FILETYPES_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FILETYPES_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FILEACCESS_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FILEACCESS_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FILEPOS_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FILEPOS_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FILEOPS_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FILEOPS_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_CHAR_IO_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_CHAR_IO_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_ERROR_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_ERROR_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_STREAMS_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_STREAMS_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_STRERROR - # CYGINT_ISO_STRERROR == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDLIB_STRCONV - # CYGINT_ISO_STDLIB_STRCONV == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_LIBM_USE_STDERR - # Requires: CYGPKG_LIBC_STDIO -}; - -# > -# Inline versions of <stdio.h> functions -# This option chooses whether some of the -# particularly simple functions from -# <stdio.h> are available as inline -# functions. This may improve performance, and as -# the functions are small, may even improve code -# size. -# -cdl_option CYGIMP_LIBC_STDIO_INLINES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Permitted number of open files -# This option controls the guaranteed minimum -# number of simultaneously open files. The ISO -# C standard requires it to be defined (para -# 7.9.1), and if strictly compliant, it must be -# at least 8 (para 7.9.3). In practice it can be -# as low as 3 - for stdin, stdout and stderr. -# -cdl_option FOPEN_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: 3 to 0x7fffffff -}; - -# Maximum length of filename -# This option defines the maximum allowed size of -# a filename in characters. The ISO C standard -# requires it to be defined (para 7.9.1). -# -cdl_option FILENAME_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 1 to 0x7fffffff -}; - -# Maximum length of filenames for temporary files -# This option defines the maximum allowed size of -# filenames for temporary files as generated by -# tmpnam(). It is measured in characters, and the -# ISO C standard requires it to be defined (para -# 7.9.1). -# -cdl_option L_tmpnam { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 4 to 0x7fffffff -}; - -# Unique file names generated by tmpnam() -# This option defines the minimum number of -# unique file names generated by tmpnam(). The -# ISO C standard requires it to be defined (para -# 7.9.1) and for ISO compliance it should be at least -# 25. Note that TMP_MAX names may not be generated -# if L_tmpnam is too small. -# -cdl_option TMP_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 25 - # value_source default - # Default value: 25 - # Legal values: 1 to 0x7fffffff -}; - -# Buffered I/O -# This option controls whether input/output -# through the <stdio.h> functions is buffered. -# This may save some memory per file. It -# is equivalent to putting every file into -# non-buffered mode (_IONBF) through setvbuf(), -# except now it can never be altered back to -# buffered mode. Disabling buffering is strictly -# non-compliant with the ISO C standard. -# -cdl_component CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option BUFSIZ - # Calculated: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0 - # option CYGPKG_LIBC_STDIO_FILEIO - # Requires: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO -}; - -# > -# Default buffer size -# This option defines the default size of buffer -# used with calls to setbuf(), and is the default -# size for buffered streams that have not had -# either setbuf() or setvbuf() invoked on them. -# It is exactly equivalent to the standard -# constant BUFSIZ, except that it is 0 if -# CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO is disabled. -# The ISO C standard requires this to be defined -# (para 7.9.1), and says it must be at least 256 -# (para 7.9.2). -# -cdl_option CYGNUM_LIBC_STDIO_BUFSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: 256 - # Legal values: 1 to 0x7fffffff - - # The following properties are affected by this value - # option BUFSIZ - # Calculated: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0 -}; - -# setbuf()/setvbuf() allows dynamic setting -# This option controls whether I/O buffers are -# implemented dynamically within the stdio -# implementation. Otherwise they will be static, -# and cannot be changed by setbuf()/setvbuf(). If -# they are static (i.e. this option is disabled), -# any attempt to use an arbitrary buffer size, or -# to pass a user-supplied buffer to setbuf() or -# setvbuf() will fail - the buffer is implemented -# internally as a static array taking the size -# of the configuration option BUFSIZ. The only -# exception is if a user buffer is not supplied, -# and the buffer size requested is less than -# BUFSIZ. In this case, the buffer will -# be configured to only use that amount of -# buffering. However the unused memory left over -# will NOT be freed. If this option is enabled, -# then setvbuf() can be used to assign a user supplied -# buffer to the stream. -# Either setting can be considered to -# be compliant with the ISO C standard. -# -cdl_option CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC - # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF - # option CYGPKG_LIBC_STDIO_FILEIO - # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF -}; - -# setbuf()/setvbuf() uses malloc() -# This option controls whether buffers set by setbuf() and -# setvbuf() may be allocated using malloc(). -# -cdl_option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF - # CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF == 1 - # --> 1 -}; - -# < -# Default buffer size (BUFSIZ) -# -cdl_option BUFSIZ { - # Calculated value: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0 - # CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO == 1 - # CYGNUM_LIBC_STDIO_BUFSIZE == 256 - # Flavor: data - # Current_value: 256 -}; - -# Support for ungetc() -# This option controls whether ungetc() is -# supported. If not, then some space can be -# saved, and speed is improved. Note that you -# MUST have this defined if you want to use the -# scanf() family of functions. -# -cdl_option CYGFUN_LIBC_STDIO_ungetc { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Dynamic opening/closing of files -# fopen() and fclose() use dynamic memory -# allocation routines to allocate memory for -# new FILE structure pointers. If a malloc -# implementation is available, this option -# may be enabled to use -# fopen() and fclose(). If disabled, only the -# default console streams - stdin, stdout and -# stderr - will be available. -# -cdl_component CYGPKG_LIBC_STDIO_OPEN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 -}; - -# > -# POSIX fdopen/fileno functions -# This identifies to the rest of the system -# whether the POSIX fdopen() and -# fileno() functions are implemented. -# -cdl_option CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS { - # ActiveIf constraint: CYGPKG_LIBC_STDIO_FILEIO - # CYGPKG_LIBC_STDIO_FILEIO == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# < -# Default console device -# This option allows you to choose the -# default console device. In the current -# implementation, all these devices begin -# with the prefix /dev/ and are followed by -# the name of a device. The name of the device -# depends on the device drivers you have -# configured in your system. For example, -# /dev/ttydiag could be the HAL diagnostic output -# pseudo-device, or /dev/tty0 could be your -# first serial driver, depending on your -# configuration. -# -cdl_option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ttydiag\"" - # value_source default - # Default value: CYGDAT_IO_SERIAL_TTY_CONSOLE ? CYGDAT_IO_SERIAL_TTY_CONSOLE : "\"/dev/null\"" - # CYGDAT_IO_SERIAL_TTY_CONSOLE == "\"/dev/ttydiag\"" - # CYGDAT_IO_SERIAL_TTY_CONSOLE == "\"/dev/ttydiag\"" - # --> "\"/dev/ttydiag\"" - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? CYGPKG_IO_SERIAL_HALDIAG : 1) -}; - -# Floating point support -# This component allows floating point support -# to be enabled in certain standard I/O -# functions. -# -cdl_component CYGPKG_LIBC_STDIO_FLOATING_POINT { - # There is no associated value. -}; - -# > -# printf() family -# This option enables the use of floating point -# number output in the printf() family (i.e. -# printf(), sprintf(), vprintf(), etc.) of -# functions. A substantial amount of code space -# can be saved if this option is disabled. If it -# is disabled then floating point specifiers -# (%e, %f, %g) are ignored, and nothing is -# output. -# -cdl_option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 -}; - -# scanf() family -# This option enables the use of floating point -# number conversion in the scanf() family (i.e. -# scanf(), sscanf(), vscanf(), etc.) of -# functions. A substantial amount of code space -# can be saved if this option is disabled. If it -# is disabled then floating point specifiers -# (%e, %f, %g) are ignored, and nothing is -# converted. -# -cdl_option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_LIBM && - # 0 != CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGPKG_LIBM == current - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 1 - # --> 1 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 - # Requires: CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 1 - # --> 1 -}; - -# < -# Long long support -# This option allows various functions in the C Standard I/O -# library to support the 'long long' datatype. Doing so -# will come with a noticeable code size penalty however. -# -cdl_option CYGFUN_LIBC_STDIO_LONGLONG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_LIBC_STDLIB_CONV_LONGLONG - # CYGFUN_LIBC_STDLIB_CONV_LONGLONG == 1 - # --> 1 -}; - -# Thread safe I/O streams -# doc: ref/libc-thread-safety.html -# This option controls whether standard I/O streams -# are thread-safe. Having this option set allows -# the streams to be locked when accessed by -# multiple threads simultaneously. -# -cdl_option CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# C99 compliant snprintf() family -# This option allows C99 compliant implementation of -# snprintf() family (i.e. snprintf(), vsnprintf()) -# of functions. C99 compliant snprintf() functions -# return the number of characters that would have been written -# to a sufficiently sized buffer (excluding the '\0'). -# If this option is disabled, the functions simply return -# the number of bytes that have been written to the buffer. -# -cdl_option CYGIMP_LIBC_STDIO_C99_SNPRINTF { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 - - # The following properties are affected by this value - # package CYGPKG_USTL - # Requires: CYGIMP_LIBC_STDIO_C99_SNPRINTF -}; - -# Enable use of FILEIO package for IO operations. -# This CDL exists to control how the standard I/O functions -# interface to the underlying I/O system. Either using the -# File I/O package, or the generic I/O package which is used -# by fewer devices. -# -cdl_option CYGPKG_LIBC_STDIO_FILEIO { - # ActiveIf constraint: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO - # CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO == 1 - # --> 1 - # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF - # CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS - # ActiveIf: CYGPKG_LIBC_STDIO_FILEIO -}; - -# C library stdio functions build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_STDIO_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_STDIO_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_STDIO_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library stdio function tests -# This option specifies the set of tests for the C library -# stdio functions. -# -cdl_option CYGPKG_LIBC_STDIO_TESTS { - # Calculated value: - # "tests/sprintf1 tests/sprintf2 tests/snprintf tests/sscanf tests/stdiooutput " - # . ((CYGPKG_IO_FILEIO && CYGPKG_FS_RAM) ? "tests/fileio " : "") - # - # CYGPKG_IO_FILEIO == current - # CYGPKG_FS_RAM (unknown) == 0 - # Flavor: data - # Current_value: tests/sprintf1 tests/sprintf2 tests/snprintf tests/sscanf tests/stdiooutput -}; - -# < -# < -# ISO C library general utility functions -# doc: ref/libc.html -# This package provides general utility functions in <stdlib.h> -# 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 <stdlib.h> functions -# This option chooses whether some of the -# particularly simple standard utility functions -# from <stdlib.h> 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 == "<cyg/libc/stdlib/abs.inl>" - # CYGBLD_ISO_STDLIB_ABS_HEADER == <cyg/libc/stdlib/abs.inl> - # --> 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 == "<cyg/libc/stdlib/div.inl>" - # CYGBLD_ISO_STDLIB_DIV_HEADER == <cyg/libc/stdlib/div.inl> - # --> 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 == "<cyg/libc/stdlib/atox.inl>" - # CYGBLD_ISO_STDLIB_STRCONV_HEADER == <cyg/libc/stdlib/atox.inl> - # --> 1 -}; - -# < -# Random number generation -# These options control the behaviour of the -# functions rand(), srand() and rand_r() -# -cdl_component CYGPKG_LIBC_RAND { - # There is no associated value. -}; - -# > -# Per-thread random seed -# doc: ref/libc-thread-safety.html -# This option controls whether the pseudo-random -# number generation functions rand() and srand() -# have their state recorded on a per-thread -# basis rather than global. If this option is -# disabled, some per-thread space can be saved. -# Note there is also a POSIX-standard rand_r() -# function to achieve a similar effect with user -# support. Enabling this option will use one slot -# of kernel per-thread data. You should ensure you -# have enough slots configured for all your -# per-thread data. -# -cdl_option CYGSEM_LIBC_PER_THREAD_RAND { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 -}; - -# Random number seed -# This selects the initial random number seed for -# rand()'s pseudo-random number generator. For -# strict ISO standard compliance, this should be 1, -# as per section 7.10.2.2 of the standard. -# -cdl_option CYGNUM_LIBC_RAND_SEED { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Legal values: 0 to 0x7fffffff -}; - -# Tracing level -# Trace verbosity level for debugging the rand(), -# srand() and rand_r() functions. Increase this -# value to get additional trace output. -# -cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 -}; - -# Simplest implementation -# This provides a very simple implementation of rand() -# that does not perform well with randomness in the -# lower significant bits. However it is exceptionally -# fast. It uses the sample algorithm from the ISO C -# standard itself. -# -cdl_option CYGIMP_LIBC_RAND_SIMPLEST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Simple implementation #1 -# This provides a very simple implementation of rand() -# based on the simplest implementation above. However -# it does try to work around the lack of randomness -# in the lower significant bits, at the expense of a -# little speed. -# -cdl_option CYGIMP_LIBC_RAND_SIMPLE1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Knuth implementation #1 -# This implements a slightly more complex algorithm -# published in Donald E. Knuth's Art of Computer -# Programming Vol.2 section 3.6 (p.185 in the 3rd ed.). -# This produces better random numbers than the -# simplest approach but is slower. -# -cdl_option CYGIMP_LIBC_RAND_KNUTH1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Provides strtod() -# This option allows use of the utility function -# strtod() (and consequently atof()) to convert -# from string to double precision floating point -# numbers. Disabling this option removes the -# dependency on the math library package. -# -cdl_option CYGFUN_LIBC_strtod { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 -}; - -# Provides long long conversion functions -# Enabling this option will provide support for the strtoll(), -# strtoull() and atoll() conversion functions, which are -# the long long variants of the standard versions of these -# functions. Supporting this requires extra code and compile -# time. -# -cdl_option CYGFUN_LIBC_STDLIB_CONV_LONGLONG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGFUN_LIBC_STDIO_LONGLONG - # Requires: CYGFUN_LIBC_STDLIB_CONV_LONGLONG -}; - -# bsearch() tracing level -# Trace verbosity level for debugging the <stdlib.h> -# 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 <stdlib.h> -# quicksort function qsort(). Increase this value -# to get additional trace output. -# -cdl_option CYGNUM_LIBC_QSORT_TRACE_LEVEL { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 -}; - -# C library stdlib build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_STDLIB_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library stdlib tests -# This option specifies the set of tests for this package. -# -cdl_option CYGPKG_LIBC_STDLIB_TESTS { - # Calculated value: "tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul" - # Flavor: data - # Current_value: tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul -}; - -# < -# < -# ISO C library string functions -# doc: ref/libc.html -# This package provides string functions specified by the -# ISO C standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_STRING { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == "<cyg/libc/string/string.h>" - # CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h> - # --> 1 - # Requires: CYGBLD_ISO_STRING_MEMFUNCS_HEADER == "<cyg/libc/string/string.h>" - # CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h> - # --> 1 - # Requires: CYGBLD_ISO_STRING_STRFUNCS_HEADER == "<cyg/libc/string/string.h>" - # CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h> - # --> 1 - # Requires: CYGBLD_ISO_STRTOK_R_HEADER == "<cyg/libc/string/string.h>" - # CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h> - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 -}; - -# > -# Inline versions of <string.h> functions -# This option chooses whether some of the -# particularly simple string functions from -# <string.h> are available as inline -# functions. This may improve performance, and as -# the functions are small, may even improve code -# size. -# -cdl_option CYGIMP_LIBC_STRING_INLINES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Optimize string functions for code size -# This option tries to reduce string function -# code size at the expense of execution speed. The -# same effect can be produced if the code is -# compiled with the -Os option to the compiler. -# -cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Provide BSD compatibility functions -# Enabling this option causes various compatibility functions -# commonly found in the BSD UNIX operating system to be included. -# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp, -# strncasecmp, index, rindex and swab. -# -cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == "<cyg/libc/string/bsdstring.h>" - # CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h> - # --> 1 - # Requires: CYGINT_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 -}; - -# strtok -# These options control the behaviour of the -# strtok() and strtok_r() string tokenization -# functions. -# -cdl_component CYGPKG_LIBC_STRING_STRTOK { - # There is no associated value. -}; - -# > -# Per-thread strtok() -# This option controls whether the string function -# strtok() has its state recorded on a per-thread -# basis rather than global. If this option is -# disabled, some per-thread space can be saved. -# Note there is also a POSIX-standard strtok_r() -# function to achieve a similar effect with user -# support. Enabling this option will use one slot -# of kernel per-thread data. You should ensure you -# have enough slots configured for all your -# per-thread data. -# -cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 -}; - -# Tracing level -# Trace verbosity level for debugging the <string.h> -# 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 -}; - -# Provide strnlen() GNU extension -# This option controls support for the strnlen() function. -# (This is a GNU extension, not part of ANSI C.) -# -cdl_option CYGFUN_LIBC_STRING_GNU_STRNLEN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# C library string functions build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_STRING_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library string function tests -# This option specifies the set of tests for the C library -# string functions. -# -cdl_option CYGPKG_LIBC_STRING_TESTS { - # Calculated value: "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2 tests/strnlen" - # 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 tests/strnlen -}; - -# < -# < -# ISO C library date and time functions -# doc: ref/libc.html -# This package provides time functions specified by the -# ISO C standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_TIME { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGBLD_ISO_C_TIME_TYPES_HEADER == "<cyg/libc/time/time.h>" - # CYGBLD_ISO_C_TIME_TYPES_HEADER == <cyg/libc/time/time.h> - # --> 1 - # Requires: CYGBLD_ISO_C_CLOCK_FUNCS_HEADER == "<cyg/libc/time/time.h>" - # CYGBLD_ISO_C_CLOCK_FUNCS_HEADER == <cyg/libc/time/time.h> - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGINT_ISO_DIV - # CYGINT_ISO_DIV == 1 - # --> 1 - # Requires: CYGINT_ISO_ABS - # CYGINT_ISO_ABS == 1 - # --> 1 -}; - -# > -# Working clock() function -# This option controls whether clock() will -# actually try and determine the process time -# usage. With this option disabled, clock() does -# not disappear, but will permanently return -# (clock_t)-1 as mandated by the ISO C standard. -# -cdl_option CYGSEM_LIBC_TIME_CLOCK_WORKING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_KERNEL_THREADS_TIMER - # CYGFUN_KERNEL_THREADS_TIMER == 1 - # --> 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 -}; - -# Working time() function -# This option controls whether time() will -# actually try and determine the current calendar -# time. With this option disabled, time() does -# not disappear, but will permanently return -# (time_t)-1 as mandated by the ISO C standard. -# -cdl_option CYGSEM_LIBC_TIME_TIME_WORKING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_IO_WALLCLOCK - # CYGPKG_IO_WALLCLOCK == current - # --> 1 -}; - -# Working cyg_libc_time_settime() function -# This option controls whether cyg_libc_time_settime() -# will actually try and set the current calendar -# time. With this option disabled, -# cyg_libc_time_settime() does not disappear, but -# will permanently return an error. -# -cdl_option CYGSEM_LIBC_TIME_SETTIME_WORKING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_IO_WALLCLOCK - # CYGPKG_IO_WALLCLOCK == current - # --> 1 -}; - -# POSIX time functions -# Enabling this option allows the use of the -# following functions defined in POSIX 1003.1: -# asctime_r(), ctime_r(), gmtime_r(), strptime(), and -# localtime_r(). -# -cdl_option CYGFUN_LIBC_TIME_POSIX { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGINT_ISO_STRING_BSD_FUNCS - # CYGINT_ISO_STRING_BSD_FUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGIMP_LIBC_TIME_ASCTIME_R_INLINE - # Requires: CYGFUN_LIBC_TIME_POSIX - # option CYGIMP_LIBC_TIME_CTIME_R_INLINE - # Requires: CYGFUN_LIBC_TIME_POSIX - # option CYGIMP_LIBC_TIME_GMTIME_R_INLINE - # Requires: CYGFUN_LIBC_TIME_POSIX - # option CYGIMP_LIBC_TIME_LOCALTIME_R_INLINE - # Requires: CYGFUN_LIBC_TIME_POSIX - # option CYGPKG_LIBC_TIME_TESTS - # Calculated: - # "tests/asctime tests/clock tests/ctime tests/gmtime tests/localtime tests/mktime tests/strftime tests/time " - # . (CYGFUN_LIBC_TIME_POSIX ? "tests/strptime" : "") - # -}; - -# Single UNIX extensions -# Enabling this option allows the use of -# certain additional conversion specifiers -# in the strftime function. -# -cdl_option CYGFUN_LIBC_TIME_SUS_EXTNS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Time zone offsets -# These options control the default STandarD (STD) -# and Daylight Savings Time (DST) -# time offsets so that dates can be set correctly -# for the local environment. -# -cdl_component CYGPKG_LIBC_TIME_ZONES { - # There is no associated value. -}; - -# > -# Default Daylight Savings Time state -# This option controls whether the initial -# time environment is set up as STD, DST or -# unknown. Use the value 1 for DST, 0 for STD, -# and (-1) for unknown. This can also be set at -# runtime using the cyg_libc_time_setdst() -# function. -# -cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_STATE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -1 - # value_source default - # Default value: -1 - # Legal values: -1 to 1 -}; - -# Default Standard Time offset -# This option controls the offset from UTC in -# seconds when in local Standard Time. This -# value can be positive or negative. It -# can also be set at run time using the -# cyg_libc_time_setzoneoffsets() function. -# -cdl_option CYGNUM_LIBC_TIME_STD_DEFAULT_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: -90000 to 90000 -}; - -# Default Daylight Savings Time offset -# This option controls the offset from UTC in -# seconds when in local Daylight Savings Time. This -# value can be positive or negative. It -# can also be set at run time using the -# cyg_libc_time_setzoneoffsets() function. -# -cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 3600 - # value_source default - # Default value: 3600 - # Legal values: -90000 to 90000 -}; - -# < -# Inline functions -# These options control whether certain functions -# are available in inline form. This may lead to -# faster code at the expense of code space. But for -# some functions, or some functions with constant -# arguments, it may in fact lead to smaller code. -# -cdl_component CYGPKG_LIBC_TIME_INLINES { - # There is no associated value. -}; - -# > -# asctime() -# Allow the asctime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_ASCTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# ctime() -# Allow the ctime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_CTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# difftime() -# Allow the difftime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_DIFFTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# gmtime() -# Allow the gmtime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_GMTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# localtime() -# Allow the localtime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_LOCALTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# mktime() -# Allow the mktime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_MKTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# asctime_r() -# Allow the asctime_r() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_ASCTIME_R_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_LIBC_TIME_POSIX - # CYGFUN_LIBC_TIME_POSIX == 1 - # --> 1 -}; - -# ctime_r() -# Allow the ctime_r() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_CTIME_R_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_LIBC_TIME_POSIX - # CYGFUN_LIBC_TIME_POSIX == 1 - # --> 1 -}; - -# gmtime_r() -# Allow the gmtime_r() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_GMTIME_R_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGFUN_LIBC_TIME_POSIX - # CYGFUN_LIBC_TIME_POSIX == 1 - # --> 1 -}; - -# localtime_r() -# Allow the localtime_r() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_LOCALTIME_R_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_LIBC_TIME_POSIX - # CYGFUN_LIBC_TIME_POSIX == 1 - # --> 1 -}; - -# < -# clock() tracing level -# Trace verbosity level for debugging the clock() -# function. Increase this value to get -# additional trace output when tracing is enabled. -# -cdl_option CYGNUM_LIBC_TIME_CLOCK_TRACE_LEVEL { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 -}; - -# C library time functions build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_TIME_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_TIME_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wno-format - # value_source default - # Default value: -Wno-format -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_TIME_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library time and date function tests -# This option specifies the set of tests for the C library -# time and date functions. -# -cdl_option CYGPKG_LIBC_TIME_TESTS { - # Calculated value: - # "tests/asctime tests/clock tests/ctime tests/gmtime tests/localtime tests/mktime tests/strftime tests/time " - # . (CYGFUN_LIBC_TIME_POSIX ? "tests/strptime" : "") - # - # CYGFUN_LIBC_TIME_POSIX == 1 - # Flavor: data - # Current_value: tests/asctime tests/clock tests/ctime tests/gmtime tests/localtime tests/mktime tests/strftime tests/time tests/strptime -}; - -# < -# < -# < -# Math library -# doc: ref/libc.html -# ISO standard floating point mathematical library -# containing many useful functions for mathematical -# calculations. -# -cdl_package CYGPKG_LIBM { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT - # Requires: CYGPKG_LIBM - # option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT - # DefaultValue: 0 != CYGPKG_LIBM - # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT - # Requires: CYGPKG_LIBM - # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT - # DefaultValue: 0 != CYGPKG_LIBM && - # 0 != CYGINT_ISO_STDLIB_STRCONV_FLOAT - # option CYGFUN_LIBC_strtod - # Requires: CYGPKG_LIBM - # option CYGFUN_LIBC_strtod - # DefaultValue: 0 != CYGPKG_LIBM - # package CYGPKG_USTL - # Requires: CYGPKG_LIBM -}; - -# > -# Compatibility mode -# These options deal with behaviour related to -# the various compatibility modes - POSIX, IEEE, -# X/OPEN and SVID. -# -cdl_component CYGPKG_LIBM_COMPATIBILITY { - # There is no associated value. -}; - -# > -# -cdl_interface CYGINT_LIBM_COMPAT { - # Implemented by CYGSEM_LIBM_COMPAT_IEEE_ONLY, active, disabled - # Implemented by CYGNUM_LIBM_COMPATIBILITY, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == CYGINT_LIBM_COMPAT - # CYGINT_LIBM_COMPAT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_LIBM_COMPAT - # Requires: 1 == CYGINT_LIBM_COMPAT -}; - -# IEEE-only -# The math library can be hard-coded to only -# behave in one compatibility mode - IEEE. This -# cannot be changed at run-time. IEEE mode is the -# most minimal of the compatibility modes, and so -# this will best help code size and speed, as well -# as omitting the code for other compatibility -# modes. If not defined, the math library can be -# set at run-time to any of the supported -# compatibility modes. -# -cdl_option CYGSEM_LIBM_COMPAT_IEEE_ONLY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - - # The following properties are affected by this value - # option CYGSEM_LIBM_USE_STDERR - # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY - # option CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE - # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY -}; - -# Default mode -# If you want to have support for more than one -# compatibility mode settable at run-time, rather -# than hard-coded IEEE mode, this component lets -# you choose which mode should be the default. -# -cdl_component CYGNUM_LIBM_COMPATIBILITY { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 POSIX - # value_source default - # Default value: 1 POSIX - # Legal values: "POSIX" "IEEE" "XOPEN" "SVID" - # Requires: CYGPKG_LIBC - # CYGPKG_LIBC == current - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_LIBM_COMPAT_DEFAULT - # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" - # option CYGNUM_LIBM_COMPAT_DEFAULT - # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" - # option CYGNUM_LIBM_COMPAT_DEFAULT - # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" - # option CYGNUM_LIBM_COMPAT_DEFAULT - # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" -}; - -# > -# Numeric representation -# This option automatically defines the default compatibility -# mode for numeric representation in terms of the values used -# to set that mode at run-time. -# -cdl_option CYGNUM_LIBM_COMPAT_DEFAULT { - # Calculated value: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" - # CYGNUM_LIBM_COMPATIBILITY == POSIX - # CYGNUM_LIBM_COMPATIBILITY == POSIX - # CYGNUM_LIBM_COMPATIBILITY == POSIX - # CYGNUM_LIBM_COMPATIBILITY == POSIX - # Flavor: data - # Current_value: CYGNUM_LIBM_COMPAT_POSIX -}; - -# < -# SVID3-style scalb() -# SVID3 defined the scalb() function as double -# scalb(double, double) rather than double -# scalb(double, int) which is used by IBM, DEC, and -# probably others. Enabling this option chooses -# the (double, double) version. Note there is a -# function double scalbn(double, int) which is -# unaffected by this choice. -# -cdl_option CYGFUN_LIBM_SVID3_scalb { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Reduce namespace pollution -# If you do not want to use either the X/Open or -# SVID3 compatibility modes, you may want to define -# this option to reduce the chance of namespace -# pollution. This is particularly likely to occur -# here as these standards define symbols with -# names that often appear in applications, such as -# exception, DOMAIN, OVERFLOW, etc. If your -# application also used these names, it may cause -# problems. -# -cdl_option CYGSYM_LIBM_NO_XOPEN_SVID_NAMESPACE_POLLUTION { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Output to stderr for math errors -# The SVID3 standard says that error -# messages should be output on the stderr console -# output stream. This option allows this ability -# to be explicitly controlled. However, this still -# only has an effect in SVID3 compatibility mode. -# -cdl_option CYGSEM_LIBM_USE_STDERR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY - # CYGSEM_LIBM_COMPAT_IEEE_ONLY == 0 - # --> 1 - # Requires: CYGPKG_LIBC_STDIO - # CYGPKG_LIBC_STDIO == current - # --> 1 -}; - -# < -# Thread safety -# This option controls whether the C library has -# support for thread safe operation in general. -# This requires eCos kernel support for per-thread -# data, and adjustment of the stack limit. -# -cdl_component CYGPKG_LIBM_THREAD_SAFETY { - # There is no associated value. -}; - -# > -# Compatibility mode setting -# This option makes the setting of the compatiblity -# mode be a per-thread property. This directly -# implies that it also becomes thread-safe. -# -cdl_option CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY - # CYGSEM_LIBM_COMPAT_IEEE_ONLY == 0 - # --> 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_LIBM_COMPATMODE_TRACE_LEVEL - # Requires: CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE -}; - -# gamma() and lgamma() -# This option makes the gamma() and lgamma() -# functions be thread-safe. Note that these -# functions are identical - they take the log of -# the absolute value of their argument. The sign -# of the argument is stored in a variable called -# signgam. Enabling this option makes signgam -# a per-thread variable. Note there are also -# gamma_r() and lgamma_r() alternatives that -# allow signgam to be passed in by reference as -# an argument. -# -cdl_option CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_LIBM_SIGNGAM_TRACE_LEVEL - # Requires: CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS -}; - -# < -# Tracing output levels in math library -# Tracing support is useful for debugging. Some -# Math library modules can be configured with -# different levels of tracing verbosity. These -# levels can be configured here. -# -cdl_component CYGPKG_LIBM_TRACE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_USE_TRACING - # CYGDBG_USE_TRACING == 0 - # --> 0 -}; - -# > -# Compatibility mode get/set -# Trace level for debugging the getting and -# setting of the compatibility mode when it is -# configured to be thread-safe. -# -cdl_option CYGNUM_LIBM_COMPATMODE_TRACE_LEVEL { - # This option is not active - # The parent CYGPKG_LIBM_TRACE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 - # Requires: CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE - # CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE == 0 - # --> 0 -}; - -# signgam variable access -# Trace level for debugging all accesses to the -# signgam variable in thread-safe mode. -# -cdl_option CYGNUM_LIBM_SIGNGAM_TRACE_LEVEL { - # This option is not active - # The parent CYGPKG_LIBM_TRACE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 - # Requires: CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS - # CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS == 0 - # --> 0 -}; - -# < -# Bessel function limit of significance -# For the Bessel functions (j0(), j1(), jn(), -# y0(), y1(), yn()) this option defines the -# maximum absolute value of the ordinate -# before we assume total loss of significance. -# This number must be a floating-point number (e.g. -# contains a decimal point), and should be -# large. -# -cdl_option CYGNUM_LIBM_X_TLOSS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1.41484755040569E+16 - # value_source default - # Default value: 1.41484755040569E+16 - # Legal values: 1 to 1e308 -}; - -# Math library build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBM_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the math library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBM_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-fno-strict-aliasing -ffloat-store" - # value_source default - # Default value: "-fno-strict-aliasing" . ((!CYGPKG_HAL_I386 && !CYGPKG_HAL_SYNTH_I386) ? "" : " -ffloat-store") - # CYGPKG_HAL_I386 == current - # CYGPKG_HAL_SYNTH_I386 (unknown) == 0 - # --> "-fno-strict-aliasing -ffloat-store" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the math library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBM_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Math library tests -# This option specifies the set of tests for the math library. -# -cdl_option CYGPKG_LIBM_TESTS { - # Calculated value: "tests/vectors/acos tests/vectors/asin tests/vectors/atan tests/vectors/atan2 tests/vectors/ceil tests/vectors/cos tests/vectors/cosh tests/vectors/exp tests/vectors/fabs tests/vectors/floor tests/vectors/fmod tests/vectors/frexp tests/vectors/ldexp tests/vectors/log tests/vectors/log10 tests/vectors/modf tests/vectors/pow tests/vectors/sin tests/vectors/sinh tests/vectors/sqrt tests/vectors/tan tests/vectors/tanh" - # Flavor: data - # Current_value: tests/vectors/acos tests/vectors/asin tests/vectors/atan tests/vectors/atan2 tests/vectors/ceil tests/vectors/cos tests/vectors/cosh tests/vectors/exp tests/vectors/fabs tests/vectors/floor tests/vectors/fmod tests/vectors/frexp tests/vectors/ldexp tests/vectors/log tests/vectors/log10 tests/vectors/modf tests/vectors/pow tests/vectors/sin tests/vectors/sinh tests/vectors/sqrt tests/vectors/tan tests/vectors/tanh -}; - -# < -# < -# Wallclock device -# The wallclock device provides real time stamps, as opposed -# to the eCos kernel timers which typically just count the -# number of clock ticks since the hardware was powered up. -# Depending on the target platform this device may involve -# interacting with a suitable clock chip, or it may be -# emulated by using the kernel timers. -# -cdl_package CYGPKG_IO_WALLCLOCK { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # option CYGSEM_LIBC_TIME_TIME_WORKING - # Requires: CYGPKG_IO_WALLCLOCK - # option CYGSEM_LIBC_TIME_SETTIME_WORKING - # Requires: CYGPKG_IO_WALLCLOCK - # package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 - # ActiveIf: CYGPKG_IO_WALLCLOCK - # package CYGPKG_DEVICES_WALLCLOCK_I386_PC - # ActiveIf: CYGPKG_IO_WALLCLOCK -}; - -# > -# Number of wallclock hardware implementations -# -cdl_interface CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS { - # Implemented by CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGPKG_WALLCLOCK_EMULATE - # DefaultValue: 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS - # option CYGIMP_WALLCLOCK_NONE - # DefaultValue: !CYGPKG_KERNEL && 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS -}; - -# Number of wallclock implementations -# -cdl_interface CYGINT_WALLCLOCK_IMPLEMENTATIONS { - # Implemented by CYGPKG_WALLCLOCK_EMULATE, active, disabled - # Implemented by CYGIMP_WALLCLOCK_NONE, active, disabled - # Implemented by CYGIMP_WALLCLOCK_HARDWARE, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == CYGINT_WALLCLOCK_IMPLEMENTATIONS - # CYGINT_WALLCLOCK_IMPLEMENTATIONS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_WALLCLOCK_IMPLEMENTATIONS - # Requires: 1 == CYGINT_WALLCLOCK_IMPLEMENTATIONS -}; - -# Wallclock driver supports set/get mode -# -cdl_interface CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED { - # Implemented by CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_WALLCLOCK_MODE - # DefaultValue: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED ? "set_get" : "init_get" - # option CYGSEM_WALLCLOCK_MODE - # Requires: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || CYGSEM_WALLCLOCK_MODE == "init_get" -}; - -# Wallclock mode -# The wallclock driver can be used in one of two -# modes. Set/get mode allows time to be kept during power -# off (assuming there's a battery backed clock). Init/get -# mode is slightly smaller and can be used when there is no -# battery backed clock - in this mode time 0 is the time of -# the board power up. -# -cdl_option CYGSEM_WALLCLOCK_MODE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value set_get - # value_source default - # Default value: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED ? "set_get" : "init_get" - # CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED == 1 - # --> set_get - # Legal values: "init_get" "set_get" - # Requires: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || CYGSEM_WALLCLOCK_MODE == "init_get" - # CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED == 1 - # CYGSEM_WALLCLOCK_MODE == set_get - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_WALLCLOCK_MODE - # Requires: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || CYGSEM_WALLCLOCK_MODE == "init_get" - # option CYGSEM_WALLCLOCK_SET_GET_MODE - # Calculated: CYGSEM_WALLCLOCK_MODE == "set_get" ? 1 : 0 -}; - -# Wallclock set/get mode -# -cdl_option CYGSEM_WALLCLOCK_SET_GET_MODE { - # Calculated value: CYGSEM_WALLCLOCK_MODE == "set_get" ? 1 : 0 - # CYGSEM_WALLCLOCK_MODE == set_get - # Flavor: bool - # Current value: 1 -}; - -# Wallclock implementation -# Implementations of the wallclock device. -# -cdl_component CYGPKG_IO_WALLCLOCK_IMPLEMENTATION { - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Wallclock emulator -# When this option is enabled, a wallclock device will be -# emulated using the kernel real-time clock. -# -cdl_option CYGPKG_WALLCLOCK_EMULATE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS - # CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS == 1 - # --> 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 -}; - -# No wallclock -# Disables the wallclock. -# -cdl_option CYGIMP_WALLCLOCK_NONE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGPKG_KERNEL && 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS - # CYGPKG_KERNEL == current - # CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS == 1 - # --> 0 -}; - -# Hardware wallclock -# -cdl_option CYGIMP_WALLCLOCK_HARDWARE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 - # ActiveIf: CYGIMP_WALLCLOCK_HARDWARE -}; - -# < -# Wallclock build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_IO_WALLCLOCK_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the wallclock device. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_WALLCLOCK_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the wallclock device. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_WALLCLOCK_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Wallclock tests -# This option specifies the set of tests for the -# wallclock device. -# -cdl_option CYGPKG_IO_WALLCLOCK_TESTS { - # Calculated value: CYGPKG_KERNEL ? "tests/wallclock tests/wallclock2" : "" - # CYGPKG_KERNEL == current - # Flavor: data - # Current_value: tests/wallclock tests/wallclock2 -}; - -# < -# Wallclock device driver for Dallas 12887 -# This package provides a file with init, get and set functions -# for the Dallas 12887 clock part. -# -cdl_package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 { - # 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_WALLCLOCK - # CYGPKG_IO_WALLCLOCK == current - # --> 1 - # ActiveIf constraint: CYGIMP_WALLCLOCK_HARDWARE - # CYGIMP_WALLCLOCK_HARDWARE == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # package CYGPKG_DEVICES_WALLCLOCK_I386_PC - # Requires: CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 -}; - -# > -# DS12887 wallclock build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the wallclock device. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the wallclock device. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# < -# PC board RTC Driver -# RTC driver for PC. -# -cdl_package CYGPKG_DEVICES_WALLCLOCK_I386_PC { - # 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_WALLCLOCK - # CYGPKG_IO_WALLCLOCK == current - # --> 1 - # ActiveIf constraint: CYGPKG_HAL_I386_PC - # CYGPKG_HAL_I386_PC == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 - # CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 == current - # --> 1 -}; - -# > -# IO port address of the ADDRESS register -# This option sets the io address of the address port for -# accessing the PC RTC -# -cdl_option CYGDAT_DEVS_WALLCLOCK_I386_PC_RTC_ADDRESS_PORT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00000070 - # value_source default - # Default value: 0x00000070 -}; - -# IO port address of the DATA register -# This option sets the io address of the data port for -# accessing the PC RTC -# -cdl_option CYGDAT_DEVS_WALLCLOCK_I386_PC_RTC_DATA_PORT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00000071 - # value_source default - # Default value: 0x00000071 -}; - -# < -# < -# 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 == "<cyg/error/codes.h>" - # CYGBLD_ISO_ERRNO_CODES_HEADER == <cyg/error/codes.h> - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_IO - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_SERIAL - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_SERIAL_GENERIC_16X5X - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_SERIAL_I386_PC - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_FRAMEBUF - # Requires: CYGPKG_INFRA CYGPKG_HAL CYGPKG_ERROR - # package CYGPKG_BLOCK_LIB - # Requires: CYGPKG_ERROR - # package CYGPKG_POSIX - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_FILEIO - # Requires: CYGPKG_ERROR - # package CYGPKG_USTL - # Requires: CYGPKG_ERROR -}; - -# > -# errno variable -# This package controls the behaviour of the -# errno variable (or more strictly, expression) -# from <errno.h>. -# -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 == "<cyg/error/errno.h>" - # CYGBLD_ISO_ERRNO_HEADER == <cyg/error/errno.h> - # --> 1 -}; - -# > -# Per-thread errno -# This option controls whether the standard error -# code reporting variable errno is a per-thread -# variable, rather than global. -# -cdl_option CYGSEM_ERROR_PER_THREAD_ERRNO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 -}; - -# Tracing level -# Trace verbosity level for debugging the errno -# retrieval mechanism in errno.cxx. Increase this -# value to get additional trace output. -# -cdl_option CYGNUM_ERROR_ERRNO_TRACE_LEVEL { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 -}; - -# < -# strerror function -# This package controls the presence and behaviour of the -# strerror() function from <string.h> -# -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 == "<cyg/error/strerror.h>" - # CYGBLD_ISO_STRERROR_HEADER == <cyg/error/strerror.h> - # --> 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: "" -}; - -# < -# < -# Framebuffer support -# doc: ref/io-framebuf.html -# The generic framebuffer package provides an API for accessing -# one or more framebuffers, plus support for appropriate device -# drivers. -# -cdl_package CYGPKG_IO_FRAMEBUF { - # 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_HAL CYGPKG_ERROR - # CYGPKG_INFRA == current - # CYGPKG_HAL == current - # CYGPKG_ERROR == current - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_DEVS_FRAMEBUF_I386 - # ActiveIf: CYGPKG_IO_FRAMEBUF -}; - -# > -# Number of available framebuffer devices -# This interface specifies the number of framebuffer devices -# supported by device driver(s) on this platform. -# -cdl_interface CYGINT_IO_FRAMEBUF_DEVICES { - # Implemented by CYGPKG_DEVS_FRAMEBUF_I386_FB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDAT_IO_FRAMEBUF_TEST_DEVICE - # ActiveIf: CYGINT_IO_FRAMEBUF_DEVICES - # option CYGPKG_IO_FRAMEBUF_TESTS - # ActiveIf: CYGINT_IO_FRAMEBUF_DEVICES -}; - -# Names of available framebuffer devices -# This option provides a list of the framebuffer devices available -# on the current platform. It is controlled by the appropriate -# device driver(s) and should not be edited by users. -# -cdl_option CYGDAT_IO_FRAMEBUF_DEVICES { - # Flavor: data - user_value " fb0 " - # value_source user - # Default value: "" - - # The following properties are affected by this value - # option CYGDAT_IO_FRAMEBUF_TEST_DEVICE - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " " . CYGDAT_IO_FRAMEBUF_TEST_DEVICE . " ") - # component CYGPKG_DEVS_FRAMEBUF_I386_FB - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " fb0 ") -}; - -# Framebuffer device to use for testing -# This option determines the framebuffer device to be used for running -# the testcases. By default the build system will automatically select -# the first entry in CYGDAT_IO_FRAMEBUF_DEVICES, which will be the -# only entry if there is only framebuffer device in the system. -# -cdl_option CYGDAT_IO_FRAMEBUF_TEST_DEVICE { - # ActiveIf constraint: CYGINT_IO_FRAMEBUF_DEVICES - # CYGINT_IO_FRAMEBUF_DEVICES == 1 - # --> 1 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " " . CYGDAT_IO_FRAMEBUF_TEST_DEVICE . " ") - # CYGDAT_IO_FRAMEBUF_DEVICES == " fb0 " - # CYGDAT_IO_FRAMEBUF_TEST_DEVICE == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGDAT_IO_FRAMEBUF_TEST_DEVICE - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " " . CYGDAT_IO_FRAMEBUF_TEST_DEVICE . " ") -}; - -# Functionality supported by the platform's framebuffer(s) -# This component holds details of the functionality provided by the -# framebuffer device driver(s) for the current platform. -# -cdl_component CYGPKG_IO_FRAMEBUF_FUNCTIONALITY { - # There is no associated value. -}; - -# > -# 32bpp pixel support required -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform provides a 32 bits -# per pixel display. This constrains the cyg_colour data type -# to be at least 32 bits. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_32BPP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 -}; - -# Framebuffer supports true colour mode -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform support true colour -# operation. In other words the contents of the framebuffer -# defines the colours directly and there is no indirection via -# a palette. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_TRUE_COLOUR { - # Implemented by CYGHWR_DEVS_FRAMEBUF_SYNTH_TRUE_COLOUR, active, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # The following properties are affected by this value -}; - -# Framebuffer uses a palette for colours -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform use a palette. In -# other words the contents of the framebuffer's memory do not -# represent colours directly, but instead are treated as indices -# into a separate table known as the palette. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_PALETTE { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 -}; - -# Framebuffer uses a writeable palette for colours -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform use a palette, and this -# palette can be modified at run-time. In other words the contents -# of the framebuffer's memory do not represent colours directly, -# but instead are treated as indices into a separate table known -# as the palette. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE { - # 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 CYGFUN_IO_FRAMEBUF_INSTALL_DEFAULT_PALETTE - # ActiveIf: CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE -}; - -# Framebuffer provides viewport support -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform provide viewport support. -# In other words only a subset of the framebuffer, the viewport, -# is actually visible on the display and application code can move -# this viewport. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_VIEWPORT { - # Implemented by CYGIMP_DEVS_FRAMEBUF_I386_FB_VIEWPORT, active, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # The following properties are affected by this value -}; - -# Framebuffer provides double buffering support -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform provide support for -# double buffering. In other words the framebuffer memory that -# is updated by graphics operations is not what actually gets -# displayed. Instead there is a separate hidden area of memory -# used for the display, and when drawing is complete a flush -# operation is needed to move the framebuffer contents to that -# hidden area. This makes it possible to update the display more -# smoothly, at the cost of potentially expensive memory copy -# operations. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_DOUBLE_BUFFER { - # Implemented by CYGPKG_DEVS_FRAMEBUF_I386_FB, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - - # The following properties are affected by this value -}; - -# < -# Framebuffers should install a default palette -# Framebuffer devices which involve a writeable palette may set this -# to a default palette when activated by cyg_fb_on() or equivalent -# functionality. This is useful when the application will access the -# framebuffer directly. It is less useful if a higher-level graphics -# library is in use because typically that will install its own -# palette, and typically there is a code/data overhead of approximately 1K. -# -cdl_option CYGFUN_IO_FRAMEBUF_INSTALL_DEFAULT_PALETTE { - # This option is not active - # ActiveIf constraint: CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE - # CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Framebuffer build options -# Package specific build options including control over -# compiler flags used only in building the generic frame -# buffer package, and details of which tests are built. -# -cdl_component CYGPKG_IO_FRAMEBUF_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the generic framebuffer package. These flags -# are used in addition to the set of global flags. -# -cdl_option CYGPKG_IO_FRAMEBUF_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 generic framebuffer package. These flags -# are removed from the set of global flags if present. -# -cdl_option CYGPKG_IO_FRAMEBUF_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Framebuffer tests -# This option specifies the set of tests for the framebuffer package -# -cdl_option CYGPKG_IO_FRAMEBUF_TESTS { - # ActiveIf constraint: CYGINT_IO_FRAMEBUF_DEVICES - # CYGINT_IO_FRAMEBUF_DEVICES == 1 - # --> 1 - - # Calculated value: "tests/fb tests/fbmacro" - # Flavor: booldata - # Current value: 1 tests/fb tests/fbmacro -}; - -# < -# i386 Target Framebuffer device driver -# doc: ref/devs-framebuf-i386-ref.html -# This package provides a framebuffer device driver for the -# i386 target. -# -cdl_package CYGPKG_DEVS_FRAMEBUF_I386 { - # 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_FRAMEBUF - # CYGPKG_IO_FRAMEBUF == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 v3_0 -}; - -# > -# Provide framebuffer device fb0 -# The synthetic target framebuffer driver can provide up to -# four framebuffer devices, named fb0 to fb3. Each device's -# width, height, depth, and colour format can be controlled. -# This option enables device fb -# -cdl_component CYGPKG_DEVS_FRAMEBUF_I386_FB { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " fb0 ") - # CYGDAT_IO_FRAMEBUF_DEVICES == " fb0 " - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_DEVS_FRAMEBUF_I386_FUNCTIONALITY - # ActiveIf: CYGPKG_DEVS_FRAMEBUF_I386_FB -}; - -# > -# fb base address -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_BASE_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x0000A000 - # value_source default - # Default value: 0x0000A000 -}; - -# fb0 width -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 320 - # value_source default - # Default value: 320 - # Legal values: 16 to 4096 - - # The following properties are affected by this value - # option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_WIDTH - # DefaultValue: CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH - # option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_WIDTH - # LegalValues: 16 to CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH -}; - -# fb0 height -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 240 - # value_source default - # Default value: 240 - # Legal values: 16 to 4096 - - # The following properties are affected by this value - # option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_HEIGHT - # DefaultValue: CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT - # option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_HEIGHT - # LegalValues: 16 to CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT -}; - -# fb0 format -# Each synthetic target framebuffer device can be configured -# to emulate a particular format. This consists of two fields: -# depth and colour. The depth is in bits per pixel and can be -# 8bpp, 16bpp or 32bpp. Colour can be either paletted or true colour. -# 16bpp and 32bpp implies true colour. 8bpp can be either paletted -# or true colour. For 8bpp the default palette is VGA. The application -# can change these default palettes as required to match the hardware being emulated. -# -cdl_option CYGDAT_DEVS_FRAMEBUF_I386_FB_FORMAT { - # Flavor: data - user_value 8BPP_TRUE_332 - # value_source user - # Default value: 8BPP_PAL888 - # Legal values: - # "8BPP_PAL888" "8BPP_TRUE_332" - # "16BPP_TRUE_565" "16BPP_TRUE_555" - # "32BPP_TRUE_0888" - # -}; - -# fb0 provides viewport support -# Optionally framebuffer device can support a viewport. -# In other words only a subset of the framebuffer, the viewport, -# is actually visible on the display and application code can -# move this viewport. -# -cdl_component CYGIMP_DEVS_FRAMEBUF_I386_FB_VIEWPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# fb0 viewport width -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_WIDTH { - # This option is not active - # The parent CYGIMP_DEVS_FRAMEBUF_I386_FB_VIEWPORT is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 320 - # value_source default - # Default value: CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH - # CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH == 320 - # --> 320 - # Legal values: 16 to CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH - # CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH == 320 -}; - -# fb0 viewport height -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_HEIGHT { - # This option is not active - # The parent CYGIMP_DEVS_FRAMEBUF_I386_FB_VIEWPORT is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 240 - # value_source default - # Default value: CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT - # CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT == 240 - # --> 240 - # Legal values: 16 to CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT - # CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT == 240 -}; - -# < -# fb0 supports page flipping -# Optionally framebuffer device can support page flipping. -# The device supports between two and four pages, only one -# of which is visible on the display. This allows code to -# update one page without disturbing what is currently visible. -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_PAGE_FLIPPING { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Legal values: 2 3 4 -}; - -# < -# Functionality supported by the enabled framebuffer(s) -# The generic framebuffer code needs configure-time information about -# functionality of the enabled framebuffer or framebuffers. Usually -# all this information is fixed by the hardware, but the i386 -# target framebuffer support is more flexible than real hardware. To -# cope with this some dummy options are needed. -# -cdl_component CYGPKG_DEVS_FRAMEBUF_I386_FUNCTIONALITY { - # ActiveIf constraint: CYGPKG_DEVS_FRAMEBUF_I386_FB - # CYGPKG_DEVS_FRAMEBUF_I386_FB == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# One or more of the enabled framebuffer devices uses a true colour display -# -cdl_option CYGHWR_DEVS_FRAMEBUF_SYNTH_TRUE_COLOUR { - # Calculated value: is_substr(CYGDAT_DEVS_FRAMEBUF_SYNTH_FB0_FORMAT, "TRUE") || - # is_substr(CYGDAT_DEVS_FRAMEBUF_SYNTH_FB1_FORMAT, "TRUE") || - # is_substr(CYGDAT_DEVS_FRAMEBUF_SYNTH_FB2_FORMAT, "TRUE") || - # is_substr(CYGDAT_DEVS_FRAMEBUF_SYNTH_FB3_FORMAT, "TRUE") - # CYGDAT_DEVS_FRAMEBUF_SYNTH_FB0_FORMAT (unknown) == 0 - # CYGDAT_DEVS_FRAMEBUF_SYNTH_FB1_FORMAT (unknown) == 0 - # CYGDAT_DEVS_FRAMEBUF_SYNTH_FB2_FORMAT (unknown) == 0 - # CYGDAT_DEVS_FRAMEBUF_SYNTH_FB3_FORMAT (unknown) == 0 - # Flavor: bool - # Current value: 0 -}; - -# < -# Framebuffer build options -# Package specific build options including control over -# compiler flags used only in building the synthetic -# target framebuffer device driver. -# -cdl_component CYGPKG_DEVS_FRAMEBUF_I386_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for building -# the synthetic target framebuffer device driver. These flags -# are used in addition to the set of global flags. -# -cdl_option CYGPKG_DEVS_FRAMEBUF_I386_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 synthetic target framebuffer device driver. These flags -# are removed from the set of global flags if present. -# -cdl_option CYGPKG_DEVS_FRAMEBUF_I386_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# < -# < -# Block cache and access library -# -cdl_package CYGPKG_BLOCK_LIB { - # 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_MEMALLOC - # CYGPKG_MEMALLOC == current - # --> 1 - # Requires: CYGPKG_LINUX_COMPAT - # CYGPKG_LINUX_COMPAT == current - # --> 1 - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 -}; - -# > -# Block access statistics support -# This option enables statistics for -# block access operations. -# -cdl_option CYGIMP_BLOCK_LIB_STATISTICS { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# < -# Linux compatibility layer -# eCos supports a basic Linux compatibility Layer providing various -# functions, equivalents or stubs expected by Linux kernel code, for -# assistance in porting drivers and file system code from Linux. -# Note this does not provide Linux compatibility to applications. -# -cdl_package CYGPKG_LINUX_COMPAT { - # 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_BLOCK_LIB - # Requires: CYGPKG_LINUX_COMPAT -}; - -# > -# Define page size -# Define the page size. The value entered here is used as an -# exponent X in the expression 2^^X to ensure that the page -# size is always an integer power of two. -# -cdl_option CYGNUM_LINUX_COMPAT_PAGE_SIZE_EXPONENT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 12 - # value_source default - # Default value: 12 - # Legal values: 10 to 16 -}; - -# < -# POSIX compatibility layer -# doc: ref/posix-compatibility.html -# This package enables the POSIX compatibility -# layer that implements IEEE 1003.1. -# -cdl_package CYGPKG_POSIX { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGIMP_KERNEL_SCHED_SORTED_QUEUES - # CYGIMP_KERNEL_SCHED_SORTED_QUEUES == 1 - # --> 1 - # Requires: CYGBLD_ISO_POSIX_LIMITS_HEADER == "<cyg/posix/limits.h>" - # CYGBLD_ISO_POSIX_LIMITS_HEADER == <cyg/posix/limits.h> - # --> 1 - # Requires: CYGBLD_ISO_PMUTEXTYPES_HEADER == "<cyg/posix/muttypes.h>" - # CYGBLD_ISO_PMUTEXTYPES_HEADER == <cyg/posix/muttypes.h> - # --> 1 - # Requires: CYGBLD_ISO_PTHREAD_MUTEX_HEADER == "<cyg/posix/mutex.h>" - # CYGBLD_ISO_PTHREAD_MUTEX_HEADER == <cyg/posix/mutex.h> - # --> 1 -}; - -# > -# POSIX pthread mutexes -# This component provides support for POSIX pthreads -# mutexes. -# -cdl_component CYGPKG_POSIX_PTHREAD_MUTEX { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # -}; - -# > -# POSIX mutex priority inheritance feature test macro -# This option defines the POSIX feature test macro for -# supporting priority inheritance protocol in mutexes. -# -cdl_option _POSIX_THREAD_PRIO_INHERIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT == 1 - # --> 1 -}; - -# POSIX mutex priority ceiling feature test macro -# This option defines the POSIX feature test macro for -# supporting priority ceiling protocol in mutexes. -# -cdl_option _POSIX_THREAD_PRIO_PROTECT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING == 1 - # --> 1 -}; - -# < -# POSIX scheduling configuration -# This component provides controls over scheduling in POSIX. -# -cdl_component CYGPKG_POSIX_SCHED { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_POSIX_CLOCKS - # CYGPKG_POSIX_CLOCKS == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGPKG_POSIX_SCHED -}; - -# > -# POSIX priority scheduling feature test macro -# This option defines the POSIX feature test macro that -# indicates that priority scheduling is present. This -# should not be undefined. -# -cdl_option _POSIX_PRIORITY_SCHEDULING { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_KERNEL_SCHED_MLQUEUE - # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 - # --> 1 -}; - -# < -# POSIX pthread configuration -# This component provides configuration controls for the -# POSIX pthreads package. -# -cdl_component CYGPKG_POSIX_PTHREAD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TIMERS - # Requires: CYGPKG_POSIX_PTHREAD - # component CYGPKG_POSIX_SIGNALS - # Requires: CYGPKG_POSIX_PTHREAD - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) -}; - -# > -# Generic requirements of pthread package -# This option exists merely to carry the pthread -# package requirements. -# -cdl_option CYGPKG_POSIX_PTHREAD_REQUIREMENTS { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGPKG_POSIX_SCHED - # CYGPKG_POSIX_SCHED == 1 - # --> 1 - # Requires: CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE - # CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE == 1 - # --> 1 - # Requires: CYGSEM_KERNEL_SCHED_ASR_SUPPORT - # CYGSEM_KERNEL_SCHED_ASR_SUPPORT == 1 - # --> 1 - # Requires: CYGSEM_KERNEL_SCHED_ASR_GLOBAL - # CYGSEM_KERNEL_SCHED_ASR_GLOBAL == 1 - # --> 1 - # Requires: !CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL - # CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL == 0 - # --> 1 - # Requires: CYGFUN_KERNEL_THREADS_STACK_LIMIT - # CYGFUN_KERNEL_THREADS_STACK_LIMIT == 1 - # --> 1 - # Requires: CYGBLD_ISO_PTHREADTYPES_HEADER == "<cyg/posix/types.h>" - # CYGBLD_ISO_PTHREADTYPES_HEADER == <cyg/posix/types.h> - # --> 1 - # Requires: CYGBLD_ISO_PTHREAD_IMPL_HEADER == "<cyg/posix/pthread.h>" - # CYGBLD_ISO_PTHREAD_IMPL_HEADER == <cyg/posix/pthread.h> - # --> 1 -}; - -# Constant values used in pthread package -# These are values that are either configurable, or derived -# from system parameters. -# -cdl_component CYGPKG_POSIX_PTHREAD_VALUES { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Maximum number of iterations of key destructors -# Maximum number of iterations of key destructors allowed. -# -cdl_option CYGNUM_POSIX_PTHREAD_DESTRUCTOR_ITERATIONS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 4 to 100 -}; - -# Maximum number of per-thread data keys allowed -# Number of per-thread data keys supported. -# -cdl_option CYGNUM_POSIX_PTHREAD_KEYS_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 - # Legal values: 128 to 65535 -}; - -# Maximum number of threads allowed -# Maximum number of threads supported. -# -cdl_option CYGNUM_POSIX_PTHREAD_THREADS_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 64 - # value_source default - # Default value: 64 - # Legal values: 64 to 1024 -}; - -# < -# Fixed Feature test macros for POSIX -# These options define POSIX feature test macros that -# describe the eCos implementation of pthreads. These -# are not changeable configuration options. -# -cdl_component CYGPKG_POSIX_PTHREAD_FEATURES { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# POSIX thread support feature test macro -# This option defines the POSIX feature test macro -# for thread support. -# -cdl_option _POSIX_THREADS { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_KERNEL_SCHED_TIMESLICE - # CYGSEM_KERNEL_SCHED_TIMESLICE == 1 - # --> 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 - - # The following properties are affected by this value - # option _POSIX_THREAD_PRIORITY_SCHEDULING - # Requires: _POSIX_THREADS -}; - -# POSIX thread priority scheduling feature test macro -# This option defines the POSIX feature test macro -# for thread priority scheduling support. -# -cdl_option _POSIX_THREAD_PRIORITY_SCHEDULING { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_KERNEL_SCHED_MLQUEUE - # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 - # --> 1 - # Requires: _POSIX_THREADS - # _POSIX_THREADS == 1 - # --> 1 -}; - -# POSIX stack address attribute feature test macro -# This option defines the POSIX feature test macro -# for supporting the thread stack address in the thread -# attribute object. -# -cdl_option _POSIX_THREAD_ATTR_STACKADDR { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# POSIX stack size attribute feature test macro -# This option defines the POSIX feature test macro -# for supporting the thread stack size in the thread -# attribute object. -# -cdl_option _POSIX_THREAD_ATTR_STACKSIZE { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# POSIX process shared attribute feature test macro -# This option defines the POSIX feature test macro -# for supporting process shared mutexes. Since eCos -# does not have processes, this attribute is undefined. -# -cdl_option _POSIX_THREAD_PROCESS_SHARED { - # Calculated value: 0 - # Flavor: bool - # Current value: 0 -}; - -# < -# Main thread configuration -# These options control the thread used to -# run the main() application entry routine. -# -cdl_component CYGPKG_POSIX_MAIN_THREAD { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: 0 != CYGPKG_LIBC_STARTUP - # CYGPKG_LIBC_STARTUP == current - # --> 1 - # Requires: CYGSEM_LIBC_STARTUP_MAIN_OTHER - # CYGSEM_LIBC_STARTUP_MAIN_OTHER == 1 - # --> 1 -}; - -# > -# main()'s default thread priority -# POSIX compatibility requires that the application's -# main() function be invoked in a thread. -# This option controls the priority of that thread. This -# priority is the POSIX priority and is NOT the same as -# an eCos thread priority. With POSIX thread priorities, -# lower numbers are lower priority, and higher numbers are -# higher priority. -# -cdl_option CYGNUM_POSIX_MAIN_DEFAULT_PRIORITY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 0 to 31 -}; - -# < -# < -# POSIX clocks -# This component provides configuration controls for -# the POSIX clocks and the sleep(), nanosleep() and -# gettimeofday() functions. -# -cdl_option CYGPKG_POSIX_CLOCKS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER == "<cyg/posix/time.h>" - # CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER == <cyg/posix/time.h> - # --> 1 - # Requires: CYGBLD_ISO_POSIX_CLOCKS_HEADER == "<cyg/posix/time.h>" - # CYGBLD_ISO_POSIX_CLOCKS_HEADER == <cyg/posix/time.h> - # --> 1 - # Requires: CYGBLD_ISO_STRUCTTIMEVAL_HEADER == "<cyg/posix/sys/time.h>" - # CYGBLD_ISO_STRUCTTIMEVAL_HEADER == <cyg/posix/sys/time.h> - # --> 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_POSIX_SCHED - # Requires: CYGPKG_POSIX_CLOCKS - # component CYGPKG_POSIX_MQUEUES - # Requires: CYGPKG_POSIX_CLOCKS -}; - -# POSIX timers -# This component provides configuration controls for -# the POSIX timers. -# -cdl_option CYGPKG_POSIX_TIMERS { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 - # Requires: CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER == "<cyg/posix/time.h>" - # CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER == <cyg/posix/time.h> - # --> 1 - # Requires: CYGBLD_ISO_POSIX_TIMERS_HEADER == "<cyg/posix/time.h>" - # CYGBLD_ISO_POSIX_TIMERS_HEADER == <cyg/posix/time.h> - # --> 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - # Requires: CYGPKG_POSIX_PTHREAD - # CYGPKG_POSIX_PTHREAD == 1 - # --> 1 - # Requires: CYGPKG_POSIX_SIGNALS - # CYGPKG_POSIX_SIGNALS == 0 - # --> 0 - # Requires: CYGINT_ISO_POSIX_CLOCKS - # CYGINT_ISO_POSIX_CLOCKS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_POSIX_SIGNALS - # Requires: CYGPKG_POSIX_TIMERS - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # -}; - -# POSIX semaphores -# This component provides configuration controls for -# POSIX semaphores. -# -cdl_option CYGPKG_POSIX_SEMAPHORES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGBLD_ISO_SEMAPHORES_HEADER == "<cyg/posix/semaphore.h>" - # CYGBLD_ISO_SEMAPHORES_HEADER == <cyg/posix/semaphore.h> - # --> 1 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # -}; - -# POSIX message queues -# This component provides configuration controls for -# POSIX message queues. -# -cdl_component CYGPKG_POSIX_MQUEUES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_PTHREAD_MUTEX - # CYGINT_ISO_PTHREAD_MUTEX == 1 - # --> 1 - # Requires: CYGPKG_POSIX_CLOCKS - # CYGPKG_POSIX_CLOCKS == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # -}; - -# > -# Maximum number of message queues -# -cdl_option CYGNUM_POSIX_MQUEUE_OPEN_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: 1 to 999999 - - # The following properties are affected by this value - # option CYGNUM_ISO_MQUEUE_OPEN_MAX - # DefaultValue: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 - # option CYGNUM_ISO_MQUEUE_OPEN_MAX - # DefaultValue: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 -}; - -# Validate queue descriptors -# This option turns on checking that message queue descriptors -# (of type mqd_t) passed into mq_* functions are valid. If so, -# the functions will fail with EBADF, as POSIX 1003.1 mandates. -# If this option is disabled, if an invalid descriptor is used, -# random corruption may occur, or the system may crash. If -# you are confident invalid descriptors will not be used, -# you may wish to be disable this to save some per-instance -# memory and execution time. -# -cdl_option CYGIMP_POSIX_MQUEUE_VALIDATE_DESCRIPTOR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Allow empty queue notification -# Enabling this option adds the function mq_notify() to the -# API. Without it, some code and per-message queue descriptor -# space is saved, as well as no longer requiring POSIX realtime -# signal support. -# -cdl_option CYGFUN_POSIX_MQUEUE_NOTIFY { - # Flavor: bool - user_value 0 - # value_source user - # Default value: CYGPKG_POSIX_SIGNALS - # CYGPKG_POSIX_SIGNALS == 0 - # --> 0 - # Requires: CYGPKG_POSIX_SIGNALS - # CYGPKG_POSIX_SIGNALS == 0 - # --> 0 -}; - -# < -# POSIX signals configuration -# This component provides configuration controls for -# the POSIX signals. -# -cdl_component CYGPKG_POSIX_SIGNALS { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 - # Requires: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS == 1 - # --> 1 - # Requires: CYGPKG_POSIX_PTHREAD - # CYGPKG_POSIX_PTHREAD == 1 - # --> 1 - # Requires: CYGPKG_POSIX_TIMERS - # CYGPKG_POSIX_TIMERS == 0 - # --> 0 - # Requires: CYGBLD_ISO_SIGSETJMP_HEADER == "<cyg/posix/sigsetjmp.h>" - # CYGBLD_ISO_SIGSETJMP_HEADER == <cyg/posix/sigsetjmp.h> - # --> 1 - # Requires: CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == "<cyg/posix/signal.h>" - # CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == <cyg/libc/signals/signal.h> - # --> 0 - # Requires: CYGBLD_ISO_SIGNAL_IMPL_HEADER == "<cyg/posix/signal.h>" - # CYGBLD_ISO_SIGNAL_IMPL_HEADER == <cyg/libc/signals/signal.h> - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TIMERS - # Requires: CYGPKG_POSIX_SIGNALS - # option CYGFUN_POSIX_MQUEUE_NOTIFY - # Requires: CYGPKG_POSIX_SIGNALS - # option CYGFUN_POSIX_MQUEUE_NOTIFY - # DefaultValue: CYGPKG_POSIX_SIGNALS - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # -}; - -# POSIX utsname configuration -# This component provides configuration controls for -# the POSIX utsname structure and the uname() function. -# -cdl_component CYGPKG_POSIX_UTSNAME { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGBLD_ISO_UTSNAME_HEADER == "<cyg/posix/utsname.h>" - # CYGBLD_ISO_UTSNAME_HEADER == <cyg/posix/utsname.h> - # --> 1 -}; - -# > -# Length of name strings in utsname structure -# -cdl_option CYG_POSIX_UTSNAME_LENGTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 65 - # value_source default - # Default value: 65 - # Legal values: 1 to 99999999 - - # The following properties are affected by this value - # option CYG_POSIX_UTSNAME_NODENAME_LENGTH - # DefaultValue: CYG_POSIX_UTSNAME_LENGTH -}; - -# Length of nodename string in utsname structure -# -cdl_option CYG_POSIX_UTSNAME_NODENAME_LENGTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 65 - # value_source default - # Default value: CYG_POSIX_UTSNAME_LENGTH - # CYG_POSIX_UTSNAME_LENGTH == 65 - # --> 65 - # Legal values: 1 to 99999999 -}; - -# < -# POSIX tests -# This option specifies the set of tests for the POSIX package. -# -cdl_option CYGPKG_POSIX_TESTS { - # Calculated value: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # CYGPKG_POSIX_PTHREAD == 1 - # CYGPKG_POSIX_PTHREAD_MUTEX == 1 - # CYGPKG_POSIX_MQUEUES == 1 - # CYGPKG_POSIX_SIGNALS == 0 - # CYGPKG_POSIX_SIGNALS == 0 - # CYGPKG_POSIX_TIMERS == 0 - # CYGPKG_POSIX_SEMAPHORES == 1 - # CYGPKG_POSIX_SIGNALS == 0 - # CYGPKG_POSIX_TIMERS == 0 - # CYGPKG_POSIX_PTHREAD == 1 - # CYGPKG_POSIX_SEMAPHORES == 1 - # Flavor: data - # Current_value: tests/pthread1 tests/pthread2 tests/pthread3 tests/pmutex3 tests/pmqueue1 tests/pmqueue2 -}; - -# < -# POSIX File IO compatibility layer -# doc: ref/fileio.html -# This package enables the POSIX compatibility -# layer that implements IEEE 1003.1 file IO. -# -cdl_package CYGPKG_IO_FILEIO { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGBLD_ISO_DIRENT_HEADER == "<cyg/fileio/dirent.h>" - # CYGBLD_ISO_DIRENT_HEADER == <cyg/fileio/dirent.h> - # --> 1 - # Requires: CYGBLD_ISO_OPEN_MAX_HEADER == "<cyg/fileio/limits.h>" - # CYGBLD_ISO_OPEN_MAX_HEADER == <cyg/fileio/limits.h> - # --> 1 - # Requires: CYGBLD_ISO_NAME_MAX_HEADER == "<cyg/fileio/limits.h>" - # CYGBLD_ISO_NAME_MAX_HEADER == <cyg/fileio/limits.h> - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_IO_FILE_SUPPORT - # ActiveIf: !CYGPKG_IO_FILEIO - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGPKG_IO_FILEIO - # component CYGPKG_IO_SERIAL_TERMIOS - # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # option CYGPKG_IO_SERIAL_SELECT_SUPPORT - # ActiveIf: CYGPKG_IO_FILEIO - # option CYGPKG_LIBC_STDIO_FILEIO - # ActiveIf: CYGPKG_IO_FILEIO - # option CYGPKG_LIBC_STDIO_TESTS - # Calculated: - # "tests/sprintf1 tests/sprintf2 tests/snprintf tests/sscanf tests/stdiooutput " - # . ((CYGPKG_IO_FILEIO && CYGPKG_FS_RAM) ? "tests/fileio " : "") - # - # component CYGCLS_USTL_FSTREAMS - # DefaultValue: CYGPKG_IO_FILEIO - # component CYGCLS_USTL_FSTREAMS - # Requires: CYGPKG_IO_FILEIO -}; - -# > -# Filesystems interfacing to FILEIO -# Each filesystem driver which FILEIO can use implements -# this interface. You can use this to determine if there are -# any filesystems configured in the system. -# -cdl_interface CYGINT_IO_FILEIO_FS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Enable support for select() -# This option enables support for select(). -# -cdl_option CYGFUN_IO_FILEIO_SELECT { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGPKG_IO_SERIAL_SELECT_SUPPORT - # Requires: CYGFUN_IO_FILEIO_SELECT == 1 -}; - -# Enable devfs support -# This option enables support for the devfs file system. -# -cdl_option CYGPKG_IO_FILEIO_DEVFS_SUPPORT { - # ActiveIf constraint: CYGPKG_IO - # CYGPKG_IO == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_REDBOOT ? 0 : 1 - # CYGPKG_REDBOOT (unknown) == 0 - # --> 1 -}; - -# Enable socket support -# This option enables support for the socket interface. It is -# only present if the NET package is included. -# -cdl_option CYGPKG_IO_FILEIO_SOCKET_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGPKG_NET - # CYGPKG_NET (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Maximum number of open files -# This option controls the number of open files -# that are allowed for all filesystems. -# -cdl_option CYGNUM_FILEIO_NFILE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 1 to 9999999 - - # The following properties are affected by this value - # option CYGNUM_FILEIO_NFD - # LegalValues: CYGNUM_FILEIO_NFILE to 9999999 -}; - -# Maximum number of open file descriptors -# This option controls the number of open file descriptors -# that are allowed for all filesystems. -# -cdl_option CYGNUM_FILEIO_NFD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: CYGNUM_FILEIO_NFILE to 9999999 - # CYGNUM_FILEIO_NFILE == 16 -}; - -# Maximum number of installed filesystems -# This option controls the maximum number of filesystems -# that can be handled by the fileio system. -# -cdl_option CYGNUM_FILEIO_FSTAB_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 1 to 9999999 -}; - -# Maximum number of mounted filesystems -# This option controls the maximum number of mounted -# filesystems that can be handled by the fileio system. -# -cdl_option CYGNUM_FILEIO_MTAB_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: CYGNUM_FILEIO_MTAB_EXTRA to 9999999 - # CYGNUM_FILEIO_MTAB_EXTRA == 8 -}; - -# Number of dynamically mounted filesystems -# This option controls the number of mounted -# filesystems that can be created dynamically. -# -cdl_option CYGNUM_FILEIO_MTAB_EXTRA { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: 0 to 9999999 - - # The following properties are affected by this value - # option CYGNUM_FILEIO_MTAB_MAX - # LegalValues: CYGNUM_FILEIO_MTAB_EXTRA to 9999999 -}; - -# Maximum number of installed network stacks -# This option controls the maximum number of installed -# network stacks that can be handled by the fileio system. -# -cdl_option CYGNUM_FILEIO_NSTAB_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Legal values: 1 to 9999999 -}; - -# Enable current directory tracking -# This option enables tracking of the name of the current -# directory in the FILEIO package, to support the getcwd() -# function. When this option is enabled the FILEIO package -# will attempt to maintain a string that names the current -# directory. It does this textually, dealing with "." and -# ".." entries by textual manipulation. While this should -# always provide a path for the current directory, it may not -# be the best, if symbolic links are present. This tracked CWD -# is only used if a filesystem does not support the -# FS_INFO_GETCWD key. -# -cdl_option CYGPKG_IO_FILEIO_TRACK_CWD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Generic inode support -# This option enables generic inode support useful to -# some filesystems. Not all filesystems require this -# so it is not enabled by default. -# -cdl_component CYGPKG_IO_FILEIO_INODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 -}; - -# > -# Maximum space for unused cached inodes -# The inode cache allows a maximum limit to be set -# for the number of unused inodes still in the -# cache before they are freed. It may be set to 0 -# to indicate no dead inode caching should be -# provided. -# -cdl_option CYGNUM_IO_FILEIO_MAX_INODE_CACHE_DEAD { - # This option is not active - # The parent CYGPKG_IO_FILEIO_INODE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# < -# Maximum size of iovec used by readv/writev -# This option controls the maximum size of the iovec -# structure that can be used by readv()/writev(). This -# limit is required because the iovec structure must be -# invariant (to the user), thus a copy needs to be made -# by the interface routines. The limit is merely a -# control over the amount of stack space used by the -# readv()/writev() functions. -# -cdl_option CYGNUM_FILEIO_IOVEC_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 1 to 9999999 -}; - -# cyg_fs_getinfo call for disk usage -# Enabling this option includes code in some filesystems to -# implement a call using cyg_fs_getinfo to return the current -# filesystem block usage. -# -cdl_option CYGSEM_FILEIO_INFO_DISK_USAGE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# POSIX fnmatch configuration -# This component provides configuration controls for -# the POSIX fnmatch() function. -# -cdl_component CYGPKG_FILEIO_FNMATCH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: ( CYGINT_ISO_STRING_STRFUNCS && CYGINT_ISO_CTYPE ) - # CYGINT_ISO_STRING_STRFUNCS == 1 - # CYGINT_ISO_CTYPE == 1 - # --> 1 - # Requires: CYGBLD_ISO_FNMATCH_HEADER == "<cyg/fileio/fnmatch.h>" - # CYGBLD_ISO_FNMATCH_HEADER == <cyg/fileio/fnmatch.h> - # --> 1 -}; - -# Struct dirent contains a d_type field -# If this option is enabled then struct dirent contains a -# d_type field. With this field, file type may be -# distinguished directly without calling stat. Note: This -# member is not part of the POSIX standard, however is -# commonely implemented in Linux, FreeBSD, but not SunOS. -# Also, not all filesystems support it. So this feature is -# not portable and should be used with caution. -# -cdl_option CYGPKG_FILEIO_DIRENT_DTYPE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Fileio tests -# This option specifies the set of tests for the FileIO package. -# -cdl_option CYGPKG_IO_FILEIO_TESTS { - # Calculated value: "tests/fileio1 tests/socket tests/select tests/stdio tests/pselect tests/fnmatch" - # Flavor: data - # Current_value: tests/fileio1 tests/socket tests/select tests/stdio tests/pselect tests/fnmatch -}; - -# < -# uSTL library -# doc: ref/ustl.html -# This package provides the uSTL library. uSTL is a -# partial implementation of the STL specification intended to -# reduce code size of the derivative programs. This allows the -# user application to use well known standard C++ STL library -# containers, streams, iterators, algorithms and functors. -# -cdl_package CYGPKG_USTL { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_IO - # CYGPKG_IO == current - # --> 1 - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_CHAR_IO - # CYGINT_ISO_STDIO_CHAR_IO == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_DIRECT_IO - # CYGINT_ISO_STDIO_DIRECT_IO == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_ERROR - # CYGINT_ISO_STDIO_ERROR == 1 - # --> 1 - # Requires: CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 1 - # --> 1 - # Requires: CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 1 - # --> 1 - # Requires: CYGINT_ISO_C_TIME_TYPES - # CYGINT_ISO_C_TIME_TYPES == 1 - # --> 1 - # Requires: CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 1 - # --> 1 - # Requires: CYGINT_ISO_MAIN_STARTUP - # CYGINT_ISO_MAIN_STARTUP == 1 - # --> 1 - # Requires: CYGINT_ISO_ENVIRON - # CYGINT_ISO_ENVIRON == 1 - # --> 1 - # Requires: CYGINT_ISO_STRTOK_R - # CYGINT_ISO_STRTOK_R == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_LOCALE_FUNCS - # CYGINT_ISO_STRING_LOCALE_FUNCS == 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_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_LOCALE - # CYGINT_ISO_LOCALE == 1 - # --> 1 - # Requires: CYGIMP_LIBC_STDIO_C99_SNPRINTF - # CYGIMP_LIBC_STDIO_C99_SNPRINTF == 1 - # --> 1 -}; - -# > -# File streams support -# This option enables file stream support. For file stream -# support the File I/O package is required. -# -cdl_component CYGCLS_USTL_FSTREAMS { - # Flavor: bool - user_value 0 - # value_source user - # Default value: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - # Requires: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - # Requires: CYGINT_ISO_STDIO_FILETYPES - # CYGINT_ISO_STDIO_FILETYPES == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_STREAMS - # CYGINT_ISO_STDIO_STREAMS == 1 - # --> 1 -}; - -# > -# cin, cout & cerr support -# Enable this option if you want the standard streams -# cin, cout and cerr to be included. You will not be able -# to run bvt tests if you don't enable this option. -# -cdl_option CYGVAR_USTL_CIN_COUT_CERR { - # This option is not active - # The parent CYGCLS_USTL_FSTREAMS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGPKG_USTL_TESTS - # Calculated: (CYGVAR_USTL_CIN_COUT_CERR ? "tests/bvt00 tests/bvt01 tests/bvt02 tests/bvt03 tests/bvt04 tests/bvt05 tests/bvt06 tests/bvt07 tests/bvt08 tests/bvt09 tests/bvt10 tests/bvt11 tests/bvt12 tests/bvt13 tests/bvt14 tests/bvt15 tests/bvt16 tests/bvt17 tests/bvt18 tests/bvt19 tests/bvt20 tests/bvt21 tests/bvt22 tests/bvt23 tests/bvt24 tests/bvt25 tests/bvt26 tests/bvt27" : "" ) -}; - -# < -# Stream bounds checking -# Enable this option if you want stream operations to throw -# exceptions on insufficient data or insufficient space. -# All these errors should be preventable in output code; -# the input code should verify the data in a separate step. -# It slows down stream operations a lot, but it's your call. -# Debug builds always throws exceptions - this option is -# only valid for release builds. -# -cdl_option CYGSEM_USTL_STREAM_BOUNDS_CHECK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# uSTL library build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_USTL_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the uSTL library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_USTL_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-I\$(PREFIX)/include/ustl" - # value_source default - # Default value: "-I\$(PREFIX)/include/ustl" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the uSTL library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_USTL_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wundef - # value_source default - # Default value: -Wundef -}; - -# uSTL tests -# This option specifies the set of tests for the uSTL library. -# -cdl_option CYGPKG_USTL_TESTS { - # Calculated value: (CYGVAR_USTL_CIN_COUT_CERR ? "tests/bvt00 tests/bvt01 tests/bvt02 tests/bvt03 tests/bvt04 tests/bvt05 tests/bvt06 tests/bvt07 tests/bvt08 tests/bvt09 tests/bvt10 tests/bvt11 tests/bvt12 tests/bvt13 tests/bvt14 tests/bvt15 tests/bvt16 tests/bvt17 tests/bvt18 tests/bvt19 tests/bvt20 tests/bvt21 tests/bvt22 tests/bvt23 tests/bvt24 tests/bvt25 tests/bvt26 tests/bvt27" : "" ) - # CYGVAR_USTL_CIN_COUT_CERR == 0 - # Flavor: data - # Current_value: -}; - -# < -# < -# < - diff --git a/03_TMR/ecosenv.sh b/03_TMR/ecosenv.sh deleted file mode 100755 index 2b98e8d5767f25afb438b024cde5d60e0fca64bb..0000000000000000000000000000000000000000 --- a/03_TMR/ecosenv.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -EZS_BASE_DIR=/proj/i4ezs/tools/ ; export EZS_BASE_DIR - -ECOS_BASE_DIR=$EZS_BASE_DIR/ecos/repo_ezs ; export ECOS_BASE_DIR -EZS_COMPILER_DIR=$EZS_BASE_DIR/gnutools_422 ; export EZS_COMPILER_DIR -EZS_CMAKE_MODULE_DIR=$ECOS_BASE_DIR/tools ; export EZS_CMAKE_MODULE_DIR -ECOS_REPOSITORY=$ECOS_BASE_DIR/packages ; export ECOS_REPOSITORY -UBUNTU_MENUPROXY=0 ; export UBUNTU_MENUPROXY -if [[ $PATH != *ecos* ]] ; then - # eCos paths - do not modify this line, it is used by the installer - PATH=$ECOS_BASE_DIR/tools:$EZS_COMPILER_DIR/bin:$PATH ; export PATH -fi - -if [[ $PATH != */proj/i4ezs/tools/fail/vezs ]] ; then - PATH=$EZS_BASE_DIR/fail:$PATH -fi diff --git a/03_TMR/emu/BIOS-bochs-latest b/03_TMR/emu/BIOS-bochs-latest deleted file mode 100644 index 2d3fea31f67a8c140e70b71cf14ceacd397923ab..0000000000000000000000000000000000000000 Binary files a/03_TMR/emu/BIOS-bochs-latest and /dev/null differ diff --git a/03_TMR/emu/CMakeLists.txt b/03_TMR/emu/CMakeLists.txt deleted file mode 100644 index 4eb8d33557905425dc60f90687baed191d80cb7a..0000000000000000000000000000000000000000 --- a/03_TMR/emu/CMakeLists.txt +++ /dev/null @@ -1,205 +0,0 @@ -include(processorcount) - -# Prepare some useful variable for use in config files -set(TGT_ELF "${TGT}.elf") -set(ISODIR "${PROJECT_BINARY_DIR}/grub_iso") -set(FAIL_BINARY "$ENV{EZS_BASE_DIR}/fail/fail-client") -set(ISOFILE "${PROJECT_BINARY_DIR}/${TGT}.iso") -set(ELFFILE "${PROJECT_BINARY_DIR}/${TGT}.elf") -set(RUNNER "/proj/i4ezs/tools/fail/vezs/bochs-experiment-runner.py") - - -set(FAILVARIANT "not_set" CACHE PATH "Variant name for Fail* injection") - -# Setup Bochs configuration -set(BOCHS_BIOS "${CMAKE_CURRENT_SOURCE_DIR}/BIOS-bochs-latest") -set(BOCHS_GUEST_RAM 32) -set(BOCHS_HOST_RAM 32) -set(BOCHS_VGA_IMAGE "${CMAKE_CURRENT_SOURCE_DIR}/vgabios.bin") -set(BOCHS_ISO_IMAGE "${ISOFILE}") - -set(STARTUP_SCRIPTS ${PROJECT_BINARY_DIR}/startup_scripts) -file(MAKE_DIRECTORY ${STARTUP_SCRIPTS}) -set(BOCHSRC "${STARTUP_SCRIPTS}/bochsrc") -configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bochsrc.in" ${BOCHSRC} ) -configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bochsrc-gdb.in" "${BOCHSRC}-gdb" ) -configure_file("${CMAKE_CURRENT_SOURCE_DIR}/bochsrc-term.in" "${BOCHSRC}-term" ) - -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/qrun.sh.in ${STARTUP_SCRIPTS}/qrun.sh) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/frun.sh.in ${STARTUP_SCRIPTS}/frun.sh) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pts.sh.in ${STARTUP_SCRIPTS}/pts.sh) -configure_file(${SCRIPT_DIR}/findport.pl ${STARTUP_SCRIPTS}/findport.pl) - -#message(STATUS "Fail* @ ${FAIL_BINARY}") -#set(GDBINITFILE ${STARTUP_SCRIPTS}/.gdbinit) -#configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gdbinit.in" ${GDBINITFILE}) - -# Grub -find_program(GRUB_MKRESCUE "grub-mkrescue") -if(NOT GRUB_MKRESCUE) - message(FATAL_ERROR "grub-mkrescue not found, cannot create bootable iso :(") -endif() - - -# message(STATUS "Building bootable ISO for ${TGT}") - -# Generate build directory for grub-mkrescue -set(BOOTDIR "${ISODIR}/boot/") -set(GRUBDIR "${BOOTDIR}/grub") -file(MAKE_DIRECTORY ${GRUBDIR}) - -# Copy and configure grub configuration file -configure_file("${CMAKE_CURRENT_SOURCE_DIR}/grub.cfg.in" "${GRUBDIR}/grub.cfg") - -# Create bootable ISO from TGT -add_custom_command( - DEPENDS ${TGT} - COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${TGT}> ${BOOTDIR}/${TGT_ELF} - COMMAND ${GRUB_MKRESCUE} - ARGS -o ${ISOFILE} ${ISODIR} - COMMAND objdump -CDS ${BOOTDIR}/${TGT_ELF} > ${PROJECT_BINARY_DIR}/${TGT}.dis - OUTPUT ${ISOFILE} ${BOOTDIR}/${TGT_ELF} ${PROJECT_BINARY_DIR}/${TGT}.dis - COMMENT "Generating bootable grub iso." - ) - -# Create bootable ISO -add_custom_target( iso DEPENDS ${ISOFILE} ) - -# Start FAIL -# comment for 02_filter -##add_custom_target( sim -## COMMAND ${STARTUP_SCRIPTS}/frun.sh -## DEPENDS ${ISOFILE} -## COMMENT "Starting Fail*" -## WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -## ) - -# Start qemu -add_custom_target(run - DEPENDS ${ISOFILE} ${TGT} - COMMAND echo "Running ${ISOFILE}..." - COMMAND ${STARTUP_SCRIPTS}/qrun.sh - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - ) - -add_custom_target( ddd -# Start Qemu in Debug mode. - DEPENDS ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh ddd - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( gdb -# Start Qemu in Debug mode. - DEPENDS ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh gdb - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( gdbtui -# Start Qemu in Debug mode. - DEPENDS ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh gdbtui - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - - -add_custom_target( cgdb -# Start Qemu in Debug mode. - DEPENDS ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh cgdb - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - - -add_custom_target( fail-1-trace - # Start Qemu in Debug mode. - DEPENDS ${ISOFILE} - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ ${RUNNER} -e ${ELFFILE} -i ${BOCHS_ISO_IMAGE} -1 - -f /proj/i4ezs/tools/fail/vezs/fail-x86-tracing - -m 32 -- - -Wf,--start-symbol=fail_trace_start - -Wf,--save-symbol=fail_trace_start - -Wf,--end-symbol=fail_trace_stop - -Wf,--trace-file=${PROJECT_BINARY_DIR}/trace.pb - -Wf,--elf-file=${PROJECT_BINARY_DIR}/${TGT}.elf -q - COMMENT "Trace the app for golden run" - OUTPUT ${PROJECT_BINARY_DIR}/trace.pb - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( fail-2-import - # Start Qemu in Debug mode. - DEPENDS ${PROJECT_BINARY_DIR}/trace.pb - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ /proj/i4ezs/tools/fail/vezs/import-trace -t ${PROJECT_BINARY_DIR}/trace.pb -i mem -v aufgabe1 -b ${FAILVARIANT} -e ${ELFFILE} --faultspace-rightmargin R - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ /proj/i4ezs/tools/fail/vezs/import-trace -i ElfImporter --objdump objdump -e ${ELFFILE} -v aufgabe1 -b ${FAILVARIANT} - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ /proj/i4ezs/tools/fail/vezs/prune-trace -p basic -v aufgabe1 -b ${FAILVARIANT} --overwrite - COMMENT "Import the golden run into the database" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( fail-3-server - # Start Qemu in Debug mode. - DEPENDS ${PROJECT_BINARY_DIR}/trace.pb - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ /proj/i4ezs/tools/fail/vezs/generic-experiment-server -v aufgabe1 -b ${FAILVARIANT} - COMMENT "Start the campaign server" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( fail-4-client - # Start Qemu in Debug mode. - DEPENDS ${PROJECT_BINARY_DIR}/trace.pb - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ ${RUNNER} -e ${ELFFILE} -i ${BOCHS_ISO_IMAGE} - -f /proj/i4ezs/tools/fail/vezs/generic-experiment-client -m 32 - -e ${ELFFILE} - -i ${BOCHS_ISO_IMAGE} - -V vgabios.bin -b BIOS-bochs-latest -- - -Wf,--state-dir=state - -Wf,--trap -Wf,--timeout=10 - -Wf,--ok-marker=fail_marker_positive - -Wf,--fail-marker=fail_marker_negative - -Wf,--detected-marker=fail_marker_detected - -Wf,--catch-write-textsegment - -Wf,--catch-write-outerspace # 2>/dev/null | grep -C 4 'INJECT' - COMMENT "Start one fail-client" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( fail-4-client-parallel - # Start Qemu in Debug mode. - DEPENDS ${PROJECT_BINARY_DIR}/trace.pb - COMMAND LD_LIBRARY_PATH=/proj/i4ezs/tools/fail/vezs/ nice -n 19 ionice -c3 ${RUNNER} -e ${ELFFILE} -i ${BOCHS_ISO_IMAGE} - -f /proj/i4ezs/tools/fail/vezs/generic-experiment-client -m 32 - -e ${ELFFILE} - -i ${BOCHS_ISO_IMAGE} - -V vgabios.bin -b BIOS-bochs-latest -j${PROCESSOR_COUNT} -- - -Wf,--state-dir=state - -Wf,--trap -Wf,--timeout=10 - -Wf,--ok-marker=fail_marker_positive - -Wf,--fail-marker=fail_marker_negative - -Wf,--detected-marker=fail_marker_detected - -Wf,--catch-write-textsegment - -Wf,--catch-write-outerspace # 2>/dev/null | grep -C 4 'INJECT' - COMMENT "Start many fail-clients (use FAIL_SERVER_HOST for different campaign server)" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( fail-5-result - # Start Qemu in Debug mode. - COMMAND mysql -t < ${PROJECT_SOURCE_DIR}/eval/report.sql - COMMENT "Generate a report" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - -add_custom_target( fail-5-browse - # Start Qemu in Debug mode. - COMMAND mysql -t < ${PROJECT_SOURCE_DIR}/eval/report.sql - COMMAND /proj/i4ezs/tools/fail/vezs/resultbrowser/run.py - COMMENT "Generate HTML report" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} -) - diff --git a/03_TMR/emu/bochs-experiment-runner.py b/03_TMR/emu/bochs-experiment-runner.py deleted file mode 100755 index 2b0ac6ba2ffd40a33e9caec09071566ec610a065..0000000000000000000000000000000000000000 --- a/03_TMR/emu/bochs-experiment-runner.py +++ /dev/null @@ -1,128 +0,0 @@ -#!/usr/bin/python - -import os, sys -from optparse import OptionParser -from subprocess import * -from tempfile import mkstemp, mkdtemp -import shutil -import multiprocessing -from threading import Thread - -def parseArgs(): - parser = OptionParser() - parser.add_option("-e", "--elf-file", dest="elf_file", - help="elf file to be executed", metavar="ELF") - parser.add_option("-i", "--iso-file", dest="iso_file", - help="iso file to be executed", metavar="ISO") - parser.add_option("-f", "--fail-client", dest="fail_client", - help="fail-client to be executed", metavar="ISO") - parser.add_option("-m", "--memory", dest="memory", default="16", - help="memory for the bochs VM", metavar="SIZE") - - parser.add_option("-b", "--bios", dest="bios", default="/proj/i4ciao/tools/fail/BIOS-bochs-latest", - help="bios image for bochs", metavar="BIOS") - - parser.add_option("-V", "--vgabios", dest="vgabios", default="/proj/i4ciao/tools/fail/vgabios.bin", - help="vgabios image for bochs", metavar="VGABIOS") - - parser.add_option("-1", "--once", - action="store_false", dest="forever", default=True, - help="fail-client to be executed") - parser.add_option("-j", "--jobs", - action="store", dest="jobs", default=1, - help="fail-clients to be executed") - - - - (options, args) = parser.parse_args() - - if not (options.elf_file and options.iso_file and options.fail_client): - parser.error("elf, iso and fail-client are required") - - return options, args - -def execute(options, args, bochsrc, statedir): - command = "env FAIL_ELF_PATH=%s FAIL_STATEDIR=%s %s -q -f %s %s" %\ - (options.elf_file, statedir, options.fail_client, bochsrc, " ".join(args)) - print "executing: " + command - p = Popen(command, shell=True) - p.wait() - - return p.returncode - -def main(options, args): - bochsrc_args = { - "memory": options.memory, - "bios": options.bios, - "vgabios": options.vgabios, - "iso": options.iso_file - } - - bochsrc_text = """ -config_interface: textconfig -display_library: nogui -romimage: file="{bios}" -cpu: count=1, ips=5000000, reset_on_triple_fault=1, ignore_bad_msrs=1, msrs="msrs.def" -cpuid: mmx=1, sep=1, sse=sse4_2, xapic=1, aes=1, movbe=1, xsave=1, cpuid_limit_winnt=0 -memory: guest={memory}, host={memory} -vgaromimage: file="{vgabios}" -vga: extension=vbe -ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -ata1: enabled=0, ioaddr1=0x170, ioaddr2=0x370, irq=15 -ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9 -ata0-slave: type=cdrom, path="{iso}", status=inserted -boot: cdrom -clock: sync=none, time0=946681200 -floppy_bootsig_check: disabled=0 -panic: action=fatal -error: action=fatal -info: action=ignore -debug: action=ignore -pass: action=ignore -debugger_log: - -parport1: enabled=0 -vga_update_interval: 300000 -keyboard_serial_delay: 250 -keyboard_paste_delay: 100000 -private_colormap: enabled=0 -i440fxsupport: enabled=0, slot1=pcivga -""".format(**bochsrc_args) - - bochsrc = mkstemp() - fd = os.fdopen(bochsrc[0], "w") - fd.write(bochsrc_text) - fd.close() - bochsrc = bochsrc[1] - - statedir = mkdtemp() - - if options.forever: - while True: - res = execute(options, args, bochsrc, statedir) - if res != 0: - break - - ret = 0 - else: - ret = execute(options, args, bochsrc, statedir) - - os.unlink(bochsrc) - shutil.rmtree(statedir) - sys.exit(ret) - -if __name__ == "__main__": - (options, args) = parseArgs() - if options.jobs == "0": - jobs = multiprocessing.cpu_count() - else: - jobs = int(options.jobs) - - threads = [] - for i in range(0, jobs): - t = Thread(target = main, args = (options, args)) - t.start() - threads.append(t) - - for thread in threads: - thread.join() diff --git a/03_TMR/emu/bochsrc-gdb.in b/03_TMR/emu/bochsrc-gdb.in deleted file mode 100644 index 23567fceb539167aac7f4d79e5f3b483e709bccf..0000000000000000000000000000000000000000 --- a/03_TMR/emu/bochsrc-gdb.in +++ /dev/null @@ -1,900 +0,0 @@ -# You may now use double quotes around pathnames, in case -# your pathname includes spaces. - -#======================================================================= -# CONFIG_INTERFACE -# -# The configuration interface is a series of menus or dialog boxes that -# allows you to change all the settings that control Bochs's behavior. -# Depending on the platform there are up to 3 choices of configuration -# interface: a text mode version called "textconfig" and two graphical versions -# called "win32config" and "wx". The text mode version uses stdin/stdout and -# is always compiled in, unless Bochs is compiled for wx only. The choice -# "win32config" is only available on win32 and it is the default there. -# The choice "wx" is only available when you use "--with-wx" on the configure -# command. If you do not write a config_interface line, Bochs will -# choose a default for you. -# -# NOTE: if you use the "wx" configuration interface, you must also use -# the "wx" display library. -#======================================================================= -config_interface: textconfig -#config_interface: wx - -#======================================================================= -# DISPLAY_LIBRARY -# -# The display library is the code that displays the Bochs VGA screen. Bochs -# has a selection of about 10 different display library implementations for -# different platforms. If you run configure with multiple --with-* options, -# the display_library command lets you choose which one you want to run with. -# If you do not write a display_library line, Bochs will choose a default for -# you. -# -# The choices are: -# x use X windows interface, cross platform -# sdl use SDL library, cross platform -# svga use SVGALIB library for Linux, allows graphics without X11 -# term text only, uses curses/ncurses library, cross platform -# wx use wxWidgets library, cross platform -# nogui no display at all -# -# NOTE: if you use the "wx" configuration interface, you must also use -# the "wx" display library. -# -# Specific options: -# Some display libraries now support specific option to control their -# behaviour. See the examples below for currently supported options. -#======================================================================= -#display_library: nogui -#display_library: sdl, options="fullscreen" # startup in fullscreen mode -display_library: term -#display_library: wx -#display_library: x -#display_library: x, options="hideIPS" # disable IPS output in status bar -#display_library: x, options="gui_debug" # use GTK debugger gui - -#======================================================================= -# ROMIMAGE: -# The ROM BIOS controls what the PC does when it first powers on. -# Normally, you can use a precompiled BIOS in the source or binary -# distribution called BIOS-bochs-latest. The ROM BIOS is usually loaded -# starting at address 0xf0000, and it is exactly 64k long. Another option -# is 128k BIOS which is loaded at address 0xe0000. -# You can also use the environment variable $BXSHARE to specify the -# location of the BIOS. -# The usage of external large BIOS images (up to 512k) at memory top is -# now supported, but we still recommend to use the BIOS distributed with -# Bochs. The start address optional, since it can be calculated from image size. -#======================================================================= -romimage: file=@BOCHS_BIOS@ -#romimage: file=bios/seabios-0.5.1.bin -#romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top - -#======================================================================= -# CPU: -# This defines cpu-related parameters inside Bochs: -# -# COUNT: -# Set the number of processors:cores per processor:threads per core -# when Bochs is compiled for SMP emulation. -# Bochs currently supports up to 8 threads running simultaniosly. -# If Bochs is compiled without SMP support, it won't accept values -# different from 1. -# -# QUANTUM: -# Maximum amount of instructions allowed to execute by processor before -# returning control to another cpu. This option exists only in Bochs -# binary compiled with SMP support. -# -# RESET_ON_TRIPLE_FAULT: -# Reset the CPU when triple fault occur (highly recommended) rather than -# PANIC. Remember that if you trying to continue after triple fault the -# simulation will be completely bogus ! -# -# MSRS: -# Define path to user CPU Model Specific Registers (MSRs) specification. -# See example in msrs.def. -# -# IGNORE_BAD_MSRS: -# Ignore MSR references that Bochs does not understand; print a warning -# message instead of generating #GP exception. This option is enabled -# by default but will not be avaiable if configurable MSRs are enabled. -# -# IPS: -# Emulated Instructions Per Second. This is the number of IPS that bochs -# is capable of running on your machine. You can recompile Bochs with -# --enable-show-ips option enabled, to find your host's capability. -# Measured IPS value will then be logged into your log file or shown -# in the status bar (if supported by the gui). -# -# IPS is used to calibrate many time-dependent events within the bochs -# simulation. For example, changing IPS affects the frequency of VGA -# updates, the duration of time before a key starts to autorepeat, and -# the measurement of BogoMips and other benchmarks. -# -# Examples: -# -# Bochs Machine/Compiler Mips -# ____________________________________________________________________ -# 2.3.7 3.2Ghz Intel Core 2 Q9770 with WinXP/g++ 3.4 50 to 55 Mips -# 2.3.7 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 38 to 43 Mips -# 2.2.6 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 21 to 25 Mips -# 2.2.6 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4 12 to 15 Mips -# 2.0.1 1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7 Mips -#======================================================================= -cpu: count=1, ips=@BOCHS_CPU_SPEED_MHZ@000000, reset_on_triple_fault=0, ignore_bad_msrs=1, msrs="msrs.def" - -#======================================================================= -# CPUID: -# -# This defines features and functionality supported by Bochs emulated CPU: -# -# MMX: -# Select MMX instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 5. -# -# SEP: -# Select SYSENTER/SYSEXIT instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# SSE: -# Select SSE instruction set support. -# Any of NONE/SSE/SSE2/SSE3/SSSE3/SSE4_1/SSE4_2 could be selected. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# XAPIC: -# Select XAPIC extensions support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# AES: -# Select AES instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# MOVBE: -# Select MOVBE Intel(R) Atom instruction support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# XSAVE: -# Select XSAVE extensions support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# 1G_PAGES: -# Enable 1G page size support in long mode. -# This option exists only if Bochs compiled with x86-64 support. -# -# MWAIT_IS_NOP: -# When this option is enabled MWAIT will not put the CPU into a sleep state. -# This option exists only if Bochs compiled with --enable-monitor-mwait. -# -# VENDOR_STRING: -# Set the CPUID vendor string returned by CPUID(0x0). This should be a -# twelve-character ASCII string. -# -# BRAND_STRING: -# Set the CPUID vendor string returned by CPUID(0x80000002 .. 0x80000004). -# This should be at most a forty-eight-character ASCII string. -# -# CPUID_LIMIT_WINNT: -# Determine whether to limit maximum CPUID function to 3. This mode is -# required to workaround WinNT installation and boot issues. -#======================================================================= -cpuid: mmx=1, sep=1, sse=sse4_2, xapic=1, aes=1, movbe=1, xsave=1, cpuid_limit_winnt=0 - -#======================================================================= -# MEMORY -# Set the amount of physical memory you want to emulate. -# -# GUEST: -# Set amount of guest physical memory to emulate. The default is 32MB, -# the maximum amount limited only by physical address space limitations. -# -# HOST: -# Set amount of host memory you want to allocate for guest RAM emulation. -# It is possible to allocate less memory than you want to emulate in guest -# system. This will fake guest to see the non-existing memory. Once guest -# system touches new memory block it will be dynamically taken from the -# memory pool. You will be warned (by FATAL PANIC) in case guest already -# used all allocated host memory and wants more. -# -#======================================================================= -#memory: guest=512, host=256 -memory: guest=@BOCHS_GUEST_RAM@, host=@BOCHS_HOST_RAM@ - -#======================================================================= -# OPTROMIMAGE[1-4]: -# You may now load up to 4 optional ROM images. Be sure to use a -# read-only area, typically between C8000 and EFFFF. These optional -# ROM images should not overwrite the rombios (located at -# F0000-FFFFF) and the videobios (located at C0000-C7FFF). -# Those ROM images will be initialized by the bios if they contain -# the right signature (0x55AA) and a valid checksum. -# It can also be a convenient way to upload some arbitrary code/data -# in the simulation, that can be retrieved by the boot loader -#======================================================================= -#optromimage1: file=optionalrom.bin, address=0xd0000 -#optromimage2: file=optionalrom.bin, address=0xd1000 -#optromimage3: file=optionalrom.bin, address=0xd2000 -#optromimage4: file=optionalrom.bin, address=0xd3000 - -#optramimage1: file=/path/file1.img, address=0x0010000 -#optramimage2: file=/path/file2.img, address=0x0020000 -#optramimage3: file=/path/file3.img, address=0x0030000 -#optramimage4: file=/path/file4.img, address=0x0040000 - -#======================================================================= -# VGAROMIMAGE -# You now need to load a VGA ROM BIOS into C0000. -#======================================================================= -vgaromimage: file=@BOCHS_VGA_IMAGE@ -#vgaromimage: file=/usr/share/vgabios/vgabios.debug.bin - -#======================================================================= -# VGA: -# Here you can specify the display extension to be used. With the value -# 'none' you can use standard VGA with no extension. Other supported -# values are 'vbe' for Bochs VBE and 'cirrus' for Cirrus SVGA support. -#======================================================================= -#vga: extension=cirrus -vga: extension=vbe - -#======================================================================= -# FLOPPYA: -# Point this to pathname of floppy image file or device -# This should be of a bootable floppy(image/device) if you're -# booting from 'a' (or 'floppy'). -# -# You can set the initial status of the media to 'ejected' or 'inserted'. -# floppya: 2_88=path, status=ejected (2.88M 3.5" media) -# floppya: 1_44=path, status=inserted (1.44M 3.5" media) -# floppya: 1_2=path, status=ejected (1.2M 5.25" media) -# floppya: 720k=path, status=inserted (720K 3.5" media) -# floppya: 360k=path, status=inserted (360K 5.25" media) -# floppya: 320k=path, status=inserted (320K 5.25" media) -# floppya: 180k=path, status=inserted (180K 5.25" media) -# floppya: 160k=path, status=inserted (160K 5.25" media) -# floppya: image=path, status=inserted (guess media type from image size) -# floppya: type=1_44 (1.44M 3.5" floppy drive, no media) -# -# The path should be the name of a disk image file. On Unix, you can use a raw -# device name such as /dev/fd0 on Linux. On win32 platforms, use drive letters -# such as a: or b: as the path. The parameter 'image' works with image files -# only. In that case the size must match one of the supported types. -# The parameter 'type' can be used to enable the floppy drive without media -# and status specified. Usually the drive type is set up based on the media type. -#======================================================================= -#floppya: 1_44=/dev/fd0, status=inserted -#floppya: image=../1.44, status=inserted -#floppya: 1_44=/dev/fd0H1440, status=inserted -#floppya: 1_2=../1_2, status=inserted -#floppya: 1_44=a:, status=inserted -#floppya: 1_44=a.img, status=inserted -#floppya: 1_44=/dev/rfd0a, status=inserted -#floppya: 1_44=bootdisk.vmi, status=inserted -#floppya: 1_44=oostubs/guarded.vmi, status=inserted - -#======================================================================= -# FLOPPYB: -# See FLOPPYA above for syntax -#======================================================================= -#floppyb: 1_44=b:, status=inserted -#floppyb: 1_44=b.img, status=inserted - -#======================================================================= -# ATA0, ATA1, ATA2, ATA3 -# ATA controller for hard disks and cdroms -# -# ata[0-3]: enabled=[0|1], ioaddr1=addr, ioaddr2=addr, irq=number -# -# These options enables up to 4 ata channels. For each channel -# the two base io addresses and the irq must be specified. -# -# ata0 and ata1 are enabled by default with the values shown below -# -# Examples: -# ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -# ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 -# ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -# ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9 -#======================================================================= -ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 -ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9 - -#======================================================================= -# ATA[0-3]-MASTER, ATA[0-3]-SLAVE -# -# This defines the type and characteristics of all attached ata devices: -# type= type of attached device [disk|cdrom] -# mode= only valid for disks [flat|concat|external|dll|sparse|vmware3] -# mode= only valid for disks [undoable|growing|volatile] -# path= path of the image -# cylinders= only valid for disks -# heads= only valid for disks -# spt= only valid for disks -# status= only valid for cdroms [inserted|ejected] -# biosdetect= type of biosdetection [none|auto], only for disks on ata0 [cmos] -# translation=type of translation of the bios, only for disks [none|lba|large|rechs|auto] -# model= string returned by identify device command -# journal= optional filename of the redolog for undoable and volatile disks -# -# Point this at a hard disk image file, cdrom iso file, or physical cdrom -# device. To create a hard disk image, try running bximage. It will help you -# choose the size and then suggest a line that works with it. -# -# In UNIX it may be possible to use a raw device as a Bochs hard disk, -# but WE DON'T RECOMMEND IT. In Windows there is no easy way. -# -# In windows, the drive letter + colon notation should be used for cdroms. -# Depending on versions of windows and drivers, you may only be able to -# access the "first" cdrom in the system. On MacOSX, use path="drive" -# to access the physical drive. -# -# The path is mandatory for hard disks. Disk geometry autodetection works with -# images created by bximage if CHS is set to 0/0/0 (cylinders are calculated -# using heads=16 and spt=63). For other hard disk images and modes the -# cylinders, heads, and spt are mandatory. In all cases the disk size reported -# from the image must be exactly C*H*S*512. -# -# Default values are: -# mode=flat, biosdetect=auto, translation=auto, model="Generic 1234" -# -# The biosdetect option has currently no effect on the bios -# -# Examples: -# ata0-master: type=disk, mode=flat, path=10M.sample, cylinders=306, heads=4, spt=17 -# ata0-slave: type=disk, mode=flat, path=20M.sample, cylinders=615, heads=4, spt=17 -# ata1-master: type=disk, mode=flat, path=30M.sample, cylinders=615, heads=6, spt=17 -# ata1-slave: type=disk, mode=flat, path=46M.sample, cylinders=940, heads=6, spt=17 -# ata2-master: type=disk, mode=flat, path=62M.sample, cylinders=940, heads=8, spt=17 -# ata2-slave: type=disk, mode=flat, path=112M.sample, cylinders=900, heads=15, spt=17 -# ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63 -# ata3-slave: type=cdrom, path=iso.sample, status=inserted -#======================================================================= -#ata0-master: type=disk, mode=flat, path="d.sample" -#ata0-master: type=disk, mode=flat, path="$HOME/.bochs/guest.hd0", cylinders=#cylinders#, heads=16, spt=63 -#ata0-master: type=disk, mode=flat, path="c.img", cylinders=0 # autodetect -ata0-slave: type=cdrom, path=@BOCHS_ISO_IMAGE@, status=inserted - -#======================================================================= -# BOOT: -# This defines the boot sequence. Now you can specify up to 3 boot drives, -# which can be 'floppy', 'disk', 'cdrom' or 'network' (boot ROM). -# Legacy 'a' and 'c' are also supported. -# Examples: -# boot: floppy -# boot: cdrom, disk -# boot: network, disk -# boot: cdrom, floppy, disk -#======================================================================= -#boot: floppy -#boot: disk -boot: cdrom - -#======================================================================= -# CLOCK: -# This defines the parameters of the clock inside Bochs: -# -# SYNC: -# This defines the method how to synchronize the Bochs internal time -# with realtime. With the value 'none' the Bochs time relies on the IPS -# value and no host time synchronization is used. The 'slowdown' method -# sacrifices performance to preserve reproducibility while allowing host -# time correlation. The 'realtime' method sacrifices reproducibility to -# preserve performance and host-time correlation. -# It is possible to enable both synchronization methods. -# -# TIME0: -# Specifies the start (boot) time of the virtual machine. Use a time -# value as returned by the time(2) system call. If no time0 value is -# set or if time0 equal to 1 (special case) or if time0 equal 'local', -# the simulation will be started at the current local host time. -# If time0 equal to 2 (special case) or if time0 equal 'utc', -# the simulation will be started at the current utc time. -# -# Syntax: -# clock: sync=[none|slowdown|realtime|both], time0=[timeValue|local|utc] -# -# Example: -# clock: sync=none, time0=local # Now (localtime) -# clock: sync=slowdown, time0=315529200 # Tue Jan 1 00:00:00 1980 -# clock: sync=none, time0=631148400 # Mon Jan 1 00:00:00 1990 -# clock: sync=realtime, time0=938581955 # Wed Sep 29 07:12:35 1999 -# clock: sync=realtime, time0=946681200 # Sat Jan 1 00:00:00 2000 -# clock: sync=none, time0=1 # Now (localtime) -# clock: sync=none, time0=utc # Now (utc/gmt) -# -# Default value are sync=none, time0=local -#======================================================================= -#clock: sync=realtime, time0=local - - -#======================================================================= -# FLOPPY_BOOTSIG_CHECK: disabled=[0|1] -# Enables or disables the 0xaa55 signature check on boot floppies -# Defaults to disabled=0 -# Examples: -# floppy_bootsig_check: disabled=0 -# floppy_bootsig_check: disabled=1 -#======================================================================= -floppy_bootsig_check: disabled=0 - -#======================================================================= -# LOG: -# Give the path of the log file you'd like Bochs debug and misc. verbiage -# to be written to. If you don't use this option or set the filename to -# '-' the output is written to the console. If you really don't want it, -# make it "/dev/null" (Unix) or "nul" (win32). :^( -# -# Examples: -# log: ./bochs.out -# log: /dev/tty -#======================================================================= -#log: /dev/stdout -#log: /dev/null -#log: /tmp/bochsout.txt -log: bochsout.txt - -#======================================================================= -# LOGPREFIX: -# This handles the format of the string prepended to each log line. -# You may use those special tokens : -# %t : 11 decimal digits timer tick -# %i : 8 hexadecimal digits of cpu current eip (ignored in SMP configuration) -# %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror) -# %d : 5 characters string of the device, between brackets -# -# Default : %t%e%d -# Examples: -# logprefix: %t-%e-@%i-%d -# logprefix: %i%e%d -#======================================================================= -#logprefix: %t%e%d - -#======================================================================= -# LOG CONTROLS -# -# Bochs now has four severity levels for event logging. -# panic: cannot proceed. If you choose to continue after a panic, -# don't be surprised if you get strange behavior or crashes. -# error: something went wrong, but it is probably safe to continue the -# simulation. -# info: interesting or useful messages. -# debug: messages useful only when debugging the code. This may -# spit out thousands per second. -# -# For events of each level, you can choose to crash, report, or ignore. -# TODO: allow choice based on the facility: e.g. crash on panics from -# everything except the cdrom, and only report those. -# -# If you are experiencing many panics, it can be helpful to change -# the panic action to report instead of fatal. However, be aware -# that anything executed after a panic is uncharted territory and can -# cause bochs to become unstable. The panic is a "graceful exit," so -# if you disable it you may get a spectacular disaster instead. -#======================================================================= -#panic: action=fatal -panic: action=ignore -error: action=ignore -info: action=ignore -debug: action=ignore -#pass: action=fatal - -#======================================================================= -# DEBUGGER_LOG: -# Give the path of the log file you'd like Bochs to log debugger output. -# If you really don't want it, make it /dev/null or '-'. :^( -# -# Examples: -# debugger_log: ./debugger.out -#======================================================================= -#debugger_log: /dev/null -#debugger_log: debugger.out -debugger_log: - - -#======================================================================= -# COM1, COM2, COM3, COM4: -# This defines a serial port (UART type 16550A). In the 'term' you can specify -# a device to use as com1. This can be a real serial line, or a pty. To use -# a pty (under X/Unix), create two windows (xterms, usually). One of them will -# run bochs, and the other will act as com1. Find out the tty the com1 -# window using the `tty' command, and use that as the `dev' parameter. -# Then do `sleep 1000000' in the com1 window to keep the shell from -# messing with things, and run bochs in the other window. Serial I/O to -# com1 (port 0x3f8) will all go to the other window. -# In socket* and pipe* (win32 only) modes Bochs becomes either socket/named pipe -# client or server. In client mode it connects to an already running server (if -# connection fails Bochs treats com port as not connected). In server mode it -# opens socket/named pipe and waits until a client application connects to it -# before starting simulation. This mode is useful for remote debugging (e.g. -# with gdb's "target remote host:port" command or windbg's command line option -# -k com:pipe,port=\\.\pipe\pipename). Note: 'socket' is a shorthand for -# 'socket-client' and 'pipe' for 'pipe-client'. Socket modes use simple TCP -# communication, pipe modes use duplex byte mode pipes. -# Other serial modes are 'null' (no input/output), 'file' (output to a file -# specified as the 'dev' parameter), 'raw' (use the real serial port - under -# construction for win32), 'mouse' (standard serial mouse - requires -# mouse option setting 'type=serial', 'type=serial_wheel' or 'type=serial_msys'). -# -# Examples: -# com1: enabled=1, mode=null -# com1: enabled=1, mode=mouse -# com2: enabled=1, mode=file, dev=serial.out -# com3: enabled=1, mode=raw, dev=com1 -# com3: enabled=1, mode=socket-client, dev=localhost:8888 -# com3: enabled=1, mode=socket-server, dev=localhost:8888 -# com4: enabled=1, mode=pipe-client, dev=\\.\pipe\mypipe -# com4: enabled=1, mode=pipe-server, dev=\\.\pipe\mypipe -#======================================================================= -#com1: enabled=1, mode=term, dev=/dev/ttyS0 - - -#======================================================================= -# PARPORT1, PARPORT2: -# This defines a parallel (printer) port. When turned on and an output file is -# defined the emulated printer port sends characters printed by the guest OS -# into the output file. On some platforms a device filename can be used to -# send the data to the real parallel port (e.g. "/dev/lp0" on Linux, "lpt1" on -# win32 platforms). -# -# Examples: -# parport1: enabled=1, file="parport.out" -# parport2: enabled=1, file="/dev/lp0" -# parport1: enabled=0 -#======================================================================= -#parport1: enabled=1, file="/dev/lp0" - -#======================================================================= -# SB16: -# This defines the SB16 sound emulation. It can have several of the -# following properties. -# All properties are in the format sb16: property=value -# midi: The filename is where the midi data is sent. This can be a -# device or just a file if you want to record the midi data. -# midimode: -# 0=no data -# 1=output to device (system dependent. midi denotes the device driver) -# 2=SMF file output, including headers -# 3=output the midi data stream to the file (no midi headers and no -# delta times, just command and data bytes) -# wave: This is the device/file where wave output is stored -# wavemode: -# 0=no data -# 1=output to device (system dependent. wave denotes the device driver) -# 2=VOC file output, incl. headers -# 3=output the raw wave stream to the file -# log: The file to write the sb16 emulator messages to. -# loglevel: -# 0=no log -# 1=resource changes, midi program and bank changes -# 2=severe errors -# 3=all errors -# 4=all errors plus all port accesses -# 5=all errors and port accesses plus a lot of extra info -# dmatimer: -# microseconds per second for a DMA cycle. Make it smaller to fix -# non-continuous sound. 750000 is usually a good value. This needs a -# reasonably correct setting for the IPS parameter of the CPU option. -# -# Examples for output devices: -# sb16: midimode=1, midi="", wavemode=1, wave="" # win32 -# sb16: midimode=1, midi=alsa:128:0, wavemode=1, wave=alsa # Linux with ALSA -#======================================================================= -#sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=/dev/stdout, dmatimer=600000 - -#======================================================================= -# VGA_UPDATE_INTERVAL: -# Video memory is scanned for updates and screen updated every so many -# virtual seconds. The default is 50000, about 20Hz. Keep in mind that -# you must tweak the 'cpu: ips=N' directive to be as close to the number -# of emulated instructions-per-second your workstation can do, for this -# to be accurate. -# -# Examples: -# vga_update_interval: 250000 -#======================================================================= -vga_update_interval: 300000 - -# using for Winstone '98 tests -#vga_update_interval: 100000 - -#======================================================================= -# KEYBOARD_SERIAL_DELAY: -# Approximate time in microseconds that it takes one character to -# be transfered from the keyboard to controller over the serial path. -# Examples: -# keyboard_serial_delay: 200 -#======================================================================= -keyboard_serial_delay: 250 - -#======================================================================= -# KEYBOARD_PASTE_DELAY: -# Approximate time in microseconds between attempts to paste -# characters to the keyboard controller. This leaves time for the -# guest os to deal with the flow of characters. The ideal setting -# depends on how your operating system processes characters. The -# default of 100000 usec (.1 seconds) was chosen because it works -# consistently in Windows. -# -# If your OS is losing characters during a paste, increase the paste -# delay until it stops losing characters. -# -# Examples: -# keyboard_paste_delay: 100000 -#======================================================================= -keyboard_paste_delay: 100000 - -#======================================================================= -# MOUSE: -# The Bochs gui creates mouse "events" unless the 'enabled' option is -# set to 0. The hardware emulation itself is not disabled by this. -# Unless you have a particular reason for enabling the mouse by default, -# it is recommended that you leave it off. You can also toggle the mouse -# usage at runtime (control key + middle mouse button on X11, SDL, -# wxWidgets and Win32). -# With the mouse type option you can select the type of mouse to emulate. -# The default value is 'ps2'. The other choices are 'imps2' (wheel mouse -# on PS/2), 'serial', 'serial_wheel' and 'serial_msys' (one com port requires -# setting 'mode=mouse'). To connect a mouse to an USB port, see the 'usb_uhci' -# or 'usb_ohci' option (requires PCI and USB support). -# -# Examples: -# mouse: enabled=1 -# mouse: enabled=1, type=imps2 -# mouse: enabled=1, type=serial -# mouse: enabled=0 -#======================================================================= -mouse: enabled=0 - -#======================================================================= -# private_colormap: Request that the GUI create and use it's own -# non-shared colormap. This colormap will be used -# when in the bochs window. If not enabled, a -# shared colormap scheme may be used. Not implemented -# on all GUI's. -# -# Examples: -# private_colormap: enabled=1 -# private_colormap: enabled=0 -#======================================================================= -private_colormap: enabled=0 - -#======================================================================= -# ne2k: NE2000 compatible ethernet adapter -# -# Examples: -# ne2k: ioaddr=IOADDR, irq=IRQ, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT -# -# ioaddr, irq: You probably won't need to change ioaddr and irq, unless there -# are IRQ conflicts. These arguments are ignored when assign the ne2k to a -# PCI slot. -# -# mac: The MAC address MUST NOT match the address of any machine on the net. -# Also, the first byte must be an even number (bit 0 set means a multicast -# address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast -# address. For the ethertap module, you must use fe:fd:00:00:00:01. There may -# be other restrictions too. To be safe, just use the b0:c4... address. -# -# ethdev: The ethdev value is the name of the network interface on your host -# platform. On UNIX machines, you can get the name by running ifconfig. On -# Windows machines, you must run niclist to get the name of the ethdev. -# Niclist source code is in misc/niclist.c and it is included in Windows -# binary releases. -# -# script: The script value is optional, and is the name of a script that -# is executed after bochs initialize the network interface. You can use -# this script to configure this network interface, or enable masquerading. -# This is mainly useful for the tun/tap devices that only exist during -# Bochs execution. The network interface name is supplied to the script -# as first parameter -# -# If you don't want to make connections to any physical networks, -# you can use the following 'ethmod's to simulate a virtual network. -# null: All packets are discarded, but logged to a few files. -# arpback: ARP is simulated. Disabled by default. -# vde: Virtual Distributed Ethernet -# vnet: ARP, ICMP-echo(ping), DHCP and read/write TFTP are simulated. -# The virtual host uses 192.168.10.1. -# DHCP assigns 192.168.10.2 to the guest. -# TFTP uses the ethdev value for the root directory and doesn't -# overwrite files. -# -#======================================================================= -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0 -# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0 -# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=null, ethdev=eth0 -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl" -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp" - -#======================================================================= -# pnic: Bochs/Etherboot pseudo-NIC -# -# Example: -# pnic: enabled=1, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT -# -# The pseudo-NIC accepts the same syntax (for mac, ethmod, ethdev, script) and -# supports the same networking modules as the NE2000 adapter. In addition to -# this, it must be assigned to a PCI slot. -#======================================================================= -#pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet - -#======================================================================= -# KEYBOARD_MAPPING: -# This enables a remap of a physical localized keyboard to a -# virtualized us keyboard, as the PC architecture expects. -# If enabled, the keymap file must be specified. -# -# Examples: -# keyboard_mapping: enabled=1, map=gui/keymaps/x11-pc-de.map -#======================================================================= -#keyboard_mapping: enabled=0, map=/usr/share/bochs/keymaps/x11-pc-de.map - -#======================================================================= -# KEYBOARD_TYPE: -# Type of keyboard return by a "identify keyboard" command to the -# keyboard controler. It must be one of "xt", "at" or "mf". -# Defaults to "mf". It should be ok for almost everybody. A known -# exception is french macs, that do have a "at"-like keyboard. -# -# Examples: -# keyboard_type: mf -#======================================================================= -#keyboard_type: mf - -#======================================================================= -# USER_SHORTCUT: -# This defines the keyboard shortcut to be sent when you press the "user" -# button in the headerbar. The shortcut string is a combination of maximum -# 3 key names (listed below) separated with a '-' character. -# Valid key names: -# "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter", "esc", -# "f1", ... "f12", "home", "ins", "left", "menu", "minus", "pgdwn", "pgup", -# "plus", "right", "shift", "space", "tab", "up", "win", "print" and "power". -# -# Example: -# user_shortcut: keys=ctrl-alt-del -#======================================================================= -#user_shortcut: keys=ctrl-alt-del - -#======================================================================= -# I440FXSUPPORT: -# This option controls the presence of the i440FX PCI chipset. You can -# also specify the devices connected to PCI slots. Up to 5 slots are -# available now. These devices are currently supported: ne2k, pcivga, -# pcidev, pcipnic and usb_ohci. If Bochs is compiled with Cirrus SVGA -# support you'll have the additional choice 'cirrus'. -# -# Example: -# i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k -#======================================================================= -i440fxsupport: enabled=1 - -#======================================================================= -# USB_UHCI: -# This option controls the presence of the USB root hub which is a part -# of the i440FX PCI chipset. With the portX option you can connect devices -# to the hub (currently supported: 'mouse', 'tablet', 'keypad', 'disk', 'cdrom' -# 'hub' and 'printer'). -# -# If you connect the mouse or tablet to one of the ports, Bochs forwards the -# mouse movement data to the USB device instead of the selected mouse type. -# When connecting the keypad to one of the ports, Bochs forwards the input of -# the numeric keypad to the USB device instead of the PS/2 keyboard. -# -# To connect a flat image as an USB hardisk you can use the 'disk' device with -# the path to the image separated with a colon (see below). To emulate an USB -# cdrom you can use the 'cdrom' device name and the path to an ISO image or raw -# device name also separated with a colon. -# -# The device name 'hub' connects an external hub with max. 8 ports (default: 4) -# to the root hub. To specify the number of ports you have to add the value -# separated with a colon. Connecting devices to the external hub ports is only -# available in the runtime configuration. -# -# The device 'printer' emulates the HP Deskjet 920C printer. The PCL data is -# sent to a file specified in bochsrc.txt. The current code appends the PCL -# code to the file if the file already existed. It would probably be nice to -# overwrite the file instead, asking user first. -#======================================================================= -#usb_uhci: enabled=1 -#usb_uhci: enabled=1, port1=mouse, port2=disk:usbdisk.img -#usb_uhci: enabled=1, port1=hub:7, port2=cdrom:image.iso - -#======================================================================= -# USB_OHCI: -# This option controls the presence of the USB OHCI host controller with a -# 2-port hub. The portX option accepts the same device types with the same -# syntax as the UHCI controller (see above). The OHCI HC must be assigned to -# a PCI slot. -#======================================================================= -#usb_ohci: enabled=1 -#usb_ohci: enabled=1, port1=printer:usbprinter.bin - -#======================================================================= -# CMOSIMAGE: -# This defines image file that can be loaded into the CMOS RAM at startup. -# The rtc_init parameter controls whether initialize the RTC with values stored -# in the image. By default the time0 argument given to the clock option is used. -# With 'rtc_init=image' the image is the source for the initial time. -# -# Example: -# cmosimage: file=cmos.img, rtc_init=image -#======================================================================= -#cmosimage: file=cmos.img, rtc_init=time0 - -#======================================================================= -# MAGIC_BREAK: -# This enables the "magic breakpoint" feature when using the debugger. -# The useless cpu instruction XCHG BX, BX causes Bochs to enter the -# debugger mode. This might be useful for software development. -# -# Example: -# magic_break: enabled=1 -#======================================================================= -#magic_break: enabled=1 - -#======================================================================= -# PORT_E9_HACK: -# The 0xE9 port doesn't exists in normal ISA architecture. However, we -# define a convention here, to display on the console of the system running -# Bochs anything that is written to it. The idea is to provide debug output -# very early when writing BIOS or OS code for example, without having to -# bother with setting up a serial port or etc. Reading from port 0xE9 will -# will return 0xe9 to let you know if the feature is available. -# Leave this 0 unless you have a reason to use it. -# -# Example: -# port_e9_hack: enabled=1 -#======================================================================= -#port_e9_hack: enabled=1 - -#======================================================================= -# DEBUG_SYMBOLS: -# This loads symbols from the specified file for use in Bochs' internal -# debugger. Symbols are loaded into global context. This is equivalent to -# issuing ldsym debugger command at start up. -# -# Example: -# debug_symbols: file="kernel.sym" -# debug_symbols: file="kernel.sym", offset=0x80000000 -#======================================================================= -#debug_symbols: file="kernel.sym" - -#======================================================================= -# other stuff -#======================================================================= -#load32bitOSImage: os=nullkernel, path=../kernel.img, iolog=../vga_io.log -#load32bitOSImage: os=linux, path=../linux.img, iolog=../vga_io.log, initrd=../initrd.img -#text_snapshot_check: enabled=1 -#print_timestamps: enabled=1 - -#------------------------- -# PCI host device mapping -#------------------------- -#pcidev: vendor=0x1234, device=0x5678 - -#======================================================================= -# GDBSTUB: -# Enable GDB stub. See user documentation for details. -# Default value is enabled=0. -#======================================================================= -gdbstub: enabled=1, port=BOCHSGDBSTUBPORTNUMBER, text_base=0, data_base=0, bss_base=0 - -#======================================================================= -# PLUGIN_CTRL: -# Controls the presence of optional plugins without a separate option. -# By default all existing plugins are enabled. These plugins are currently -# supported: 'acpi', 'biosdev', 'extfpuirq', 'gameport', 'iodebug', -# 'pci_ide', 'speaker' and 'unmapped'. -#======================================================================= -#plugin_ctrl: biosdev=0, speaker=0 - -#======================================================================= -# USER_PLUGIN: -# Load user-defined plugin. This option is available only if Bochs is -# compiled with plugin support. Maximum 8 different plugins are supported. -# See the example in the Bochs sources how to write a plugin device. -#======================================================================= -#user_plugin: name=testdev diff --git a/03_TMR/emu/bochsrc-term.in b/03_TMR/emu/bochsrc-term.in deleted file mode 100644 index 37448d4b8b259d69522545815ece54a07a059f24..0000000000000000000000000000000000000000 --- a/03_TMR/emu/bochsrc-term.in +++ /dev/null @@ -1,900 +0,0 @@ -# You may now use double quotes around pathnames, in case -# your pathname includes spaces. - -#======================================================================= -# CONFIG_INTERFACE -# -# The configuration interface is a series of menus or dialog boxes that -# allows you to change all the settings that control Bochs's behavior. -# Depending on the platform there are up to 3 choices of configuration -# interface: a text mode version called "textconfig" and two graphical versions -# called "win32config" and "wx". The text mode version uses stdin/stdout and -# is always compiled in, unless Bochs is compiled for wx only. The choice -# "win32config" is only available on win32 and it is the default there. -# The choice "wx" is only available when you use "--with-wx" on the configure -# command. If you do not write a config_interface line, Bochs will -# choose a default for you. -# -# NOTE: if you use the "wx" configuration interface, you must also use -# the "wx" display library. -#======================================================================= -config_interface: textconfig -#config_interface: wx - -#======================================================================= -# DISPLAY_LIBRARY -# -# The display library is the code that displays the Bochs VGA screen. Bochs -# has a selection of about 10 different display library implementations for -# different platforms. If you run configure with multiple --with-* options, -# the display_library command lets you choose which one you want to run with. -# If you do not write a display_library line, Bochs will choose a default for -# you. -# -# The choices are: -# x use X windows interface, cross platform -# sdl use SDL library, cross platform -# svga use SVGALIB library for Linux, allows graphics without X11 -# term text only, uses curses/ncurses library, cross platform -# wx use wxWidgets library, cross platform -# nogui no display at all -# -# NOTE: if you use the "wx" configuration interface, you must also use -# the "wx" display library. -# -# Specific options: -# Some display libraries now support specific option to control their -# behaviour. See the examples below for currently supported options. -#======================================================================= -#display_library: nogui -#display_library: sdl, options="fullscreen" # startup in fullscreen mode -display_library: term -#display_library: wx -#display_library: x -#display_library: x, options="hideIPS" # disable IPS output in status bar -#display_library: x, options="gui_debug" # use GTK debugger gui - -#======================================================================= -# ROMIMAGE: -# The ROM BIOS controls what the PC does when it first powers on. -# Normally, you can use a precompiled BIOS in the source or binary -# distribution called BIOS-bochs-latest. The ROM BIOS is usually loaded -# starting at address 0xf0000, and it is exactly 64k long. Another option -# is 128k BIOS which is loaded at address 0xe0000. -# You can also use the environment variable $BXSHARE to specify the -# location of the BIOS. -# The usage of external large BIOS images (up to 512k) at memory top is -# now supported, but we still recommend to use the BIOS distributed with -# Bochs. The start address optional, since it can be calculated from image size. -#======================================================================= -romimage: file=@BOCHS_BIOS@ -#romimage: file=bios/seabios-0.5.1.bin -#romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top - -#======================================================================= -# CPU: -# This defines cpu-related parameters inside Bochs: -# -# COUNT: -# Set the number of processors:cores per processor:threads per core -# when Bochs is compiled for SMP emulation. -# Bochs currently supports up to 8 threads running simultaniosly. -# If Bochs is compiled without SMP support, it won't accept values -# different from 1. -# -# QUANTUM: -# Maximum amount of instructions allowed to execute by processor before -# returning control to another cpu. This option exists only in Bochs -# binary compiled with SMP support. -# -# RESET_ON_TRIPLE_FAULT: -# Reset the CPU when triple fault occur (highly recommended) rather than -# PANIC. Remember that if you trying to continue after triple fault the -# simulation will be completely bogus ! -# -# MSRS: -# Define path to user CPU Model Specific Registers (MSRs) specification. -# See example in msrs.def. -# -# IGNORE_BAD_MSRS: -# Ignore MSR references that Bochs does not understand; print a warning -# message instead of generating #GP exception. This option is enabled -# by default but will not be avaiable if configurable MSRs are enabled. -# -# IPS: -# Emulated Instructions Per Second. This is the number of IPS that bochs -# is capable of running on your machine. You can recompile Bochs with -# --enable-show-ips option enabled, to find your host's capability. -# Measured IPS value will then be logged into your log file or shown -# in the status bar (if supported by the gui). -# -# IPS is used to calibrate many time-dependent events within the bochs -# simulation. For example, changing IPS affects the frequency of VGA -# updates, the duration of time before a key starts to autorepeat, and -# the measurement of BogoMips and other benchmarks. -# -# Examples: -# -# Bochs Machine/Compiler Mips -# ____________________________________________________________________ -# 2.3.7 3.2Ghz Intel Core 2 Q9770 with WinXP/g++ 3.4 50 to 55 Mips -# 2.3.7 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 38 to 43 Mips -# 2.2.6 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 21 to 25 Mips -# 2.2.6 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4 12 to 15 Mips -# 2.0.1 1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7 Mips -#======================================================================= -cpu: count=1, ips=@BOCHS_CPU_SPEED_MHZ@000000, reset_on_triple_fault=0, ignore_bad_msrs=1, msrs="msrs.def" - -#======================================================================= -# CPUID: -# -# This defines features and functionality supported by Bochs emulated CPU: -# -# MMX: -# Select MMX instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 5. -# -# SEP: -# Select SYSENTER/SYSEXIT instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# SSE: -# Select SSE instruction set support. -# Any of NONE/SSE/SSE2/SSE3/SSSE3/SSE4_1/SSE4_2 could be selected. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# XAPIC: -# Select XAPIC extensions support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# AES: -# Select AES instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# MOVBE: -# Select MOVBE Intel(R) Atom instruction support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# XSAVE: -# Select XSAVE extensions support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# 1G_PAGES: -# Enable 1G page size support in long mode. -# This option exists only if Bochs compiled with x86-64 support. -# -# MWAIT_IS_NOP: -# When this option is enabled MWAIT will not put the CPU into a sleep state. -# This option exists only if Bochs compiled with --enable-monitor-mwait. -# -# VENDOR_STRING: -# Set the CPUID vendor string returned by CPUID(0x0). This should be a -# twelve-character ASCII string. -# -# BRAND_STRING: -# Set the CPUID vendor string returned by CPUID(0x80000002 .. 0x80000004). -# This should be at most a forty-eight-character ASCII string. -# -# CPUID_LIMIT_WINNT: -# Determine whether to limit maximum CPUID function to 3. This mode is -# required to workaround WinNT installation and boot issues. -#======================================================================= -cpuid: mmx=1, sep=1, sse=sse4_2, xapic=1, aes=1, movbe=1, xsave=1, cpuid_limit_winnt=0 - -#======================================================================= -# MEMORY -# Set the amount of physical memory you want to emulate. -# -# GUEST: -# Set amount of guest physical memory to emulate. The default is 32MB, -# the maximum amount limited only by physical address space limitations. -# -# HOST: -# Set amount of host memory you want to allocate for guest RAM emulation. -# It is possible to allocate less memory than you want to emulate in guest -# system. This will fake guest to see the non-existing memory. Once guest -# system touches new memory block it will be dynamically taken from the -# memory pool. You will be warned (by FATAL PANIC) in case guest already -# used all allocated host memory and wants more. -# -#======================================================================= -#memory: guest=512, host=256 -memory: guest=@BOCHS_GUEST_RAM@, host=@BOCHS_HOST_RAM@ - -#======================================================================= -# OPTROMIMAGE[1-4]: -# You may now load up to 4 optional ROM images. Be sure to use a -# read-only area, typically between C8000 and EFFFF. These optional -# ROM images should not overwrite the rombios (located at -# F0000-FFFFF) and the videobios (located at C0000-C7FFF). -# Those ROM images will be initialized by the bios if they contain -# the right signature (0x55AA) and a valid checksum. -# It can also be a convenient way to upload some arbitrary code/data -# in the simulation, that can be retrieved by the boot loader -#======================================================================= -#optromimage1: file=optionalrom.bin, address=0xd0000 -#optromimage2: file=optionalrom.bin, address=0xd1000 -#optromimage3: file=optionalrom.bin, address=0xd2000 -#optromimage4: file=optionalrom.bin, address=0xd3000 - -#optramimage1: file=/path/file1.img, address=0x0010000 -#optramimage2: file=/path/file2.img, address=0x0020000 -#optramimage3: file=/path/file3.img, address=0x0030000 -#optramimage4: file=/path/file4.img, address=0x0040000 - -#======================================================================= -# VGAROMIMAGE -# You now need to load a VGA ROM BIOS into C0000. -#======================================================================= -vgaromimage: file=@BOCHS_VGA_IMAGE@ -#vgaromimage: file=/usr/share/vgabios/vgabios.debug.bin - -#======================================================================= -# VGA: -# Here you can specify the display extension to be used. With the value -# 'none' you can use standard VGA with no extension. Other supported -# values are 'vbe' for Bochs VBE and 'cirrus' for Cirrus SVGA support. -#======================================================================= -#vga: extension=cirrus -vga: extension=vbe - -#======================================================================= -# FLOPPYA: -# Point this to pathname of floppy image file or device -# This should be of a bootable floppy(image/device) if you're -# booting from 'a' (or 'floppy'). -# -# You can set the initial status of the media to 'ejected' or 'inserted'. -# floppya: 2_88=path, status=ejected (2.88M 3.5" media) -# floppya: 1_44=path, status=inserted (1.44M 3.5" media) -# floppya: 1_2=path, status=ejected (1.2M 5.25" media) -# floppya: 720k=path, status=inserted (720K 3.5" media) -# floppya: 360k=path, status=inserted (360K 5.25" media) -# floppya: 320k=path, status=inserted (320K 5.25" media) -# floppya: 180k=path, status=inserted (180K 5.25" media) -# floppya: 160k=path, status=inserted (160K 5.25" media) -# floppya: image=path, status=inserted (guess media type from image size) -# floppya: type=1_44 (1.44M 3.5" floppy drive, no media) -# -# The path should be the name of a disk image file. On Unix, you can use a raw -# device name such as /dev/fd0 on Linux. On win32 platforms, use drive letters -# such as a: or b: as the path. The parameter 'image' works with image files -# only. In that case the size must match one of the supported types. -# The parameter 'type' can be used to enable the floppy drive without media -# and status specified. Usually the drive type is set up based on the media type. -#======================================================================= -#floppya: 1_44=/dev/fd0, status=inserted -#floppya: image=../1.44, status=inserted -#floppya: 1_44=/dev/fd0H1440, status=inserted -#floppya: 1_2=../1_2, status=inserted -#floppya: 1_44=a:, status=inserted -#floppya: 1_44=a.img, status=inserted -#floppya: 1_44=/dev/rfd0a, status=inserted -#floppya: 1_44=bootdisk.vmi, status=inserted -#floppya: 1_44=oostubs/guarded.vmi, status=inserted - -#======================================================================= -# FLOPPYB: -# See FLOPPYA above for syntax -#======================================================================= -#floppyb: 1_44=b:, status=inserted -#floppyb: 1_44=b.img, status=inserted - -#======================================================================= -# ATA0, ATA1, ATA2, ATA3 -# ATA controller for hard disks and cdroms -# -# ata[0-3]: enabled=[0|1], ioaddr1=addr, ioaddr2=addr, irq=number -# -# These options enables up to 4 ata channels. For each channel -# the two base io addresses and the irq must be specified. -# -# ata0 and ata1 are enabled by default with the values shown below -# -# Examples: -# ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -# ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 -# ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -# ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9 -#======================================================================= -ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 -ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9 - -#======================================================================= -# ATA[0-3]-MASTER, ATA[0-3]-SLAVE -# -# This defines the type and characteristics of all attached ata devices: -# type= type of attached device [disk|cdrom] -# mode= only valid for disks [flat|concat|external|dll|sparse|vmware3] -# mode= only valid for disks [undoable|growing|volatile] -# path= path of the image -# cylinders= only valid for disks -# heads= only valid for disks -# spt= only valid for disks -# status= only valid for cdroms [inserted|ejected] -# biosdetect= type of biosdetection [none|auto], only for disks on ata0 [cmos] -# translation=type of translation of the bios, only for disks [none|lba|large|rechs|auto] -# model= string returned by identify device command -# journal= optional filename of the redolog for undoable and volatile disks -# -# Point this at a hard disk image file, cdrom iso file, or physical cdrom -# device. To create a hard disk image, try running bximage. It will help you -# choose the size and then suggest a line that works with it. -# -# In UNIX it may be possible to use a raw device as a Bochs hard disk, -# but WE DON'T RECOMMEND IT. In Windows there is no easy way. -# -# In windows, the drive letter + colon notation should be used for cdroms. -# Depending on versions of windows and drivers, you may only be able to -# access the "first" cdrom in the system. On MacOSX, use path="drive" -# to access the physical drive. -# -# The path is mandatory for hard disks. Disk geometry autodetection works with -# images created by bximage if CHS is set to 0/0/0 (cylinders are calculated -# using heads=16 and spt=63). For other hard disk images and modes the -# cylinders, heads, and spt are mandatory. In all cases the disk size reported -# from the image must be exactly C*H*S*512. -# -# Default values are: -# mode=flat, biosdetect=auto, translation=auto, model="Generic 1234" -# -# The biosdetect option has currently no effect on the bios -# -# Examples: -# ata0-master: type=disk, mode=flat, path=10M.sample, cylinders=306, heads=4, spt=17 -# ata0-slave: type=disk, mode=flat, path=20M.sample, cylinders=615, heads=4, spt=17 -# ata1-master: type=disk, mode=flat, path=30M.sample, cylinders=615, heads=6, spt=17 -# ata1-slave: type=disk, mode=flat, path=46M.sample, cylinders=940, heads=6, spt=17 -# ata2-master: type=disk, mode=flat, path=62M.sample, cylinders=940, heads=8, spt=17 -# ata2-slave: type=disk, mode=flat, path=112M.sample, cylinders=900, heads=15, spt=17 -# ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63 -# ata3-slave: type=cdrom, path=iso.sample, status=inserted -#======================================================================= -#ata0-master: type=disk, mode=flat, path="d.sample" -#ata0-master: type=disk, mode=flat, path="$HOME/.bochs/guest.hd0", cylinders=#cylinders#, heads=16, spt=63 -#ata0-master: type=disk, mode=flat, path="c.img", cylinders=0 # autodetect -ata0-slave: type=cdrom, path=@BOCHS_ISO_IMAGE@, status=inserted - -#======================================================================= -# BOOT: -# This defines the boot sequence. Now you can specify up to 3 boot drives, -# which can be 'floppy', 'disk', 'cdrom' or 'network' (boot ROM). -# Legacy 'a' and 'c' are also supported. -# Examples: -# boot: floppy -# boot: cdrom, disk -# boot: network, disk -# boot: cdrom, floppy, disk -#======================================================================= -#boot: floppy -#boot: disk -boot: cdrom - -#======================================================================= -# CLOCK: -# This defines the parameters of the clock inside Bochs: -# -# SYNC: -# This defines the method how to synchronize the Bochs internal time -# with realtime. With the value 'none' the Bochs time relies on the IPS -# value and no host time synchronization is used. The 'slowdown' method -# sacrifices performance to preserve reproducibility while allowing host -# time correlation. The 'realtime' method sacrifices reproducibility to -# preserve performance and host-time correlation. -# It is possible to enable both synchronization methods. -# -# TIME0: -# Specifies the start (boot) time of the virtual machine. Use a time -# value as returned by the time(2) system call. If no time0 value is -# set or if time0 equal to 1 (special case) or if time0 equal 'local', -# the simulation will be started at the current local host time. -# If time0 equal to 2 (special case) or if time0 equal 'utc', -# the simulation will be started at the current utc time. -# -# Syntax: -# clock: sync=[none|slowdown|realtime|both], time0=[timeValue|local|utc] -# -# Example: -# clock: sync=none, time0=local # Now (localtime) -# clock: sync=slowdown, time0=315529200 # Tue Jan 1 00:00:00 1980 -# clock: sync=none, time0=631148400 # Mon Jan 1 00:00:00 1990 -# clock: sync=realtime, time0=938581955 # Wed Sep 29 07:12:35 1999 -# clock: sync=realtime, time0=946681200 # Sat Jan 1 00:00:00 2000 -# clock: sync=none, time0=1 # Now (localtime) -# clock: sync=none, time0=utc # Now (utc/gmt) -# -# Default value are sync=none, time0=local -#======================================================================= -#clock: sync=none, time0=local - - -#======================================================================= -# FLOPPY_BOOTSIG_CHECK: disabled=[0|1] -# Enables or disables the 0xaa55 signature check on boot floppies -# Defaults to disabled=0 -# Examples: -# floppy_bootsig_check: disabled=0 -# floppy_bootsig_check: disabled=1 -#======================================================================= -floppy_bootsig_check: disabled=0 - -#======================================================================= -# LOG: -# Give the path of the log file you'd like Bochs debug and misc. verbiage -# to be written to. If you don't use this option or set the filename to -# '-' the output is written to the console. If you really don't want it, -# make it "/dev/null" (Unix) or "nul" (win32). :^( -# -# Examples: -# log: ./bochs.out -# log: /dev/tty -#======================================================================= -#log: /dev/stdout -#log: /dev/null -#log: /tmp/bochsout.txt -log: bochsout.txt - -#======================================================================= -# LOGPREFIX: -# This handles the format of the string prepended to each log line. -# You may use those special tokens : -# %t : 11 decimal digits timer tick -# %i : 8 hexadecimal digits of cpu current eip (ignored in SMP configuration) -# %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror) -# %d : 5 characters string of the device, between brackets -# -# Default : %t%e%d -# Examples: -# logprefix: %t-%e-@%i-%d -# logprefix: %i%e%d -#======================================================================= -#logprefix: %t%e%d - -#======================================================================= -# LOG CONTROLS -# -# Bochs now has four severity levels for event logging. -# panic: cannot proceed. If you choose to continue after a panic, -# don't be surprised if you get strange behavior or crashes. -# error: something went wrong, but it is probably safe to continue the -# simulation. -# info: interesting or useful messages. -# debug: messages useful only when debugging the code. This may -# spit out thousands per second. -# -# For events of each level, you can choose to crash, report, or ignore. -# TODO: allow choice based on the facility: e.g. crash on panics from -# everything except the cdrom, and only report those. -# -# If you are experiencing many panics, it can be helpful to change -# the panic action to report instead of fatal. However, be aware -# that anything executed after a panic is uncharted territory and can -# cause bochs to become unstable. The panic is a "graceful exit," so -# if you disable it you may get a spectacular disaster instead. -#======================================================================= -#panic: action=fatal -panic: action=ignore -error: action=ignore -info: action=ignore -debug: action=ignore -#pass: action=fatal - -#======================================================================= -# DEBUGGER_LOG: -# Give the path of the log file you'd like Bochs to log debugger output. -# If you really don't want it, make it /dev/null or '-'. :^( -# -# Examples: -# debugger_log: ./debugger.out -#======================================================================= -#debugger_log: /dev/null -#debugger_log: debugger.out -debugger_log: - - -#======================================================================= -# COM1, COM2, COM3, COM4: -# This defines a serial port (UART type 16550A). In the 'term' you can specify -# a device to use as com1. This can be a real serial line, or a pty. To use -# a pty (under X/Unix), create two windows (xterms, usually). One of them will -# run bochs, and the other will act as com1. Find out the tty the com1 -# window using the `tty' command, and use that as the `dev' parameter. -# Then do `sleep 1000000' in the com1 window to keep the shell from -# messing with things, and run bochs in the other window. Serial I/O to -# com1 (port 0x3f8) will all go to the other window. -# In socket* and pipe* (win32 only) modes Bochs becomes either socket/named pipe -# client or server. In client mode it connects to an already running server (if -# connection fails Bochs treats com port as not connected). In server mode it -# opens socket/named pipe and waits until a client application connects to it -# before starting simulation. This mode is useful for remote debugging (e.g. -# with gdb's "target remote host:port" command or windbg's command line option -# -k com:pipe,port=\\.\pipe\pipename). Note: 'socket' is a shorthand for -# 'socket-client' and 'pipe' for 'pipe-client'. Socket modes use simple TCP -# communication, pipe modes use duplex byte mode pipes. -# Other serial modes are 'null' (no input/output), 'file' (output to a file -# specified as the 'dev' parameter), 'raw' (use the real serial port - under -# construction for win32), 'mouse' (standard serial mouse - requires -# mouse option setting 'type=serial', 'type=serial_wheel' or 'type=serial_msys'). -# -# Examples: -# com1: enabled=1, mode=null -# com1: enabled=1, mode=mouse -# com2: enabled=1, mode=file, dev=serial.out -# com3: enabled=1, mode=raw, dev=com1 -# com3: enabled=1, mode=socket-client, dev=localhost:8888 -# com3: enabled=1, mode=socket-server, dev=localhost:8888 -# com4: enabled=1, mode=pipe-client, dev=\\.\pipe\mypipe -# com4: enabled=1, mode=pipe-server, dev=\\.\pipe\mypipe -#======================================================================= -#com1: enabled=1, mode=term, dev=/dev/ttyS0 - - -#======================================================================= -# PARPORT1, PARPORT2: -# This defines a parallel (printer) port. When turned on and an output file is -# defined the emulated printer port sends characters printed by the guest OS -# into the output file. On some platforms a device filename can be used to -# send the data to the real parallel port (e.g. "/dev/lp0" on Linux, "lpt1" on -# win32 platforms). -# -# Examples: -# parport1: enabled=1, file="parport.out" -# parport2: enabled=1, file="/dev/lp0" -# parport1: enabled=0 -#======================================================================= -#parport1: enabled=1, file="/dev/lp0" - -#======================================================================= -# SB16: -# This defines the SB16 sound emulation. It can have several of the -# following properties. -# All properties are in the format sb16: property=value -# midi: The filename is where the midi data is sent. This can be a -# device or just a file if you want to record the midi data. -# midimode: -# 0=no data -# 1=output to device (system dependent. midi denotes the device driver) -# 2=SMF file output, including headers -# 3=output the midi data stream to the file (no midi headers and no -# delta times, just command and data bytes) -# wave: This is the device/file where wave output is stored -# wavemode: -# 0=no data -# 1=output to device (system dependent. wave denotes the device driver) -# 2=VOC file output, incl. headers -# 3=output the raw wave stream to the file -# log: The file to write the sb16 emulator messages to. -# loglevel: -# 0=no log -# 1=resource changes, midi program and bank changes -# 2=severe errors -# 3=all errors -# 4=all errors plus all port accesses -# 5=all errors and port accesses plus a lot of extra info -# dmatimer: -# microseconds per second for a DMA cycle. Make it smaller to fix -# non-continuous sound. 750000 is usually a good value. This needs a -# reasonably correct setting for the IPS parameter of the CPU option. -# -# Examples for output devices: -# sb16: midimode=1, midi="", wavemode=1, wave="" # win32 -# sb16: midimode=1, midi=alsa:128:0, wavemode=1, wave=alsa # Linux with ALSA -#======================================================================= -#sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=/dev/stdout, dmatimer=600000 - -#======================================================================= -# VGA_UPDATE_INTERVAL: -# Video memory is scanned for updates and screen updated every so many -# virtual seconds. The default is 50000, about 20Hz. Keep in mind that -# you must tweak the 'cpu: ips=N' directive to be as close to the number -# of emulated instructions-per-second your workstation can do, for this -# to be accurate. -# -# Examples: -# vga_update_interval: 250000 -#======================================================================= -vga_update_interval: 300000 - -# using for Winstone '98 tests -#vga_update_interval: 100000 - -#======================================================================= -# KEYBOARD_SERIAL_DELAY: -# Approximate time in microseconds that it takes one character to -# be transfered from the keyboard to controller over the serial path. -# Examples: -# keyboard_serial_delay: 200 -#======================================================================= -keyboard_serial_delay: 250 - -#======================================================================= -# KEYBOARD_PASTE_DELAY: -# Approximate time in microseconds between attempts to paste -# characters to the keyboard controller. This leaves time for the -# guest os to deal with the flow of characters. The ideal setting -# depends on how your operating system processes characters. The -# default of 100000 usec (.1 seconds) was chosen because it works -# consistently in Windows. -# -# If your OS is losing characters during a paste, increase the paste -# delay until it stops losing characters. -# -# Examples: -# keyboard_paste_delay: 100000 -#======================================================================= -keyboard_paste_delay: 100000 - -#======================================================================= -# MOUSE: -# The Bochs gui creates mouse "events" unless the 'enabled' option is -# set to 0. The hardware emulation itself is not disabled by this. -# Unless you have a particular reason for enabling the mouse by default, -# it is recommended that you leave it off. You can also toggle the mouse -# usage at runtime (control key + middle mouse button on X11, SDL, -# wxWidgets and Win32). -# With the mouse type option you can select the type of mouse to emulate. -# The default value is 'ps2'. The other choices are 'imps2' (wheel mouse -# on PS/2), 'serial', 'serial_wheel' and 'serial_msys' (one com port requires -# setting 'mode=mouse'). To connect a mouse to an USB port, see the 'usb_uhci' -# or 'usb_ohci' option (requires PCI and USB support). -# -# Examples: -# mouse: enabled=1 -# mouse: enabled=1, type=imps2 -# mouse: enabled=1, type=serial -# mouse: enabled=0 -#======================================================================= -mouse: enabled=0 - -#======================================================================= -# private_colormap: Request that the GUI create and use it's own -# non-shared colormap. This colormap will be used -# when in the bochs window. If not enabled, a -# shared colormap scheme may be used. Not implemented -# on all GUI's. -# -# Examples: -# private_colormap: enabled=1 -# private_colormap: enabled=0 -#======================================================================= -private_colormap: enabled=0 - -#======================================================================= -# ne2k: NE2000 compatible ethernet adapter -# -# Examples: -# ne2k: ioaddr=IOADDR, irq=IRQ, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT -# -# ioaddr, irq: You probably won't need to change ioaddr and irq, unless there -# are IRQ conflicts. These arguments are ignored when assign the ne2k to a -# PCI slot. -# -# mac: The MAC address MUST NOT match the address of any machine on the net. -# Also, the first byte must be an even number (bit 0 set means a multicast -# address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast -# address. For the ethertap module, you must use fe:fd:00:00:00:01. There may -# be other restrictions too. To be safe, just use the b0:c4... address. -# -# ethdev: The ethdev value is the name of the network interface on your host -# platform. On UNIX machines, you can get the name by running ifconfig. On -# Windows machines, you must run niclist to get the name of the ethdev. -# Niclist source code is in misc/niclist.c and it is included in Windows -# binary releases. -# -# script: The script value is optional, and is the name of a script that -# is executed after bochs initialize the network interface. You can use -# this script to configure this network interface, or enable masquerading. -# This is mainly useful for the tun/tap devices that only exist during -# Bochs execution. The network interface name is supplied to the script -# as first parameter -# -# If you don't want to make connections to any physical networks, -# you can use the following 'ethmod's to simulate a virtual network. -# null: All packets are discarded, but logged to a few files. -# arpback: ARP is simulated. Disabled by default. -# vde: Virtual Distributed Ethernet -# vnet: ARP, ICMP-echo(ping), DHCP and read/write TFTP are simulated. -# The virtual host uses 192.168.10.1. -# DHCP assigns 192.168.10.2 to the guest. -# TFTP uses the ethdev value for the root directory and doesn't -# overwrite files. -# -#======================================================================= -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0 -# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0 -# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=null, ethdev=eth0 -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl" -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp" - -#======================================================================= -# pnic: Bochs/Etherboot pseudo-NIC -# -# Example: -# pnic: enabled=1, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT -# -# The pseudo-NIC accepts the same syntax (for mac, ethmod, ethdev, script) and -# supports the same networking modules as the NE2000 adapter. In addition to -# this, it must be assigned to a PCI slot. -#======================================================================= -#pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet - -#======================================================================= -# KEYBOARD_MAPPING: -# This enables a remap of a physical localized keyboard to a -# virtualized us keyboard, as the PC architecture expects. -# If enabled, the keymap file must be specified. -# -# Examples: -# keyboard_mapping: enabled=1, map=gui/keymaps/x11-pc-de.map -#======================================================================= -#keyboard_mapping: enabled=0, map=/usr/share/bochs/keymaps/x11-pc-de.map - -#======================================================================= -# KEYBOARD_TYPE: -# Type of keyboard return by a "identify keyboard" command to the -# keyboard controler. It must be one of "xt", "at" or "mf". -# Defaults to "mf". It should be ok for almost everybody. A known -# exception is french macs, that do have a "at"-like keyboard. -# -# Examples: -# keyboard_type: mf -#======================================================================= -#keyboard_type: mf - -#======================================================================= -# USER_SHORTCUT: -# This defines the keyboard shortcut to be sent when you press the "user" -# button in the headerbar. The shortcut string is a combination of maximum -# 3 key names (listed below) separated with a '-' character. -# Valid key names: -# "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter", "esc", -# "f1", ... "f12", "home", "ins", "left", "menu", "minus", "pgdwn", "pgup", -# "plus", "right", "shift", "space", "tab", "up", "win", "print" and "power". -# -# Example: -# user_shortcut: keys=ctrl-alt-del -#======================================================================= -#user_shortcut: keys=ctrl-alt-del - -#======================================================================= -# I440FXSUPPORT: -# This option controls the presence of the i440FX PCI chipset. You can -# also specify the devices connected to PCI slots. Up to 5 slots are -# available now. These devices are currently supported: ne2k, pcivga, -# pcidev, pcipnic and usb_ohci. If Bochs is compiled with Cirrus SVGA -# support you'll have the additional choice 'cirrus'. -# -# Example: -# i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k -#======================================================================= -i440fxsupport: enabled=1 - -#======================================================================= -# USB_UHCI: -# This option controls the presence of the USB root hub which is a part -# of the i440FX PCI chipset. With the portX option you can connect devices -# to the hub (currently supported: 'mouse', 'tablet', 'keypad', 'disk', 'cdrom' -# 'hub' and 'printer'). -# -# If you connect the mouse or tablet to one of the ports, Bochs forwards the -# mouse movement data to the USB device instead of the selected mouse type. -# When connecting the keypad to one of the ports, Bochs forwards the input of -# the numeric keypad to the USB device instead of the PS/2 keyboard. -# -# To connect a flat image as an USB hardisk you can use the 'disk' device with -# the path to the image separated with a colon (see below). To emulate an USB -# cdrom you can use the 'cdrom' device name and the path to an ISO image or raw -# device name also separated with a colon. -# -# The device name 'hub' connects an external hub with max. 8 ports (default: 4) -# to the root hub. To specify the number of ports you have to add the value -# separated with a colon. Connecting devices to the external hub ports is only -# available in the runtime configuration. -# -# The device 'printer' emulates the HP Deskjet 920C printer. The PCL data is -# sent to a file specified in bochsrc.txt. The current code appends the PCL -# code to the file if the file already existed. It would probably be nice to -# overwrite the file instead, asking user first. -#======================================================================= -#usb_uhci: enabled=1 -#usb_uhci: enabled=1, port1=mouse, port2=disk:usbdisk.img -#usb_uhci: enabled=1, port1=hub:7, port2=cdrom:image.iso - -#======================================================================= -# USB_OHCI: -# This option controls the presence of the USB OHCI host controller with a -# 2-port hub. The portX option accepts the same device types with the same -# syntax as the UHCI controller (see above). The OHCI HC must be assigned to -# a PCI slot. -#======================================================================= -#usb_ohci: enabled=1 -#usb_ohci: enabled=1, port1=printer:usbprinter.bin - -#======================================================================= -# CMOSIMAGE: -# This defines image file that can be loaded into the CMOS RAM at startup. -# The rtc_init parameter controls whether initialize the RTC with values stored -# in the image. By default the time0 argument given to the clock option is used. -# With 'rtc_init=image' the image is the source for the initial time. -# -# Example: -# cmosimage: file=cmos.img, rtc_init=image -#======================================================================= -#cmosimage: file=cmos.img, rtc_init=time0 - -#======================================================================= -# MAGIC_BREAK: -# This enables the "magic breakpoint" feature when using the debugger. -# The useless cpu instruction XCHG BX, BX causes Bochs to enter the -# debugger mode. This might be useful for software development. -# -# Example: -# magic_break: enabled=1 -#======================================================================= -#magic_break: enabled=1 - -#======================================================================= -# PORT_E9_HACK: -# The 0xE9 port doesn't exists in normal ISA architecture. However, we -# define a convention here, to display on the console of the system running -# Bochs anything that is written to it. The idea is to provide debug output -# very early when writing BIOS or OS code for example, without having to -# bother with setting up a serial port or etc. Reading from port 0xE9 will -# will return 0xe9 to let you know if the feature is available. -# Leave this 0 unless you have a reason to use it. -# -# Example: -# port_e9_hack: enabled=1 -#======================================================================= -#port_e9_hack: enabled=1 - -#======================================================================= -# DEBUG_SYMBOLS: -# This loads symbols from the specified file for use in Bochs' internal -# debugger. Symbols are loaded into global context. This is equivalent to -# issuing ldsym debugger command at start up. -# -# Example: -# debug_symbols: file="kernel.sym" -# debug_symbols: file="kernel.sym", offset=0x80000000 -#======================================================================= -#debug_symbols: file="kernel.sym" - -#======================================================================= -# other stuff -#======================================================================= -#load32bitOSImage: os=nullkernel, path=../kernel.img, iolog=../vga_io.log -#load32bitOSImage: os=linux, path=../linux.img, iolog=../vga_io.log, initrd=../initrd.img -#text_snapshot_check: enabled=1 -#print_timestamps: enabled=1 - -#------------------------- -# PCI host device mapping -#------------------------- -#pcidev: vendor=0x1234, device=0x5678 - -#======================================================================= -# GDBSTUB: -# Enable GDB stub. See user documentation for details. -# Default value is enabled=0. -#======================================================================= -#gdbstub: enabled=0, port=1234, text_base=0, data_base=0, bss_base=0 - -#======================================================================= -# PLUGIN_CTRL: -# Controls the presence of optional plugins without a separate option. -# By default all existing plugins are enabled. These plugins are currently -# supported: 'acpi', 'biosdev', 'extfpuirq', 'gameport', 'iodebug', -# 'pci_ide', 'speaker' and 'unmapped'. -#======================================================================= -#plugin_ctrl: biosdev=0, speaker=0 - -#======================================================================= -# USER_PLUGIN: -# Load user-defined plugin. This option is available only if Bochs is -# compiled with plugin support. Maximum 8 different plugins are supported. -# See the example in the Bochs sources how to write a plugin device. -#======================================================================= -#user_plugin: name=testdev diff --git a/03_TMR/emu/bochsrc.in b/03_TMR/emu/bochsrc.in deleted file mode 100644 index 0cff5e5848085de1159b72d45e8cea4b5a0b04f5..0000000000000000000000000000000000000000 --- a/03_TMR/emu/bochsrc.in +++ /dev/null @@ -1,900 +0,0 @@ -# You may now use double quotes around pathnames, in case -# your pathname includes spaces. - -#======================================================================= -# CONFIG_INTERFACE -# -# The configuration interface is a series of menus or dialog boxes that -# allows you to change all the settings that control Bochs's behavior. -# Depending on the platform there are up to 3 choices of configuration -# interface: a text mode version called "textconfig" and two graphical versions -# called "win32config" and "wx". The text mode version uses stdin/stdout and -# is always compiled in, unless Bochs is compiled for wx only. The choice -# "win32config" is only available on win32 and it is the default there. -# The choice "wx" is only available when you use "--with-wx" on the configure -# command. If you do not write a config_interface line, Bochs will -# choose a default for you. -# -# NOTE: if you use the "wx" configuration interface, you must also use -# the "wx" display library. -#======================================================================= -config_interface: textconfig -#config_interface: wx - -#======================================================================= -# DISPLAY_LIBRARY -# -# The display library is the code that displays the Bochs VGA screen. Bochs -# has a selection of about 10 different display library implementations for -# different platforms. If you run configure with multiple --with-* options, -# the display_library command lets you choose which one you want to run with. -# If you do not write a display_library line, Bochs will choose a default for -# you. -# -# The choices are: -# x use X windows interface, cross platform -# sdl use SDL library, cross platform -# svga use SVGALIB library for Linux, allows graphics without X11 -# term text only, uses curses/ncurses library, cross platform -# wx use wxWidgets library, cross platform -# nogui no display at all -# -# NOTE: if you use the "wx" configuration interface, you must also use -# the "wx" display library. -# -# Specific options: -# Some display libraries now support specific option to control their -# behaviour. See the examples below for currently supported options. -#======================================================================= -#display_library: nogui -#display_library: sdl, options="fullscreen" # startup in fullscreen mode -#display_library: term -#display_library: wx -display_library: x -#display_library: x, options="hideIPS" # disable IPS output in status bar -#display_library: x, options="gui_debug" # use GTK debugger gui - -#======================================================================= -# ROMIMAGE: -# The ROM BIOS controls what the PC does when it first powers on. -# Normally, you can use a precompiled BIOS in the source or binary -# distribution called BIOS-bochs-latest. The ROM BIOS is usually loaded -# starting at address 0xf0000, and it is exactly 64k long. Another option -# is 128k BIOS which is loaded at address 0xe0000. -# You can also use the environment variable $BXSHARE to specify the -# location of the BIOS. -# The usage of external large BIOS images (up to 512k) at memory top is -# now supported, but we still recommend to use the BIOS distributed with -# Bochs. The start address optional, since it can be calculated from image size. -#======================================================================= -romimage: file=@BOCHS_BIOS@ -#romimage: file=bios/seabios-0.5.1.bin -#romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top - -#======================================================================= -# CPU: -# This defines cpu-related parameters inside Bochs: -# -# COUNT: -# Set the number of processors:cores per processor:threads per core -# when Bochs is compiled for SMP emulation. -# Bochs currently supports up to 8 threads running simultaniosly. -# If Bochs is compiled without SMP support, it won't accept values -# different from 1. -# -# QUANTUM: -# Maximum amount of instructions allowed to execute by processor before -# returning control to another cpu. This option exists only in Bochs -# binary compiled with SMP support. -# -# RESET_ON_TRIPLE_FAULT: -# Reset the CPU when triple fault occur (highly recommended) rather than -# PANIC. Remember that if you trying to continue after triple fault the -# simulation will be completely bogus ! -# -# MSRS: -# Define path to user CPU Model Specific Registers (MSRs) specification. -# See example in msrs.def. -# -# IGNORE_BAD_MSRS: -# Ignore MSR references that Bochs does not understand; print a warning -# message instead of generating #GP exception. This option is enabled -# by default but will not be avaiable if configurable MSRs are enabled. -# -# IPS: -# Emulated Instructions Per Second. This is the number of IPS that bochs -# is capable of running on your machine. You can recompile Bochs with -# --enable-show-ips option enabled, to find your host's capability. -# Measured IPS value will then be logged into your log file or shown -# in the status bar (if supported by the gui). -# -# IPS is used to calibrate many time-dependent events within the bochs -# simulation. For example, changing IPS affects the frequency of VGA -# updates, the duration of time before a key starts to autorepeat, and -# the measurement of BogoMips and other benchmarks. -# -# Examples: -# -# Bochs Machine/Compiler Mips -# ____________________________________________________________________ -# 2.3.7 3.2Ghz Intel Core 2 Q9770 with WinXP/g++ 3.4 50 to 55 Mips -# 2.3.7 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 38 to 43 Mips -# 2.2.6 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4 21 to 25 Mips -# 2.2.6 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4 12 to 15 Mips -# 2.0.1 1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7 Mips -#======================================================================= -cpu: count=1, ips=@BOCHS_CPU_SPEED_MHZ@000000, reset_on_triple_fault=0, ignore_bad_msrs=1, msrs="msrs.def" - -#======================================================================= -# CPUID: -# -# This defines features and functionality supported by Bochs emulated CPU: -# -# MMX: -# Select MMX instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 5. -# -# SEP: -# Select SYSENTER/SYSEXIT instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# SSE: -# Select SSE instruction set support. -# Any of NONE/SSE/SSE2/SSE3/SSSE3/SSE4_1/SSE4_2 could be selected. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# XAPIC: -# Select XAPIC extensions support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# AES: -# Select AES instruction set support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# MOVBE: -# Select MOVBE Intel(R) Atom instruction support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# XSAVE: -# Select XSAVE extensions support. -# This option exists only if Bochs compiled with BX_CPU_LEVEL >= 6. -# -# 1G_PAGES: -# Enable 1G page size support in long mode. -# This option exists only if Bochs compiled with x86-64 support. -# -# MWAIT_IS_NOP: -# When this option is enabled MWAIT will not put the CPU into a sleep state. -# This option exists only if Bochs compiled with --enable-monitor-mwait. -# -# VENDOR_STRING: -# Set the CPUID vendor string returned by CPUID(0x0). This should be a -# twelve-character ASCII string. -# -# BRAND_STRING: -# Set the CPUID vendor string returned by CPUID(0x80000002 .. 0x80000004). -# This should be at most a forty-eight-character ASCII string. -# -# CPUID_LIMIT_WINNT: -# Determine whether to limit maximum CPUID function to 3. This mode is -# required to workaround WinNT installation and boot issues. -#======================================================================= -cpuid: mmx=1, sep=1, sse=sse4_2, xapic=1, aes=1, movbe=1, xsave=1, cpuid_limit_winnt=0 - -#======================================================================= -# MEMORY -# Set the amount of physical memory you want to emulate. -# -# GUEST: -# Set amount of guest physical memory to emulate. The default is 32MB, -# the maximum amount limited only by physical address space limitations. -# -# HOST: -# Set amount of host memory you want to allocate for guest RAM emulation. -# It is possible to allocate less memory than you want to emulate in guest -# system. This will fake guest to see the non-existing memory. Once guest -# system touches new memory block it will be dynamically taken from the -# memory pool. You will be warned (by FATAL PANIC) in case guest already -# used all allocated host memory and wants more. -# -#======================================================================= -#memory: guest=512, host=256 -memory: guest=@BOCHS_GUEST_RAM@, host=@BOCHS_HOST_RAM@ - -#======================================================================= -# OPTROMIMAGE[1-4]: -# You may now load up to 4 optional ROM images. Be sure to use a -# read-only area, typically between C8000 and EFFFF. These optional -# ROM images should not overwrite the rombios (located at -# F0000-FFFFF) and the videobios (located at C0000-C7FFF). -# Those ROM images will be initialized by the bios if they contain -# the right signature (0x55AA) and a valid checksum. -# It can also be a convenient way to upload some arbitrary code/data -# in the simulation, that can be retrieved by the boot loader -#======================================================================= -#optromimage1: file=optionalrom.bin, address=0xd0000 -#optromimage2: file=optionalrom.bin, address=0xd1000 -#optromimage3: file=optionalrom.bin, address=0xd2000 -#optromimage4: file=optionalrom.bin, address=0xd3000 - -#optramimage1: file=/path/file1.img, address=0x0010000 -#optramimage2: file=/path/file2.img, address=0x0020000 -#optramimage3: file=/path/file3.img, address=0x0030000 -#optramimage4: file=/path/file4.img, address=0x0040000 - -#======================================================================= -# VGAROMIMAGE -# You now need to load a VGA ROM BIOS into C0000. -#======================================================================= -vgaromimage: file=@BOCHS_VGA_IMAGE@ -#vgaromimage: file=/usr/share/vgabios/vgabios.debug.bin - -#======================================================================= -# VGA: -# Here you can specify the display extension to be used. With the value -# 'none' you can use standard VGA with no extension. Other supported -# values are 'vbe' for Bochs VBE and 'cirrus' for Cirrus SVGA support. -#======================================================================= -#vga: extension=cirrus -vga: extension=vbe - -#======================================================================= -# FLOPPYA: -# Point this to pathname of floppy image file or device -# This should be of a bootable floppy(image/device) if you're -# booting from 'a' (or 'floppy'). -# -# You can set the initial status of the media to 'ejected' or 'inserted'. -# floppya: 2_88=path, status=ejected (2.88M 3.5" media) -# floppya: 1_44=path, status=inserted (1.44M 3.5" media) -# floppya: 1_2=path, status=ejected (1.2M 5.25" media) -# floppya: 720k=path, status=inserted (720K 3.5" media) -# floppya: 360k=path, status=inserted (360K 5.25" media) -# floppya: 320k=path, status=inserted (320K 5.25" media) -# floppya: 180k=path, status=inserted (180K 5.25" media) -# floppya: 160k=path, status=inserted (160K 5.25" media) -# floppya: image=path, status=inserted (guess media type from image size) -# floppya: type=1_44 (1.44M 3.5" floppy drive, no media) -# -# The path should be the name of a disk image file. On Unix, you can use a raw -# device name such as /dev/fd0 on Linux. On win32 platforms, use drive letters -# such as a: or b: as the path. The parameter 'image' works with image files -# only. In that case the size must match one of the supported types. -# The parameter 'type' can be used to enable the floppy drive without media -# and status specified. Usually the drive type is set up based on the media type. -#======================================================================= -#floppya: 1_44=/dev/fd0, status=inserted -#floppya: image=../1.44, status=inserted -#floppya: 1_44=/dev/fd0H1440, status=inserted -#floppya: 1_2=../1_2, status=inserted -#floppya: 1_44=a:, status=inserted -#floppya: 1_44=a.img, status=inserted -#floppya: 1_44=/dev/rfd0a, status=inserted -#floppya: 1_44=bootdisk.vmi, status=inserted -#floppya: 1_44=oostubs/guarded.vmi, status=inserted - -#======================================================================= -# FLOPPYB: -# See FLOPPYA above for syntax -#======================================================================= -#floppyb: 1_44=b:, status=inserted -#floppyb: 1_44=b.img, status=inserted - -#======================================================================= -# ATA0, ATA1, ATA2, ATA3 -# ATA controller for hard disks and cdroms -# -# ata[0-3]: enabled=[0|1], ioaddr1=addr, ioaddr2=addr, irq=number -# -# These options enables up to 4 ata channels. For each channel -# the two base io addresses and the irq must be specified. -# -# ata0 and ata1 are enabled by default with the values shown below -# -# Examples: -# ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -# ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 -# ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -# ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9 -#======================================================================= -ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 -ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 -ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11 -ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9 - -#======================================================================= -# ATA[0-3]-MASTER, ATA[0-3]-SLAVE -# -# This defines the type and characteristics of all attached ata devices: -# type= type of attached device [disk|cdrom] -# mode= only valid for disks [flat|concat|external|dll|sparse|vmware3] -# mode= only valid for disks [undoable|growing|volatile] -# path= path of the image -# cylinders= only valid for disks -# heads= only valid for disks -# spt= only valid for disks -# status= only valid for cdroms [inserted|ejected] -# biosdetect= type of biosdetection [none|auto], only for disks on ata0 [cmos] -# translation=type of translation of the bios, only for disks [none|lba|large|rechs|auto] -# model= string returned by identify device command -# journal= optional filename of the redolog for undoable and volatile disks -# -# Point this at a hard disk image file, cdrom iso file, or physical cdrom -# device. To create a hard disk image, try running bximage. It will help you -# choose the size and then suggest a line that works with it. -# -# In UNIX it may be possible to use a raw device as a Bochs hard disk, -# but WE DON'T RECOMMEND IT. In Windows there is no easy way. -# -# In windows, the drive letter + colon notation should be used for cdroms. -# Depending on versions of windows and drivers, you may only be able to -# access the "first" cdrom in the system. On MacOSX, use path="drive" -# to access the physical drive. -# -# The path is mandatory for hard disks. Disk geometry autodetection works with -# images created by bximage if CHS is set to 0/0/0 (cylinders are calculated -# using heads=16 and spt=63). For other hard disk images and modes the -# cylinders, heads, and spt are mandatory. In all cases the disk size reported -# from the image must be exactly C*H*S*512. -# -# Default values are: -# mode=flat, biosdetect=auto, translation=auto, model="Generic 1234" -# -# The biosdetect option has currently no effect on the bios -# -# Examples: -# ata0-master: type=disk, mode=flat, path=10M.sample, cylinders=306, heads=4, spt=17 -# ata0-slave: type=disk, mode=flat, path=20M.sample, cylinders=615, heads=4, spt=17 -# ata1-master: type=disk, mode=flat, path=30M.sample, cylinders=615, heads=6, spt=17 -# ata1-slave: type=disk, mode=flat, path=46M.sample, cylinders=940, heads=6, spt=17 -# ata2-master: type=disk, mode=flat, path=62M.sample, cylinders=940, heads=8, spt=17 -# ata2-slave: type=disk, mode=flat, path=112M.sample, cylinders=900, heads=15, spt=17 -# ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63 -# ata3-slave: type=cdrom, path=iso.sample, status=inserted -#======================================================================= -#ata0-master: type=disk, mode=flat, path="d.sample" -#ata0-master: type=disk, mode=flat, path="$HOME/.bochs/guest.hd0", cylinders=#cylinders#, heads=16, spt=63 -#ata0-master: type=disk, mode=flat, path="c.img", cylinders=0 # autodetect -ata0-slave: type=cdrom, path=@BOCHS_ISO_IMAGE@, status=inserted - -#======================================================================= -# BOOT: -# This defines the boot sequence. Now you can specify up to 3 boot drives, -# which can be 'floppy', 'disk', 'cdrom' or 'network' (boot ROM). -# Legacy 'a' and 'c' are also supported. -# Examples: -# boot: floppy -# boot: cdrom, disk -# boot: network, disk -# boot: cdrom, floppy, disk -#======================================================================= -#boot: floppy -#boot: disk -boot: cdrom - -#======================================================================= -# CLOCK: -# This defines the parameters of the clock inside Bochs: -# -# SYNC: -# This defines the method how to synchronize the Bochs internal time -# with realtime. With the value 'none' the Bochs time relies on the IPS -# value and no host time synchronization is used. The 'slowdown' method -# sacrifices performance to preserve reproducibility while allowing host -# time correlation. The 'realtime' method sacrifices reproducibility to -# preserve performance and host-time correlation. -# It is possible to enable both synchronization methods. -# -# TIME0: -# Specifies the start (boot) time of the virtual machine. Use a time -# value as returned by the time(2) system call. If no time0 value is -# set or if time0 equal to 1 (special case) or if time0 equal 'local', -# the simulation will be started at the current local host time. -# If time0 equal to 2 (special case) or if time0 equal 'utc', -# the simulation will be started at the current utc time. -# -# Syntax: -# clock: sync=[none|slowdown|realtime|both], time0=[timeValue|local|utc] -# -# Example: -# clock: sync=none, time0=local # Now (localtime) -# clock: sync=slowdown, time0=315529200 # Tue Jan 1 00:00:00 1980 -# clock: sync=none, time0=631148400 # Mon Jan 1 00:00:00 1990 -# clock: sync=realtime, time0=938581955 # Wed Sep 29 07:12:35 1999 -# clock: sync=realtime, time0=946681200 # Sat Jan 1 00:00:00 2000 -# clock: sync=none, time0=1 # Now (localtime) -# clock: sync=none, time0=utc # Now (utc/gmt) -# -# Default value are sync=none, time0=local -#======================================================================= -#clock: sync=realtime, time0=local - - -#======================================================================= -# FLOPPY_BOOTSIG_CHECK: disabled=[0|1] -# Enables or disables the 0xaa55 signature check on boot floppies -# Defaults to disabled=0 -# Examples: -# floppy_bootsig_check: disabled=0 -# floppy_bootsig_check: disabled=1 -#======================================================================= -floppy_bootsig_check: disabled=0 - -#======================================================================= -# LOG: -# Give the path of the log file you'd like Bochs debug and misc. verbiage -# to be written to. If you don't use this option or set the filename to -# '-' the output is written to the console. If you really don't want it, -# make it "/dev/null" (Unix) or "nul" (win32). :^( -# -# Examples: -# log: ./bochs.out -# log: /dev/tty -#======================================================================= -#log: /dev/stdout -#log: /dev/null -#log: /tmp/bochsout.txt -log: - - -#======================================================================= -# LOGPREFIX: -# This handles the format of the string prepended to each log line. -# You may use those special tokens : -# %t : 11 decimal digits timer tick -# %i : 8 hexadecimal digits of cpu current eip (ignored in SMP configuration) -# %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror) -# %d : 5 characters string of the device, between brackets -# -# Default : %t%e%d -# Examples: -# logprefix: %t-%e-@%i-%d -# logprefix: %i%e%d -#======================================================================= -#logprefix: %t%e%d - -#======================================================================= -# LOG CONTROLS -# -# Bochs now has four severity levels for event logging. -# panic: cannot proceed. If you choose to continue after a panic, -# don't be surprised if you get strange behavior or crashes. -# error: something went wrong, but it is probably safe to continue the -# simulation. -# info: interesting or useful messages. -# debug: messages useful only when debugging the code. This may -# spit out thousands per second. -# -# For events of each level, you can choose to crash, report, or ignore. -# TODO: allow choice based on the facility: e.g. crash on panics from -# everything except the cdrom, and only report those. -# -# If you are experiencing many panics, it can be helpful to change -# the panic action to report instead of fatal. However, be aware -# that anything executed after a panic is uncharted territory and can -# cause bochs to become unstable. The panic is a "graceful exit," so -# if you disable it you may get a spectacular disaster instead. -#======================================================================= -#panic: action=fatal -panic: action=ignore -error: action=ignore -info: action=ignore -debug: action=ignore -#pass: action=fatal - -#======================================================================= -# DEBUGGER_LOG: -# Give the path of the log file you'd like Bochs to log debugger output. -# If you really don't want it, make it /dev/null or '-'. :^( -# -# Examples: -# debugger_log: ./debugger.out -#======================================================================= -#debugger_log: /dev/null -#debugger_log: debugger.out -debugger_log: - - -#======================================================================= -# COM1, COM2, COM3, COM4: -# This defines a serial port (UART type 16550A). In the 'term' you can specify -# a device to use as com1. This can be a real serial line, or a pty. To use -# a pty (under X/Unix), create two windows (xterms, usually). One of them will -# run bochs, and the other will act as com1. Find out the tty the com1 -# window using the `tty' command, and use that as the `dev' parameter. -# Then do `sleep 1000000' in the com1 window to keep the shell from -# messing with things, and run bochs in the other window. Serial I/O to -# com1 (port 0x3f8) will all go to the other window. -# In socket* and pipe* (win32 only) modes Bochs becomes either socket/named pipe -# client or server. In client mode it connects to an already running server (if -# connection fails Bochs treats com port as not connected). In server mode it -# opens socket/named pipe and waits until a client application connects to it -# before starting simulation. This mode is useful for remote debugging (e.g. -# with gdb's "target remote host:port" command or windbg's command line option -# -k com:pipe,port=\\.\pipe\pipename). Note: 'socket' is a shorthand for -# 'socket-client' and 'pipe' for 'pipe-client'. Socket modes use simple TCP -# communication, pipe modes use duplex byte mode pipes. -# Other serial modes are 'null' (no input/output), 'file' (output to a file -# specified as the 'dev' parameter), 'raw' (use the real serial port - under -# construction for win32), 'mouse' (standard serial mouse - requires -# mouse option setting 'type=serial', 'type=serial_wheel' or 'type=serial_msys'). -# -# Examples: -# com1: enabled=1, mode=null -# com1: enabled=1, mode=mouse -# com2: enabled=1, mode=file, dev=serial.out -# com3: enabled=1, mode=raw, dev=com1 -# com3: enabled=1, mode=socket-client, dev=localhost:8888 -# com3: enabled=1, mode=socket-server, dev=localhost:8888 -# com4: enabled=1, mode=pipe-client, dev=\\.\pipe\mypipe -# com4: enabled=1, mode=pipe-server, dev=\\.\pipe\mypipe -#======================================================================= -com1: enabled=1, mode=term, dev=BOCHSTTYNUM - - -#======================================================================= -# PARPORT1, PARPORT2: -# This defines a parallel (printer) port. When turned on and an output file is -# defined the emulated printer port sends characters printed by the guest OS -# into the output file. On some platforms a device filename can be used to -# send the data to the real parallel port (e.g. "/dev/lp0" on Linux, "lpt1" on -# win32 platforms). -# -# Examples: -# parport1: enabled=1, file="parport.out" -# parport2: enabled=1, file="/dev/lp0" -# parport1: enabled=0 -#======================================================================= -#parport1: enabled=1, file="/dev/lp0" - -#======================================================================= -# SB16: -# This defines the SB16 sound emulation. It can have several of the -# following properties. -# All properties are in the format sb16: property=value -# midi: The filename is where the midi data is sent. This can be a -# device or just a file if you want to record the midi data. -# midimode: -# 0=no data -# 1=output to device (system dependent. midi denotes the device driver) -# 2=SMF file output, including headers -# 3=output the midi data stream to the file (no midi headers and no -# delta times, just command and data bytes) -# wave: This is the device/file where wave output is stored -# wavemode: -# 0=no data -# 1=output to device (system dependent. wave denotes the device driver) -# 2=VOC file output, incl. headers -# 3=output the raw wave stream to the file -# log: The file to write the sb16 emulator messages to. -# loglevel: -# 0=no log -# 1=resource changes, midi program and bank changes -# 2=severe errors -# 3=all errors -# 4=all errors plus all port accesses -# 5=all errors and port accesses plus a lot of extra info -# dmatimer: -# microseconds per second for a DMA cycle. Make it smaller to fix -# non-continuous sound. 750000 is usually a good value. This needs a -# reasonably correct setting for the IPS parameter of the CPU option. -# -# Examples for output devices: -# sb16: midimode=1, midi="", wavemode=1, wave="" # win32 -# sb16: midimode=1, midi=alsa:128:0, wavemode=1, wave=alsa # Linux with ALSA -#======================================================================= -#sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=/dev/stdout, dmatimer=600000 - -#======================================================================= -# VGA_UPDATE_INTERVAL: -# Video memory is scanned for updates and screen updated every so many -# virtual seconds. The default is 50000, about 20Hz. Keep in mind that -# you must tweak the 'cpu: ips=N' directive to be as close to the number -# of emulated instructions-per-second your workstation can do, for this -# to be accurate. -# -# Examples: -# vga_update_interval: 250000 -#======================================================================= -#vga_update_interval: 50000 - -# using for Winstone '98 tests -#vga_update_interval: 100000 - -#======================================================================= -# KEYBOARD_SERIAL_DELAY: -# Approximate time in microseconds that it takes one character to -# be transfered from the keyboard to controller over the serial path. -# Examples: -# keyboard_serial_delay: 200 -#======================================================================= -keyboard_serial_delay: 250 - -#======================================================================= -# KEYBOARD_PASTE_DELAY: -# Approximate time in microseconds between attempts to paste -# characters to the keyboard controller. This leaves time for the -# guest os to deal with the flow of characters. The ideal setting -# depends on how your operating system processes characters. The -# default of 100000 usec (.1 seconds) was chosen because it works -# consistently in Windows. -# -# If your OS is losing characters during a paste, increase the paste -# delay until it stops losing characters. -# -# Examples: -# keyboard_paste_delay: 100000 -#======================================================================= -keyboard_paste_delay: 100000 - -#======================================================================= -# MOUSE: -# The Bochs gui creates mouse "events" unless the 'enabled' option is -# set to 0. The hardware emulation itself is not disabled by this. -# Unless you have a particular reason for enabling the mouse by default, -# it is recommended that you leave it off. You can also toggle the mouse -# usage at runtime (control key + middle mouse button on X11, SDL, -# wxWidgets and Win32). -# With the mouse type option you can select the type of mouse to emulate. -# The default value is 'ps2'. The other choices are 'imps2' (wheel mouse -# on PS/2), 'serial', 'serial_wheel' and 'serial_msys' (one com port requires -# setting 'mode=mouse'). To connect a mouse to an USB port, see the 'usb_uhci' -# or 'usb_ohci' option (requires PCI and USB support). -# -# Examples: -# mouse: enabled=1 -# mouse: enabled=1, type=imps2 -# mouse: enabled=1, type=serial -# mouse: enabled=0 -#======================================================================= -mouse: enabled=0 - -#======================================================================= -# private_colormap: Request that the GUI create and use it's own -# non-shared colormap. This colormap will be used -# when in the bochs window. If not enabled, a -# shared colormap scheme may be used. Not implemented -# on all GUI's. -# -# Examples: -# private_colormap: enabled=1 -# private_colormap: enabled=0 -#======================================================================= -private_colormap: enabled=0 - -#======================================================================= -# ne2k: NE2000 compatible ethernet adapter -# -# Examples: -# ne2k: ioaddr=IOADDR, irq=IRQ, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT -# -# ioaddr, irq: You probably won't need to change ioaddr and irq, unless there -# are IRQ conflicts. These arguments are ignored when assign the ne2k to a -# PCI slot. -# -# mac: The MAC address MUST NOT match the address of any machine on the net. -# Also, the first byte must be an even number (bit 0 set means a multicast -# address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast -# address. For the ethertap module, you must use fe:fd:00:00:00:01. There may -# be other restrictions too. To be safe, just use the b0:c4... address. -# -# ethdev: The ethdev value is the name of the network interface on your host -# platform. On UNIX machines, you can get the name by running ifconfig. On -# Windows machines, you must run niclist to get the name of the ethdev. -# Niclist source code is in misc/niclist.c and it is included in Windows -# binary releases. -# -# script: The script value is optional, and is the name of a script that -# is executed after bochs initialize the network interface. You can use -# this script to configure this network interface, or enable masquerading. -# This is mainly useful for the tun/tap devices that only exist during -# Bochs execution. The network interface name is supplied to the script -# as first parameter -# -# If you don't want to make connections to any physical networks, -# you can use the following 'ethmod's to simulate a virtual network. -# null: All packets are discarded, but logged to a few files. -# arpback: ARP is simulated. Disabled by default. -# vde: Virtual Distributed Ethernet -# vnet: ARP, ICMP-echo(ping), DHCP and read/write TFTP are simulated. -# The virtual host uses 192.168.10.1. -# DHCP assigns 192.168.10.2 to the guest. -# TFTP uses the ethdev value for the root directory and doesn't -# overwrite files. -# -#======================================================================= -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0 -# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0 -# ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=null, ethdev=eth0 -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl" -# ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp" - -#======================================================================= -# pnic: Bochs/Etherboot pseudo-NIC -# -# Example: -# pnic: enabled=1, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT -# -# The pseudo-NIC accepts the same syntax (for mac, ethmod, ethdev, script) and -# supports the same networking modules as the NE2000 adapter. In addition to -# this, it must be assigned to a PCI slot. -#======================================================================= -#pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet - -#======================================================================= -# KEYBOARD_MAPPING: -# This enables a remap of a physical localized keyboard to a -# virtualized us keyboard, as the PC architecture expects. -# If enabled, the keymap file must be specified. -# -# Examples: -# keyboard_mapping: enabled=1, map=gui/keymaps/x11-pc-de.map -#======================================================================= -#keyboard_mapping: enabled=0, map=/usr/share/bochs/keymaps/x11-pc-de.map - -#======================================================================= -# KEYBOARD_TYPE: -# Type of keyboard return by a "identify keyboard" command to the -# keyboard controler. It must be one of "xt", "at" or "mf". -# Defaults to "mf". It should be ok for almost everybody. A known -# exception is french macs, that do have a "at"-like keyboard. -# -# Examples: -# keyboard_type: mf -#======================================================================= -#keyboard_type: mf - -#======================================================================= -# USER_SHORTCUT: -# This defines the keyboard shortcut to be sent when you press the "user" -# button in the headerbar. The shortcut string is a combination of maximum -# 3 key names (listed below) separated with a '-' character. -# Valid key names: -# "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter", "esc", -# "f1", ... "f12", "home", "ins", "left", "menu", "minus", "pgdwn", "pgup", -# "plus", "right", "shift", "space", "tab", "up", "win", "print" and "power". -# -# Example: -# user_shortcut: keys=ctrl-alt-del -#======================================================================= -#user_shortcut: keys=ctrl-alt-del - -#======================================================================= -# I440FXSUPPORT: -# This option controls the presence of the i440FX PCI chipset. You can -# also specify the devices connected to PCI slots. Up to 5 slots are -# available now. These devices are currently supported: ne2k, pcivga, -# pcidev, pcipnic and usb_ohci. If Bochs is compiled with Cirrus SVGA -# support you'll have the additional choice 'cirrus'. -# -# Example: -# i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k -#======================================================================= -i440fxsupport: enabled=1 - -#======================================================================= -# USB_UHCI: -# This option controls the presence of the USB root hub which is a part -# of the i440FX PCI chipset. With the portX option you can connect devices -# to the hub (currently supported: 'mouse', 'tablet', 'keypad', 'disk', 'cdrom' -# 'hub' and 'printer'). -# -# If you connect the mouse or tablet to one of the ports, Bochs forwards the -# mouse movement data to the USB device instead of the selected mouse type. -# When connecting the keypad to one of the ports, Bochs forwards the input of -# the numeric keypad to the USB device instead of the PS/2 keyboard. -# -# To connect a flat image as an USB hardisk you can use the 'disk' device with -# the path to the image separated with a colon (see below). To emulate an USB -# cdrom you can use the 'cdrom' device name and the path to an ISO image or raw -# device name also separated with a colon. -# -# The device name 'hub' connects an external hub with max. 8 ports (default: 4) -# to the root hub. To specify the number of ports you have to add the value -# separated with a colon. Connecting devices to the external hub ports is only -# available in the runtime configuration. -# -# The device 'printer' emulates the HP Deskjet 920C printer. The PCL data is -# sent to a file specified in bochsrc.txt. The current code appends the PCL -# code to the file if the file already existed. It would probably be nice to -# overwrite the file instead, asking user first. -#======================================================================= -#usb_uhci: enabled=1 -#usb_uhci: enabled=1, port1=mouse, port2=disk:usbdisk.img -#usb_uhci: enabled=1, port1=hub:7, port2=cdrom:image.iso - -#======================================================================= -# USB_OHCI: -# This option controls the presence of the USB OHCI host controller with a -# 2-port hub. The portX option accepts the same device types with the same -# syntax as the UHCI controller (see above). The OHCI HC must be assigned to -# a PCI slot. -#======================================================================= -#usb_ohci: enabled=1 -#usb_ohci: enabled=1, port1=printer:usbprinter.bin - -#======================================================================= -# CMOSIMAGE: -# This defines image file that can be loaded into the CMOS RAM at startup. -# The rtc_init parameter controls whether initialize the RTC with values stored -# in the image. By default the time0 argument given to the clock option is used. -# With 'rtc_init=image' the image is the source for the initial time. -# -# Example: -# cmosimage: file=cmos.img, rtc_init=image -#======================================================================= -#cmosimage: file=cmos.img, rtc_init=time0 - -#======================================================================= -# MAGIC_BREAK: -# This enables the "magic breakpoint" feature when using the debugger. -# The useless cpu instruction XCHG BX, BX causes Bochs to enter the -# debugger mode. This might be useful for software development. -# -# Example: -# magic_break: enabled=1 -#======================================================================= -#magic_break: enabled=1 - -#======================================================================= -# PORT_E9_HACK: -# The 0xE9 port doesn't exists in normal ISA architecture. However, we -# define a convention here, to display on the console of the system running -# Bochs anything that is written to it. The idea is to provide debug output -# very early when writing BIOS or OS code for example, without having to -# bother with setting up a serial port or etc. Reading from port 0xE9 will -# will return 0xe9 to let you know if the feature is available. -# Leave this 0 unless you have a reason to use it. -# -# Example: -# port_e9_hack: enabled=1 -#======================================================================= -#port_e9_hack: enabled=1 - -#======================================================================= -# DEBUG_SYMBOLS: -# This loads symbols from the specified file for use in Bochs' internal -# debugger. Symbols are loaded into global context. This is equivalent to -# issuing ldsym debugger command at start up. -# -# Example: -# debug_symbols: file="kernel.sym" -# debug_symbols: file="kernel.sym", offset=0x80000000 -#======================================================================= -#debug_symbols: file="kernel.sym" - -#======================================================================= -# other stuff -#======================================================================= -#load32bitOSImage: os=nullkernel, path=../kernel.img, iolog=../vga_io.log -#load32bitOSImage: os=linux, path=../linux.img, iolog=../vga_io.log, initrd=../initrd.img -#text_snapshot_check: enabled=1 -#print_timestamps: enabled=1 - -#------------------------- -# PCI host device mapping -#------------------------- -#pcidev: vendor=0x1234, device=0x5678 - -#======================================================================= -# GDBSTUB: -# Enable GDB stub. See user documentation for details. -# Default value is enabled=0. -#======================================================================= -#gdbstub: enabled=0, port=1234, text_base=0, data_base=0, bss_base=0 - -#======================================================================= -# PLUGIN_CTRL: -# Controls the presence of optional plugins without a separate option. -# By default all existing plugins are enabled. These plugins are currently -# supported: 'acpi', 'biosdev', 'extfpuirq', 'gameport', 'iodebug', -# 'pci_ide', 'speaker' and 'unmapped'. -#======================================================================= -#plugin_ctrl: biosdev=0, speaker=0 - -#======================================================================= -# USER_PLUGIN: -# Load user-defined plugin. This option is available only if Bochs is -# compiled with plugin support. Maximum 8 different plugins are supported. -# See the example in the Bochs sources how to write a plugin device. -#======================================================================= -#user_plugin: name=testdev diff --git a/03_TMR/emu/frun.sh.in b/03_TMR/emu/frun.sh.in deleted file mode 100755 index 9a668ab1609015af55750569c6b66a468d7f2d73..0000000000000000000000000000000000000000 --- a/03_TMR/emu/frun.sh.in +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -# a shell script to run Fail* emulator - -BOCHSRC=@BOCHSRC@-serial - -BINARY=@TGT_ELF@ - -# Kill plot windows on termination -on_die() { - [[ ! -z $PLOT_PID ]] && kill $PLOT_PID - [[ ! -z $TRACE_PID ]] && kill $TRACE_PID - [[ ! -z $SERIAL_PID ]] && kill $SERIAL_PID -} - -trap 'on_die' TERM - -# start a terminal that will telnet to the virtual machine's serial port -XTERMEXE="@STARTUP_SCRIPTS@/pts.sh" -(urxvt -geometry 120x80 -title "eCos Serial 0" -name "eCos Serial 0" -e $XTERMEXE )& -SERIAL_PID=$! -sleep 0.5 - -# MACHINE=$(gcc -dumpmachine|cut -f1 -d-) -# if [[ $MACHINE == "x86_64" ]]; then -# BITS="64" -# else -# BITS="32" -# fi - -# start the emulator -OUTFILE=/tmp/ezs-dac-$USER.txt -TRACEFILE=/tmp/ezs-trace-$USER.txt - -touch $OUTFILE -touch $TRACEFILE - -python $EZS_CMAKE_MODULE_DIR/plot.py $OUTFILE & -PLOT_PID=$! -python $EZS_CMAKE_MODULE_DIR/plot.py $TRACEFILE dotrace & -TRACE_PID=$! - - -FAIL_ELF_PATH=@PROJECT_BINARY_DIR@/@TGT_ELF@ @FAIL_BINARY@ -f $BOCHSRC -q - - -on_die diff --git a/03_TMR/emu/gdbinit.in b/03_TMR/emu/gdbinit.in deleted file mode 100644 index db7597ee291d154b865f0e6a03e10ffc2f059056..0000000000000000000000000000000000000000 --- a/03_TMR/emu/gdbinit.in +++ /dev/null @@ -1,6 +0,0 @@ -file @ELF@ -set archi i386:x64-32:intel -target remote localhost:1234 - -define pe - printf "[vc] %u - [B] %u - [D] %u %% [A] %u = %u (rem %u)\n", $arg0.vc, $arg0.B, $arg0.D, $arg0.A, (($arg0.vc - $arg0.B - $arg0.D) / $arg0.A), (($arg0.vc - $arg0.B - $arg0.D) % $arg0.A) diff --git a/03_TMR/emu/grub.cfg.in b/03_TMR/emu/grub.cfg.in deleted file mode 100644 index 993e16b48772aa6fb6e690b7e05017b216f3e063..0000000000000000000000000000000000000000 --- a/03_TMR/emu/grub.cfg.in +++ /dev/null @@ -1,7 +0,0 @@ -set timeout=0 -set default=0 - -menuentry "EZS eCos" { - multiboot /boot/@TGT_ELF@ - boot -} diff --git a/03_TMR/emu/pts.sh.in b/03_TMR/emu/pts.sh.in deleted file mode 100755 index dbf1af82d584c1c8a9453e98feb87c09c0706f23..0000000000000000000000000000000000000000 --- a/03_TMR/emu/pts.sh.in +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# Retrieve tty device name -TTY=`tty` -# Setup com1 ouput to this terminal -cat @BOCHSRC@ | sed -e "s|BOCHSTTYNUM|$TTY|" > @BOCHSRC@-serial -echo "Terminal on tty: " -echo $TTY -sleep 1000000 - diff --git a/03_TMR/emu/qrun.sh.in b/03_TMR/emu/qrun.sh.in deleted file mode 100755 index 227de9710e80f305fcebe4d1daf89d1f78e1ca14..0000000000000000000000000000000000000000 --- a/03_TMR/emu/qrun.sh.in +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash -# a shell script to run in the Qemu PC emulator an eCos -# application that's been built with "Grub" startup mode. -# -# It runs Qemu with a -# single serial port connected to a telnet -# server socket. -# -# An instance of the "xterm" X11 terminal emulator is started with -# telnet command to connect to that virtual serial port on port -# -# When $2 is 'ddd' a debugger window is opened accordingly - -PORTFILENAME=/tmp/$USER.portnum -@STARTUP_SCRIPTS@/findport.pl > $PORTFILENAME -PORTNUM=`head -n 1 /tmp/$USER.portnum` -SERIALPORTNUM=`tail -n 1 /tmp/$USER.portnum` -GDB_BIN=gdb -GDB_TUI_BIN=gdbtui -TERMINAL=urxvt - -declare -r COMMON_GDB_ARGS="-ex \"target remote :$PORTNUM\" \ - -ex \"br cyg_user_start\"" - -BINARY="$1" -echo $PWD - -if [[ "$2" == "ddd" ]] || [[ "$2" == "gdb" ]] || [[ "$2" == "cgdb" ]]; then - DEBUG="-S -gdb tcp::$PORTNUM" -fi - -XTERMEXE="telnet localhost $SERIALPORTNUM" - -# start a terminal that will telnet to the virtual machine's serial port -(sleep 0.5; $TERMINAL -geometry 120x80 -title "eCos Serial 0" -name "eCos Serial 0" -e $XTERMEXE )& - -sleep 0.5 -# start ddd Debugger -if [[ "$2" == "ddd" ]]; then - (sleep 0.5; $TERMINAL -e sh -c "ddd $COMMON_GDB_ARGS --gdb --debugger $GDB_BIN $BINARY" ) & -fi - -# start GDB in xterm terminal -if [[ "$2" == "gdb" ]]; then - (sleep 0.5; $TERMINAL -e sh -c "$GDB_BIN $COMMON_GDB_ARGS $BINARY" ) & -fi - -# start GDBTUI in xterm terminal -if [[ "$2" == "gdbtui" ]]; then - (sleep 0.5; $TERMINAL -e sh -c "$GDB_TUI_BIN $COMMON_GDB_ARGS $BINARY" ) & -fi - - -# start cgdb in xterm terminal -if [[ "$2" == "cgdb" ]]; then - (sleep 0.5; $TERMINAL -e sh -c "cgdb $COMMON_GDB_ARGS $BINARY" ) & -fi - - -# MACHINE=$(gcc -dumpmachine|cut -f1 -d-) -# if [[ $MACHINE == "x86_64" ]]; then -# BITS="64" -# else -# BITS="32" -# fi - -qemu-system-i386 -machine pc,accel=tcg \ - $DEBUG \ - -kernel $BINARY \ - -serial telnet:localhost:$SERIALPORTNUM,server,nowait - diff --git a/03_TMR/emu/vgabios.bin b/03_TMR/emu/vgabios.bin deleted file mode 100644 index fa9806b76fca32f6e44cbb4a8e0bec637fb9e8ab..0000000000000000000000000000000000000000 Binary files a/03_TMR/emu/vgabios.bin and /dev/null differ diff --git a/03_TMR/include/filter.h b/03_TMR/include/filter.h deleted file mode 100644 index 54410c1e46fb7ff869eb4396dac67464f0b682fc..0000000000000000000000000000000000000000 --- a/03_TMR/include/filter.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef CONVOLVE_FILTER_H -#define CONVOLVE_FILTER_H - -#include <stdint.h> - -typedef struct convolve_filter_struct { - /** - * The Filter parameters; - */ - int8_t a, b, c; - - /** - * The internal filter state; - */ - int8_t z1, z2; -} convolve_filter; - -void convolve_filter_init(convolve_filter *f, int8_t a, int8_t b, int8_t c); - -int8_t convolve_filter_step(convolve_filter *f, int8_t in); - -#endif diff --git a/03_TMR/include/filter.hpp b/03_TMR/include/filter.hpp deleted file mode 100644 index a959a6c5d0ff89308fc2063507d3d2b40ff361b3..0000000000000000000000000000000000000000 --- a/03_TMR/include/filter.hpp +++ /dev/null @@ -1,6 +0,0 @@ -template <int NUM, typename T> -T abs(T a) -{ - return a; -} - diff --git a/03_TMR/include/watchdog.h b/03_TMR/include/watchdog.h deleted file mode 100644 index 52e2aea3d9bbd7471ad4c578c919da9c220300c0..0000000000000000000000000000000000000000 --- a/03_TMR/include/watchdog.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef WATCHDOG_H -#define WATCHDOG_H - -/** - * init watchdog - **/ -void watchdog_init(void); - -/** - * activate watchdog - **/ -void watchdog(void); - -#endif diff --git a/03_TMR/libEZS/drivers/i386/ezs_adc.c b/03_TMR/libEZS/drivers/i386/ezs_adc.c deleted file mode 100644 index d5676fc23bc27b99008c87004488dc699ee9c6c3..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/drivers/i386/ezs_adc.c +++ /dev/null @@ -1,20 +0,0 @@ - -/*! - * @file ezs_adc.c - * @brief A very simple AD converter, based on Fail* - * @author Martin Hoffmann - * \ingroup adc - */ -#include <stdint.h> -#include "ezs_dac.h" - -static volatile uint8_t ezs_adc_in_register; -/*! - * \brief Get a value from the ADC - */ -uint8_t ezs_adc_read(void){ - return ezs_adc_in_register; -} - - - diff --git a/03_TMR/libEZS/drivers/i386/ezs_counter.c b/03_TMR/libEZS/drivers/i386/ezs_counter.c deleted file mode 100644 index a4ad16c19d17c7b5dd25feeab80759083c03a051..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/drivers/i386/ezs_counter.c +++ /dev/null @@ -1,144 +0,0 @@ -#define EZS_HPET_ADDR 0xFED00000 - -#include "ezs_counter.h" -#include <stdio.h> -#include <stdint.h> - -typedef struct hpetReg { - uint64_t GCAP_ID; /* General capabilities */ - uint64_t rsv1; - uint64_t GEN_CONF; /* General configuration */ - uint64_t rsv2; - uint64_t GINTR_STA; /* General Interrupt status */ - uint64_t rsv3[25]; - uint64_t MAIN_CNT; /* Main counter */ - uint64_t rsv4; - uint64_t TIM0_CONF; /* Timer 0 config and cap */ -#define TIM_CONF 0 -#define Tn_INT_ENB_CNF 4 - uint64_t TIM0_COMP; /* Timer 0 comparator */ -#define TIM_COMP 8 - uint64_t rsv5[2]; - uint64_t TIM1_CONF; /* Timer 1 config and cap */ - uint64_t TIM1_COMP; /* Timer 1 comparator */ - uint64_t rsv6[2]; - uint64_t TIM2_CONF; /* Timer 2 config and cap */ - uint64_t TIM2_COMP; /* Timer 2 comparator */ - uint64_t rsv7[2]; -} hpetReg; -typedef struct hpetReg hpetReg_t; - -volatile hpetReg_t *hpet = (volatile hpetReg_t *) EZS_HPET_ADDR; - -static uint64_t hpet_divisor = 0; -static uint32_t hpet_period = 0; -static bool use_hpet = true; - - -uint32_t ezs_hpet_period_fs(void) -{ - return hpet->GCAP_ID >> 32; -} - -bool ezs_hpet_init(void) -{ - uint64_t test = hpet->GCAP_ID; - uint64_t gcap = hpet->GCAP_ID; - - hpet_period = (gcap & 0xffffffff00000000ULL) >> 32; - - if( hpet_period > 0x5f5e100 ){ - use_hpet = false; - printf("HPET invalid, using Time Stamp Counter\n"); - return false; - } else { - use_hpet = true; - } - - uint8_t rev_id = gcap & 0xFF; - uint8_t num_timers = (gcap >> 8) & 0x1F; - uint8_t counter_size = (gcap >> 13) & 0x1; - uint16_t vendor_id = (gcap >> 16) & 0xFFFF; - - hpet_divisor = 1000000000ULL / hpet_period; // 10e9 fs == 1 us - - printf("HPET enabled\n"); - /* enable HPET */ - hpet->GEN_CONF = 0x1; -} - -uint64_t ezs_hpet_read(void) -{ - uint64_t cnt = hpet->MAIN_CNT; - //printf("CNT: 0x%llx\n", cnt); - return cnt; -} - -uint64_t ezs_hpet_resolution_us(void) -{ - return 1; -} - -uint64_t ezs_hpet_read_us(void) -{ - return ezs_hpet_read() / hpet_divisor; -} - -/* Timestamp counter implementation */ - -#ifndef BOCHS_CPU_MHZ -#error Bochs CPU Speed not defined -#endif - -static inline unsigned long long getticks(void) -{ - unsigned int lo, hi; - // RDTSC copies contents of 64-bit TSC into EDX:EAX - asm volatile("rdtsc" : "=a" (lo), "=d" (hi)); - return (unsigned long long)hi << 32 | lo; -} - -cyg_uint64 ezs_rdtsc_get_us(void) { - return getticks() / (BOCHS_CPU_MHZ); -} - -void ezs_tsc_init(void){ - printf("Using time stamp counter, cpu running @ %d MHz\n", BOCHS_CPU_MHZ); -} - -static volatile uint32_t FAILBOCHSID = 0; - -/* EZS API implementation */ -void ezs_counter_init(void) -{ - if (FAILBOCHSID == 42) { // We run in Fail* - ezs_tsc_init(); - use_hpet = false; - } else { // not in Fail* try using HPET - if ( ! ezs_hpet_init() ) { // HPET not accurate enough fall back to TSC - ezs_tsc_init(); - use_hpet = false; - } - } -} - - -cyg_uint64 ezs_counter_get(void) -{ - if(use_hpet){ - return ezs_hpet_read_us(); - } else { - return ezs_rdtsc_get_us(); - } -} - -cyg_uint64 ezs_counter_resolution_us(void) -{ - return ezs_hpet_resolution_us(); -} - -cyg_uint64 ezs_counter_resolution_ps(void) -{ - return ezs_hpet_resolution_us() * 1000000; -} - diff --git a/03_TMR/libEZS/drivers/i386/ezs_dac.c b/03_TMR/libEZS/drivers/i386/ezs_dac.c deleted file mode 100644 index f3cff1259c7d56af8b280e9921edff1c388fa345..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/drivers/i386/ezs_dac.c +++ /dev/null @@ -1,19 +0,0 @@ - -/*! - * @file ezs_dac.c - * @brief A very simple DA converter, based on Fail* - * @author Martin Hoffmann - * \ingroup dac - */ -#include <stdint.h> -#include "ezs_dac.h" - -static volatile uint8_t ezs_dac_out_register; - -/*! - * \brief Write a value to the DAC - */ -void ezs_dac_write(uint8_t value){ - ezs_dac_out_register = value; -} - diff --git a/03_TMR/libEZS/drivers/i386/ezs_fb.c b/03_TMR/libEZS/drivers/i386/ezs_fb.c deleted file mode 100644 index 7bbebc3c9afd07fdcd02b0ebff213b406828a3fe..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/drivers/i386/ezs_fb.c +++ /dev/null @@ -1,88 +0,0 @@ -#include "ezs_fb.h" - -typedef struct { - int x; - int y; -} cursor_t; - -static cursor_t cursor; -void ezs_fb_init(void) -{ - CYG_FB_ON(FRAMEBUF); - CYG_FB_FILL_BLOCK(FRAMEBUF, 0, 0, FB_WIDTH, FB_HEIGHT, 0); - cursor.x = 0; - cursor.y = 0; -} - - -void ezs_fb_fill_block(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 width,cyg_ucount16 height,cyg_fb_colour color) -{ - CYG_FB_FILL_BLOCK(FRAMEBUF, x, y, width, height, color); -} - - -void ezs_fb_hline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, cyg_fb_colour color) -{ - CYG_FB_WRITE_HLINE(FRAMEBUF, x, y, len, color); -} - - -void ezs_fb_vline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, cyg_fb_colour color) -{ - - CYG_FB_WRITE_VLINE(FRAMEBUF, x, y, len, color); -} - -void ezs_fb_clear(cyg_fb_colour color) -{ - ezs_fb_fill_block(0, 0, FB_WIDTH, FB_HEIGHT, color); -} - - -void ezs_fb_print_char( int ch, cyg_ucount16 x, cyg_ucount16 y, cyg_fb_colour color){ - int i, j; - for (i = ch*8; i < (ch*8)+8; i++){ - unsigned char row = g_8x8_font[i]; - for (j = 0; j < 8; j++){ - if((row & (0x80 >> j)) != 0){ - ezs_fb_fill_block(x+j, y+(i-ch*8), 1, 1, color); - } - } - } - -} - -void ezs_fb_print_string(char*c, cyg_fb_colour color){ - ezs_fb_print_string_cur(c, cursor.x, cursor.y, color); -} - -void ezs_fb_print_string_cur(char* c, cyg_ucount16 x, cyg_ucount16 y, cyg_fb_colour color){ - char* ch = c; - - while(*ch != '\0'){ - if(*ch == '\n'){ - ezs_fb_newline(); - }else{ - ezs_fb_print_char((*ch)+0, x , y, color); - x = x+8; - if( x >= FB_WIDTH - 8){ - y += 8; - x = 0; - } - } - ch++; - } - cursor.x = x; - cursor.y = y; -} - -void ezs_fb_newline(void){ - cursor.x = 0; - cursor.y += 8; -} - -void ezs_fb_setpos(cyg_ucount16 x, cyg_ucount16 y){ - cursor.x = x; - cursor.y = y; -} - diff --git a/03_TMR/libEZS/drivers/i386/ezs_keycodes.c b/03_TMR/libEZS/drivers/i386/ezs_keycodes.c deleted file mode 100644 index 3b7ff903c45b898b4916e657901b0a146b2a291f..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/drivers/i386/ezs_keycodes.c +++ /dev/null @@ -1,22 +0,0 @@ - -#include "ezs_keycodes.h" -#include <assert.h> -#include <stdio.h> - -#define NUMBER_OF_KEYCODES 89 -unsigned char char_of_key[] = { - 0, 0, '1', '2', '3', '4', '5', '6', '7', '8', - '9', '0', 225, 39, '\b', 0, 'q', 'w', 'e', 'r', - 't', 'z', 'u', 'i', 'o', 'p', 129, '+', '\n', 0, - 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 148, - 132, '^', 0, '#', 'y', 'x', 'c', 'v', 'b', 'n', - 'm', ',', '.', '-', 0, '*', 0, ' ', 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, '-', 0, 0, 0, '+', 0, - 0, 0, 0, 0, 0, 0, '<', 0, 0 }; - -unsigned char ezs_get_char_from_keycode(unsigned char code) { - assert(code < NUMBER_OF_KEYCODES); - - return char_of_key[code]; -} diff --git a/03_TMR/libEZS/drivers/i386/ezs_tracer.cpp b/03_TMR/libEZS/drivers/i386/ezs_tracer.cpp deleted file mode 100644 index 635b57af2cb30dbb956638bfeccf6e607ffabe20..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/drivers/i386/ezs_tracer.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include <pkgconf/system.h> -#include <cyg/io/io.h> -#include <cyg/error/codes.h> -#include <stdint.h> -#include <stdio.h> - -//! The magic tracer variable Fail* is listening on. -volatile unsigned ezs_tracer_register; - -//! No Time triggered kernel -> normal event triggered ecos: -#ifndef SMLPKG_TTKERNEL -#include <cyg/kernel/kernel.hxx> // C Kernel-API -extern "C" { -#include <cyg/kernel/kapi.h> // C Kernel-API -} -class Cyg_Thread; - - -extern "C" void ezs_instrument(Cyg_Thread* current, Cyg_Thread* next) { - // Get priority from next thread - int prio = next->get_priority(); - if(prio > 32) prio = 32; - - // Write priority to tracer register - ezs_tracer_register = prio; -} - -#else -#include <sml/ttkernel/task.hxx> -extern "C" void ezs_instrument(TT_Task* current, TT_Task* next){ - ezs_tracer_register = next->get_id(); -} -#endif - diff --git a/03_TMR/libEZS/hal/drivers/CMakeLists.txt b/03_TMR/libEZS/hal/drivers/CMakeLists.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/03_TMR/libEZS/hal/drivers/DAC.cpp b/03_TMR/libEZS/hal/drivers/DAC.cpp deleted file mode 100644 index bf192b3b91aa52a9437e4c732c7124ea4bb4c3b2..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/hal/drivers/DAC.cpp +++ /dev/null @@ -1,76 +0,0 @@ -#include "DAC.h" - -#include "GPTA.h" -#include "GPIO.h" -#include "IOLS.h" -#include "LTC.h" -#include "OSAbstraction.h" - -#define PERIOD 0xfff -#define MIN 0x058 //minimal value. below dac outputs zero -#define MAX 0xff0 //maximal value. above dac outputs full duty cycle - -void DAC::init(unsigned char port, unsigned char baseLtc) -{ - - this->ltc = baseLtc; - this->port = port; - - GPIO::setFunction(IO_PORT(port), IO_PIN(port), GPIO_FUNCTION_GPTA0); - - //configure the connects - if ( !IOLS<0>::connectLTCInputClock(baseLtc, 0) ) - { - osPanic(); //main clock to the first ltc - } - if ( !IOLS<0>::connectIoLTC(port, baseLtc+2) ) - { - osPanic(); //wiring the output pin with the last ltc (base+2) - } - //initializing the counting time for comparing - LTC<0>::setupResetTimer(baseLtc); - - //Timer for the main period - LTC<0>::setupComparator(baseLtc+1, PERIOD, LTC_SO_BOTH); - LTC<0>::setComparatorAction(baseLtc+1, LTC_COMPARATOR_ACTION_SET, LTC_EVENT_LOCAL); - - //Timer for the high-period - LTC<0>::setupComparator(baseLtc+2, 0, LTC_SO_BOTH); - LTC<0>::setComparatorAction(baseLtc+2, LTC_COMPARATOR_ACTION_RESET, LTC_EVENT_ALL); - on(); -} - -void DAC::on() { - if ( ! state ) { - LTC<0>::setX(ltc+2, 0); - GPIO::setFunction(IO_PORT(port), IO_PIN(port), GPIO_FUNCTION_GPTA0); - state = true; - } -} - -void DAC::off() -{ - if ( state ) { - LTC<0>::setX(ltc+2, 0); - GPIO::setFunction(IO_PORT(port), IO_PIN(port), GPIO_FUNCTION_INPUT_PULLDOWN); - state = false; - } -} - -void DAC::write(uint8_t v) -{ - uint16_t value = 0; - if(v == 0) { - value = 0; - } - else if (v == UINT8_MAX) { - value = PERIOD-1; - } - else { - uint16_t diff = MAX-MIN; - float frac = (float)v / (float) UINT8_MAX; - uint16_t mapped = frac * (float) diff; - value = MIN + mapped; - } - LTC<0>::setX(ltc+2, value); -} diff --git a/03_TMR/libEZS/hal/drivers/DAC.h b/03_TMR/libEZS/hal/drivers/DAC.h deleted file mode 100644 index ef5f0e622c4db737f617f3a11c6b2138ff2e829f..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/hal/drivers/DAC.h +++ /dev/null @@ -1,32 +0,0 @@ -/*==================================================================== -* Function: Driver for generell PWM with GPTA -* -* Copyright I4Copter Project 2007-2011 -* http://www4.informatik.uni-erlangen.de/Research/I4Copter -*===================================================================== -* Author: Peter,Tobias -*==================================================================== -* $Id: Beeper.h 3494 2011-01-31 17:36:26Z ulbrich $ -*====================================================================*/ -#ifndef DAC_PWM_H_INCLUDED -#define DAC_PWM_H_INCLUDED - - -#include <stdint.h> -class DAC { - - private: - unsigned char ltc; - unsigned char port; - bool state; - - public: - void init(unsigned char port, unsigned char baseLtc); - void on(); - void off(); - void write(uint8_t v); - bool getState() const { return state; }; -// void setState(bool state) { state ? on() : off(); } -}; - -#endif // BEEPER_H_INCLUDED diff --git a/03_TMR/libEZS/hal/include/AnalogDevice.h b/03_TMR/libEZS/hal/include/AnalogDevice.h deleted file mode 100644 index 2040d39b5f369a3b1a526909662a9935a71169fa..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/hal/include/AnalogDevice.h +++ /dev/null @@ -1,197 +0,0 @@ -/** - * Copyright I4Copter Project 2007-2012 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file AnalogDevice.h - * \ingroup hal - * \brief Abstract interface for an analog device - * \author Peter Ulbrich <ulbrich@cs.fau.de> - * - */ - -#ifndef ANALOGDEVICE_H_ -#define ANALOGDEVICE_H_ - -#include <stdint.h> -//! \note The actual implementation is determined by the header search path, which depends on the CMake build type (microcontroller platform) -#include "AnalogDeviceImpl.h" - -namespace hal { - -/** - * \class AnalogDevice - * \brief Abstract interface for an analog device (pin) - * \note This class is just a wrapper for the platform specific implementation (AnalogDeviceImpl) - */ -class AnalogDevice { -public: - /** - * constructor... - * @param pin - */ - AnalogDevice(AnalogDeviceImpl::channelnum const pin) : - m_impl(pin) { - } - - /** - * Initialize implementation object - * \todo Do this explicitly or implicitly in the constructor? - * @return - */ - bool init() { - return m_impl.init(); - } - - /** - * Trigger the sampling of the analog pin - * \note Even in case of autoscan/DMA operation, this is a necessary step. Otherwise the raw and the millivolt value would differ! - */ - void sample() { - m_value = m_impl.sample(); - m_millivolt = toMillivolt(m_value); - } - - /** - * Convert a analog raw value to millivolt - * \note It is assumed that the raw value has a 12bit resolution (3300mV = 4095raw). The conversion factor is thereof 0.80581! - * @param value A raw value from a 3.3V ADC - * @return Millivolt - */ - float toMillivolt(const int16_t value) const { - return static_cast<float>(value) * 0.80581f; - } - - /** - * Get the sampled raw value of the analog pin - * \waring sample() must be called before reading the result! - * @return A raw sample value - */ - uint16_t getValue() const { - return m_value; - } - - /** - * Get the sampled value of the analog pin - * \waring sample() must be called before reading the result! - * @return A sample value in millivolt - */ - float getMillivolt() const { - return m_millivolt; - } - -protected: - // Raw value - uint16_t m_value; - - // millivolt - float m_millivolt; - -private: -//! HW specific implementation object - AnalogDeviceImpl m_impl; - -}; -// End of class AnalogDevice - -/** - * \class AnalogDeviceBiased - * \brief Abstract interface for an biased analog device (pin) - * \note This class is just a wrapper for the platform specific implementation (AnalogDeviceImpl) - */ -class AnalogDeviceBiased: protected AnalogDevice { -public: - - /** - * constructor... - * @param pin - * @param calCycles Number of cycles to be used for calibaration - */ - AnalogDeviceBiased(AnalogDeviceImpl::channelnum const pin, - uint16_t calCycles) : - AnalogDevice(pin), m_calCycles(calCycles) { - reset(); - } - - /** - * Initialize implementation object - * \todo Do this explicitly or implicitly in the constructor? - * @return - */ - bool init() { - reset(); - return AnalogDevice::init(); - } - - void reset() { - m_isBiased = false; - m_iterator = 0; - m_biasSum = 0; - m_bias = 0; - } - - bool sample() { - AnalogDevice::sample(); - - if (!m_isBiased) { - calibrateBias(); - } else { - m_valueBiased = AnalogDevice::getValue() - m_bias; - m_millivoltBiased = AnalogDevice::toMillivolt(m_valueBiased); - } - - return m_isBiased; - } - - int16_t getValue() const { - return m_valueBiased; - } - - float getMillivolt() const { - return m_millivoltBiased; - } - - uint16_t getValue_ub() const { - return AnalogDevice::getValue(); - } - - float getMillivolt_ub() const { - return AnalogDevice::getMillivolt(); - } - - uint16_t getBias() const { - return m_bias; - } - -protected: - -private: - // Bias calibration data - const uint16_t m_calCycles; - uint16_t m_iterator; - uint32_t m_biasSum; - bool m_isBiased; - - // Bias - uint16_t m_bias; - - // Biased values - int16_t m_valueBiased; - float m_millivoltBiased; - - void calibrateBias() { - m_iterator++; - m_biasSum += AnalogDevice::getValue(); - - if (m_iterator == m_calCycles) { - m_bias = m_biasSum / m_calCycles; - m_isBiased = true; - } - } - -}; -// End of class AnalogDeviceBiased - - -} // End of namespace hal - -#endif /* ANALOGDEVICE_H_ */ diff --git a/03_TMR/libEZS/hal/include/Config.h b/03_TMR/libEZS/hal/include/Config.h deleted file mode 100644 index 883d28aa29a41c5546fceed2f38839ec88297fa7..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/hal/include/Config.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * SPIConfig.h - * - * Created on: Aug 21, 2012 - * Author: hoffmann - */ - -#ifndef SPICONFIG_H_ -#define SPICONFIG_H_ - -namespace hal { -namespace spi { - - enum Mode_t { - Master = 1, - Slave, - NotConfigured, - }; - - typedef void(*tx_callback)(void*); - typedef void(*rx_callback)(void*); - -} // spi - -namespace digitaldevice { - - enum IRQDIR_t { - Falling = 1, - Rising, - Rising_Falling, - }; - - enum PINDIR_t { - Input = 1, - Output, - }; - - typedef void(*callback)(void*); - -} // digitaldevice - -namespace dma { - - typedef void(*callback)(void*); - -} // dma - -} // hal - -#endif /* SPICONFIG_H_ */ diff --git a/03_TMR/libEZS/hal/include/DMA.h b/03_TMR/libEZS/hal/include/DMA.h deleted file mode 100644 index 46428be2b89dc4f18c7bcd5e46bcef98e450a2e8..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/hal/include/DMA.h +++ /dev/null @@ -1,125 +0,0 @@ -/** - * Copyright I4Copter Project 2007-2013 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file DMA.h - * \ingroup hal - * \brief Abstract interface for a DMA channel - * \author Florian Lukas <florian.lukas@gmail.com> - * - */ - -#ifndef DMA_H_ -#define DMA_H_ - -#include <stdint.h> -#include "Config.h" -//! \note The actual implementation is determined by the header search path, which depends on the CMake build type (microcontroller platform) -#include "DMAImpl.h" - -namespace hal { - -/** - * \class DMAChannel - * \brief Abstract interface for a DMA channel - * \note This class is just a wrapper for the platform specific implementation (DMAChannelImpl) - */ -class DMAChannel { -public: - typedef DMAChannelImpl::unitnum unitnum; - typedef DMAChannelImpl::channelnum channelnum; - typedef DMAChannelImpl::move_size move_size; - - /** - * Constructor - * @param channel DMA channel number - */ - DMAChannel(DMAChannelImpl::unitnum const unit, DMAChannelImpl::channelnum const channel) : m_impl(unit, channel) {} - - /** - * Initialize DMA. - */ - void init() { - m_impl.init(); - } - - /** - * Set DMA transfer source address and increment mode. - * @param src_addr source address - * @param increment increment source address after each move (0: always read same address) - */ - void set_source(uint32_t* src_addr, bool increment) { - m_impl.set_source(src_addr, increment); - } - - /** - * Set DMA transfer destination address and increment mode. - * @param dest_addr destination address - * @param increment increment destination address after each move (0: always write same address) - */ - void set_destination(uint32_t* dest_addr, bool increment) { - m_impl.set_destination(dest_addr, increment); - } - - /** - * Set DMA transfer length and move unit. - * @param length transfer length in number of moves - * @param size of one DMA move - */ - void set_length(uint32_t length, move_size movesize) { - m_impl.set_length(length, movesize); - } - - /** - * Request start of DMA transaction. - */ - void start() { - m_impl.start(); - } - - /** - * Check if DMA transfer is done. - */ - bool done() { - return m_impl.done(); - } - - /** - * Start DMA transaction and BLOCK until finish. - */ - void start_block() { - start(); - while(!done()) {}; - } - - /** - * Set IRQ handler to be called (with argument) when DMA transaction is finished - * @param cb call - * @param arg - */ - void set_irq_handler(hal::dma::callback cb, void* arg) { - m_impl.set_irq_handler(cb, arg); - } - - /** - * Enable DMA finish interrupt. - */ - void enable_irq() { - m_impl.set_irq(true); - } - - /** - * Disable DMA finish interrupt. - */ - void disable_irq(){ - m_impl.set_irq(false); - } - -private: - //! HW specific implementation object - DMAChannelImpl m_impl; -}; // End of class DMAChannel - -} // End of namespace hal - -#endif /* DMA_H_ */ diff --git a/03_TMR/libEZS/hal/include/DigitalDevice.h b/03_TMR/libEZS/hal/include/DigitalDevice.h deleted file mode 100644 index 385400e5196007285d4283417ed4d5ab72b57719..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/hal/include/DigitalDevice.h +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Copyright I4Copter Project 2007-2012 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file DigitalDevice.h - * \ingroup hal - * \brief Abstract interface for an digital device (I/O Pin) - * \author Martin Hoffmann <hoffmanh@cs.fau.de> - * - */ - -#ifndef DIGITALDEVICE_H_ -#define DIGITALDEVICE_H_ - -#include "Config.h" -//! \note The actual implementation is determined by the header search path, which depends on the CMake build type (microcontroller platform) -#include "DigitalDeviceImpl.h" - -namespace hal { - -/** - * \class DigitalDevice - * \brief Abstract interface for an digital device (pin) - * \note This class is just a wrapper for the platform specific implementation (DigitalDeviceImpl) - */ -class DigitalDevice { -public: - /** - * constructor... - * @param pin - */ - DigitalDevice(DigitalDeviceImpl::pin_t const pin, hal::digitaldevice::PINDIR_t dir) : - m_impl(pin, dir) { - } - /** - * constructor... - * @param pin - */ - DigitalDevice(DigitalDeviceImpl::pin_t const pin) : - m_impl(pin, hal::digitaldevice::Output) { - } - - - /** - * Initialize implementation object - */ - bool init() { - return m_impl.init(); - } - - /** - * Set the pin to hight - */ - void set() const { - m_impl.set(); - } - - - /** - * Set the pin to hight - */ - void clear() const { - m_impl.clear(); - } - - /** - * Toggle pin - * @return The current pin level - */ - bool toggle() const { - return m_impl.toggle(); - } - - void set_irq_handler(hal::digitaldevice::callback cb, void* arg) { - m_impl.set_irq_handler(cb, arg); - } - - void enable_irq(hal::digitaldevice::IRQDIR_t dir){ - m_impl.enable_irq(dir); - } - - - void disable_irq(){ - m_impl.disable_irq(); - } - - bool isSet(){ - return m_impl.isSet(); - } -private: -//! HW specific implementation object - DigitalDeviceImpl m_impl; - -}; -// End of class AnalogDevice - - -} // End of namespace hal - -#endif /* DIGITALDEVICE_H_ */ diff --git a/03_TMR/libEZS/hal/include/HalStartup.h b/03_TMR/libEZS/hal/include/HalStartup.h deleted file mode 100644 index c07f579817e8d3a09db9721f5dcc03c80e9bd7d1..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/hal/include/HalStartup.h +++ /dev/null @@ -1,66 +0,0 @@ -/** - * \defgroup hal General hardware abstraction layer - */ - -/** - * \defgroup tc1796 TC1796 hardware abstraction layer - * \ingroup hal - */ - -/** - * \defgroup stm32f1 STM32F1xx hardware abstraction layer - * \ingroup hal - */ - -/** - * \namespace hal - * \brief Namespace for the hardware abstraction layer - */ - -/** - * \namespace tc1796 - * \brief Namespace for the TriCore TC1796 specific part of the hardware abstraction layer - */ - -/** - * \namespace stm32f1 - * \brief Namespace for the STM32F1 specific part of the hardware abstraction layer - */ - -/** - * Copyright I4Copter Project 2007-2011 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file HalStartup.h - * \ingroup hal - * \brief All HAL Startup routines are called here. - * \author Peter Ulbrich <ulbrich@cs.fau.de> - * \author Martin Hoffmann <hoffmann@cs.fau.de> - */ - -#ifndef HALSTARTUP_H -#define HALSTARTUP_H - -namespace hal { - -/** - * \class HalStartup - * - * \brief The abstract interface for the HAL startup - * - * This class implements a run method. - */ -class HalStartup { -public: - /** - * This is the basic run method for proper - * hal initialization - */ - static void run(void); - -protected: -private: -}; - -} -#endif // HALSTARTUP_H diff --git a/03_TMR/libEZS/hal/include/I2CDevice.h b/03_TMR/libEZS/hal/include/I2CDevice.h deleted file mode 100644 index a53cb453542bc61a2a4cf8e05883791749de9784..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/hal/include/I2CDevice.h +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Copyright I4Copter Project 2007-2011 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file I2C.h - * \ingroup hal - * \brief I2C Abstraction Layer - * \author Martin Hoffmann <hoffmann@cs.fau.de> - */ - -#ifndef I2C_H_ -#define I2C_H_ - -#include <stdint.h> - -//! \note The actual implementation is determined by the header search path, which depends on the CMake build type (microcontroller platform) -#include "I2CDeviceImpl.h" - -namespace hal { - -/** - * \class I2C - * \brief I2C Interface Abstractions - * - * This is the basic "abstract" class of the - * I2C interface (some sort of Pimpl pattern). - * A I2C::Impl class - * holds the hardware dependent implementation. - */ -class I2C { - -public: - /** - * \brief Interface initialization - * - * This method just calls the init method - * of a global I2C::Impl "Singleton" - */ - static void init() { i2cDeviceImpl.init(); } - - - /** - * \brief I2C send routine - * @param address I2C Slave address - * @param data Buffer to read data to send - * @param length Buffer/Message length - * @return - */ - static uint32_t send(uint8_t address, uint8_t* data, uint32_t length) { - return i2cDeviceImpl.send(address, data, length); - } - - /** - * \brief I2C receive routine - * @param address I2C Slave address - * @param data Buffer to write received data to - * @param length Buffer/Message length - * @return - */ - static uint32_t receive(uint8_t address, uint8_t* data, uint32_t length) { - return i2cDeviceImpl.receive(address, data, length); - } -}; - -} // end of namespace - -#endif /* I2C_H_ */ diff --git a/03_TMR/libEZS/hal/include/OSAbstraction.h b/03_TMR/libEZS/hal/include/OSAbstraction.h deleted file mode 100644 index d8e372937a2cb5dc20fe67761c2ef299308af029..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/hal/include/OSAbstraction.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef OSABSTRACTION_H -#define OSABSTRACTION_H - -void osPanic(void) { - while(1) - ; -} - -#endif \ No newline at end of file diff --git a/03_TMR/libEZS/hal/include/RS232Device.h b/03_TMR/libEZS/hal/include/RS232Device.h deleted file mode 100644 index 291271c7e04e8b3d944d17d40e36dafe3eaf2027..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/hal/include/RS232Device.h +++ /dev/null @@ -1,139 +0,0 @@ -/** - * Copyright I4Copter Project 2007-2011 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file RS232Device.h - * \ingroup hal - * \brief RS232 Abstraction Layer - * \author Martin Hoffmann <hoffmann@cs.fau.de> - */ - - -#ifndef RS232DEVICE_H -#define RS232DEVICE_H - -#include <stdint.h> - -//! \note The actual implementation is determined by the header search path, which depends on the CMake build type (microcontroller platform) -#include "RS232DeviceImpl.h" - -namespace hal { - -/** - * \class RS232Device - * \brief RS232 Interface Abstractions - */ -class RS232Device { - RS232DeviceImpl m_impl; -public: - - //! A baudrate type.. - enum Baudrate { - BR9600 = 9600, - BR38400 = 38400, - BR115200 = 115200, - } ; - - /** - * Constructor defines the RS232 Device number - * @param device number - */ - RS232Device(uint8_t const device) : m_impl(device){}; - - /** - * Initalizer mainly sets the baudrate - * @param baudrate - * @return true if initalization was successful - */ - bool init(RS232Device::Baudrate baudrate){ return m_impl.init(baudrate); }; - - /** - * \brief Send a byte blocking - * @param b Byte to send - */ - void send(uint8_t b) { m_impl.send(b); }; - - /** - * \brief Send an array of bytes (blocking) - * - * @param buf Array to be sent - * @param length Length of the array - * @return Number of bytes sent - */ - void send(uint8_t * buf, uint32_t length){ m_impl.send(buf, length); }; - - - /** - * \brief Send byte non-blocking - * \param b Byte to send - * \return \c true if byte is scheduled for sending, else \c false - */ - bool send_nb(uint8_t b){ return m_impl.send_nb(b); }; - - /** - * \brief Send an array of bytes non-blocking - * \param buf Pointer to the array to send - * \param length Length of the array - * \return Number of bytes sent, -1 on error TODO - */ - bool send_nb(uint8_t const * buf, uint32_t length){ return m_impl.send_nb(buf, length); }; - - /** - * \brief Receive a single byte blocking - * @return The received byte - */ - uint8_t recv() { return m_impl.recv(); }; - /** - * \brief Enable RS232 RX Interrupt - */ - - void enable_rx_int(){ m_impl.enable_rx_irq(); }; - - /** - * \brief Disable RS232 RX Interrupt - */ - void disable_rx_int(){ m_impl.disable_rx_irq(); }; - - /** - * \brief Received byte from within RX IRQ Handler - * @param dest Reference where to store the received byte - * @return true if byte was received, false on error - * \note The hw dependent implementation can reset status bits here. - */ - bool getc_irq(uint8_t& dest){ return m_impl.getc_irq(dest); }; - - /** - * \brief Setup DMA based reception of a string - * - * @param buffer The destination where to store the bytes - * @param length The number of bytes to receive - * \note The hw dependent implementation can reset status bits here. - * \note This method enables DMA Interrupt after complete reception! (\see dma_rx_completed_irq) - */ - void config_dma_rx_irq(uint8_t* buffer, uint32_t length){ m_impl.config_dma_rx_irq(buffer, length); }; - - /** - * \brief Test and acknowledge dma rx interrupt - * @return \c true if IRQ was an DMA RX complete, \c false on error - * \note The hw dependent implementation can reset status bits here. - * \note This must be called from within the according IRQ Handler - */ - bool dma_rx_completed_irq() { return m_impl.rx_dma_handler_completed(); }; - - - /** - * \brief Test and acknowledge dma tx interrupt - * @return \c true if IRQ was an DMA TX complete, \c false on error - * \note The hw dependent implementation can reset status bits here. - * \note This must be called from within the according IRQ Handler - */ - bool dma_tx_completed_irq() { return m_impl.tx_dma_handler(); }; - - -}; - - -} - - -#endif diff --git a/03_TMR/libEZS/hal/include/SPIBus.h b/03_TMR/libEZS/hal/include/SPIBus.h deleted file mode 100644 index a3ab5385e987ae7fb9362795e36467cb63cf8fc3..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/hal/include/SPIBus.h +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Copyright I4Copter Project 2007-2011 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file SPI.h - * \ingroup hal - * \brief SPI Abstraction Layer - * \author Martin Hoffmann <hoffmann@cs.fau.de> - */ - -#ifndef SPIBUS_H_ -#define SPIBUS_H_ - -#include <stdint.h> -#include "DigitalDevice.h" -//! \note The actual implementation is determined by the header search path, which depends on the CMake build type (microcontroller platform) -#include "Config.h" -#include "SPIBusImpl.h" - -namespace hal { - -/** - * \class SPIBus - * \brief SPI Interface Abstractions - * - * This is the basic "abstract" class of the - * SPI interface (some sort of Pimpl pattern). - * A SPI::Impl class - * holds the hardware dependent implementation. - */ -class SPIBus { - SPIBusImpl* m_impl; -public: - - SPIBus(uint8_t const device) { - if(device == 1) m_impl = &spibus1; - if(device == 2) m_impl = &spibus2; - }; - /** - * \brief Interface initialization - * - * This method just calls the init method - * of a global SPI::Impl "Singleton" - */ - void init( hal::spi::Mode_t mode) const { m_impl->init(mode); } - - - /** - * \brief SPI send routine - * @param address SPI Slave address - * @param data Buffer to read data to send - * @param length Buffer/Message length - * @return - */ - uint32_t master_send(DigitalDevice& slave, uint8_t* txbuf, uint8_t* rxbuf, uint32_t length, hal::spi::tx_callback cb) const { - return m_impl->send_nonblocking(slave, txbuf, rxbuf, length, cb); - } - - - /** - * \brief SPI slave receive routine - * @param address Slave Select line to wait for data - * @param data Buffer to input/output data - * @param length Buffer/Message length - * @return - */ - uint32_t slave_receive(DigitalDevice& slave, uint8_t* rxbuf, uint8_t* txbuf, uint32_t length, hal::spi::rx_callback cb) const { - return m_impl->receive_nonblocking(slave, rxbuf, txbuf, length, cb); - } -}; - -} // end of namespace - -#endif /* SPIBUS_H_ */ diff --git a/03_TMR/libEZS/include/ezs_adc.h b/03_TMR/libEZS/include/ezs_adc.h deleted file mode 100644 index 0af07fac905ff6e52d468ff159a650da6000e1ca..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_adc.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef EZS_ADC_H_INCLUDED -#define EZS_ADC_H_INCLUDED - -/*! - * @file ezs_adc.h - * @brief A very simple AD converter, based on Fail* - * @author Martin Hoffmann - * \ingroup dac - */ - -#include <stdint.h> - -/*! - * \brief Get a value from the ADC. - */ -uint8_t ezs_adc_read(void); - - -#endif // EZS_ADC_H_INCLUDED diff --git a/03_TMR/libEZS/include/ezs_common.h b/03_TMR/libEZS/include/ezs_common.h deleted file mode 100644 index c6454a4712398b1afe82ba5d5c4dad4869241926..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_common.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef EZS_COMMON_H_INCLUDED -#define EZS_COMMON_H_INCLUDED - -/*! - * @file ezs_common.h - * @brief common functions for EZS - * @author Florian Franzmann - * \ingroup common - */ - -#include <stdint.h> - - - -/*! - * \brief returns the low byte of value - */ -uint8_t ezs_low_byte(uint16_t value); - -/*! - * \brief returns the high byte of value - */ -uint8_t ezs_high_byte(uint16_t value); - - -#endif // EZS_COMMON_H_INCLUDED diff --git a/03_TMR/libEZS/include/ezs_counter.h b/03_TMR/libEZS/include/ezs_counter.h deleted file mode 100644 index f5b8fc2db34f7eb26e1e1e4661db940900e1f771..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_counter.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef EZS_COUNTER_H_INCLUDED -#define EZS_COUNTER_H_INCLUDED - -/*! - * @file ezs_counter.h - * @brief A simple counter interface. Implemented for tricore and for fail* - * @authors Martin Hoffmann, Tobias Klaus - * \ingroup counter - */ - -#include <cyg/infra/cyg_type.h> - -#ifdef __cplusplus -extern "C" { -#endif -/*! - * \brief This function has to be called exactly once so ezs_counter_get() - * yields meaningfull results. - */ -void ezs_counter_init(void); - -/** - * \brief Read the current counter value from the hardware counter. - * @return counter value (for time resolution \see ezs_counter_resolution_us) - */ -cyg_uint64 ezs_counter_get(void); - -/** - * \brief Returns the current time resolution of the hardware counter. - * @return tick resolution in microseconds - * @retval 0 Resolution cannot be expressed in this granularity. Try another one. - */ -cyg_uint64 ezs_counter_resolution_us(void); -/** - * \brief Returns the current time resolution of the hardware counter. - * @return tick resolution in picoseconds - * @retval 0 Resolution cannot be expressed in this granularity. Try another one. - */ -cyg_uint64 ezs_counter_resolution_ps(void); - -#ifdef __cplusplus -} -#endif - -#endif // EZS_COUNTER_H_INCLUDED diff --git a/03_TMR/libEZS/include/ezs_dac.h b/03_TMR/libEZS/include/ezs_dac.h deleted file mode 100644 index 8ede635aaab9ba8e0af9e9726d8aab012a39313f..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_dac.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef EZS_DAC_H_INCLUDED -#define EZS_DAC_H_INCLUDED - -/*! - * @file ezs_dac.h - * @brief A very simple DA converter. Implemented for tricore and for fail* - * @authors Martin Hoffmann, Tobias Klaus - * \ingroup dac - */ - -#include <stdint.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/*! - * \brief Initializes the DAC. This function has to be called exactly once - * so ezs_dac_write() exhibits defined behaviour. - */ -void ezs_dac_init(void); - -/*! - * \brief Write a value to the DAC. - */ -void ezs_dac_write(uint8_t value); - -#ifdef __cplusplus -} -#endif - - -#endif // EZS_DAC_H_INCLUDED diff --git a/03_TMR/libEZS/include/ezs_fb.h b/03_TMR/libEZS/include/ezs_fb.h deleted file mode 100644 index 2720196f504570ba078d4ad15691c65fd9754b12..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_fb.h +++ /dev/null @@ -1,115 +0,0 @@ -/*! - * @file ezs_fb.h - * @brief eCos framebuffer helper - * @author Martin Hoffmann - * \ingroup hw - * Some helper functions for the eCos framebuffer driver. - * \note You can still use the eCos functions directly, of course - * - */ - -#ifndef __FB_H_ -#define __FB_H_ - -#include <cyg/infra/cyg_type.h> -#include <cyg/infra/diag.h> -#include <cyg/hal/hal_arch.h> -#include <cyg/io/framebuf.h> -#include <string.h> -#include <stdio.h> - -#define FRAMEBUF fb0 -#define FB_WIDTH CYG_FB_WIDTH(FRAMEBUF) -#define FB_HEIGHT CYG_FB_HEIGHT(FRAMEBUF) - -#define FB_BLACK 0 -#define FB_WHITE ((16*4)-1) - -#define FB_FONT_SMILE 1 - -/*! - * \brief Initialize the framebuffer. Call this function exactly once before - * using any of the other framebuffer related functions. - */ -void ezs_fb_init(void); - -/*! - * \brief Fill block. - * \param x X-Axis start position. - * \param y Y-Axis start position. - * \param width Width of the box. - * \param height Height of the box. - * \param color Color. - */ -void ezs_fb_fill_block(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 width, - cyg_ucount16 height, cyg_fb_colour color); - -/*! - * \brief Draw horizontal line. - * \param x X-Axis start position. - * \param y Y-Axis start position. - * \param len length of the line. - * \param color Color. - */ -void ezs_fb_hline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, - cyg_fb_colour color); - -/*! - * \brief Draw vertical line. - * \param x X-Axis start position. - * \param y Y-Axis start position. - * \param len length of the line. - * \param color Color. - */ -void ezs_fb_vline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, - cyg_fb_colour color); - -/*! - * \brief Clear the framebuffer. - * \param color Color. - */ -void ezs_fb_clear(cyg_fb_colour color); - -/* and so on.. see: http://ecos.sourceware.org/docs-latest/ref/framebuf-drawing.html */ - -/*! - * \brief Prints a character at a given position. - * \param c Character to print. - * \param x X-Axis position. - * \param y Y-Axis position. - * \param color Color. - */ -void ezs_fb_print_char(int c, cyg_ucount16 x, cyg_ucount16 y, - cyg_fb_colour color); - -/*! - * \brief Prints a string at a given position. - * \param c Pointer to null terminated string. - * \param x X-Axis position. - * \param y Y-Axis position. - * \param color Color. - */ -void ezs_fb_print_string_cur(char* c, cyg_ucount16 x, cyg_ucount16 y, - cyg_fb_colour color); - -/*! - * \brief Prints a string. - * \param c Pointer to null terminated string. - * \param color String color. - */ -void ezs_fb_print_string(char* c, cyg_fb_colour color); - -/*! - * \brief Sets the cursor to a new line. - */ -void ezs_fb_newline(void); - -/*! - * \brief Sets the cursor to an arbitrary position. - * \param x X-axis position (0 .. FB_WIDTH) - * \param y Y-axis position (0 .. FB_HEIGHT) - */ -void ezs_fb_setpos(cyg_ucount16 x, cyg_ucount16 y); - -#endif - diff --git a/03_TMR/libEZS/include/ezs_fft.h b/03_TMR/libEZS/include/ezs_fft.h deleted file mode 100644 index 39095aa438782ed5913bd4907619f369c7076af3..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_fft.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef EZS_DSP_FFT_H -#define EZS_DSP_FFT_H - - -/** - * \defgroup dsp Digital Signal Processing (DSP) - */ - -/** - * \file ezs_fft.h Fast fourier transformation - * \ingroup dsp - * \brief calculates the power density spectrum of in[] - */ - - - -/** - * \brief Calculates the PDS of a given time domain signal - * \param in input, time domain signal. - * \param out output, out[0] to out[length / 2 - 1] contains the power density spectrum of in[] in dB - * \param length of in[]. Must be a power of 2. The size of out[] must be at least length / 2 - 1. - * - * \note Be careful, only rudimentary error checking is performed. - * \see http://en.wikipedia.org/wiki/Spectral_density - */ -void ezs_power_density_spectrum(float in[], float out[], int length); - -/** - * \brief Calculates the PDS of a given time domain signal - * \param in input, time domain signal. - * \param out output, contains the power density spectrum of in[] in dB. - * \param length of in[]. Must be a power of 2. The size of out[] must be at least length/2 - 1. - * - * This is a convenience function that calls ezs_power_density_spectrum(). - * - * \note Be careful, only rudimentary error checking is performed. - * \see http://en.wikipedia.org/wiki/Spectral_density - */ -void ezs_easy_pds(cyg_uint32 in[], float out[], int length); - - -#endif // EZS_DSP_FFT_H diff --git a/03_TMR/libEZS/include/ezs_gcd.h b/03_TMR/libEZS/include/ezs_gcd.h deleted file mode 100644 index 76aabd192ee0c115d170641a36526d488d1a3ded..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_gcd.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef EZS_MATH_GCD_H -#define EZS_MATH_GCD_H -/** - * \defgroup math Math stuff - */ - -/** - * \file ezs_gcd.h - * \ingroup math - * \brief Greatest common divisor implementation - */ - - -/** - * \brief calculates the greatest common divisor of a and b - */ -int ezs_greatest_common_divisor(int a, int b); - -/** - * \brief calculates the lowest common multiple of a and b - */ -int ezs_lowest_common_multiple(int a, int b); - -#endif // EZS_MATH_GCD_H diff --git a/03_TMR/libEZS/include/ezs_gpio.h b/03_TMR/libEZS/include/ezs_gpio.h deleted file mode 100644 index 9532d9745674cbc9b7cfa5def0a77d0ea652eb14..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_gpio.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef EZS_GPIO_H_INCLUDED -#define EZS_GPIO_H_INCLUDED - -#include <stdbool.h> -/** - * \file ezs_gpio.h - * \ingroup hw - * \brief Access to General Purpose Input/Output pins - */ - -/** - * \brief Call this function exactly once to initialize the GPIO system. - * As long as this function has not been called, calls to other functions in - * this module have undefined behaviour. - */ -void ezs_gpio_init(void); - -/** - * \brief Sets the GPIO pin to high (enabled == true) or low (enabled == - * false). - */ -void ezs_gpio_set(bool /* enabled */); - -#endif // EZS_GPIO_H_INCLUDED diff --git a/03_TMR/libEZS/include/ezs_interpolation.h b/03_TMR/libEZS/include/ezs_interpolation.h deleted file mode 100644 index c1dab000e947c8cb8ba3d6fab7bf5875d5d738dd..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_interpolation.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef EZS_INTERPOLATION_H -#define EZS_INTERPOLATION_H - -/** - * \file ezs_interpolation.h - * \ingroup dsp - * \brief performs linear resampling of in[] and writes the result to out[] - * @see http://en.wikipedia.org/wiki/Sample_rate_conversion - * @see http://en.wikipedia.org/wiki/Linear_interpolation - */ -void ezs_resample_linear(float in[], size_t in_length, float out[], - size_t out_length); -#endif // EZS_INTERPOLATION_H diff --git a/03_TMR/libEZS/include/ezs_io.h b/03_TMR/libEZS/include/ezs_io.h deleted file mode 100644 index d0935bc23d40821d56911350646d4261bdc70bca..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_io.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef EZS_IO_H_INCLUDED -#define EZS_IO_H_INCLUDED - -#include <cyg/infra/cyg_type.h> - -/** - * \file ezs_io.h - * \brief Input/Output primitives - */ - -/** - * \brief print value annotated with timestamp. The exact means of printing are - * subject to the underlying hardware. - */ -void ezs_print_measurement(cyg_uint32 timestamp, cyg_uint32 value); - -#endif // EZS_IO_H_INCLUDED diff --git a/03_TMR/libEZS/include/ezs_keycodes.h b/03_TMR/libEZS/include/ezs_keycodes.h deleted file mode 100644 index c9cdf8cdf2eae720d00bc6f40aed210cda01f9c4..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_keycodes.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef __KEYCODES_H__ -#define __KEYCODES_H__ -/** - * @file ezs_keycodes.h - * - * @brief Keyboard keycodes. - * @author Martin Hoffmann - */ - - -/** - * Get character from keyboard code. - */ -unsigned char ezs_get_char_from_keycode(unsigned char code); - -#endif diff --git a/03_TMR/libEZS/include/ezs_outputs.h b/03_TMR/libEZS/include/ezs_outputs.h deleted file mode 100644 index c2fd3a7cd3c448dfc0cd8768c696bbcea1fafc79..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_outputs.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef EZS_OUTPUTS_H_INCLUDED -#define EZS_OUTPUTS_H_INCLUDED - -/*! - * @file ezs_common.h - * @brief common functions for EZS - * @author Florian Franzmann - * \ingroup common - */ - -#include <stdint.h> - -void outputs_init(void); - -/*! - * \brief returns the low byte of value - */ -void ezs_setOutputA(uint16_t); -void ezs_setOutputB(uint16_t); -void ezs_setOutputC(uint16_t); - -#endif // EZS_OUTPUTS_H_INCLUDED diff --git a/03_TMR/libEZS/include/ezs_plot.h b/03_TMR/libEZS/include/ezs_plot.h deleted file mode 100644 index 4d85004474f29c27703de2f8a514ad854b1f5bd1..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_plot.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef EZS_PLOT_H -#define EZS_PLOT_H -#include <cyg/infra/cyg_type.h> -#include <cyg/io/framebuf.h> - -/** - * \defgroup plot Graph plotting - */ - - -/** - * \file ezs_plot.h - * \ingroup plot - * \brief Helper function to plot a <b>time domain signal</b> - */ - -/** - * \brief Plots a <b>time signal</b> of given length to framebuffer - * - * @param data A pointer of data values - * @param length The size of the data array - * @param foreground The foreground color: e.g. FB_WHITE - * @param background The background color: e.g. FB_BLACK - */ -void ezs_plot(cyg_uint32 data[], size_t length, cyg_fb_colour foreground, - cyg_fb_colour background); - -#endif // EZS_PLOT_H diff --git a/03_TMR/libEZS/include/ezs_plot_pds.h b/03_TMR/libEZS/include/ezs_plot_pds.h deleted file mode 100644 index 132d3f3467e182f30f19980abb7ef83a6398481b..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_plot_pds.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef EZS_PLOT_PDS_H -#define EZS_PLOT_PDS_H -#include "ezs_fb.h" - -/** - * \file ezs_plot_pds.h - * \ingroup plot - * \brief plot an previously calculated <b>power density spectrum</b> - * - * @param spectrum The caculated pds data - * @param length The length of the pds array - * @param foreground The framebuffer foreground color - * @param background The framebuffer background color - */ -void ezs_plot_pds(float spectrum[], int length, cyg_fb_colour foreground, - cyg_fb_colour background); - -#endif // EZS_PLOT_PDS_H diff --git a/03_TMR/libEZS/include/ezs_rs232.h b/03_TMR/libEZS/include/ezs_rs232.h deleted file mode 100644 index fa4008a1fdcf75a77bce04bc28dd9c0301f0e375..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_rs232.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef EZS_RS232_H_INCLUDED -#define EZS_RS232_H_INCLUDED - -#include <stdint.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \file ezs_rs232.h - * \ingroup hw - * \brief Functions for using the RS232 interface. - */ - -/** - * \brief initializes the RS232 interface. Call this function exactly once - * before using any other function provided by this module. - */ -void ezs_rs232_init(uint32_t /* baudrate */, uint8_t /* irq */); - -/** - * \brief writes a single byte to the RS232 interface. - */ -void ezs_rs232_putc(uint8_t /* c */); - -/** - * \brief consumes a single byte from the RS232 interface's input buffer. - */ -uint8_t ezs_rs232_getc(void); - -/** - * \brief Marks the current RS232 interrupt as handled. - */ -void ezs_rs232_acknowledge_rx_interrupt(void); - -#ifdef __cplusplus -} -#endif - -#endif // EZS_RS232_H_INCLUDED diff --git a/03_TMR/libEZS/include/ezs_sensors.h b/03_TMR/libEZS/include/ezs_sensors.h deleted file mode 100644 index 81e171955009caabebb69e5047a35dfe7b9fe22a..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_sensors.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef EZS_SENSORS_H_INCLUDED -#define EZS_SENSORS_H_INCLUDED - -/*! - * @file ezs_common.h - * @brief common functions for EZS - * @author Florian Franzmann - * \ingroup common - */ - -#include <stdint.h> - -void sensors_init(void); - -/*! - * \brief returns the low byte of value - */ -uint16_t ezs_getValueSensorA(void); -uint16_t ezs_getValueSensorB(void); -uint16_t ezs_getValueSensorC(void); - -#endif // EZS_SENSORS_H_INCLUDED diff --git a/03_TMR/libEZS/include/ezs_stopwatch.h b/03_TMR/libEZS/include/ezs_stopwatch.h deleted file mode 100644 index 42fb2472e624604d2c41095c9170560764705ae7..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_stopwatch.h +++ /dev/null @@ -1,39 +0,0 @@ -/*! - * @file ezs_stopwatch.h - * A stopwatch for time measurement and - * WCET generation. - * - * \ingroup hw - * @brief EZS time measurement and WCET generation - * @author Martin Hoffmann - */ - -#ifndef __STOPWATCH_H_ -#define __STOPWATCH_H_ -#include <cyg/infra/cyg_type.h> - -/** - * Start stop watch. - * @param state Pointer to a state variable - */ -void ezs_watch_start(cyg_uint32* state); - -/** - * Stop watch and return time in timer's ticks. - * @param state Pointer to a state variable - * @see ezs_watch_start - */ -cyg_uint32 ezs_watch_stop(cyg_uint32* state); - -/** - * Waits actively for WCET simulation. - * @param wcet Desired time to wait actively in in ticks. - * Beware! Not too small amounts of ticks may be undetectable. - * Thus this function may not support small granularities. - * @param percentage Maximal percentage of the wcet that might NOT be lost to better simulate real workload. Values above 100 are mapped to 100 - */ -void ezs_lose_time(cyg_uint32 wcet, cyg_uint8 percentage); - - -#endif - diff --git a/03_TMR/libEZS/include/ezs_trace.h b/03_TMR/libEZS/include/ezs_trace.h deleted file mode 100644 index 3c5056c777c357cb3caeedf217e047bd17f93cb4..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_trace.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef EZS_TRACER_H -#define EZS_TRACER_H - -/** - * \file ezs_trace.h - * \brief Functions for execution tracing. - */ - -/** - * \brief initializes execution tracing - */ -int ezs_trace_init(void); - -#endif diff --git a/03_TMR/libEZS/include/ezs_window.h b/03_TMR/libEZS/include/ezs_window.h deleted file mode 100644 index c70b8e444db20d52e7c3ea9ab34dbf916a6e58af..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/ezs_window.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef EZS_DSP_WINDOW_H -#define EZS_DSP_WINDOW_H - -/** - * \file ezs_window.h - * \ingroup dsp - * \brief Various FFT window implementations - * \author Florian Franzmann - * \note only for internal use. - */ - -/** - * \brief This function calculates the weights for a rectangulage window - * \return always returns 1.0 - */ -float ezs_rect_window(float alpha, int position, int length); - -/** - * \brief This function calculates the weights for a blackman window - */ -float ezs_blackman_window(float alpha, int position, int length); - -/*! - * \brief This function calculates the weights for a hamming window - */ -float ezs_hamming_window(float alpha, int position, int length); - -#endif // EZS_DSP_WINDOW_H diff --git a/03_TMR/libEZS/include/fixedpoint.h b/03_TMR/libEZS/include/fixedpoint.h deleted file mode 100644 index d4bec65deaf0863aaccc291f4524b85323db073c..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/include/fixedpoint.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef FIXEDPOINT_H_INCLUDED -#define FIXEDPOINT_H_INCLUDED - -#include <stdint.h> - -int8_t float_to_q(float f); - -float q_to_float(int8_t q); - -int8_t q_add(int8_t s1, int8_t s2); - -int8_t q_sub(int8_t minuend, int8_t subtrahend); - -int8_t q_mul(int8_t fac1, int8_t fac2); - -int8_t q_div(int8_t divident, int8_t divisor); - -#endif // FIXEDPOINT_H_INCLUDED diff --git a/03_TMR/libEZS/src/ezs_common.c b/03_TMR/libEZS/src/ezs_common.c deleted file mode 100644 index cb8146982ebf75e04891343cfbf165e07c03cde1..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_common.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "ezs_common.h" - -uint8_t ezs_low_byte(uint16_t value) { - return (uint8_t) (value & 0xFF); -} - -uint8_t ezs_high_byte(uint16_t value) { - return (uint8_t) ((value & 0xFF00) >> 8); -} - diff --git a/03_TMR/libEZS/src/ezs_dac.c b/03_TMR/libEZS/src/ezs_dac.c deleted file mode 100644 index 2c3295e6137db2464138b02f6ec11c0139e8e235..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_dac.c +++ /dev/null @@ -1,21 +0,0 @@ -/*! - * @file ezs_dac.c - * @brief A very simple DA converter, based on Fail* - * @author Martin Hoffmann - * \ingroup dac - */ -#include <stdint.h> -#include "ezs_dac.h" - -static volatile uint8_t ezs_dac_out_register; - -/*! - * \brief Write a value to the DAC - */ -void ezs_dac_write(uint8_t value) { - ezs_dac_out_register = value; -} - -void ezs_dac_init() { -} - diff --git a/03_TMR/libEZS/src/ezs_fb.c b/03_TMR/libEZS/src/ezs_fb.c deleted file mode 100644 index 1a1493a152436c2f4dc287b2909e7bb1695de497..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_fb.c +++ /dev/null @@ -1,93 +0,0 @@ -#include "libEZS/include/ezs_fb.h" -typedef struct { - int x; - int y; -} cursor_t; - -static cursor_t cursor; -void ezs_fb_init(void) { - CYG_FB_ON(FRAMEBUF); - CYG_FB_FILL_BLOCK(FRAMEBUF, 0, 0, FB_WIDTH, FB_HEIGHT, 0); - cursor.x = 0; - cursor.y = 0; -} - - -void ezs_fb_fill_block(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 width, - cyg_ucount16 height, cyg_fb_colour color) { - CYG_FB_FILL_BLOCK(FRAMEBUF, x, y, width, height, color); -} - - -void ezs_fb_hline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, - cyg_fb_colour color) { - CYG_FB_WRITE_HLINE(FRAMEBUF, x, y, len, color); -} - - -void ezs_fb_vline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, - cyg_fb_colour color) { - - CYG_FB_WRITE_VLINE(FRAMEBUF, x, y, len, color); -} - -void ezs_fb_clear(cyg_fb_colour color) { - ezs_fb_fill_block(0, 0, FB_WIDTH, FB_HEIGHT, color); -} - - -void ezs_fb_print_char( int ch, cyg_ucount16 x, cyg_ucount16 y, - cyg_fb_colour color) { - int i, j; - - for (i = ch * 8; i < (ch * 8) + 8; i++) { - unsigned char row = g_8x8_font[i]; - - for (j = 0; j < 8; j++) { - if ((row & (0x80 >> j)) != 0) { - ezs_fb_fill_block(x + j, y + (i - ch * 8), 1, 1, color); - } - } - } - -} - -void ezs_fb_print_string(char* c, cyg_fb_colour color) { - ezs_fb_print_string_cur(c, cursor.x, cursor.y, color); -} - -void ezs_fb_print_string_cur(char* c, cyg_ucount16 x, cyg_ucount16 y, - cyg_fb_colour color) { - char* ch = c; - - while (*ch != '\0') { - if (*ch == '\n') { - ezs_fb_newline(); - } - else { - ezs_fb_print_char((*ch) + 0, x , y, color); - x = x + 8; - - if ( x >= FB_WIDTH - 8) { - y += 8; - x = 0; - } - } - - ch++; - } - - cursor.x = x; - cursor.y = y; -} - -void ezs_fb_newline(void) { - cursor.x = 0; - cursor.y += 8; -} - -void ezs_fb_setpos(cyg_ucount16 x, cyg_ucount16 y) { - cursor.x = x; - cursor.y = y; -} - diff --git a/03_TMR/libEZS/src/ezs_fft.c b/03_TMR/libEZS/src/ezs_fft.c deleted file mode 100644 index c42549e159106096dd9f4568c903b1b16ec341e9..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_fft.c +++ /dev/null @@ -1,219 +0,0 @@ -/**************************************************************************** -* rfft(float X[],int N) * -* A real-valued, in-place, split-radix FFT program * -* Decimation-in-time, cos/sin in second loop * -* Input: float X[1]...X[N] (NB Fortran style: 1st pt X[1] not X[0]!) * -* Length is N=2**M (i.e. N must be power of 2--no error checking) * -* Output in X[1]...X[N], in order: * -* [Re(0), Re(1),..., Re(N/2), Im(N/2-1),..., Im(1)] * -* * -* Original Fortran code by Sorensen; published in H.V. Sorensen, D.L. Jones,* -* M.T. Heideman, C.S. Burrus (1987) Real-valued fast fourier transform * -* algorithms. IEEE Trans on Acoustics, Speech, & Signal Processing, 35, * -* 849-863. Adapted to C by Bill Simpson, 1995 wsimpson@uwinnipeg.ca * -****************************************************************************/ - -#include <math.h> -#include <assert.h> -#include <string.h> -#include <float.h> -#include "ezs_fft.h" -#include "ezs_window.h" - -#define EZS_ADC_MAXIMUM 255.0f - -void rfft(float X[], int N) { - assert(log(N) / log(2.0) == floor(log(N) / log(2.0))); - int I, I0, I1, I2, I3, I4, I5, I6, I7, I8, IS, ID; - int J, K, M, N2, N4, N8; - float A, A3, CC1, SS1, CC3, SS3, E, R1, XT; - float T1, T2, T3, T4, T5, T6; - - M = (int)(log(N) / log(2.0)); /* N=2^M */ - - /* ----Digit reverse counter--------------------------------------------- */ - J = 1; - - for (I = 1; I < N; I++) { - if (I < J) { - XT = X[J]; - X[J] = X[I]; - X[I] = XT; - } - - K = N / 2; - - while (K < J) { - J -= K; - K /= 2; - } - - J += K; - } - - /* ----Length two butterflies--------------------------------------------- */ - IS = 1; - ID = 4; - - do { - for (I0 = IS; I0 <= N; I0 += ID) { - I1 = I0 + 1; - R1 = X[I0]; - X[I0] = R1 + X[I1]; - X[I1] = R1 - X[I1]; - } - - IS = 2 * ID - 1; - ID = 4 * ID; - } - while (IS < N); - - /* ----L shaped butterflies----------------------------------------------- */ - N2 = 2; - - for (K = 2; K <= M; K++) { - N2 = N2 * 2; - N4 = N2 / 4; - N8 = N2 / 8; - E = (float) 6.2831853071719586f / N2; - IS = 0; - ID = N2 * 2; - - do { - for (I = IS; I < N; I += ID) { - I1 = I + 1; - I2 = I1 + N4; - I3 = I2 + N4; - I4 = I3 + N4; - T1 = X[I4] + X[I3]; - X[I4] = X[I4] - X[I3]; - X[I3] = X[I1] - T1; - X[I1] = X[I1] + T1; - - if (N4 != 1) { - I1 += N8; - I2 += N8; - I3 += N8; - I4 += N8; - T1 = (X[I3] + X[I4]) * .7071067811865475244f; - T2 = (X[I3] - X[I4]) * .7071067811865475244f; - X[I4] = X[I2] - T1; - X[I3] = -X[I2] - T1; - X[I2] = X[I1] - T2; - X[I1] = X[I1] + T2; - } - } - - IS = 2 * ID - N2; - ID = 4 * ID; - } - while (IS < N); - - A = E; - - for (J = 2; J <= N8; J++) { - A3 = 3.0 * A; - CC1 = cos(A); - SS1 = sin(A); /*typo A3--really A?*/ - CC3 = cos(A3); /*typo 3--really A3?*/ - SS3 = sin(A3); - A = (float)J * E; - IS = 0; - ID = 2 * N2; - - do { - for (I = IS; I < N; I += ID) { - I1 = I + J; - I2 = I1 + N4; - I3 = I2 + N4; - I4 = I3 + N4; - I5 = I + N4 - J + 2; - I6 = I5 + N4; - I7 = I6 + N4; - I8 = I7 + N4; - T1 = X[I3] * CC1 + X[I7] * SS1; - T2 = X[I7] * CC1 - X[I3] * SS1; - T3 = X[I4] * CC3 + X[I8] * SS3; - T4 = X[I8] * CC3 - X[I4] * SS3; - T5 = T1 + T3; - T6 = T2 + T4; - T3 = T1 - T3; - T4 = T2 - T4; - T2 = X[I6] + T6; - X[I3] = T6 - X[I6]; - X[I8] = T2; - T2 = X[I2] - T3; - X[I7] = -X[I2] - T3; - X[I4] = T2; - T1 = X[I1] + T5; - X[I6] = X[I1] - T5; - X[I1] = T1; - T1 = X[I5] + T4; - X[I5] = X[I5] - T4; - X[I2] = T1; - } - - IS = 2 * ID - N2; - ID = 4 * ID; - } - while (IS < N); - } - } - - return; -} - -float db(float real, float imag) { - float square = real * real + imag * imag; - - if (square == 0.0f) { - square = FLT_MIN * 10.0f; - } - - float ret = 10.0f * log(square) / log(10.0f); - return ret; -} - -void ezs_power_density_spectrum(float in[], float out[], int length) { - assert(length > 0); - assert(log((float) length) / log(2.0f) == floor(log((float) length) / log( - 2.0f))); - - { - int i; - - for (i = 0; i < length; ++i) { - out[i] = ezs_blackman_window(0.16f, i, length) * in[i]; - } - } - rfft(&out[-1], length); - float scale = (float) length / 2.0f; - { - int i; - - for (i = 0; i < length; ++i) { - int second = length - i - 1; - assert(second < length); - assert(0 <= second); - out[i] = db(out[i] / scale, out[length - i - 1] / scale); - } - } -} - -void ezs_easy_pds(cyg_uint32 in[], float out[], int length) { - float in_f[length]; - - { - int i = 0; - - for (i = 0; i < length; ++i) { - in_f[i] = (((float) in[i]) - (EZS_ADC_MAXIMUM / 2.0f)) / EZS_ADC_MAXIMUM; - } - } - - float tmp[length]; - ezs_power_density_spectrum(in_f, tmp, length); - - memcpy(out, tmp, (length / 2) * sizeof(float)); -} - diff --git a/03_TMR/libEZS/src/ezs_gcd.c b/03_TMR/libEZS/src/ezs_gcd.c deleted file mode 100644 index 6029589a0b59f1132d439a554d9b2bc6c648770e..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_gcd.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "ezs_gcd.h" -#include <math.h> -#include <stdlib.h> - -int ezs_greatest_common_divisor(int a, int b) { - a = abs(a); - b = abs(b); - - while (b != 0) { - int tmp = b; - b = a % b; - a = tmp; - } - - return a; -} - -int ezs_lowest_common_multiple(int a, int b) { - return abs(a * b) / ezs_greatest_common_divisor(a, b); -} diff --git a/03_TMR/libEZS/src/ezs_impure_ptr.c b/03_TMR/libEZS/src/ezs_impure_ptr.c deleted file mode 100644 index 2bcce4eecc67716dddaadc5346b1742b437208c3..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_impure_ptr.c +++ /dev/null @@ -1 +0,0 @@ -struct _reent* _impure_ptr = 0; diff --git a/03_TMR/libEZS/src/ezs_interpolation.c b/03_TMR/libEZS/src/ezs_interpolation.c deleted file mode 100644 index 7de20d4786641d09c25000b71843c1738fc96c96..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_interpolation.c +++ /dev/null @@ -1,82 +0,0 @@ -#include "ezs_gcd.h" -#include <stddef.h> -#include <assert.h> - -float linear_interpolation(float first, float second, float alpha) { - float ret = (1.0f - alpha) * first + alpha * second; - printf("%f * %f + %f * %f = %f\n", 1.0f - alpha, first, alpha, second, ret); - return ret; -} - -void ezs_resample_linear(float in[], size_t in_length, float out[], - size_t out_length) { - size_t lcm = ezs_lowest_common_multiple(in_length, out_length); - size_t size = lcm + 1; - float tmp[size]; - - - { - size_t in_stride = size / (in_length - 1); - size_t i = 0; - - for (i = 0; i < in_length - 1; ++i) { - size_t j = 0; - - for (j = 0; j < in_stride; ++j) { - float alpha = ((float) (j)) / ((float) in_stride - 1); - - size_t first_position = i; - size_t second_position = i + 1; - - size_t target_position = i * in_stride + j; - assert(target_position < size); - - tmp[target_position] = linear_interpolation(in[first_position], - in[second_position], alpha); - } - } - - tmp[size - 1] = in[in_length - 1]; - } - - { - size_t out_stride = lcm / (out_length - 1); - int i = 0; - - for (i = 0; i < out_length; ++i) { - size_t source_position = i * out_stride; - assert(source_position < size); - - out[i] = tmp[source_position]; - } - - out[out_length - 1] = tmp[size - 1]; - } -} - -/* -int main() -{ -#define IN_LENGTH 512 -#define OUT_LENGTH 320 - float input[IN_LENGTH]; - { - int i; - for (i = 0; i < IN_LENGTH; ++i) { - input[i] = i + 1; - } - } - float output[OUT_LENGTH]; - - ezs_resample_linear(input, IN_LENGTH, output, OUT_LENGTH); - int i; - for (i = 0; i < IN_LENGTH; ++i) { - printf("%f ", input[i]); - } - printf("\n"); - for (i = 0; i < OUT_LENGTH; ++i) { - printf("%f ", output[i]); - } - printf("\n"); -} -*/ diff --git a/03_TMR/libEZS/src/ezs_io.c b/03_TMR/libEZS/src/ezs_io.c deleted file mode 100644 index 9adaeb3824721ecde42360535eb22a0ef1d7036d..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_io.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "ezs_io.h" - -#include <cyg/infra/diag.h> - -#include <string.h> -#include <stdio.h> - -void ezs_print_measurement(cyg_uint32 timestamp, cyg_uint32 value) { - const size_t buffer_length = 10 /* first number */ - + 1 /* separator */ - + 10 /* second number */ - + 1 /* newline */ - + 1 /* terminating null byte */ ; - char buffer[buffer_length]; - memset(buffer, 0, buffer_length); - snprintf(buffer, buffer_length, "%u;%u\n", (unsigned int)timestamp, - (unsigned int)value); - diag_printf(buffer); -} - diff --git a/03_TMR/libEZS/src/ezs_outputs.c b/03_TMR/libEZS/src/ezs_outputs.c deleted file mode 100644 index 956e8d9c33a23389fea0bab45de63175342e64b6..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_outputs.c +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * @file ezs_outputs.c - * @brief output stubs functions for VEZS - * @author Tobias Klaus - * \ingroup common - */ - -#include "ezs_outputs.h" - -void outputs_init(void) { - return; -} - -/*! - * \brief returns the low byte of value - */ -static uint16_t valueA = 0; -static uint16_t valueB = 0; -static uint16_t valueC = 0; - - -void ezs_setOutputA(uint16_t v) { - valueA = v; -} -void ezs_setOutputB(uint16_t v) { - valueB = v; -} -void ezs_setOutputC(uint16_t v) { - valueC = v; -} - diff --git a/03_TMR/libEZS/src/ezs_plot.c b/03_TMR/libEZS/src/ezs_plot.c deleted file mode 100644 index 3032cee14428a84594d7c28aec6007ab6e09b2fe..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_plot.c +++ /dev/null @@ -1,147 +0,0 @@ -#include "ezs_plot.h" -#include "ezs_fb.h" -#include <stdio.h> -#include <math.h> -#include <assert.h> - - -void ezs_plot(cyg_uint32 data[], size_t length, cyg_fb_colour foreground, - cyg_fb_colour background) { - ezs_fb_clear(background); - { - size_t i = 0; - - for (i = 1; i < length; ++i) { - assert(data[i] < 1024); - cyg_ucount16 y = (((int) data[i]) * FB_HEIGHT) / 1024; - - ezs_fb_vline(i, FB_HEIGHT - y, 1, foreground); - } - } -} - -void ezs_plot_drawCoordSystem(void) { - // y-axis - ezs_fb_vline(1, 0, FB_HEIGHT, CYG_FB_DEFAULT_PALETTE_BLACK); - ezs_fb_hline(0, 1, 3, CYG_FB_DEFAULT_PALETTE_BLACK); - - // x-axis - ezs_fb_hline(0, FB_HEIGHT - 2, FB_WIDTH, CYG_FB_DEFAULT_PALETTE_BLACK); - ezs_fb_vline(FB_WIDTH - 2, FB_HEIGHT - 3, 3, CYG_FB_DEFAULT_PALETTE_BLACK); -} - -void ezs_plot_markXaxis(short numberOfMarks) { - - int delta = (FB_WIDTH - 1) / (numberOfMarks + 1); - int shift = delta + 1; - - int i; - - for (i = 0; i < numberOfMarks; ++i) { - ezs_fb_vline(shift, FB_HEIGHT - 4, 3, CYG_FB_DEFAULT_PALETTE_BLACK); - shift += delta; - } -} - -void ezs_plot_markYaxis(short numberOfMarks) { - - int delta = (FB_HEIGHT - 1) / (numberOfMarks + 1); - int shift = FB_HEIGHT - 1 - delta; - - int i; - - for (i = 0; i < numberOfMarks + 1; ++i) { - ezs_fb_hline(0, shift, 3, CYG_FB_DEFAULT_PALETTE_BLACK); - shift -= delta; - } -} - -void ezs_plot_drawBarOnCoordSystem(float upperBound, float lowerBound, - float inputArray[], int sizeOfArray) { - - // Clear FrameBuffer - ezs_fb_clear(CYG_FB_DEFAULT_PALETTE_WHITE); - - // Flag for bufferOverflow/Underflow - bool overflow; - bool underflow; - - // Define max / min Area Y-Axis - int maxValueY = FB_HEIGHT - ((FB_HEIGHT - 1) / 11) * 10 - 1; //=21 - int minValueY = FB_HEIGHT - 1; //=239 - int area = minValueY - maxValueY; //=218 - - // Define half block width - int halfBlockWidth = ((FB_WIDTH - 1) / (sizeOfArray + 1)) / 3; - - // Temp variables for scaling - assert(upperBound > lowerBound); - float scaleTo = upperBound - lowerBound; - float offset = 0 - lowerBound; - float scaledValue; - int scaledValueInt; - - // Bar drawing loop - int delta = (FB_WIDTH - 1) / (sizeOfArray + 1); - int shift = delta + 1; - int i; - - for (i = 0; i < sizeOfArray; ++i) { - - scaledValue = (inputArray[i] + offset) / scaleTo; - - // Overflow check! - if (scaledValue > 1.0) { - scaledValue = 1.0; - overflow = true; - } - else { - overflow = false; - } - - // Underflow check! - if (scaledValue < 0.0) { - scaledValue = 0.0; - underflow = true; - } - else { - underflow = false; - } - - scaledValueInt = scaledValue * area; - - if (!overflow) { - if (!underflow) { - ezs_fb_fill_block(shift - halfBlockWidth, minValueY - scaledValueInt, - halfBlockWidth * 2, scaledValueInt, CYG_FB_DEFAULT_PALETTE_BLUE); - } - else { - ezs_fb_fill_block(shift - halfBlockWidth, minValueY, halfBlockWidth * 2, 2, - CYG_FB_DEFAULT_PALETTE_YELLOW); - } - } - else { - ezs_fb_fill_block(shift - halfBlockWidth, minValueY - scaledValueInt, - halfBlockWidth * 2, scaledValueInt, CYG_FB_DEFAULT_PALETTE_RED); - } - - shift += delta; - } - - // Draw coord system - ezs_plot_drawCoordSystem(); - ezs_plot_markYaxis(10); - ezs_plot_markXaxis(sizeOfArray); - - /*! - * \brief Fill block. - * \param x X-Axis start position. - * \param y Y-Axis start position. - * \param width Width of the box. - * \param height Height of the box. - * \param color Color. - */ -//void ezs_fb_fill_block(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 width,cyg_ucount16 height,cyg_fb_colour color); - - -} diff --git a/03_TMR/libEZS/src/ezs_plot_pds.c b/03_TMR/libEZS/src/ezs_plot_pds.c deleted file mode 100644 index 0c88a12fdf39e302750d6c67537d667208ec0d78..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_plot_pds.c +++ /dev/null @@ -1,51 +0,0 @@ -#include "ezs_plot_pds.h" - -#include "ezs_fb.h" - -#include <cyg/infra/cyg_type.h> -#include <cyg/io/framebuf.h> - -#include <assert.h> -#include <stddef.h> - -static void plot_spectrum(float* spectrum, int length, - cyg_ucount16 widget_x, cyg_ucount16 widget_y, - cyg_ucount16 widget_width, cyg_ucount16 widget_height, - cyg_fb_colour widget_color) { - assert(widget_x + widget_width <= FB_WIDTH); - assert(widget_y + widget_height <= FB_HEIGHT); - - int bar_width = widget_width / length; - int bar_unit = widget_height / 140; - { - int i; - - for (i = 0; i < length; ++i) { - int x = i * bar_width + widget_x; - assert(x < widget_x + widget_width); - assert(x >= widget_x); - - int width = bar_width; - assert(width >= 0); - - int height = bar_unit * (spectrum[i] + 140.0f); - assert(height >= 0); - - int y = widget_y + widget_height - height; - assert(y <= widget_y + widget_height); - assert(y >= widget_y); - - - ezs_fb_fill_block(x, y, width, height, widget_color); - } - } -} - -void ezs_plot_pds(float spectrum[], int length, cyg_fb_colour foreground, - cyg_fb_colour background) { - assert(length <= FB_WIDTH); - - ezs_fb_clear(background); - plot_spectrum(spectrum, length, 0, 0, FB_WIDTH, FB_HEIGHT, foreground); -} - diff --git a/03_TMR/libEZS/src/ezs_sensors.c b/03_TMR/libEZS/src/ezs_sensors.c deleted file mode 100644 index e06c82e7f708002f48bee0a753cd0477ef5f8c21..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_sensors.c +++ /dev/null @@ -1,50 +0,0 @@ -/*! - * @file ezs_sensors.c - * @brief sensor stubs functions for VEZS - * @author Tobias Klaus - * \ingroup common - */ - -#include "ezs_sensors.h" -#include "ezs_counter.h" -#include <math.h> -#include <stdlib.h> - -void sensors_init(void) { - ezs_counter_init(); - return; -} - -static uint16_t getValue(void) { - uint16_t value = 0; - const uint16_t noise_max = 10000; //15,3%.... - - uint16_t noise = rand() * (uint32_t) noise_max / RAND_MAX; - - uint64_t ps_per_tick = ezs_counter_resolution_ps(); - float s_per_tick = ps_per_tick /(float) 1e12; - - float pi = 3.14159265358979323846; - float freq = 4; //Hz - float omega = 2.0 * pi *freq; - - float time = ezs_counter_get() * s_per_tick; - - value = (float) (UINT16_MAX/2) + (float)(UINT16_MAX/2)*sin(omega * time); - - return value + noise; -} - -/*! - * \brief returns the low byte of value - */ -uint16_t ezs_getValueSensorA(void) { - return getValue(); -} -uint16_t ezs_getValueSensorB(void) { - return getValue(); -} -uint16_t ezs_getValueSensorC(void) { - return getValue(); -} - diff --git a/03_TMR/libEZS/src/ezs_stopwatch.c b/03_TMR/libEZS/src/ezs_stopwatch.c deleted file mode 100644 index 4cc49f040969f85afee799060f83ba1c39d7c1f1..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_stopwatch.c +++ /dev/null @@ -1,41 +0,0 @@ -#include "ezs_stopwatch.h" -#include "ezs_counter.h" -#include <stdlib.h> - -void ezs_watch_start(cyg_uint32* state) { - *state = ezs_counter_get(); -} - -cyg_uint32 ezs_watch_stop(cyg_uint32* state) { - return ezs_counter_get() - (*state); -} - - -void ezs_lose_time(cyg_uint32 wcet, cyg_uint8 percentage) { - cyg_uint32 previous_value = ezs_counter_get(); - cyg_uint8 percent = 0; - const cyg_uint32 resolution = 50U; - cyg_uint32 temp, diff; - - if (percentage > 0 && percentage <= 100 ) { - percent = rand() % percentage; - } - - cyg_int32 counter = ( wcet - (wcet * percent) / 100); - - //make sure we always return before the demanded wcet - counter = counter - resolution; - - while (counter > 0) { - temp = ezs_counter_get(); - diff = temp - previous_value; - - // if we were not interrupted - if (diff < resolution) { - counter = counter - diff ; - } - - previous_value = temp; - } -} - diff --git a/03_TMR/libEZS/src/ezs_tracer.cpp b/03_TMR/libEZS/src/ezs_tracer.cpp deleted file mode 100644 index 9bff353c36280457ed3e0e0fd3468b40a8a6f728..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_tracer.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include <pkgconf/system.h> -#include <cyg/io/io.h> -#include <cyg/error/codes.h> -#include <stdint.h> -#include <stdio.h> - -//! Determine if we are running in FailBochs -static volatile unsigned FAILBOCHSID; -static volatile uint8_t ezs_adc_in_register; - -//! The magic tracer variable Fail* is listening on. -volatile unsigned ezs_tracer_register; - -extern "C" int ezs_trace_init(){ - FAILBOCHSID = ezs_adc_in_register; - return 0; -} - -//! No Time triggered kernel -> normal event triggered ecos: -#ifndef SMLPKG_TTKERNEL -#include <cyg/kernel/kernel.hxx> // C Kernel-API -extern "C" { -#include <cyg/kernel/kapi.h> // C Kernel-API -} -class Cyg_Thread; - - -extern "C" void ezs_instrument(Cyg_Thread* current, Cyg_Thread* next) { - // Get priority from next thread - int prio = next->get_priority(); - if(prio > 32) prio = 32; - - // Write priority to tracer register - ezs_tracer_register = prio; -} - -#else -#include <sml/ttkernel/task.hxx> -extern "C" void ezs_instrument(TT_Task* current, TT_Task* next){ - ezs_tracer_register = next->get_id(); -} -#endif - diff --git a/03_TMR/libEZS/src/ezs_window.c b/03_TMR/libEZS/src/ezs_window.c deleted file mode 100644 index 1d2c6986b2471571ac78bfb92feb6b07abbecdaf..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/ezs_window.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "ezs_window.h" -#include <math.h> -#define M_PI 3.14159265358979323846f /* pi */ - -#include <assert.h> - -float ezs_rect_window(float alpha, int position, int length) { - return 1.0f; -} - -float ezs_blackman_window(float alpha, int position, int length) { - assert(length > 0); - assert(position >= 0); - assert(position < length); - assert(alpha >= 0.0f); - assert(1.0f >= alpha); - - float a[3] = {(1.0f - alpha) / 2.0f, 0.5f, alpha / 2.0f}; - return a[0] - - a[1] * cos((2.0f * M_PI * ((float) position)) / ((float) (length - 1))) - + a[2] * cos((4.0f * M_PI * ((float) position)) / ((float) (length - 1))); -} - -float ezs_hamming_window(float alpha, int position, int length) { - assert(length > 0); - assert(position >= 0); - assert(position < length); - - return 0.54f - 0.46f * cos((2.0f * M_PI * (float) position) / (float) ( - length - 1)); -} diff --git a/03_TMR/libEZS/src/fixedpoint.c b/03_TMR/libEZS/src/fixedpoint.c deleted file mode 100644 index fb4d892056af032e22b96d47dc31d0ba4cdc9651..0000000000000000000000000000000000000000 --- a/03_TMR/libEZS/src/fixedpoint.c +++ /dev/null @@ -1,70 +0,0 @@ -#include "fixedpoint.h" - -enum { - N = 3, -}; -static const int16_t K = 1 << (N - 1); - -int8_t float_to_q(float f) -{ - float temp = f * (1 << N); - return (int8_t) temp; -} - -float q_to_float(int8_t q) -{ - float temp = (float) q; - return temp / (1 << N); -} - -int8_t q_add(int8_t s1, int8_t s2) -{ - int8_t res = (int8_t) (s1 + s2); - return res; -} - -int8_t q_sub(int8_t minuend, int8_t subtrahend) -{ - int8_t res = (int8_t) (minuend - subtrahend); - return res; -} - -// saturate to range of int8_t -int8_t sat8(int16_t x) -{ - if (x > 0x7F) return 0x7F; - else if (x < -0x80) return -0x80; - else return (int8_t)x; -} - -int8_t q_mul(int8_t fac1, int8_t fac2) -{ - int8_t result; - int16_t temp; - - temp = (int16_t)fac1 * (int16_t)fac2; // result type is operand's type - // Rounding; mid values are rounded up - temp += K; - - // Correct by dividing by base and saturate result - result = sat8(temp >> N); - - return result; -} - -int8_t q_div(int8_t dividend, int8_t divisor) -{ - int8_t result; - int16_t temp; - - // pre-multiply by the base - temp = (int16_t)dividend << N; - // Rounding: mid values are rounded up (down for negative values). - if ((temp >= 0 && divisor >= 0) || (temp < 0 && divisor < 0)) - temp += divisor / 2; - else - temp -= divisor / 2; - result = (int8_t)(temp / divisor); - - return result; -} diff --git a/03_TMR/src/app.c b/03_TMR/src/app.c deleted file mode 100644 index ad7eb85c35892f6b8084baad39d60354f6e68e14..0000000000000000000000000000000000000000 --- a/03_TMR/src/app.c +++ /dev/null @@ -1,84 +0,0 @@ -#include <cyg/hal/hal_arch.h> -#include <cyg/kernel/kapi.h> - -#include <cyg/io/framebuf.h> -#include <cyg/io/framebufs/i386_fb.h> -#include <assert.h> -#include <ezs_fb.h> -#include <stdio.h> - -#include "watchdog.h" -#include "fixedpoint.h" -#include <ezs_sensors.h> -#include <ezs_outputs.h> - -#include "filter.h" - -#define STACKSIZE (CYGNUM_HAL_STACK_SIZE_MINIMUM+4096) - -#define ROUND_PERIOD 10 - -static cyg_handle_t real_time_counter; -static cyg_handle_t new_round_alarmhdl; -static cyg_alarm new_round; - -// T1 -static cyg_uint8 sampling_thread_stack[STACKSIZE]; -static cyg_handle_t sampling_thread_handle; -static cyg_thread sampling_thread; -static const uint8_t sampling_prio=15; -static void sampling_thread_entry(cyg_addrword_t data) -{ - while (1) { - /** - * TODO: implement sampling - */ - - cyg_thread_suspend(cyg_thread_self()); - } -} - -/** - * TODO: create and implement needed tasks - **/ - -static void setup_round__alarmfn(cyg_handle_t alarmH, cyg_addrword_t data) -{ - watchdog(); - /** - * TODO: setup this round - **/ - cyg_thread_resume(sampling_thread_handle); -} - -void cyg_user_start(void) { - // Initialize framebuffer in graphic mode - ezs_fb_init(); - watchdog_init(); - sensors_init(); - outputs_init(); - cyg_clock_to_counter(cyg_real_time_clock(), &real_time_counter); - - cyg_alarm_create(real_time_counter, setup_round__alarmfn, 0, &new_round_alarmhdl, &new_round); - cyg_alarm_initialize(new_round_alarmhdl, 1, ROUND_PERIOD); - - cyg_thread_create(sampling_prio, /* priority 0-31, 0 represents highest priority */ - &sampling_thread_entry, /* thread entry point */ - 0, /* data for thread_entry */ - "sampling thread", /* thread name (for debugging) */ - sampling_thread_stack, /* stack address */ - STACKSIZE, /* stack size */ - &sampling_thread_handle, /* thread handle */ - &sampling_thread); /* thread data (internally used by kernel) */ - - printf("Starting up the TMR filtering application!\r\n"); - - /** - * TODO: setup system and globally used data. - * - * Since a working filter is not really important for this exercise just use - * the filter parameters from exercise 2 for initalization: {1, 2, -1} - **/ - - -} diff --git a/03_TMR/src/app_ext.cpp b/03_TMR/src/app_ext.cpp deleted file mode 100644 index 3c16658f65cf83f2f9a28a849660e5667e0b7919..0000000000000000000000000000000000000000 --- a/03_TMR/src/app_ext.cpp +++ /dev/null @@ -1,82 +0,0 @@ -extern "C" { -#include <cyg/hal/hal_arch.h> -#include <cyg/kernel/kapi.h> - -#include <cyg/io/framebuf.h> -#include <cyg/io/framebufs/i386_fb.h> -#include <assert.h> -#include <ezs_fb.h> -#include <stdio.h> - -#include "watchdog.h" -#include <ezs_sensors.h> -#include <ezs_outputs.h> -} - -#include "filter.hpp" - -#define STACKSIZE (CYGNUM_HAL_STACK_SIZE_MINIMUM+4096) - -#define ROUND_PERIOD 10 - -static cyg_handle_t real_time_counter; -static cyg_handle_t new_round_alarmhdl; -static cyg_alarm new_round; - -// T1 -static cyg_uint8 sampling_thread_stack[STACKSIZE]; -static cyg_handle_t sampling_thread_handle; -static cyg_thread sampling_thread; -static const uint8_t sampling_prio=15; -static void sampling_thread_entry(cyg_addrword_t data) -{ - while (1) { - /** - * TODO: implement sampling - */ - - cyg_thread_suspend(cyg_thread_self()); - } -} - -/** - * TODO: create and implement needed tasks - **/ - -static void setup_round__alarmfn(cyg_handle_t alarmH, cyg_addrword_t data) -{ - watchdog(); - /** - * TODO: setup this round - **/ - cyg_thread_resume(sampling_thread_handle); -} - -extern "C" void cyg_user_start(void) { - // Initialize framebuffer in graphic mode - ezs_fb_init(); - watchdog_init(); - sensors_init(); - outputs_init(); - - cyg_clock_to_counter(cyg_real_time_clock(), &real_time_counter); - - cyg_alarm_create(real_time_counter, setup_round__alarmfn, 0, &new_round_alarmhdl, &new_round); - cyg_alarm_initialize(new_round_alarmhdl, 1, ROUND_PERIOD); - - cyg_thread_create(sampling_prio, /* priority 0-31, 0 represents highest priority */ - &sampling_thread_entry, /* thread entry point */ - 0, /* data for thread_entry */ - "sampling thread", /* thread name (for debugging) */ - sampling_thread_stack, /* stack address */ - STACKSIZE, /* stack size */ - &sampling_thread_handle, /* thread handle */ - &sampling_thread); /* thread data (internally used by kernel) */ - - printf("Starting up the TMR filtering application!\r\n"); - - /** - * TODO: setup system and globally used data. - **/ - -} diff --git a/03_TMR/src/filter.c b/03_TMR/src/filter.c deleted file mode 100644 index 650c6a097b7c07a9f423044674c2eb9e13248fac..0000000000000000000000000000000000000000 --- a/03_TMR/src/filter.c +++ /dev/null @@ -1,14 +0,0 @@ -#include "filter.h" -#include "fixedpoint.h" - -void convolve_filter_init(convolve_filter *f, int8_t a, int8_t b, int8_t c) { - /** - * TODO: transfer filter initialization from exercise 2 - **/ -} - -int8_t convolve_filter_step(convolve_filter *f, int8_t in) { - /** - * TODO: transfer filter step implementation from exercise 2 - **/ -} diff --git a/03_TMR/src/watchdog.c b/03_TMR/src/watchdog.c deleted file mode 100644 index 020428c1ba8001be87080957d1e127b2bb3ea481..0000000000000000000000000000000000000000 --- a/03_TMR/src/watchdog.c +++ /dev/null @@ -1,51 +0,0 @@ -#include "watchdog.h" -#include "ezs_stopwatch.h" - -#include <cyg/hal/hal_arch.h> -#include <cyg/kernel/kapi.h> -#include <stdint.h> -#define STACKSIZE (CYGNUM_HAL_STACK_SIZE_MINIMUM+4096) - -//A little helper function. -static cyg_tick_count_t ms_to_ticks(cyg_uint32 ms) { - cyg_resolution_t resolution = cyg_clock_get_resolution(cyg_real_time_clock()); - const cyg_uint64 delay_ns = ms * 1000000; - const cyg_tick_count_t ticks = (delay_ns * resolution.divisor)/resolution.dividend; //ticks - - return ticks; -} - -static cyg_uint8 watchdog_thread_stack[STACKSIZE]; -static cyg_handle_t watchdog_thread_handle; -static cyg_thread watchdog_thread; -static const uint8_t watchdog_prio=32; -static void watchdog_entry(cyg_addrword_t data) -{ - while (1) { - /** - * watching dogs for 10ms - */ - ezs_lose_time(ms_to_ticks(10),0); - cyg_thread_suspend(cyg_thread_self()); - } -} - - -void watchdog_init(){ - cyg_thread_create(watchdog_prio, /* priority 0-31, 0 represents highest priority */ - &watchdog_entry, /* thread entry point */ - 0, /* data for thread_entry */ - "watchdog thread", /* thread name (for debugging) */ - watchdog_thread_stack, /* stack address */ - STACKSIZE, /* stack size */ - &watchdog_thread_handle, /* thread handle */ - &watchdog_thread); /* thread data (internally used by kernel) */ -} - -void watchdog(){ - static uint8_t round = 0; - if(! round%10) { - cyg_thread_suspend(watchdog_thread_handle); - } - ++round; -} diff --git a/04_EAN/CMakeLists.txt b/04_EAN/CMakeLists.txt deleted file mode 100644 index 8038dd7d5fb2e56cd7ad1190755ba94a47713f05..0000000000000000000000000000000000000000 --- a/04_EAN/CMakeLists.txt +++ /dev/null @@ -1,102 +0,0 @@ -Project(EAN) - -cmake_minimum_required(VERSION 2.8) - -# use the eCos support coming with CMake -# without this line CMake doesn't know how to build eCos applications -# all functions/macros coming from this file start with "ECOS_" - - -set(SCRIPT_DIR "$ENV{ECOS_REPOSITORY}/../tools/scripts") -set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ${SCRIPT_DIR}/..) - -INCLUDE(UseEcos) - -# cmake modules -INCLUDE(doxygendocu) -INCLUDE(coloroutput) -INCLUDE(emu) - -# add the ecos/install/include/ directory to the header search path -ECOS_ADD_INCLUDE_DIRECTORIES() -ECOS_USE_I386_ELF_TOOLS() - -set(COMMON_FLAGS "-ggdb -Os -nostartfiles -nostdlib -ffunction-sections -fdata-sections -fno-builtin -Wall -Wpointer-arith -Wundef -fdata-sections -Wmissing-prototypes") -set(CMAKE_C_FLAGS "${COMMON_FLAGS}") -set(CMAKE_CXX_FLAGS "${COMMON_FLAGS} -fno-rtti -fno-exceptions -fno-unwind-tables -Woverloaded-virtual" ) - - -set(BOCHS_CPU_SPEED_MHZ 5) -# use ADD_DEFINITIONS() to add the definitions (or switches) you like -add_definitions("-g -DBOCHS_CPU_MHZ=${BOCHS_CPU_SPEED_MHZ}") - -set(LIBEZS_DIR "${PROJECT_SOURCE_DIR}/libEZS") -set(EZS_DRIVERS_DIR "${LIBEZS_DIR}/drivers") - -include_directories( - ${LIBEZS_DIR}/include - include - ) - -set(LIBEZS_SOURCES - ${LIBEZS_DIR}/src/ezs_common.c - ${LIBEZS_DIR}/src/fixedpoint.c - ${LIBEZS_DIR}/src/ezs_stopwatch.c - ${LIBEZS_DIR}/src/ezs_outputs.c - ) - -set(HW_PLATFORM i386) - -set(DRIVERS_SOURCES - ${EZS_DRIVERS_DIR}/${HW_PLATFORM}/ezs_fb.c - ${EZS_DRIVERS_DIR}/${HW_PLATFORM}/ezs_tracer.cpp - ${EZS_DRIVERS_DIR}/${HW_PLATFORM}/ezs_counter.c - ) - -set(SRC_DIR src) -set(BASE_APPLICATION_SOURCES - ${SRC_DIR}/app.c - ${SRC_DIR}/filter.c - ${SRC_DIR}/fail.c - ${SRC_DIR}/ezs_sensors.c - ) -set(EXT_APPLICATION_SOURCES - ${SRC_DIR}/app_ext.c - ${SRC_DIR}/filter.c - ${SRC_DIR}/fail.c - ${SRC_DIR}/ezs_sensors.c - ) - -# this is one of the most important lines -# here you list all source files of your application -# you can mix C and C++ files as you like -# you can also add the header files here, but you don't have to -# you can use relative or absolute paths as you like -SET(BASE_SRC_LIST - ${BASE_APPLICATION_SOURCES} - ${LIBEZS_SOURCES} - ${DRIVERS_SOURCES} - ) -SET(EXT_SRC_LIST - ${EXT_APPLICATION_SOURCES} - ${LIBEZS_SOURCES} - ${DRIVERS_SOURCES} - ) - -set(TGT "ean") -# this is the most important line: -# tell CMake that we want to create an executable named "sampleapp" -# from the files listed in the variable SRC_LIST -ECOS_ADD_EXECUTABLE(${TGT} ${BASE_SRC_LIST}) -addemu(${TGT}) -addfail(${TGT}) -ECOS_ADD_EXECUTABLE(ext ${EXT_SRC_LIST}) -addemu(ext) -addfail(ext) - -message(STATUS "${BoldGreen}[AUFGABE 4 (EAN)] execute `make run` to execute basic application${ColourReset}") -message(STATUS "${BoldGreen}[AUFGABE 4 (EAN)] execute `make trace` to trace basic application for FAIL injection${ColourReset}") -message(STATUS "${BoldGreen}[AUFGABE 4 (EAN)] execute `make inject` to inject bit errors to basic application with FAIL ${ColourReset}") -message(STATUS "${BoldGreen}[AUFGABE 4 (EAN)] execute `make run_ext` to execute extended application${ColourReset}") -message(STATUS "${BoldGreen}[AUFGABE 4 (EAN)] execute `make trace_ext` to trace extended application for FAIL injection${ColourReset}") -message(STATUS "${BoldGreen}[AUFGABE 4 (EAN)] execute `make inject_ext` to inject bit errors to extended application with FAIL ${ColourReset}") diff --git a/04_EAN/Doxyfile.in b/04_EAN/Doxyfile.in deleted file mode 100644 index 38caface428145ab3f92324338904eb3b42aa767..0000000000000000000000000000000000000000 --- a/04_EAN/Doxyfile.in +++ /dev/null @@ -1,1792 +0,0 @@ -# Doxyfile 1.8.1.2 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = @PROJECT_NAME@ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = "Verlässliche Echtzeitsysteme" - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @DOXY_OUTPUT@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@ - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all -# comments according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you -# can mix doxygen, HTML, and XML commands with Markdown formatting. -# Disable only in case of backward compatibilities issues. - -MARKDOWN_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = NO - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = NO - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @CMAKE_SOURCE_DIR@ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = @DOXY_IGNORE@ - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = YES - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C, C++ and Fortran comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# style sheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of -# entries shown in the various tree structured indices initially; the user -# can expand and collapse entries dynamically later on. Doxygen will expand -# the tree to such a level that at most the specified number of entries are -# visible (unless a fully collapsed tree already exceeds this amount). -# So setting the number of entries 1 will produce a full collapsed tree by -# default. 0 is a special value representing an infinite number of entries -# and will result in a full expanded tree by default. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> -# Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> -# Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. - -DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. - -GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you may also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to -# the MathJax Content Delivery Network so you can quickly see the result without -# installing MathJax. -# However, it is strongly recommended to install a local -# copy of MathJax from http://www.mathjax.org before deployment. - -MATHJAX_RELPATH = http://www.mathjax.org/mathjax - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load style sheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. For each -# tag file the location of the external documentation should be added. The -# format of a tag file without this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths -# or URLs. Note that each tag file must have a unique name (where the name does -# NOT include the path). If a tag file is not located in the directory in which -# doxygen is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If the UML_LOOK tag is enabled, the fields and methods are shown inside -# the class node. If there are many fields or methods and many nodes the -# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS -# threshold limits the number of items for each type to make the size more -# managable. Set this to 0 for no limit. Note that the threshold may be -# exceeded by 50% before the limit is enforced. - -UML_LIMIT_NUM_FIELDS = 10 - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/04_EAN/build/.keepdir b/04_EAN/build/.keepdir deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/04_EAN/cmake/Doxyfile.in b/04_EAN/cmake/Doxyfile.in deleted file mode 100644 index 10846197cadc72ae5dcdb9eb5be67bb48ede64f0..0000000000000000000000000000000000000000 --- a/04_EAN/cmake/Doxyfile.in +++ /dev/null @@ -1,1757 +0,0 @@ -# Doxyfile 1.7.5.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = @PROJECT_NAME@ - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @PROJECT_VERSION@ - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @DOXY_OUTPUT@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@ - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. The create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @DOXY_INPUT_DIR@ - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to directory from which doxygen is run. - -EXCLUDE = @DOXY_IGNORE@ - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = YES - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is adviced to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the stylesheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> -# Qt Help Project / Custom Filters</a>. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> -# Qt Help Project / Filter Attributes</a>. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the -# mathjax.org site, so you can quickly see the result without installing -# MathJax, but it is strongly recommended to install a local copy of MathJax -# before deployment. - -MATHJAX_RELPATH = http://www.mathjax.org/mathjax - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = @DOXY_GENERATE_LATEX@ - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = @DOXY_USE_GRAPHVIZ@ - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = Helvetica - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = NO - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = YES - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = YES - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/04_EAN/cmake/UseEcos.cmake b/04_EAN/cmake/UseEcos.cmake deleted file mode 100644 index 55f9aad36878494910c3936f3e8ebb302a527b00..0000000000000000000000000000000000000000 --- a/04_EAN/cmake/UseEcos.cmake +++ /dev/null @@ -1,252 +0,0 @@ -#.rst: -# UseEcos -# ------- -# -# This module defines variables and macros required to build eCos application. -# -# This file contains the following macros: -# ECOS_ADD_INCLUDE_DIRECTORIES() - add the eCos include dirs -# ECOS_ADD_EXECUTABLE(name source1 ... sourceN ) - create an eCos -# executable ECOS_ADJUST_DIRECTORY(VAR source1 ... sourceN ) - adjusts -# the path of the source files and puts the result into VAR -# -# Macros for selecting the toolchain: ECOS_USE_ARM_ELF_TOOLS() - enable -# the ARM ELF toolchain for the directory where it is called -# ECOS_USE_I386_ELF_TOOLS() - enable the i386 ELF toolchain for the -# directory where it is called ECOS_USE_PPC_EABI_TOOLS() - enable the -# PowerPC toolchain for the directory where it is called -# -# It contains the following variables: ECOS_DEFINITIONS -# ECOSCONFIG_EXECUTABLE ECOS_CONFIG_FILE - defaults to ecos.ecc, if your -# eCos configuration file has a different name, adjust this variable for -# internal use only: -# -# :: -# -# ECOS_ADD_TARGET_LIB - -#============================================================================= -# Copyright 2006-2009 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -# first check that ecosconfig is available -find_program(ECOSCONFIG_EXECUTABLE NAMES ecosconfig) -if(NOT ECOSCONFIG_EXECUTABLE) - message(SEND_ERROR "ecosconfig was not found. Either include it in the system path or set it manually using ccmake.") -else() - message(STATUS "Found ecosconfig: ${ECOSCONFIG_EXECUTABLE}") -endif() - -# check that ECOS_REPOSITORY is set correctly -if (NOT EXISTS $ENV{ECOS_REPOSITORY}/ecos.db) - message(SEND_ERROR "The environment variable ECOS_REPOSITORY is not set correctly. Set it to the directory which contains the file ecos.db") -else () - message(STATUS "ECOS_REPOSITORY is set to $ENV{ECOS_REPOSITORY}") -endif () - -# check that tclsh (coming with TCL) is available, otherwise ecosconfig doesn't work -find_package(Tclsh) -if (NOT TCL_TCLSH) - message(SEND_ERROR "The TCL tclsh was not found. Please install TCL, it is required for building eCos applications.") -else () - message(STATUS "tlcsh found: ${TCL_TCLSH}") -endif () - -#add the globale include-diretories -#usage: ECOS_ADD_INCLUDE_DIRECTORIES() -macro(ECOS_ADD_INCLUDE_DIRECTORIES) -#check for ProjectSources.txt one level higher - if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../ProjectSources.txt) - include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../) - else () - include_directories(${CMAKE_CURRENT_SOURCE_DIR}/) - endif () - -#the ecos include directory - include_directories(${CMAKE_CURRENT_BINARY_DIR}/ecos/install/include/) - -endmacro() - - -#we want to compile for the xscale processor, in this case the following macro has to be called -#usage: ECOS_USE_ARM_ELF_TOOLS() -macro (ECOS_USE_ARM_ELF_TOOLS) - set(CMAKE_CXX_COMPILER "arm-elf-c++") - set(CMAKE_COMPILER_IS_GNUCXX 1) - set(CMAKE_C_COMPILER "arm-elf-gcc") - set(CMAKE_AR "arm-elf-ar") - set(CMAKE_RANLIB "arm-elf-ranlib") -#for linking - set(ECOS_LD_MCPU "-mcpu=xscale") -#for compiling - add_definitions(-mcpu=xscale -mapcs-frame) -#for the obj-tools - set(ECOS_ARCH_PREFIX "arm-elf-") -endmacro () - -#usage: ECOS_USE_PPC_EABI_TOOLS() -macro (ECOS_USE_PPC_EABI_TOOLS) - set(CMAKE_CXX_COMPILER "powerpc-eabi-c++") - set(CMAKE_COMPILER_IS_GNUCXX 1) - set(CMAKE_C_COMPILER "powerpc-eabi-gcc") - set(CMAKE_AR "powerpc-eabi-ar") - set(CMAKE_RANLIB "powerpc-eabi-ranlib") -#for linking - set(ECOS_LD_MCPU "") -#for compiling - add_definitions() -#for the obj-tools - set(ECOS_ARCH_PREFIX "powerpc-eabi-") -endmacro () - -#usage: ECOS_USE_I386_ELF_TOOLS() -macro (ECOS_USE_I386_ELF_TOOLS) - set(CMAKE_CXX_COMPILER "i386-elf-c++") - set(CMAKE_COMPILER_IS_GNUCXX 1) - set(CMAKE_C_COMPILER "i386-elf-gcc") - set(CMAKE_AR "i386-elf-ar") - set(CMAKE_RANLIB "i386-elf-ranlib") -#for linking - set(ECOS_LD_MCPU "") -#for compiling - add_definitions() -#for the obj-tools - set(ECOS_ARCH_PREFIX "i386-elf-") -endmacro () - - -#since the actual sources are located one level upwards -#a "../" has to be prepended in front of every source file -#call the following macro to achieve this, the first parameter -#is the name of the new list of source files with adjusted paths, -#followed by all source files -#usage: ECOS_ADJUST_DIRECTORY(adjusted_SRCS ${my_srcs}) -macro(ECOS_ADJUST_DIRECTORY _target_FILES ) - foreach (_current_FILE ${ARGN}) - get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE) - if (NOT ${_abs_FILE} STREQUAL ${_current_FILE}) - get_filename_component(_abs_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../${_current_FILE} ABSOLUTE) - endif () - list(APPEND ${_target_FILES} ${_abs_FILE}) - endforeach () -endmacro() - -# the default ecos config file name -# maybe in future also out-of-source builds may be possible -set(ECOS_CONFIG_FILE ecos.ecc) - -#creates the dependency from all source files on the ecos target.ld, -#adds the command for compiling ecos -macro(ECOS_ADD_TARGET_LIB) - if(NOT TARGET ecos) -# when building out-of-source, create the ecos/ subdir - if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ecos) - file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ecos) - endif() - -#sources depend on target.ld - set_source_files_properties( - ${ARGN} - PROPERTIES - OBJECT_DEPENDS - ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld - ) - - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld - COMMAND sh -c \"make -C ${CMAKE_CURRENT_BINARY_DIR}/ecos || exit -1\; if [ -e ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld ] \; then touch ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld\; fi\" - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile - ) - - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile - COMMAND sh -c \" cd ${CMAKE_CURRENT_BINARY_DIR}/ecos\; ${ECOSCONFIG_EXECUTABLE} --config=${CMAKE_CURRENT_SOURCE_DIR}/ecos/${ECOS_CONFIG_FILE} tree || exit -1\;\" - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ecos/${ECOS_CONFIG_FILE} - ) - - add_custom_target( ecos make -C ${CMAKE_CURRENT_BINARY_DIR}/ecos/ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile ) - endif() -endmacro() - -# get the directory of the current file, used later on in the file -get_filename_component( ECOS_CMAKE_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH) - -#macro for creating an executable ecos application -#the first parameter is the name of the executable, -#the second is the list of all source files (where the path -#has been adjusted beforehand by calling ECOS_ADJUST_DIRECTORY() -#usage: ECOS_ADD_EXECUTABLE(my_app ${adjusted_SRCS}) -macro(ECOS_ADD_EXECUTABLE _exe_NAME ) - #definitions, valid for all ecos projects - #the optimization and "-g" for debugging has to be enabled - #in the project-specific CMakeLists.txt - add_definitions(-D__ECOS__=1 -D__ECOS=1) - set(ECOS_DEFINITIONS -Wall -Wno-long-long -pipe -fno-builtin) - -#the executable depends on ecos target.ld - ECOS_ADD_TARGET_LIB(${ARGN}) - -# when using nmake makefiles, the custom buildtype supresses the default cl.exe flags -# and the rules for creating objects are adjusted for gcc - set(CMAKE_BUILD_TYPE CUSTOM_ECOS_BUILD) - set(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <FLAGS> -o <OBJECT> -c <SOURCE>") - set(CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <FLAGS> -o <OBJECT> -c <SOURCE>") -# special link commands for ecos-executables - set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <OBJECTS> -o <TARGET> ${_ecos_EXTRA_LIBS} -nostdlib -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}") - set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <CMAKE_C_LINK_FLAGS> <OBJECTS> -o <TARGET> ${_ecos_EXTRA_LIBS} -nostdlib -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}") -# some strict compiler flags - set (CMAKE_C_FLAGS "-Wstrict-prototypes") - set (CMAKE_CXX_FLAGS "-Woverloaded-virtual -fno-rtti -Wctor-dtor-privacy -fno-strict-aliasing -fno-exceptions") - - add_executable(${_exe_NAME} ${ARGN}) - set_target_properties(${_exe_NAME} PROPERTIES SUFFIX ".elf") - -#create a binary file - add_custom_command( - TARGET ${_exe_NAME} - POST_BUILD - COMMAND ${ECOS_ARCH_PREFIX}objcopy - ARGS -O binary ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.bin - ) - -#and an srec file - add_custom_command( - TARGET ${_exe_NAME} - POST_BUILD - COMMAND ${ECOS_ARCH_PREFIX}objcopy - ARGS -O srec ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.srec - ) - -#add the created files to the clean-files - set_directory_properties( - PROPERTIES - ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.bin;${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.srec;${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst;" - ) - - if(NOT TARGET ecosclean) - add_custom_target(ecosclean ${CMAKE_COMMAND} -DECOS_DIR=${CMAKE_CURRENT_BINARY_DIR}/ecos/ -P ${ECOS_CMAKE_MODULE_DIR}/ecos_clean.cmake ) - endif() - if(NOT TARGET normalclean) - add_custom_target(normalclean ${CMAKE_MAKE_PROGRAM} clean WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) - add_dependencies (ecosclean normalclean) - endif() - - - - add_custom_target( listing_${_exe_NAME} - COMMAND echo -e \"\\n--- Symbols sorted by address ---\\n\" > ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst - COMMAND ${ECOS_ARCH_PREFIX}nm -S -C -n ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst - COMMAND echo -e \"\\n--- Symbols sorted by size ---\\n\" >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst - COMMAND ${ECOS_ARCH_PREFIX}nm -S -C -r --size-sort ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst - COMMAND echo -e \"\\n--- Full assembly listing ---\\n\" >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst - COMMAND ${ECOS_ARCH_PREFIX}objdump -S -x -d -C ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst ) - -endmacro() - diff --git a/04_EAN/cmake/cccc.cmake b/04_EAN/cmake/cccc.cmake deleted file mode 100644 index ea0af18350624a979a3e278d351094fedc57278e..0000000000000000000000000000000000000000 --- a/04_EAN/cmake/cccc.cmake +++ /dev/null @@ -1,13 +0,0 @@ -find_program(CCCC_EXE "cccc") - -if(CCCC_EXE) - - message(STATUS "[CCCC] at ${CCCC_EXE}") - add_custom_target(cccc) - - add_custom_command(TARGET cccc POST_BUILD - COMMAND ${CCCC_EXE} - ) -else() - message(FATAL_ERROR "[CCCC] Could not find cccc executable") -endif() diff --git a/04_EAN/cmake/coloroutput.cmake b/04_EAN/cmake/coloroutput.cmake deleted file mode 100644 index 1280d32bd454884daeef7e6a35e446a43a8b9236..0000000000000000000000000000000000000000 --- a/04_EAN/cmake/coloroutput.cmake +++ /dev/null @@ -1,20 +0,0 @@ -if(NOT WIN32) - string(ASCII 27 Esc) - set(ColourReset "${Esc}[m") - set(ColourBold "${Esc}[1m") - set(Red "${Esc}[31m") - set(Green "${Esc}[32m") - set(Yellow "${Esc}[33m") - set(Blue "${Esc}[34m") - set(Magenta "${Esc}[35m") - set(Cyan "${Esc}[36m") - set(White "${Esc}[37m") - set(BoldRed "${Esc}[1;31m") - set(BoldGreen "${Esc}[1;32m") - set(BoldYellow "${Esc}[1;33m") - set(BoldBlue "${Esc}[1;34m") - set(BoldMagenta "${Esc}[1;35m") - set(BoldCyan "${Esc}[1;36m") - set(BoldWhite "${Esc}[1;37m") -endif() - diff --git a/04_EAN/cmake/compilerwarnings.cmake b/04_EAN/cmake/compilerwarnings.cmake deleted file mode 100644 index e89c8c3b080d6d7350836a74ed6ae7a04427fd05..0000000000000000000000000000000000000000 --- a/04_EAN/cmake/compilerwarnings.cmake +++ /dev/null @@ -1,56 +0,0 @@ -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Werror" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wall" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wextra" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -pedantic" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wcast-align" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wconversion" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wformat-nonliteral" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wformat-security" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Winit-self" ) - -if(CMAKE_C_COMPILER_ID STREQUAL "GNU") - message("-- gcc detected") - if(CMAKE_C_COMPILER_VERSION VERSION_GREATER "4.0.0") - message("-- gcc >= 4.0.0 detected") - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=pointer-to-int-cast" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=cast-qual" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=float-equal" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unknown-pragmas") - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=write-strings" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=switch-default" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=switch-enum" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-function") - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-macros" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-variable" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-parameter" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=shadow" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=missing-noreturn" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=packed" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unreachable-code" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-error=unused-but-set-variable" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wlogical-op" ) - set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wmissing-include-dirs" ) - endif() -endif() -if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.0.0") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=overloaded-virtual" ) - endif() -endif() - -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wpointer-arith" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wundef" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wredundant-decls" ) -set( WARNINGS_COMMONFLAGS "${WARNINGS_COMMONFLAGS} -Wno-inline" ) - -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNINGS_COMMONFLAGS}") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wstrict-prototypes") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wbad-function-cast") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wold-style-definition") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-prototypes") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-declarations") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wnested-externs") - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNINGS_COMMONFLAGS}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weffc++" ) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wold-style-cast" ) diff --git a/04_EAN/cmake/cppcheck.cmake b/04_EAN/cmake/cppcheck.cmake deleted file mode 100644 index 6c5f00597d1f1d9b77623a13595f1446018debb9..0000000000000000000000000000000000000000 --- a/04_EAN/cmake/cppcheck.cmake +++ /dev/null @@ -1,13 +0,0 @@ -find_program(CPPCHECK_EXE "cppcheck") - -if(CPPCHECK_EXE) - - message(STATUS "[CPPCHECK] at ${CPPCHECK_EXE}") - add_custom_target(cppcheck) - - add_custom_command(TARGET cppcheck POST_BUILD - COMMAND ${CPPCHECK_EXE} --template=gcc -f --std=posix --std=c99 --std=c++11 --enable=all -i ${PROJECT_BINARY_DIR} -I ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR} - ) -else() - message(FATAL_ERROR "[CPPCHECK] Could not find cppcheck executable") -endif() diff --git a/04_EAN/cmake/doxy.cmake b/04_EAN/cmake/doxy.cmake deleted file mode 100644 index 4037ae09255fcb77f950894083d551b96bc2fe51..0000000000000000000000000000000000000000 --- a/04_EAN/cmake/doxy.cmake +++ /dev/null @@ -1,31 +0,0 @@ - - FIND_PACKAGE(Doxygen) - - # set output path - set(DOXY_OUTPUT "doc") - set(DOXY_GENERATE_LATEX "NO") - set(DOXY_IGNORE "") - set(DOXY_INPUT_DIR "${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/src") - - if(DOXYGEN_DOT_FOUND) - set(DOXY_USE_GRAPHVIZ "YES" ) - message(STATUS "[DOXYGEN] Using graphviz to draw nice graphs.") - else(DOXYGEN_DOT_FOUND) - set(DOXY_USE_GRAPHVIY "NO" ) - message(STATUS "[DOXYGEN] GraphViz' Dot tool not found.") - endif(DOXYGEN_DOT_FOUND) - - if (NOT DOXYGEN_FOUND) - message(FATAL_ERROR - "Doxygen is needed to build the documentation. Please install it correctly") - endif() - ## Configure the Template Doxyfile for our specific project - configure_file(${PROJECT_SOURCE_DIR}/cmake/Doxyfile.in - ${PROJECT_BINARY_DIR}/Doxyfile @ONLY IMMEDIATE) - ## Add a custom target to run Doxygen (make doc) - add_custom_target ( doxy - COMMAND ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile - SOURCES ${PROJECT_BINARY_DIR}/Doxyfile - COMMAND echo "HTML ouput at ${DOXY_OUTPUT}/html/index.html" - ) - diff --git a/04_EAN/cmake/emu.cmake b/04_EAN/cmake/emu.cmake deleted file mode 100644 index abc6f81a7221bfc7e27df6118972fdf0100361d9..0000000000000000000000000000000000000000 --- a/04_EAN/cmake/emu.cmake +++ /dev/null @@ -1,175 +0,0 @@ -include(processorcount) -INCLUDE(coloroutput) - -# Grub -find_program(GRUB_MKRESCUE "grub-mkrescue") -if(NOT GRUB_MKRESCUE) - message(FATAL_ERROR "grub-mkrescue not found, cannot create bootable iso :(") -endif() - -set(STARTUP_SCRIPTS ${PROJECT_BINARY_DIR}/scripts) -file(MAKE_DIRECTORY ${STARTUP_SCRIPTS}) - -set(PREPARE_ISO ${STARTUP_SCRIPTS}/prepareISO.sh) -set(FAILWRAPPER ${STARTUP_SCRIPTS}/fail.sh) -configure_file(${PROJECT_SOURCE_DIR}/emu/qrun.sh.in ${STARTUP_SCRIPTS}/qrun.sh) -configure_file(${PROJECT_SOURCE_DIR}/emu/findport.pl ${STARTUP_SCRIPTS}/findport.pl) -configure_file(${PROJECT_SOURCE_DIR}/emu/prepareISO.sh ${PREPARE_ISO}) -configure_file(${PROJECT_SOURCE_DIR}/emu/fail.sh ${FAILWRAPPER} COPYONLY) - - -macro(ADDEMU TGT) - # Prepare some useful variable for use in config files - set(TGT_ELF "${CMAKE_CURRENT_BINARY_DIR}/${TGT}.elf") - - # Start qemu - add_custom_target(run_${TGT} - DEPENDS ${TGT_ELF} ${TGT} - COMMAND echo "Running ${TGT_ELF}..." - COMMAND ${STARTUP_SCRIPTS}/qrun.sh ${TGT_ELF} - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - ) - - add_custom_target( ddd_${TGT} - # Start Qemu in Debug mode. - DEPENDS ${TGT} - DEPENDS ${TGT_ELF} ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh ${TGT_ELF} ddd - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - ) - - add_custom_target( gdb_${TGT} - # Start Qemu in Debug mode. - DEPENDS ${TGT} - DEPENDS ${TGT_ELF} ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh ${TGT_ELF} gdb - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - ) - - add_custom_target( gdbtui_${TGT} - # Start Qemu in Debug mode. - DEPENDS ${TGT} - DEPENDS ${TGT_ELF} ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh ${TGT_ELF} gdbtui - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - ) - - - add_custom_target( cgdb_${TGT} - # Start Qemu in Debug mode. - DEPENDS ${TGT_ELF} ${TGT} - COMMAND ${STARTUP_SCRIPTS}/qrun.sh ${TGT_ELF} cgdb - COMMENT "Debugging in Qemu" - WORKING_DIRECTORY ${PROJECT_BINARY_DIR} - ) - - # add legacytargets - if( NOT TARGET run ) - add_custom_target(run DEPENDS run_${TGT}) - add_custom_target(ddd DEPENDS ddd_${TGT}) - add_custom_target(gdb DEPENDS gdb_${TGT}) - add_custom_target(gdbtui DEPENDS gdbtui_${TGT}) - add_custom_target(cgdb DEPENDS cgdb_${TGT}) - endif() -endmacro(ADDEMU TGT) - -macro(ADDFAIL TGT) - # Prepare some useful variable for use in config files - set(TGT_ELF "${CMAKE_CURRENT_BINARY_DIR}/${TGT}.elf") - set(ISODIR_TGT "${PROJECT_BINARY_DIR}/${TGT}") - - set(ISOFILE_TGT "${ISODIR_TGT}/system.iso") - set(FAILELF_TGT "${ISODIR_TGT}/system.elf") - - set(TGT_RESULT_CSV "${CMAKE_CURRENT_BINARY_DIR}/${TGT}_result.csv") - set(TGT_RESULT_MEM "${CMAKE_CURRENT_BINARY_DIR}/${TGT}_mem.done") - set(TGT_RESULT_IP "${CMAKE_CURRENT_BINARY_DIR}/${TGT}_ip.done") - set(TGT_RESULT_REGS "${CMAKE_CURRENT_BINARY_DIR}/${TGT}_regs.done") - - add_custom_command( - DEPENDS ${TGT_ELF} ${TGT} - COMMAND ${CMAKE_COMMAND} -E copy ${TGT_ELF} ${FAILELF_TGT} - COMMAND ${CMAKE_COMMAND} -E make_directory ${ISODIR_TGT} - COMMAND ${PREPARE_ISO} ${TGT_ELF} ${ISOFILE_TGT} - COMMAND objdump -CDS ${TGT_ELF} > ${PROJECT_BINARY_DIR}/${TGT}.dis - COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/${TGT}.dis ${ISODIR_TGT}/system.dis - OUTPUT ${ISOFILE_TGT} ${FAILELF_TGT} ${PROJECT_BINARY_DIR}/${TGT}.dis ${ISODIR_TGT}/system.dis - COMMENT "Generating bootable grub iso." - ) - - # Create bootable ISO - add_custom_target( iso_${TGT} DEPENDS ${ISOFILE_TGT} ) - add_custom_command( - DEPENDS ${ISOFILE_TGT} ${FAILELF_TGT} - COMMAND ${FAILWRAPPER} trace ${ISODIR_TGT} base - OUTPUT ${ISODIR_TGT}/trace.pb - COMMENT "${BoldGreen}[FAIL] Tracing ${ISOFILE_TGT} and import pilots to database${ColourReset}" - ) - add_custom_target(trace_${TGT} DEPENDS ${ISODIR_TGT}/trace.pb) - - add_custom_command( - DEPENDS ${ISODIR_TGT}/trace.pb - COMMAND ${FAILWRAPPER} inject ${ISODIR_TGT} base - COMMENT "\n${BoldGreen}[FAIL] Injecting bit errors to ${ISOFILE_TGT}\n${BoldGreen}[FAIL] This may take some time${ColourReset}" - OUTPUT ${TGT_RESULT_CSV} - ) - - add_custom_command( - DEPENDS ${ISODIR_TGT}/trace.pb - COMMAND ${FAILWRAPPER} inject_mem ${ISODIR_TGT} base - COMMAND touch ${TGT_RESULT_MEM} - COMMENT "\n${BoldGreen}[FAIL] Injecting bit errors to ${ISOFILE_TGT}\n${BoldGreen}[FAIL] This may take some time${ColourReset}" - OUTPUT ${TGT_RESULT_MEM} - ) - - add_custom_command( - DEPENDS ${ISODIR_TGT}/trace.pb - COMMAND ${FAILWRAPPER} inject_ip ${ISODIR_TGT} base - COMMAND touch ${TGT_RESULT_IP} - COMMENT "\n${BoldGreen}[FAIL] Injecting bit errors to ${ISOFILE_TGT}\n${BoldGreen}[FAIL] This may take some time${ColourReset}" - OUTPUT ${TGT_RESULT_IP} - ) - - add_custom_command( - DEPENDS ${ISODIR_TGT}/trace.pb - COMMAND ${FAILWRAPPER} inject_regs ${ISODIR_TGT} base - COMMAND touch ${TGT_RESULT_REGS} - COMMENT "\n${BoldGreen}[FAIL] Injecting bit errors to ${ISOFILE_TGT}\n${BoldGreen}[FAIL] This may take some time${ColourReset}" - OUTPUT ${TGT_RESULT_REGS} - ) - - add_custom_target(inject_${TGT} - DEPENDS ${TGT_RESULT_CSV} - ) - add_custom_target(inject_mem_${TGT} - DEPENDS ${TGT_RESULT_MEM} - ) - add_custom_target(inject_regs_${TGT} - DEPENDS ${TGT_RESULT_REGS} - ) - add_custom_target(inject_ip_${TGT} - DEPENDS ${TGT_RESULT_IP} - ) - - add_custom_target(shortresults_${TGT} - COMMAND ${FAILWRAPPER} shortresult ${ISODIR_TGT} base - ) - - add_custom_target(resultbrowser_${TGT} - COMMAND ${FAILWRAPPER} resultbrowser ${ISODIR_TGT} base - ) - - if(NOT TARGET trace) - add_custom_target(trace DEPENDS trace_${TGT}) - add_custom_target(inject DEPENDS inject_${TGT}) - add_custom_target(inject_mem DEPENDS inject_mem_${TGT}) - add_custom_target(inject_regs DEPENDS inject_regs_${TGT}) - add_custom_target(inject_ip DEPENDS inject_ip_${TGT}) - add_custom_target(shortresults DEPENDS shortresults_${TGT}) - add_custom_target(resultbrowser DEPENDS resultbrowser_${TGT}) - endif() -endmacro(ADDFAIL TGT) - diff --git a/04_EAN/cmake/framac.cmake b/04_EAN/cmake/framac.cmake deleted file mode 100644 index ecc49a14a3ae5d13a1f0be4086b9e554c1400dce..0000000000000000000000000000000000000000 --- a/04_EAN/cmake/framac.cmake +++ /dev/null @@ -1,26 +0,0 @@ - -find_program(FRAMA_GUI_EXE "frama-c-gui") -find_program(FRAMA_EXE "frama-c") -find_program(WHY_EXE "why3ide") - -if(FRAMA_GUI_EXE) - add_custom_target(frama-c-gui) - message(STATUS "[FRAMA-C] at ${FRAMA_GUI_EXE}") - add_custom_command(TARGET frama-c-gui POST_BUILD - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - COMMAND ${FRAMA_GUI_EXE} -cpp-extra-args='-I ${PROJECT_SOURCE_DIR}/include' - ) -else() - message(FATAL_ERROR "[FRAMA-C] Could not find frama-c-gui executable") -endif() - -if(FRAMA_EXE AND WHY_EXE) - add_custom_target(jessie) - message(STATUS "[JESSIE] at ${FRAMA_EXE} and ${WHY_EXE}") - add_custom_command(TARGET jessie POST_BUILD - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} - COMMAND ${FRAMA_EXE} -add-path /local/why-2.34/lib/frama-c-plugin -jessie -jessie-atp why3ide -cpp-extra-args='-I ${PROJECT_SOURCE_DIR}/include' - ) -else() - message(FATAL_ERROR "[JESSIE] Could not find frama-c or why3ide executable") -endif() diff --git a/04_EAN/cmake/lcov.cmake b/04_EAN/cmake/lcov.cmake deleted file mode 100644 index b4efe2f69ab1962a5e7dd39d6fa7a2aab98daf47..0000000000000000000000000000000000000000 --- a/04_EAN/cmake/lcov.cmake +++ /dev/null @@ -1,51 +0,0 @@ - -find_program(LCOV_TOOL "lcov") -find_program(LCOV_HTML "genhtml") - -#This is very ugly but we need to have the oldest gcov to support llvm -find_program(GCOV_LEGACY "gcov-4.2" ) - -if(NOT GCOV_LEGACY) - find_program(GCOV_LEGACY "gcov-4.3" ) -endif() - -if(NOT GCOV_LEGACY) - find_program(GCOV_LEGACY "gcov-4.4" ) -endif() - -if(LCOV_TOOL AND LCOV_HTML) - - message(STATUS "[LCOV] lcov at ${LCOV_TOOL}") - message(STATUS "[LCOV] genhtml at ${LCOV_HTML}") - - if(NOT DEFINED "LCOV_OUTPUT_DIR") - set(LCOV_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/doc) - endif() - - if(NOT DEFINED "LCOV_SCAN_DIR") - set(LCOV_SCAN_DIR_FLAG --directory ${CMAKE_CURRENT_BINARY_DIR}/src) - endif() - - if(CMAKE_C_COMPILER_ID STREQUAL "Clang") - if(GCOV_LEGACY) - message(STATUS "[LCOV] lcov support for clang is rather buggy") - message(STATUS "[LCOV] using old gcov to support clang at ${GCOV_LEGACY}") - set(OPTION_GCOV_TOOL "--gcov-tool" "${GCOV_LEGACY}") - else() - message(WARNING "lcov won't work with clang") - set(OPTION_GCOV_TOOL "") - endif() - else() - set(OPTION_GCOV_TOOL "") - endif() - - add_custom_target(lcov) - - add_custom_command(TARGET lcov POST_BUILD - COMMAND ${LCOV_TOOL} ${OPTION_GCOV_TOOL} --capture ${LCOV_SCAN_DIR_FLAG} --output-file ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov - COMMAND ${LCOV_TOOL} --remove ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov '*.h' --output-file ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov - COMMAND ${LCOV_TOOL} --remove ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov '/usr/include/*' --output-file ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov - COMMAND ${LCOV_HTML} ${CMAKE_CURRENT_BINARY_DIR}/coverage.lcov --show-details --legend --output-directory ${LCOV_OUTPUT_DIR}/lcov - COMMAND echo "HTML results at: file://${LCOV_OUTPUT_DIR}/lcov/index.html" - ) -endif() diff --git a/04_EAN/cmake/processorcount.cmake b/04_EAN/cmake/processorcount.cmake deleted file mode 100644 index bc9b4d6de81b6695c8e79a06d9e00f413ac1737c..0000000000000000000000000000000000000000 --- a/04_EAN/cmake/processorcount.cmake +++ /dev/null @@ -1,28 +0,0 @@ -if(NOT DEFINED PROCESSOR_COUNT) - # Unknown: - set(PROCESSOR_COUNT 0) - - # Linux: - set(cpuinfo_file "/proc/cpuinfo") - if(EXISTS "${cpuinfo_file}") - file(STRINGS "${cpuinfo_file}" procs REGEX "^processor.: [0-9]+$") - list(LENGTH procs PROCESSOR_COUNT) - endif() - - # Mac: - if(APPLE) - find_program(cmd_sys_pro "system_profiler") - if(cmd_sys_pro) - execute_process(COMMAND ${cmd_sys_pro} OUTPUT_VARIABLE info) - string(REGEX REPLACE "^.*Total Number Of Cores: ([0-9]+).*$" "\\1" - PROCESSOR_COUNT "${info}") - endif() - endif() - - # Windows: - if(WIN32) - set(PROCESSOR_COUNT "$ENV{NUMBER_OF_PROCESSORS}") - endif() -endif() - -message("-- Processor count: " ${PROCESSOR_COUNT}) diff --git a/04_EAN/cmake/sanitizer.cmake b/04_EAN/cmake/sanitizer.cmake deleted file mode 100644 index dbeaafbabbfa9f891b9101a5ac201238434223e3..0000000000000000000000000000000000000000 --- a/04_EAN/cmake/sanitizer.cmake +++ /dev/null @@ -1,7 +0,0 @@ -if(CMAKE_C_COMPILER_ID STREQUAL "GNU") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address,undefined,enum,null,shift,signed-integer-overflow,vla-bound") - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fsanitize=address,undefined,enum,null,shift,signed-integer-overflow,vla-bound") -elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address,integer,undefined,bounds,enum,float-cast-overflow,float-divide-by-zero,null,object-size,shift,signed-integer-overflow,vla-bound") - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fsanitize=address,integer,undefined,bounds,enum,float-cast-overflow,float-divide-by-zero,null,object-size,shift,signed-integer-overflow,vla-bound") -endif() diff --git a/04_EAN/ecos/ecos.ecc b/04_EAN/ecos/ecos.ecc deleted file mode 100644 index 510934d67c0d4c8ec0e94bf5a3e2263a3de535a3..0000000000000000000000000000000000000000 --- a/04_EAN/ecos/ecos.ecc +++ /dev/null @@ -1,15594 +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 pc_i82559 ; - template default ; - package -template CYGPKG_HAL current ; - package -template CYGPKG_IO current ; - package -template CYGPKG_IO_SERIAL current ; - package -template CYGPKG_INFRA current ; - package -template CYGPKG_KERNEL current ; - package -template CYGPKG_MEMALLOC current ; - package -template CYGPKG_ISOINFRA current ; - package -template CYGPKG_LIBC current ; - package -template CYGPKG_LIBC_I18N current ; - package -template CYGPKG_LIBC_SETJMP current ; - package -template CYGPKG_LIBC_SIGNALS current ; - package -template CYGPKG_LIBC_STARTUP current ; - package -template CYGPKG_LIBC_STDIO current ; - package -template CYGPKG_LIBC_STDLIB current ; - package -template CYGPKG_LIBC_STRING current ; - package -template CYGPKG_LIBC_TIME current ; - package -template CYGPKG_LIBM current ; - package -template CYGPKG_IO_WALLCLOCK current ; - package -template CYGPKG_ERROR current ; - package -hardware CYGPKG_HAL_I386 current ; - package -hardware CYGPKG_HAL_I386_GENERIC current ; - package -hardware CYGPKG_HAL_I386_PC current ; - package -hardware CYGPKG_HAL_I386_PCMB current ; - package -hardware CYGPKG_IO_PCI current ; - package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X current ; - package -hardware CYGPKG_IO_SERIAL_I386_PC current ; - package -hardware CYGPKG_DEVS_ETH_INTEL_I82559 current ; - package -hardware CYGPKG_DEVS_ETH_I386_PC_I82559 current ; - package -hardware CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 current ; - package -hardware CYGPKG_DEVICES_WALLCLOCK_I386_PC current ; - package -hardware CYGPKG_DEVS_FRAMEBUF_I386 v3_0 ; - package CYGPKG_IO_FRAMEBUF current ; - package CYGPKG_BLOCK_LIB current ; - package CYGPKG_LINUX_COMPAT current ; - package CYGPKG_POSIX current ; - package CYGPKG_IO_FILEIO current ; - package CYGPKG_USTL 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. If your host operating system -# is Linux you can set this to empty to use your native tools. -# If so, your native gcc must be gcc-2.95.2 or later, and -# "ld -v" must report a version more recent than 2.9.1. -# -cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX { - # Flavor: data - user_value i386-elf - # value_source user - # Default value: i386-elf -}; - -# 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 "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - # value_source user - # Default value: CYGBLD_GLOBAL_WARNFLAGS . " -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - # CYGBLD_GLOBAL_WARNFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings " - # --> "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - - # 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 "-g -nostdlib -Wl,--gc-sections -Wl,-static" - # value_source default - # Default value: "-g -nostdlib -Wl,--gc-sections -Wl,-static" -}; - -# Build GDB stub loader image -# This option enables the building of the GDB stubs for the -# board. The common HAL controls takes care of most of the -# build process, but the final conversion from ELF image to -# binary data is handled by the platform CDL, allowing -# relocation of the data if necessary. -# -cdl_option CYGBLD_BUILD_GDB_STUBS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "GRUB" - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # --> 1 - # Requires: CYGSEM_HAL_ROM_MONITOR - # CYGSEM_HAL_ROM_MONITOR == 0 - # --> 0 - # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS - # CYGBLD_BUILD_COMMON_GDB_STUBS == 0 - # --> 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 0 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 1 - # --> 0 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 1 - # --> 0 -}; - -# Standard compiler warning flags -# This option specifies the default warning-related compiler flags used -# on all eCos platforms. -# -cdl_option CYGBLD_GLOBAL_WARNFLAGS { - # Calculated value: "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings " - # Flavor: data - # Current_value: -Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings - - # The following properties are affected by this value - # option CYGBLD_GLOBAL_CFLAGS - # DefaultValue: CYGBLD_GLOBAL_WARNFLAGS . " -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " -}; - -# Build common GDB stub ROM image -# Unless a target board has specific requirements to the -# stub implementation, it can use a simple common stub. -# This option, which gets enabled by platform HALs as -# appropriate, controls the building of the common stub. -# -cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS -}; - -# < -# Redboot HAL options -# This option lists the target's requirements for a valid Redboot -# configuration. -# -cdl_component CYGPKG_REDBOOT_HAL_OPTIONS { - # This option is not active - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT (unknown) == 0 - # --> 0 - - # There is no associated value. -}; - -# > -# Build RedBoot binary image -# -cdl_component CYGBLD_BUILD_REDBOOT_BIN { - # This option is not active - # The parent CYGPKG_REDBOOT_HAL_OPTIONS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Build Redboot FLOPPY binary image -# This option enables the conversion of the Redboot -# ELF image to a binary image suitable for -# copying to a floppy disk. -# -cdl_option CYGBLD_BUILD_REDBOOT_BIN_FLOPPY { - # This option is not active - # The parent CYGBLD_BUILD_REDBOOT_BIN is not active - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT - # CYGBLD_BUILD_REDBOOT (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYG_HAL_STARTUP == "FLOPPY" - # CYG_HAL_STARTUP == GRUB - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# 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_ROM { - # This option is not active - # The parent CYGBLD_BUILD_REDBOOT_BIN is not active - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT - # CYGBLD_BUILD_REDBOOT (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYG_HAL_STARTUP == "ROM" - # CYG_HAL_STARTUP == GRUB - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# < -# < -# Intel 82559 ethernet driver -# Ethernet driver for Intel 82559 controller. -# -cdl_package CYGPKG_DEVS_ETH_INTEL_I82559 { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This option is not active - # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS - # CYGPKG_IO_ETH_DRIVERS (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED - # CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED == 0 - # --> 0 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# Prints ethernet device status info during startup -# Definining this will cause the ethernet device initialization code -# to print lots of info -# to confirm that it has found the devices on the PCI bus, read -# the MAC address from EEPROM correctly, and so on, and also -# displays the mode (10/100MHz, half/full duplex) of the -# connection. If the value is set higher than one then -# additional information about each packet sent will be printed. -# -cdl_option CYGDBG_DEVS_ETH_INTEL_I82559_CHATTER { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # 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 supported interfaces. -# This option selects the number of PCI ethernet interfaces to -# be supported by the driver. -# -cdl_option CYGNUM_DEVS_ETH_INTEL_I82559_DEV_COUNT { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Calculated value: CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED - # CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED == 0 - # Flavor: data - # Current_value: 0 -}; - -# Keep Ethernet statistics -# The ethernet device can maintain statistics about the network, -# specifically a great variety of error rates which are useful -# for network management. SNMP for example uses this -# information. There is some performance cost in maintaining -# this information; disable this option to recoup that. -# -cdl_component CYGDBG_DEVS_ETH_INTEL_I82559_KEEP_STATISTICS { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Keep i82559 Internal statistics -# The i82559 keeps internal counters, and it is possible to -# acquire these. But the i82559 (reputedly) does not service -# the network whilst uploading the data to RAM from its -# internal registers. If throughput is a problem, disable -# this option to acquire only those statistics gathered by -# software, so that the i82559 never sleeps. -# -cdl_option CYGDBG_DEVS_ETH_INTEL_I82559_KEEP_82559_STATISTICS { - # This option is not active - # The parent CYGDBG_DEVS_ETH_INTEL_I82559_KEEP_STATISTICS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# SIOCSIFHWADDR records MAC address in EEPROM -# The ioctl() socket call with operand SIOCSIFHWADDR sets the -# interface hardware address - the MAC address or ethernet -# address. This option causes the new MAC address to be written -# into the EEPROM associated with the interface, so that the new -# MAC address is permanently recorded. Doing this should be a -# carefully chosen decision, hence this option. -# -cdl_component CYGPKG_DEVS_ETH_INTEL_I82559_WRITE_EEPROM { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Maximum number of RX descriptors -# An RX descriptor is used for each ethernet frame required -# to be passed to the upper networking layers. This option -# sets the maximum number of these. Higher numbers use more -# memory, lower numbers will reduce performance. The system -# appears to work OK with as few as 8 descriptors but limps -# painfully with only 4. Performance is better with more than -# 8, but assuming the size of non-cached (so useless for anything -# else) memory window is 1Mb, we might as well use it all. -# 128 RX and TX descriptors uses the whole 1Mb, near enough. -# -cdl_option CYGNUM_DEVS_ETH_INTEL_I82559_MAX_RX_DESCRIPTORS { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: CYGPKG_REDBOOT ? 4 : 128 - # CYGPKG_REDBOOT (unknown) == 0 - # --> 128 -}; - -# Maximum number of TX descriptors -# A TX descriptor is used for each ethernet frame passed down -# from upper networking layers for transmission. This option -# sets the maximum number of these. Higher numbers use more -# memory, lower numbers will reduce performance. The system -# appears to work OK with as few as 8 descriptors but limps -# painfully with only 4. Performance is better with more than -# 8, but assuming the size of non-cached (so useless for anything -# else) memory window is 1Mb, we might as well use it all. -# 128 RX and TX descriptors uses the whole 1Mb, near enough. -# -cdl_option CYGNUM_DEVS_ETH_INTEL_I82559_MAX_TX_DESCRIPTORS { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: CYGPKG_REDBOOT ? 4 : 128 - # CYGPKG_REDBOOT (unknown) == 0 - # --> 128 -}; - -# Intel 82559 ethernet driver build options -# -cdl_component CYGPKG_DEVS_ETH_INTEL_I82559_OPTIONS { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559 is not active - - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the Intel 82559 ethernet driver -# package. These flags are used in addition to the set of -# global flags. -# -cdl_option CYGPKG_DEVS_ETH_INTEL_I82559_CFLAGS_ADD { - # This option is not active - # The parent CYGPKG_DEVS_ETH_INTEL_I82559_OPTIONS is not active - - # 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" -}; - -# < -# < -# PC board ethernet driver -# Ethernet driver for PC. -# -cdl_package CYGPKG_DEVS_ETH_I386_PC_I82559 { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This option is not active - # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS - # CYGPKG_IO_ETH_DRIVERS (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYGPKG_HAL_I386_PC - # CYGPKG_HAL_I386_PC == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current -}; - -# > -# Intel i82559 ethernet driver required -# -cdl_interface CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED { - # Implemented by CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0, inactive, enabled - # This option is not active - # The parent CYGPKG_DEVS_ETH_I386_PC_I82559 is not active - - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # package CYGPKG_DEVS_ETH_INTEL_I82559 - # ActiveIf: CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED - # option CYGNUM_DEVS_ETH_INTEL_I82559_DEV_COUNT - # Calculated: CYGINT_DEVS_ETH_INTEL_I82559_REQUIRED -}; - -# Ethernet port 0 driver -# -cdl_component CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0 { - # This option is not active - # The parent CYGPKG_DEVS_ETH_I386_PC_I82559 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Device name for the ETH0 ethernet port 0 driver -# This option sets the name of the ethernet device for the -# i82559 ethernet port 0. -# -cdl_option CYGDAT_DEVS_ETH_I386_PC_I82559_ETH0_NAME { - # This option is not active - # The parent CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0 is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"eth0\"" - # value_source default - # Default value: "\"eth0\"" -}; - -# Set the ethernet station address -# Enabling this option will allow the ethernet -# station address to be forced to the value set by the -# configuration. This may be required if the hardware does -# not include a serial EEPROM for the ESA. -# -cdl_component CYGSEM_DEVS_ETH_I386_PC_I82559_ETH0_SET_ESA { - # This option is not active - # The parent CYGPKG_DEVS_ETH_I386_PC_I82559_ETH0 is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# The ethernet station address -# The ethernet station address -# -cdl_option CYGDAT_DEVS_ETH_I386_PC_I82559_ETH0_ESA { - # This option is not active - # The parent CYGSEM_DEVS_ETH_I386_PC_I82559_ETH0_SET_ESA is not active - # The parent CYGSEM_DEVS_ETH_I386_PC_I82559_ETH0_SET_ESA is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{0x08, 0x00, 0x00, 0x00, 0x00, 0x01}" - # value_source default - # Default value: "{0x08, 0x00, 0x00, 0x00, 0x00, 0x01}" -}; - -# < -# < -# < -# < -# 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 - # package CYGPKG_IO_FRAMEBUF - # Requires: CYGPKG_INFRA CYGPKG_HAL CYGPKG_ERROR -}; - -# > -# Platform-independent HAL options -# A number of configuration options are common to most or all -# HAL packages, for example options controlling how much state -# should be saved during a context switch. The implementations -# of these options will vary from architecture to architecture. -# -cdl_component CYGPKG_HAL_COMMON { - # There is no associated value. -}; - -# > -# Provide eCos kernel support -# The HAL can be configured to either support the full eCos -# kernel, or to support only very simple applications which do -# not require a full kernel. If kernel support is not required -# then some of the startup, exception, and interrupt handling -# code can be eliminated. -# -cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 -}; - -# HAL exception support -# When a processor exception occurs, for example an attempt to -# execute an illegal instruction or to perform a divide by -# zero, this exception may be handled in a number of different -# ways. If the target system has gdb support then typically -# the exception will be handled by gdb code. Otherwise if the -# HAL exception support is enabled then the HAL will invoke a -# routine deliver_exception(). Typically this routine will be -# provided by the eCos kernel, but it is possible for -# application code to provide its own implementation. If the -# HAL exception support is not enabled and a processor -# exception occurs then the behaviour of the system is -# undefined. -# -cdl_option CYGPKG_HAL_EXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS == 1 - # --> 1 - # Requires: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_KERNEL_EXCEPTIONS - # Requires: CYGPKG_HAL_EXCEPTIONS -}; - -# Stop calling constructors early -# This option supports environments where some constructors -# must be run in the context of a thread rather than at -# simple system startup time. A boolean flag named -# cyg_hal_stop_constructors is set to 1 when constructors -# should no longer be invoked. It is up to some other -# package to deal with the rest of the constructors. -# In the current version this is only possible with the -# C library. -# -cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # Requires: CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG -}; - -# HAL uses the MMU and allows for CDL manipulation of it's use -# -cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGSEM_HAL_INSTALL_MMU_TABLES - # ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES -}; - -# Install MMU tables. -# This option controls whether this application installs -# its own Memory Management Unit (MMU) tables, or relies on the -# existing environment to run. -# -cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES { - # This option is not active - # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES - # CYGINT_HAL_SUPPORTS_MMU_TABLES == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYG_HAL_STARTUP != "RAM" - # CYG_HAL_STARTUP == GRUB - # --> 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 (unknown) == 0 - # CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0 - # CYGPKG_HAL_V85X_V850 (unknown) == 0 - # CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 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 == GRUB - # --> 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" -}; - -# < -# Grouped libraries for linking -# This option provides a list of libraries used to satisfy -# linker dependencies, but necessary for building eCos. It is passed -# to a GROUP() directive in the linker script, which is analogous -# to using the "-(" aka "--start-group", and "-)" aka -# "--end-group" options on the linker command line. -# It provides a similar function to adding "-llibname" to the -# linker, but with the added feature that each library in the group -# is scanned in turn for unresolved symbols, and this process is -# repeated until there are no more unresolved symbols. This is important -# for system libraries as there are often mutual dependencies. -# This option should not be used for adding application specific -# libraries. That should be done in the application's own makefile -# or link line. -# Users wishing to use the GNU Compiler prior to GCC 3.0 will -# need to remove libsupc++.a from this option. -# Note that libtarget.a is always required to build eCos. -# -cdl_component CYGBLD_HAL_LINKER_GROUPED_LIBS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "libtarget.a libgcc.a libsupc++.a" - # value_source default - # Default value: CYGBLD_HAL_LINKER_GROUPED_LIBS_DEFAULT - # CYGBLD_HAL_LINKER_GROUPED_LIBS_DEFAULT == "libtarget.a libgcc.a libsupc++.a" - # --> "libtarget.a libgcc.a libsupc++.a" - # Requires: is_substr(CYGBLD_HAL_LINKER_GROUPED_LIBS, "libtarget.a") - # CYGBLD_HAL_LINKER_GROUPED_LIBS == "libtarget.a libgcc.a libsupc++.a" - # --> 1 - - # The following properties are affected by this value - # component CYGBLD_HAL_LINKER_GROUPED_LIBS - # Requires: is_substr(CYGBLD_HAL_LINKER_GROUPED_LIBS, "libtarget.a") -}; - -# > -# Default setting -# This option is intended to be used by other eCos packages (including -# HAL packages) to provide a different default value for -# CYGBLD_HAL_LINKER_GROUPED_LIBS. -# This is separated into its own option to continue to -# allow the user to make customisations to the grouped library -# list. -# -cdl_option CYGBLD_HAL_LINKER_GROUPED_LIBS_DEFAULT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "libtarget.a libgcc.a libsupc++.a" - # value_source default - # Default value: "libtarget.a libgcc.a libsupc++.a" - - # The following properties are affected by this value - # component CYGBLD_HAL_LINKER_GROUPED_LIBS - # DefaultValue: CYGBLD_HAL_LINKER_GROUPED_LIBS_DEFAULT -}; - -# < -# < -# HAL interrupt handling -# A number of configuration options related to interrupt -# handling are common to most or all HAL packages, even though -# the implementations will vary from architecture to -# architecture. -# -cdl_component CYGPKG_HAL_COMMON_INTERRUPTS { - # There is no associated value. -}; - -# > -# Use separate stack for interrupts -# When an interrupt occurs this interrupt can be handled either -# on the current stack or on a separate stack maintained by the -# HAL. Using a separate stack requires a small number of extra -# instructions in the interrupt handling code, but it has the -# advantage that it is no longer necessary to allow extra space -# in every thread stack for the interrupt handlers. The amount -# of extra space required depends on the interrupt handlers -# that are being used. -# -cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Interrupt stack size -# This configuration option specifies the stack size in bytes -# for the interrupt stack. Typically this should be a multiple -# of 16, but the exact requirements will vary from architecture -# to architecture. The interrupt stack serves two separate -# purposes. It is used as the stack during system -# initialization. In addition, if the interrupt system is -# configured to use a separate stack then all interrupts will -# be processed on this stack. The exact memory requirements -# will vary from application to application, and will depend -# heavily on whether or not other interrupt-related options, -# for example nested interrupts, are enabled. On most targets, -# in a configuration with no kernel this stack will also be -# the stack used to invoke the application, and must obviously -# be appropriately large in that case. -# -cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4096 - # value_source default - # Default value: CYGPKG_KERNEL ? 4096 : 32768 - # CYGPKG_KERNEL == current - # --> 4096 - # Legal values: 128 to 1048576 -}; - -# Allow nested interrupts -# When an interrupt occurs the HAL interrupt handling code can -# either leave interrupts disabled for the duration of the -# interrupt handling code, or by doing some extra work it can -# reenable interrupts before invoking the interrupt handler and -# thus allow nested interrupts to happen. If all the interrupt -# handlers being used are small and do not involve any loops -# then it is usually better to disallow nested interrupts. -# However if any of the interrupt handlers are more complicated -# than nested interrupts will usually be required. -# -cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Save minimum context on interrupt -# The HAL interrupt handling code can exploit the calling conventions -# defined for a given architecture to reduce the amount of state -# that has to be saved. Generally this improves performance and -# reduces code size. However it can make source-level debugging -# more difficult. -# -cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # option CYGBLD_BUILD_GDB_STUBS - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT -}; - -# Chain all interrupts together -# Interrupts can be attached to vectors either singly, or be -# chained together. The latter is necessary if there is no way -# of discovering which device has interrupted without -# inspecting the device itself. It can also reduce the amount -# of RAM needed for interrupt decoding tables and code. -# -cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - - # The following properties are affected by this value - # option CYGIMP_KERNEL_INTERRUPTS_CHAIN - # Requires: CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN -}; - -# Ignore spurious [fleeting] interrupts -# On some hardware, interrupt sources may not be de-bounced or -# de-glitched. Rather than try to handle these interrupts (no -# handling may be possible), this option allows the HAL to simply -# ignore them. In most cases, if the interrupt is real it will -# reoccur in a detectable form. -# -cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# HAL context switch support -# A number of configuration options related to thread contexts -# are common to most or all HAL packages, even though the -# implementations will vary from architecture to architecture. -# -cdl_component CYGPKG_HAL_COMMON_CONTEXT { - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Use minimum thread context -# The thread context switch code can exploit the calling -# conventions defined for a given architecture to reduce the -# amount of state that has to be saved during a context -# switch. Generally this improves performance and reduces -# code size. However it can make source-level debugging more -# difficult. -# -cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # option CYGBLD_BUILD_GDB_STUBS - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM -}; - -# < -# Explicit control over cache behaviour -# These options let the default behaviour of the caches -# be easily configurable. -# -cdl_component CYGPKG_HAL_CACHE_CONTROL { - # There is no associated value. -}; - -# > -# Enable DATA cache on startup -# Enabling this option will cause the data cache to be enabled -# as soon as practicable when eCos starts up. One would choose -# to disable this if the data cache cannot safely be turned on, -# such as a case where the cache(s) require additional platform -# specific setup. -# -cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# DATA cache mode on startup -# This option controls the mode the cache will be set to -# when enabled on startup. -# -cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value COPYBACK - # 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. - - # The following properties are affected by this value -}; - -# > -# Support for GDB stubs -# The HAL implements GDB stubs for the target. -# -cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS { - # Implemented by CYGPKG_HAL_I386_PC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS -}; - -# Include GDB stubs in HAL -# This option causes a set of GDB stubs to be included into the -# system. On some target systems the GDB support will be -# provided by other means, for example by a ROM monitor. On -# other targets, especially when building a ROM-booting system, -# the necessary support has to go into the target library -# itself. When GDB stubs are include in a configuration, HAL -# serial drivers must also be included. -# -cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS { - # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS - # CYGINT_HAL_DEBUG_GDB_STUBS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR - # CYGSEM_HAL_USE_ROM_MONITOR == 0 - # --> 1 - # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT - # CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 1 - # --> 0 - # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM - # CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 1 - # --> 0 - # 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 CYGDBG_HAL_DEBUG_GDB_INITIAL_BREAK - # ActiveIf: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS -}; - -# Support for external break support in GDB stubs -# The HAL implements external break (or asynchronous interrupt) -# in the GDB stubs for the target. -# -cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK { - # Implemented by CYGPKG_HAL_I386_PC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK -}; - -# Include GDB external break support for stubs -# This option causes the GDB stub to add a serial interrupt handler -# which will listen for GDB break packets. This lets you stop the -# target asynchronously when using GDB, usually by hitting Control+C -# or pressing the STOP button. This option differs from -# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when -# GDB stubs are present. -# -cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT { - # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK - # CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT - # option CYGBLD_BUILD_GDB_STUBS - # Requires: ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT -}; - -# Platform does not support CTRLC -# -cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT - # ActiveIf: CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 -}; - -# Include GDB external break support when no stubs -# This option adds an interrupt handler for the GDB serial line -# which will listen for GDB break packets. This lets you stop the -# target asynchronously when using GDB, usually by hitting Control+C -# or pressing the STOP button. This option differs from -# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB -# stubs are NOT present. -# -cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT { - # 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 CYGBLD_BUILD_GDB_STUBS - # 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 == 0 - # CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # option CYGBLD_BUILD_GDB_STUBS - # 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" -}; - -# Enable initial breakpoint -# This option causes an application that has GDB stubs built in -# to take a breakpoint immediately before calling cyg_start(). -# This gives the developer a chance to set any breakpoints or -# inspect the system state before it proceeds. -# -cdl_option CYGDBG_HAL_DEBUG_GDB_INITIAL_BREAK { - # This option is not active - # ActiveIf constraint: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: !CYGPKG_REDBOOT - # CYGPKG_REDBOOT (unknown) == 0 - # --> 1 -}; - -# < -# 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_I386_PC, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT - # ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT -}; - -# Target supports baud rate control via vectors -# Whether this target supports the __COMMCTL_GETBAUD -# and __COMMCTL_SETBAUD virtual vector comm control operations. -# -cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Enable use of virtual vector calling interface -# Virtual vector support allows the HAL to let the ROM -# monitor handle certain operations. The virtual vector table -# defines a calling interface between applications running in -# RAM and the ROM monitor. -# -cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT { - # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT - # CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# 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 -}; - -# 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 -}; - -# 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 == GRUB - # 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_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_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_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 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 board, and this -# ROM monitor may process exceptions or interrupts generated from the -# application. This enables features such as utilizing a separate -# interrupt stack when exceptions are generated. -# -cdl_option CYGSEM_HAL_ROM_MONITOR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "GRUB" - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # --> 1 - # Requires: !CYGHWR_HAL_I386_FPU_SWITCH_LAZY - # CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYGSEM_HAL_ROM_MONITOR - # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT -}; - -# 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 == GRUB - # --> 0 0 - # Legal values: "Generic" "GDB_stubs" - # Requires: CYG_HAL_STARTUP == "RAM" - # CYG_HAL_STARTUP == GRUB - # --> 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 { - # Implemented by CYGPKG_HAL_I386_PCMB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# Saved interrupt state required -# Components requiring access to saved interrupt state via the -# hal_saved_interrupt_state symbol should implement this -# interface. -# -cdl_interface CYGINT_HAL_COMMON_SAVED_INTERRUPT_STATE_REQUIRED { - # Implemented by CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT, active, disabled - # Implemented by CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT, inactive, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value -}; - -# File I/O operations via GDB -# This option enables support for various file I/O -# operations using the GDB remote protocol to communicate -# with GDB. The operations are then performed on the -# debugging host by proxy. These operations are only -# currently available by using a system call interface -# to RedBoot. This may change in the future. -# -cdl_option CYGPKG_HAL_GDB_FILEIO { - # This option is not active - # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS - # CYGSEM_REDBOOT_BSP_SYSCALLS (unknown) == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS - # CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0 - # --> 0 -}; - -# Build Compiler sanity checking tests -# Enabling this option causes compiler tests to be built. -# -cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - - # The following properties are affected by this value - # component CYGPKG_HAL_TESTS - # Calculated: "tests/context tests/basic" - # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") - # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") - # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") -}; - -# Common HAL tests -# This option specifies the set of tests for the common HAL. -# -cdl_component CYGPKG_HAL_TESTS { - # Calculated value: "tests/context tests/basic" - # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") - # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") - # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") - # CYGINT_HAL_TESTS_NO_CACHES == 0 - # CYGPKG_HAL_BUILD_COMPILER_TESTS == 0 - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # Flavor: data - # Current_value: tests/context tests/basic tests/cache -}; - -# > -# Interface for cache presence -# Some architectures and/or platforms do not have caches. By -# implementing this interface, these can disable the various -# cache-related tests. -# -cdl_interface CYGINT_HAL_TESTS_NO_CACHES { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_HAL_TESTS - # Calculated: "tests/context tests/basic" - # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") - # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") - # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # -}; - -# < -# i386 architecture -# The i386 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_I386 { - # 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 CYGPKG_LIBM_CFLAGS_ADD - # DefaultValue: "-fno-strict-aliasing" . ((!CYGPKG_HAL_I386 && !CYGPKG_HAL_SYNTH_I386) ? "" : " -ffloat-store") -}; - -# > -# SMP support -# -cdl_component CYGPKG_HAL_SMP_SUPPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 0 - # CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 0 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_KERNEL_SMP_SUPPORT - # Requires: CYGPKG_HAL_SMP_SUPPORT - # component CYGPKG_HAL_I386_PCMB_SMP_SUPPORT - # ActiveIf: CYGPKG_HAL_SMP_SUPPORT - # component CYGPKG_HAL_I386_PCMB_SMP_SUPPORT - # Calculated: CYGPKG_HAL_SMP_SUPPORT -}; - -# > -# Max number of CPUs supported -# -cdl_option CYGPKG_HAL_SMP_CPU_MAX { - # This option is not active - # The parent CYGPKG_HAL_SMP_SUPPORT is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 2 - # value_source default - # Default value: 2 -}; - -# < -# Enable I386 FPU support -# This component enables support for the -# I386 floating point unit. -# -cdl_component CYGHWR_HAL_I386_FPU { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Use lazy FPU state switching -# This option enables lazy FPU state switching. -# The default behaviour for eCos is to save and -# restore FPU state on every thread switch, interrupt -# and exception. While simple and deterministic, this -# approach can be expensive if the FPU is not used by -# all threads. The alternative, enabled by this option, -# is to use hardware features that allow the FPU state -# of a thread to be left in the FPU after it has been -# descheduled, and to allow the state to be switched to -# a new thread only if it actually uses the FPU. Where -# only one or two threads use the FPU this can avoid a -# lot of unnecessary state switching. -# -cdl_option CYGHWR_HAL_I386_FPU_SWITCH_LAZY { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 - - # The following properties are affected by this value - # component CYGPKG_HAL_SMP_SUPPORT - # Requires: CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 0 - # option CYGSEM_HAL_ROM_MONITOR - # Requires: !CYGHWR_HAL_I386_FPU_SWITCH_LAZY -}; - -# < -# Enable Pentium class CPU features -# This component enables support for various -# features of Pentium class CPUs. -# -cdl_component CYGHWR_HAL_I386_PENTIUM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Save/Restore SSE registers on context switch -# This option enables SSE state switching. The default -# behaviour for eCos is to ignore the SSE registers. -# Enabling this option adds SSE state information to -# every thread context. -# -cdl_option CYGHWR_HAL_I386_PENTIUM_SSE { - # This option is not active - # The parent CYGHWR_HAL_I386_PENTIUM is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Support extra Pentium registers in GDB stub -# This option enables support for extra Pentium registers -# in the GDB stub. These are registers such as CR0-CR4, and -# all MSRs. Not all GDBs support these registers, so the -# default behaviour for eCos is to not include them in the -# GDB stub support code. -# -cdl_option CYGHWR_HAL_I386_PENTIUM_GDB_REGS { - # This option is not active - # The parent CYGHWR_HAL_I386_PENTIUM is disabled - - # 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/i386.ld" - # Flavor: data - # Current_value: src/i386.ld -}; - -# Implementations of hal_i386_mem_real_region_top() -# -cdl_interface CYGINT_HAL_I386_MEM_REAL_REGION_TOP { - # Implemented by CYGPKG_HAL_I386_PCMB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # 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_I386_LINUX_EXEC { - # This option is not active - # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC - # CYGBLD_BUILD_REDBOOT_WITH_EXEC (unknown) == 0 - # --> 0 - - # There is no associated value. -}; - -# > -# Address for the trampoline code -# This is the address to where the trampoline code is -# copied. The trampoline copies the image to its -# final location and jumps to its entry point. -# -cdl_option CYGHWR_REDBOOT_I386_TRAMPOLINE_ADDRESS { - # This option is not active - # The parent CYGPKG_REDBOOT_I386_LINUX_EXEC is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x0007C000 - # value_source default - # Default value: 0x0007C000 -}; - -# < -# i386 generic target -# This package provides support for generic IA32 CPU variants. -# Any CPU from an 80386 to the latest Pentium/Athlon should work -# with this variant HAL. Essentially this variant is empty, it -# just avoids providing any configuration to the generic architecture -# support in the architecture HAL. -# -cdl_package CYGPKG_HAL_I386_GENERIC { - # 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 -}; - -# i386 PC Target -# The i386 PC Target HAL package provides the -# support needed to run eCos binaries on an i386 PC. -# -cdl_package CYGPKG_HAL_I386_PC { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # package CYGPKG_DEVS_ETH_I386_PC_I82559 - # ActiveIf: CYGPKG_HAL_I386_PC - # package CYGPKG_DEVICES_WALLCLOCK_I386_PC - # ActiveIf: CYGPKG_HAL_I386_PC -}; - -# > -# How to discover the size of available RAM. -# It is possible for the HAL to discover the -# size of RAM In several ways. Currently this -# can be done by querying the BIOS or by -# hardcoding the values into the executable. -# -cdl_component CYGPKG_HAL_I386_PC_MEMSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value BIOS - # value_source default - # Default value: BIOS - # Legal values: "BIOS" "HARDCODE" - - # The following properties are affected by this value - # option CYGNUM_HAL_I386_PC_MEMSIZE_BASE - # ActiveIf: CYGPKG_HAL_I386_PC_MEMSIZE == "HARDCODE" - # option CYGNUM_HAL_I386_PC_MEMSIZE_EXTENDED - # ActiveIf: CYGPKG_HAL_I386_PC_MEMSIZE == "HARDCODE" -}; - -# > -# Amount of Base RAM available. -# -cdl_option CYGNUM_HAL_I386_PC_MEMSIZE_BASE { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_I386_PC_MEMSIZE == "HARDCODE" - # CYGPKG_HAL_I386_PC_MEMSIZE == BIOS - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x000F0000 - # value_source default - # Default value: 0x000F0000 -}; - -# Amount of Extended RAM available. -# -cdl_option CYGNUM_HAL_I386_PC_MEMSIZE_EXTENDED { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_I386_PC_MEMSIZE == "HARDCODE" - # CYGPKG_HAL_I386_PC_MEMSIZE == BIOS - # --> 0 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00100000 - # value_source default - # Default value: 0x00100000 -}; - -# < -# Startup type -# It is possible to configure eCos for the PC target to build for: -# RAM startup (generally when being run under an existing -# Monitor program like RedBoot); FLOPPY startup (for writing -# to a floppy disk, which can then be used for booting -# on PCs with a standard BIOS), GRUB startup (for being booted -# by the GRUB bootloader) ROM startup (for writing -# straight to a boot ROM/Flash). ROM startup is experimental -# at this time. -# -cdl_component CYG_HAL_STARTUP { - # Flavor: data - user_value GRUB - # value_source user - # Default value: RAM - # Legal values: "RAM" "FLOPPY" "ROM" "GRUB" - - # The following properties are affected by this value - # option CYGBLD_BUILD_I386_ROMBOOT - # Calculated: CYG_HAL_STARTUP == "ROM" - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "GRUB" - # option CYGBLD_BUILD_GDB_STUBS - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "GRUB" - # option CYGHWR_HAL_I386_PC_LOAD_HIGH - # Requires: CYG_HAL_STARTUP == "RAM" || CYG_HAL_STARTUP == "GRUB" - # option CYGHWR_HAL_I386_PC_LOAD_HIGH - # Requires: CYG_HAL_STARTUP == "RAM" || CYG_HAL_STARTUP == "GRUB" - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "GRUB" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "GRUB" - # option CYGSEM_HAL_ROM_MONITOR - # Requires: CYG_HAL_STARTUP == "FLOPPY" || CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "GRUB" - # 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 CYGBLD_BUILD_REDBOOT_BIN_FLOPPY - # ActiveIf: CYG_HAL_STARTUP == "FLOPPY" - # option CYGBLD_BUILD_REDBOOT_BIN_ROM - # 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 -}; - -# Build ROM bootstrap code -# -cdl_option CYGBLD_BUILD_I386_ROMBOOT { - # Calculated value: CYG_HAL_STARTUP == "ROM" - # CYG_HAL_STARTUP == GRUB - # Flavor: bool - # Current value: 0 -}; - -# Diagnostic serial port baud rate -# This option selects the baud rate used for the diagnostic port. -# Note: this should match the value chosen for the GDB port if the -# diagnostic 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 38400 - # value_source default - # Default value: 38400 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# GDB serial port baud rate -# This option controls the baud rate used for the GDB connection. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 38400 - # value_source default - # Default value: 38400 - # Legal values: 9600 19200 38400 57600 115200 -}; - -# Number of communication channels on the board -# This define the number of serial ports that will be used by the HAL. -# Ports 0 and 1 equate to COM1 and COM2 and port 2 is the PC screen and -# keyboard. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 3 - # value_source default - # Default value: CYGSEM_HAL_I386_PC_DIAG_SCREEN ? 3 : 2 - # CYGSEM_HAL_I386_PC_DIAG_SCREEN == 1 - # --> 3 - # Legal values: 1 to 3 - - # 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 -# On PCs with two 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 { - # 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 == 3 -}; - -# Default console channel. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT { - # 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 == 3 - - # The following properties are affected by this value - # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL - # DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT -}; - -# Diagnostic serial port -# On PCs with two serial ports, this option -# chooses which port will be used for diagnostic output. -# Selecting port 2 will cause the PC screen to be used. -# -cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL { - # 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 == 3 -}; - -# Output to PC screen -# This option enables use of the PC screen and keyboard as a -# third virtual serial device. -# -cdl_option CYGSEM_HAL_I386_PC_DIAG_SCREEN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS - # DefaultValue: CYGSEM_HAL_I386_PC_DIAG_SCREEN ? 3 : 2 - # option CYGNUM_HAL_I386_PC_STARTUP_VIDEO_MODE - # Requires: !CYGSEM_HAL_I386_PC_DIAG_SCREEN -}; - -# Load into higher memory (2MB) -# This option enables building RAM applications -# which have a start address outside of the area -# used by redboot_GRUB. -# -cdl_option CYGHWR_HAL_I386_PC_LOAD_HIGH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYG_HAL_STARTUP == "RAM" || CYG_HAL_STARTUP == "GRUB" - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # --> 1 - - # The following properties are affected by this value - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # component CYGHWR_MEMORY_LAYOUT - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_LDI - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # option CYGHWR_MEMORY_LAYOUT_H - # Calculated: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" -}; - -# Memory layout -# -cdl_component CYGHWR_MEMORY_LAYOUT { - # Calculated value: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_ram_hi" : "i386_pc_ram") : CYG_HAL_STARTUP == "ROM" ? "i386_pc_rom" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "i386_pc_grub_hi" : "i386_pc_grub") : "i386_pc_floppy" - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # Flavor: data - # Current_value: i386_pc_grub -}; - -# > -# Memory layout linker script fragment -# -cdl_option CYGHWR_MEMORY_LAYOUT_LDI { - # Calculated value: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.ldi>" : "<pkgconf/mlt_i386_pc_ram.ldi>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.ldi>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.ldi>" : "<pkgconf/mlt_i386_pc_grub.ldi>") : "<pkgconf/mlt_i386_pc_floppy.ldi>" - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # Flavor: data - # Current_value: <pkgconf/mlt_i386_pc_grub.ldi> -}; - -# Memory layout header file -# -cdl_option CYGHWR_MEMORY_LAYOUT_H { - # Calculated value: CYG_HAL_STARTUP == "RAM" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_ram_hi.h>" : "<pkgconf/mlt_i386_pc_ram.h>") : CYG_HAL_STARTUP == "ROM" ? "<pkgconf/mlt_i386_pc_rom.h>" : CYG_HAL_STARTUP == "GRUB" ? (CYGHWR_HAL_I386_PC_LOAD_HIGH ? "<pkgconf/mlt_i386_pc_grub_hi.h>" : "<pkgconf/mlt_i386_pc_grub.h>") : "<pkgconf/mlt_i386_pc_floppy.h>" - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # CYG_HAL_STARTUP == GRUB - # CYG_HAL_STARTUP == GRUB - # CYGHWR_HAL_I386_PC_LOAD_HIGH == 0 - # Flavor: data - # Current_value: <pkgconf/mlt_i386_pc_grub.h> -}; - -# < -# < -# i386 PC Motherboard Support -# The i386 PC Motherboard HAL package provides the -# support needed to run eCos binaries on an i386 PC -# using a standard motherboard. This package provides -# support for the standard PC devices: timers, interrupt -# controller, serial ports, ASCII display, keyboard, PCI -# bus etc. that are found on all PC compatible platforms. -# It does not provide support for devices that may also be -# found on modern motherboards, such as ethernet, sound and -# video devices. These are supported by drivers elsewhere. -# -cdl_package CYGPKG_HAL_I386_PCMB { - # 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_IO_SERIAL_I386_PC - # ActiveIf: CYGPKG_HAL_I386_PCMB -}; - -# > -# Real-time clock constants. -# The RTC period is based on the clock input -# to the 8254, which is 1193180 Hz. -# CYGNUM_HAL_RTC_PERIOD is set for 100 ticks -# per second. -# -cdl_component CYGNUM_HAL_RTC_CONSTANTS { - # There is no associated value. -}; - -# > -# Real-time clock numerator -# -cdl_option CYGNUM_HAL_RTC_NUMERATOR { - # Flavor: data - user_value 1000000000 - # value_source user - # Default value: 1000000000 -}; - -# Real-time clock denominator -# -cdl_option CYGNUM_HAL_RTC_DENOMINATOR { - # Flavor: data - user_value 1000 - # value_source user - # Default value: 100 -}; - -# Real-time clock period -# -cdl_option CYGNUM_HAL_RTC_PERIOD { - # Flavor: data - user_value 1193 - # value_source user - # Default value: 11932 -}; - -# < -# Search entire PCI space -# This option enables searching the entire PCI address space, including -# up to 256 busses, etc. Probably only useful when there are bridges or -# other PCI expanding devices (such as a board with it's own PCI bus) -# in the system. If disabled, the system will revert to the default -# PCI space size (typically 8 busses). -# -cdl_option CYGSEM_HAL_I386_PC_LARGE_PCI_SPACE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Switch the display to an alternative video mode -# This option can be used when building RedBoot to switch -# the display to a suitable mode, typically before running -# an eCos graphical application. The mode switch involves -# calling the PC Video BIOS, so needs to happen while the -# processor is still running in real mode. Some information -# about the video BIOS, the current mode, and the available -# modes will be written to video memory so that the eCos -# application knows what happened. -# Different graphics cards use different numbers for the -# various modes, so there is no simple way of knowing which -# mode should be specified to achieve the desired resolution. -# Instead RedBoot can be built with a suitable default, for -# example 0x0100, and then a simple eCos application can be -# built using an appropriate eCos configuration and -# run to find out about all the available mode. RedBoot can -# then be reconfigured and rebuilt to use a suitable mode. -# The PC motherboard support package comes with a simple -# eCos program gfxmode.c which can be used for this. -# -cdl_option CYGNUM_HAL_I386_PC_STARTUP_VIDEO_MODE { - # This option is not active - # ActiveIf constraint: CYGPKG_REDBOOT - # CYGPKG_REDBOOT (unknown) == 0 - # --> 0 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Requires: !CYGSEM_HAL_I386_PC_DIAG_SCREEN - # CYGSEM_HAL_I386_PC_DIAG_SCREEN == 1 - # --> 0 -}; - -# -cdl_component CYGPKG_HAL_I386_PCMB_SMP_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGPKG_HAL_SMP_SUPPORT - # CYGPKG_HAL_SMP_SUPPORT == 0 - # --> 0 - - # Calculated value: CYGPKG_HAL_SMP_SUPPORT - # CYGPKG_HAL_SMP_SUPPORT == 0 - # Flavor: bool - # Current value: 0 -}; - -# Support for gprof profiling -# The PC HAL support can provide a profiling timer for use -# by the gprof package. However the hardware only provides a -# single source of timer interrupts so this must be shared -# between the system clock and the profiling code. The current -# implementation requires that the system clock be initialized -# first (which happens in a static constructor with priority -# CYG_INIT_CLOCK), then profiling can be enabled via a call -# to profile_on(). -# -cdl_option CYGFUN_HAL_I386_PCMB_GPROF_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGPKG_PROFILE_GPROF - # CYGPKG_PROFILE_GPROF (unknown) == 0 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 -}; - -# Enable PC screen support -# This option enables support for the PC screen and -# keyboard. These are combined into a virtual serial -# device that may be used for diagnostic output. -# Note that there is little point in trying to use it -# as a debug channel. -# -cdl_interface CYGINT_HAL_I386_PCMB_SCREEN_SUPPORT { - # Implemented by CYGSEM_HAL_I386_PC_DIAG_SCREEN, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value -}; - -# < -# < -# < -# I/O sub-system -# doc: ref/io.html -# The eCos system is supplied with a number of different -# device drivers. This option enables the basic I/O system -# support which is the basis for all drivers. -# -cdl_package CYGPKG_IO { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_IO_SERIAL - # ActiveIf: CYGPKG_IO - # package CYGPKG_LIBC_STDIO - # Requires: CYGPKG_IO - # option CYGPKG_IO_FILEIO_DEVFS_SUPPORT - # ActiveIf: CYGPKG_IO - # package CYGPKG_USTL - # Requires: CYGPKG_IO -}; - -# > -# Debug I/O sub-system -# This option enables verbose messages to be displayed on the -# system 'diag' device during I/O system initialization. -# -cdl_option CYGDBG_IO_INIT { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 0 -}; - -# Basic support for file based I/O -# This option control support for simple file I/O primitives. It is only -# present if the FILEIO package is not included. -# -cdl_component CYGPKG_IO_FILE_SUPPORT { - # This option is not active - # ActiveIf constraint: !CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Number of open files -# This option controls the number of open files. -# -cdl_option CYGPKG_IO_NFILE { - # This option is not active - # The parent CYGPKG_IO_FILE_SUPPORT is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 -}; - -# < -# Serial device drivers -# doc: ref/io.html -# This option enables drivers for basic I/O services on -# serial devices. -# -cdl_package CYGPKG_IO_SERIAL { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # ActiveIf constraint: CYGPKG_IO - # CYGPKG_IO == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_IO_SERIAL_GENERIC_16X5X - # ActiveIf: CYGPKG_IO_SERIAL - # package CYGPKG_IO_SERIAL_I386_PC - # ActiveIf: CYGPKG_IO_SERIAL -}; - -# > -# Support non-blocking read and write calls -# This option enables extra code in the generic serial driver -# which allows clients to switch read() and write() call -# semantics from blocking to non-blocking. -# -cdl_option CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Driver requires block transfer callback functions -# Some low-level drivers can be optimized to transfer blocks -# of data instead of a single character at a time. These usually -# rely on a hardware FIFO of some sort. -# -cdl_interface CYGINT_IO_SERIAL_BLOCK_TRANSFER { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Serial driver supports line status -# -cdl_interface CYGINT_IO_SERIAL_LINE_STATUS_HW { - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL0, active, enabled - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL1, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # option CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS - # Requires: CYGINT_IO_SERIAL_LINE_STATUS_HW > 0 - # option CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS - # DefaultValue: 0 != CYGINT_IO_SERIAL_LINE_STATUS_HW -}; - -# Support line status callbacks -# This option indicates that if the serial driver supports it, -# serial line status and modem status information should be -# propagated to higher layers via callbacks. -# -cdl_option CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_IO_SERIAL_LINE_STATUS_HW - # CYGINT_IO_SERIAL_LINE_STATUS_HW == 2 - # --> 1 - # Requires: CYGINT_IO_SERIAL_LINE_STATUS_HW > 0 - # CYGINT_IO_SERIAL_LINE_STATUS_HW == 2 - # --> 1 - - # The following properties are affected by this value - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # Requires: CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # DefaultValue: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 ? CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS : 0 -}; - -# Flow control -# This component contains options related to flow control. -# -cdl_component CYGPKG_IO_SERIAL_FLOW_CONTROL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: (CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE || CYGOPT_IO_SERIAL_FLOW_CONTROL_HW) - # CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE == 0 - # CYGOPT_IO_SERIAL_FLOW_CONTROL_HW == 0 - # --> 0 -}; - -# > -# Software flow control -# This component enables support of software flow control. -# -cdl_component CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # component CYGPKG_IO_SERIAL_FLOW_CONTROL - # Requires: (CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE || CYGOPT_IO_SERIAL_FLOW_CONTROL_HW) -}; - -# > -# Start character -# This option specifies the ascii character used to -# indicate that transmission should start. -# -cdl_option CYGDAT_IO_SERIAL_FLOW_CONTROL_XON_CHAR { - # This option is not active - # The parent CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 17 - # value_source default - # Default value: 17 - # Legal values: 0 to 255 -}; - -# Stop character -# This option specifies the ascii character used to -# indicate that transmission should stop. -# -cdl_option CYGDAT_IO_SERIAL_FLOW_CONTROL_XOFF_CHAR { - # This option is not active - # The parent CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 19 - # value_source default - # Default value: 19 - # Legal values: 0 to 255 -}; - -# < -# Hardware flow control -# If the hardware supports it, this option allows hardware -# flow control to be enabled. This may be in the form of -# either or both of RTS/CTS, or DSR/DTR flow control. -# -cdl_option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - # ActiveIf constraint: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 - # CYGINT_IO_SERIAL_FLOW_CONTROL_HW == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 ? CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS : 0 - # CYGINT_IO_SERIAL_FLOW_CONTROL_HW == 0 - # CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS == 1 - # --> 0 - # Requires: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 - # CYGINT_IO_SERIAL_FLOW_CONTROL_HW == 0 - # --> 0 - # Requires: CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS - # CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_IO_SERIAL_FLOW_CONTROL - # Requires: (CYGOPT_IO_SERIAL_FLOW_CONTROL_SOFTWARE || CYGOPT_IO_SERIAL_FLOW_CONTROL_HW) -}; - -# Serial h/w supports hardware flow control -# -cdl_interface CYGINT_IO_SERIAL_FLOW_CONTROL_HW { - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL0, active, enabled - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL1, active, enabled - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # ActiveIf: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # Requires: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 - # option CYGOPT_IO_SERIAL_FLOW_CONTROL_HW - # DefaultValue: CYGINT_IO_SERIAL_FLOW_CONTROL_HW > 0 ? CYGOPT_IO_SERIAL_SUPPORT_LINE_STATUS : 0 -}; - -# Default flow control method -# This option allows a default flow control method -# to be defined. Combinations of flow control methods -# may also be set, but this is only possible by -# using the cyg_io_set_config() API in source code. -# -cdl_option CYGDAT_IO_SERIAL_FLOW_CONTROL_DEFAULT { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value NONE - # value_source default - # Default value: NONE - # Legal values: "NONE" "XONXOFF" "RTSCTS" "DSRDTR" -}; - -# Rx flow control low water mark -# This sets the water mark used for determining -# when to disable flow control, expressed -# as a percentage of the buffer size. When the -# receive buffer size is lower than this percentage, -# if the transmitter had previously been throttled, it -# will now be informed it can restart. -# -cdl_option CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 33 - # value_source default - # Default value: 33 - # Legal values: 1 to 100 - - # The following properties are affected by this value - # option CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT - # Requires: CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT >= CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT -}; - -# Rx flow control high water mark -# This sets the water mark used for determining -# when to enable flow control, expressed -# as a percentage of the buffer size. When the -# receive buffer size exceeds this percentage, -# signals are sent to the transmitter to tell it -# to throttle tranmission. -# -cdl_option CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT { - # This option is not active - # The parent CYGPKG_IO_SERIAL_FLOW_CONTROL is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 66 - # value_source default - # Default value: 66 - # Legal values: 1 to 100 - # Requires: CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT >= CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT - # CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT == 0 - # CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT - # Requires: CYGNUM_IO_SERIAL_FLOW_CONTROL_HIGH_WATER_PERCENT >= CYGNUM_IO_SERIAL_FLOW_CONTROL_LOW_WATER_PERCENT -}; - -# < -# TTY-mode serial device drivers -# This option enables a simple terminal-like device driver -# that can be used for serial devices that interact with humans, -# such as a system console. -# -cdl_component CYGPKG_IO_SERIAL_TTY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# HAL/diag serial device driver -# This option enables the use of the HAL diagnostic channel -# via the standard I/O drivers. -# -cdl_component CYGPKG_IO_SERIAL_HALDIAG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? CYGPKG_IO_SERIAL_HALDIAG : 1) -}; - -# Console device name -# This option selects the TTY device to use for the console. -# -cdl_option CYGDAT_IO_SERIAL_TTY_CONSOLE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ttydiag\"" - # value_source default - # Default value: "\"/dev/ttydiag\"" - - # The following properties are affected by this value - # option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE - # DefaultValue: CYGDAT_IO_SERIAL_TTY_CONSOLE ? CYGDAT_IO_SERIAL_TTY_CONSOLE : "\"/dev/null\"" - # option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE - # DefaultValue: CYGDAT_IO_SERIAL_TTY_CONSOLE ? CYGDAT_IO_SERIAL_TTY_CONSOLE : "\"/dev/null\"" -}; - -# TTY mode HAL/diag channel -# This option causes '/dev/ttydiag' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTYDIAG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# TTY mode channel #0 -# This option causes '/dev/tty0' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTY0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# TTY mode channel #0 device -# This option selects the physical device to use for -# '/dev/tty0'. -# -cdl_option CYGDAT_IO_SERIAL_TTY_TTY0_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TTY_TTY0 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser0\"" - # value_source default - # Default value: "\"/dev/ser0\"" -}; - -# < -# TTY mode channel #1 -# This option causes '/dev/tty1' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTY1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# TTY mode channel #1 device -# This option selects the physical device to use for -# '/dev/tty1'. -# -cdl_option CYGDAT_IO_SERIAL_TTY_TTY1_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TTY_TTY1 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser1\"" - # value_source default - # Default value: "\"/dev/ser1\"" -}; - -# < -# TTY mode channel #2 -# This option causes '/dev/tty2' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTY2 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# TTY mode channel #2 device -# This option selects the physical device to use for -# '/dev/tty2'. -# -cdl_option CYGDAT_IO_SERIAL_TTY_TTY2_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TTY_TTY2 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser2\"" - # value_source default - # Default value: "\"/dev/ser2\"" -}; - -# < -# TTY mode channel #3 -# This option causes '/dev/tty3' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TTY_TTY3 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# TTY mode channel #3 device -# This option selects the physical device to use for -# '/dev/tty3'. -# -cdl_option CYGDAT_IO_SERIAL_TTY_TTY3_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TTY_TTY3 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser3\"" - # value_source default - # Default value: "\"/dev/ser3\"" -}; - -# < -# < -# Termios compatible TTY drivers -# This option enables terminal drivers compatible with -# POSIX termios. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # CYGPKG_ISOINFRA == current - # CYGPKG_IO_FILEIO == current - # CYGINT_ISO_ERRNO_CODES == 1 - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 -}; - -# > -# Interface for termios tty driver file enabling -# -cdl_interface CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY { - # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS0, active, disabled - # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS1, active, disabled - # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS2, active, disabled - # Implemented by CYGPKG_IO_SERIAL_TERMIOS_TERMIOS3, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # option CYGBLD_IO_SERIAL_TERMIOS_TERMIOS_TTY - # ActiveIf: CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY > 0 -}; - -# Build termios tty driver file -# -cdl_option CYGBLD_IO_SERIAL_TERMIOS_TERMIOS_TTY { - # This option is not active - # ActiveIf constraint: CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY > 0 - # CYGINT_IO_SERIAL_TERMIOS_TERMIOS_TTY == 0 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# Termios TTY channel #0 -# This option causes '/dev/termios0' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Termios TTY channel #0 device -# This option selects the physical device to use for -# '/dev/termios0'. -# -cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS0_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS0 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser0\"" - # value_source default - # Default value: "\"/dev/ser0\"" -}; - -# < -# Termios TTY channel #1 -# This option causes '/dev/termios1' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Termios TTY channel #1 device -# This option selects the physical device to use for -# '/dev/termios1'. -# -cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS1_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS1 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser1\"" - # value_source default - # Default value: "\"/dev/ser1\"" -}; - -# < -# Termios TTY channel #2 -# This option causes '/dev/termios2' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS2 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Termios TTY channel #2 device -# This option selects the physical device to use for -# '/dev/termios2'. -# -cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS2_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS2 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser2\"" - # value_source default - # Default value: "\"/dev/ser2\"" -}; - -# < -# Termios TTY channel #3 -# This option causes '/dev/termios3' to be included in the standard -# drivers. -# -cdl_component CYGPKG_IO_SERIAL_TERMIOS_TERMIOS3 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Termios TTY channel #3 device -# This option selects the physical device to use for -# '/dev/termios3'. -# -cdl_option CYGDAT_IO_SERIAL_TERMIOS_TERMIOS3_DEV { - # This option is not active - # The parent CYGPKG_IO_SERIAL_TERMIOS_TERMIOS3 is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser3\"" - # value_source default - # Default value: "\"/dev/ser3\"" -}; - -# < -# Support signals -# This option selects whether those parts of the termios -# interface involving signals is supported. This includes -# BRKINT mode, the INTR and QUIT characters, and whether -# SIGHUP is sent on terminal close. -# -cdl_option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS { - # Flavor: bool - user_value 1 - # value_source user - # Default value: CYGINT_ISO_SIGNAL_NUMBERS != 0 && CYGINT_ISO_SIGNAL_IMPL != 0 - # CYGINT_ISO_SIGNAL_NUMBERS == 1 - # CYGINT_ISO_SIGNAL_IMPL == 1 - # --> 1 - # Requires: CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 1 - # --> 1 - # Requires: CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 1 - # --> 1 -}; - -# < -# Hardware serial device drivers -# This option enables the hardware device drivers -# for the current platform. -# -cdl_component CYGPKG_IO_SERIAL_DEVICES { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 - - # The following properties are affected by this value - # option CYGPKG_IO_SERIAL_TESTS - # Calculated: CYGPKG_IO_SERIAL_DEVICES ? "tests/serial1 tests/serial2 tests/serial3 tests/serial4 tests/serial5 tests/tty1 tests/tty2 tests/flow1 tests/flow2" : "" -}; - -# > -# 16x5x generic serial device drivers -# This option enables the serial device drivers for the -# 16x5x compatiple controllers. -# -cdl_package CYGPKG_IO_SERIAL_GENERIC_16X5X { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # ActiveIf constraint: CYGPKG_IO_SERIAL - # CYGPKG_IO_SERIAL == current - # --> 1 - # ActiveIf constraint: CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED - # CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED == 2 - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 -}; - -# > -# Per channel interrupt priority support -# A platform should implement this interface if it supports -# per channel interrupt priorities. If a platform implements -# this interface it needs to provide an interrupt priority -# value for each UART channel it supports. -# -cdl_interface CYGINT_IO_SERIAL_GENERIC_16X5X_CHAN_INTPRIO { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 -}; - -# Transmission require priming -# This option should be switched on when enabling THRE interrupt -# does not generate interrupt unless bytes are posted to the FIFO. -# -cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_XMIT_REQUIRE_PRIME { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# 16x5x FIFO support -# Options to configure the FIFO on a 16550 (or above) variant. -# -cdl_component CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Threshold for RX interrupt on 16550 FIFO -# This options configures the threshold value at which -# the RX interrupt occurs when a FIFO is used. (16550 and -# above only), this may be after 1, 4, 8 or 14 characters. -# -cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO_RX_THRESHOLD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Legal values: 14 8 4 1 -}; - -# 16x5x TX FIFO size -# Configures the maximum number of bytes written to the -# 16x5x UART transmit FIFO when the TX interrupt occurs. -# -cdl_option CYGNUM_IO_SERIAL_GENERIC_16X5X_FIFO_TX_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 -}; - -# < -# Serial device driver build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_IO_SERIAL_GENERIC_16X5X_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building these serial device drivers. These flags are -# used in addition to the set of global flags. -# -cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building these serial device drivers. These flags are -# removed from the set of global flags if present. -# -cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# < -# PC serial device drivers -# This option enables the serial device drivers for the -# PC. -# -cdl_package CYGPKG_IO_SERIAL_I386_PC { - # 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_SERIAL - # CYGPKG_IO_SERIAL == current - # --> 1 - # ActiveIf constraint: CYGPKG_HAL_I386_PCMB - # CYGPKG_HAL_I386_PCMB == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 -}; - -# > -# Generic 16x5x serial driver required -# -cdl_interface CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED { - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL0, active, enabled - # Implemented by CYGPKG_IO_SERIAL_I386_PC_SERIAL1, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 2 - - # The following properties are affected by this value - # package CYGPKG_IO_SERIAL_GENERIC_16X5X - # ActiveIf: CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED -}; - -# PC serial port 0 driver -# This option includes the serial device driver for port 0 on the -# PC. -# -cdl_component CYGPKG_IO_SERIAL_I386_PC_SERIAL0 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # component CYGPKG_IO_SERIAL_I386_PC_TESTING - # ActiveIf: CYGPKG_IO_SERIAL_I386_PC_SERIAL0 -}; - -# > -# Device name for PC serial port 0 -# This option specifies the device name port 0 on the PC. -# -cdl_option CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser0\"" - # value_source default - # Default value: "\"/dev/ser0\"" - - # The following properties are affected by this value - # option CYGPRI_SER_TEST_SER_DEV - # DefaultValue: CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME -}; - -# Baud rate for the PC serial port 0 driver -# This option specifies the default baud rate (speed) for the -# PC port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 38400 - # value_source default - # Default value: 38400 - # Legal values: 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600 - # 4800 7200 9600 14400 19200 38400 57600 115200 230400 - # -}; - -# Buffer size for the PC serial port 0 driver -# This option specifies the size of the internal buffers used -# for the PC port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_BUFSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 - # Legal values: 0 to 8192 -}; - -# I/O base address for the i386-PC serial port 0 -# This option specifies the I/O address of the 8250 or 16550 for serial port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IOBASE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x000003F8 - # value_source default - # Default value: 0x000003F8 - # Legal values: 0 to 0xFF8 -}; - -# IRQ for the i386-PC serial port 0 -# This option specifies the IRQ of the 8250 or 16550 for serial port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 0 to 15 - - # The following properties are affected by this value - # option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_INT - # DefaultValue: CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ + 32 -}; - -# INT for the i386-PC serial port 0 -# This option specifies the interrupt vector of the 8250 or 16550 for serial port 0. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_INT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 36 - # value_source default - # Default value: CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ + 32 - # CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ == 4 - # --> 36 - # Legal values: 32 to 47 -}; - -# < -# PC serial port 1 driver -# This option includes the serial device driver for port 1 on -# the PC. -# -cdl_component CYGPKG_IO_SERIAL_I386_PC_SERIAL1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Device name for PC serial port 1 -# This option specifies the device name port 1 on the PC. -# -cdl_option CYGDAT_IO_SERIAL_I386_PC_SERIAL1_NAME { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser1\"" - # value_source default - # Default value: "\"/dev/ser1\"" -}; - -# Baud rate for the PC serial port 1 driver -# This option specifies the default baud rate (speed) for the -# PC port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_BAUD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 38400 - # value_source default - # Default value: 38400 - # Legal values: 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600 - # 4800 7200 9600 14400 19200 38400 57600 115200 230400 - # -}; - -# Buffer size for the PC serial port 1 driver -# This option specifies the size of the internal buffers used -# for the PC port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_BUFSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 - # Legal values: 0 to 8192 -}; - -# I/O base address for the i386-PC serial port 1 -# This option specifies the I/O address of the 8250 or 16550 for serial port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IOBASE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x000002F8 - # value_source default - # Default value: 0x000002F8 - # Legal values: 0 to 0xFF8 -}; - -# IRQ for the i386-PC serial port 1 -# This option specifies the IRQ of the 8250 or 16550 for serial port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 3 - # value_source default - # Default value: 3 - # Legal values: 0 to 15 - - # The following properties are affected by this value - # option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_INT - # DefaultValue: CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ + 32 -}; - -# INT for the i386-PC serial port 1 -# This option specifies the interrupt vector of the 8250 or 16550 for serial port 1. -# -cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_INT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 35 - # value_source default - # Default value: CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ + 32 - # CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ == 3 - # --> 35 - # Legal values: 32 to 47 -}; - -# < -# Serial device driver build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_IO_SERIAL_I386_PC_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building these serial device drivers. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_SERIAL_I386_PC_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 these serial device drivers. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_SERIAL_I386_PC_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# Testing parameters -# -cdl_component CYGPKG_IO_SERIAL_I386_PC_TESTING { - # ActiveIf constraint: CYGPKG_IO_SERIAL_I386_PC_SERIAL0 - # CYGPKG_IO_SERIAL_I386_PC_SERIAL0 == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Serial device used for testing -# -cdl_option CYGPRI_SER_TEST_SER_DEV { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ser0\"" - # value_source default - # Default value: CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME - # CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME == "\"/dev/ser0\"" - # --> "\"/dev/ser0\"" -}; - -# < -# < -# < -# Build extra serial tests -# This option enables the building of some extra tests which -# can be used when testing / debugging serial drivers. These -# are not built by default since they do not use the dedicated -# testing infrastructure. -# -cdl_option CYGBLD_IO_SERIAL_EXTRA_TESTS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Serial device driver build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_IO_SERIAL_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the serial device drivers. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_SERIAL_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the serial device drivers. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_SERIAL_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Serial device driver tests -# This option specifies the set of tests for the serial device drivers. -# -cdl_option CYGPKG_IO_SERIAL_TESTS { - # Calculated value: CYGPKG_IO_SERIAL_DEVICES ? "tests/serial1 tests/serial2 tests/serial3 tests/serial4 tests/serial5 tests/tty1 tests/tty2 tests/flow1 tests/flow2" : "" - # CYGPKG_IO_SERIAL_DEVICES == 1 - # Flavor: data - # Current_value: tests/serial1 tests/serial2 tests/serial3 tests/serial4 tests/serial5 tests/tty1 tests/tty2 tests/flow1 tests/flow2 -}; - -# < -# Enable serial device select support -# This option enables support for the select() API function on all -# serial devices. -# -cdl_option CYGPKG_IO_SERIAL_SELECT_SUPPORT { - # ActiveIf constraint: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_IO_FILEIO_SELECT == 1 - # CYGFUN_IO_FILEIO_SELECT == 1 - # --> 1 -}; - -# Serial testing specification -# -cdl_component CYGPKG_IO_SERIAL_TEST_SPECS { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Skip 9600 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_9600 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 14400 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_14400 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 19200 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_19200 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 38400 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_38400 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 57600 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_57600 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 115200 baud testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_115200 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip even-parity testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_PARITY_EVEN { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip odd-parity testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_PARITY_ODD { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Skip 2-stop bit testing -# -cdl_interface CYGINT_IO_SERIAL_TEST_SKIP_STOP_2 { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# < -# < -# PCI configuration library -# doc: ref/io-pci.html -# The PCI configuration library provides initialization of devices -# on the PCI bus. Functions to find and access these devices are -# also provided. -# -cdl_package CYGPKG_IO_PCI { - # 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 -}; - -# > -# PCI 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_PCI_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the PCI configuration library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_PCI_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 PCI configuration library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_PCI_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Enable debugging. -# This option enables minimal debugging of the PCI library. -# In particular, it will print information about devices as the -# PCI bus is being scanned/searched. -# -cdl_option CYGPKG_IO_PCI_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# PCI tests -# This option specifies the set of tests for the PCI configuration library. -# -cdl_option CYGPKG_IO_PCI_TESTS { - # Calculated value: "tests/pci1 tests/pci2" - # Flavor: data - # Current_value: tests/pci1 tests/pci2 -}; - -# Writeback Interrupt Line register. -# This option causes a PCI device interrupt vector to be -# written to the Interrupt Line register in config space. -# This is traditionally done by a BIOS so that device -# drivers can read the interrupt vector directly from -# device configuration space. -# -cdl_option CYGPKG_IO_PCI_CONFIGURE_INTLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < -# < -# Infrastructure -# Common types and useful macros. -# Tracing and assertion facilities. -# Package startup options. -# -cdl_package CYGPKG_INFRA { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # package CYGPKG_HAL - # Requires: CYGPKG_INFRA - # package CYGPKG_IO_FRAMEBUF - # Requires: CYGPKG_INFRA CYGPKG_HAL CYGPKG_ERROR -}; - -# > -# 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 - # component CYGFUN_KERNEL_THREADS_STACK_CHECKING - # ActiveIf: CYGPKG_INFRA_DEBUG - # component CYGFUN_KERNEL_THREADS_STACK_MEASUREMENT - # DefaultValue: 0 != CYGPKG_INFRA_DEBUG - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # -}; - -# > -# Use asserts -# If this option is defined, asserts in the code are tested. -# Assert functions (CYG_ASSERT()) are defined in -# 'include/cyg/infra/cyg_ass.h' within the 'install' tree. -# If it is not defined, these result in no additional -# object code and no checking of the asserted conditions. -# -cdl_component CYGDBG_USE_ASSERTS { - # 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 - # component CYGFUN_KERNEL_THREADS_STACK_CHECKING - # ActiveIf: CYGDBG_USE_ASSERTS - # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG - # Requires: CYGDBG_USE_ASSERTS - # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG - # DefaultValue: 0 != CYGDBG_USE_ASSERTS - # option CYGSEM_LIBC_SIGNALS_BAD_SIGNAL_FATAL - # Requires: 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 - # option CYGDBG_KERNEL_TRACE_TIMESLICE - # ActiveIf: CYGDBG_USE_TRACING - # component CYGPKG_LIBM_TRACE - # Requires: CYGDBG_USE_TRACING -}; - -# > -# Trace function reports -# This option allows individual control of -# function entry/exit tracing, independent of -# more general tracing output. -# This may be useful to remove clutter from a -# trace log. -# -cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS { - # This option is not active - # The parent CYGDBG_USE_TRACING is 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 - - # The following properties are affected by this value - # option CYGDBG_KERNEL_TRACE_TIMESLICE - # Requires: !CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE -}; - -# Fancy output -# An output module which produces fancy output -# from tracing and assertion events. -# -cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY { - # 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 - - # The following properties are affected by this value - # option CYGDBG_KERNEL_TRACE_TIMESLICE - # Requires: !CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY -}; - -# Buffered tracing -# An output module which buffers output -# from tracing and assertion events. The stored -# messages are output when an assert fires, or -# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>) -# 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 0 - # value_source default - # Default value: CYGINT_ISO_EXIT == 0 - # CYGINT_ISO_EXIT == 1 - # --> 0 - # Requires: !CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 1 - # --> 0 -}; - -# Reset platform at end of test case execution -# If this option is set then test case programs will reset the platform -# when they terminate, as opposed to the default which is to just hang -# in a loop. -# -cdl_option CYGSEM_INFRA_RESET_ON_TEST_EXIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Provide dummy strlen() function -# This option controls the inclusion of a dummy strlen() function. -# Parts of the C and C++ compiler runtime systems contain references -# to strlen(), particulary in the C++ exception handling code. It is -# not possible to eliminate these references, so this dummy function -# in included to satisfy them. While it is not expected that this function -# will ever be called, it is functional but uses the simplest, smallest -# algorithm. There is a faster version of strlen() in the C library. -# -cdl_option CYGFUN_INFRA_DUMMY_STRLEN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGINT_ISO_STRING_STRFUNCS == 0 - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 0 - # Requires: !CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 0 -}; - -# Make all compiler warnings show as errors -# Enabling this option will cause all compiler warnings to show -# as errors and bring the library build to a halt. This is used -# to ensure that the code base is warning free, and thus ensure -# that newly introduced warnings stand out and get fixed before -# they show up as weird run-time behavior. -# -cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") - # CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - # --> 0 -}; - -# Make compiler and assembler communicate by pipe -# Enabling this option will cause the compiler to feed the -# assembly output the the assembler via a pipe instead of -# via a temporary file. This normally reduces the build -# time. -# -cdl_option CYGBLD_INFRA_CFLAGS_PIPE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") - # CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Wundef -Woverloaded-virtual -Wno-write-strings -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " - # --> 0 -}; - -# Infra build options -# Package specific build options including control over -# compiler flags used only in building this package. -# -cdl_component CYGPKG_INFRA_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the eCos infra package. These flags are used -# in addition to the set of global flags. -# -cdl_option CYGPKG_INFRA_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the eCos infra package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_INFRA_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed linker flags -# This option modifies the set of linker flags for -# building the eCos infra package tests. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wl,--gc-sections - # value_source default - # Default value: -Wl,--gc-sections -}; - -# Additional linker flags -# This option modifies the set of linker flags for -# building the eCos infra package tests. These flags are added to -# the set of global flags if present. -# -cdl_option CYGPKG_INFRA_LDFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wl,--fatal-warnings - # value_source default - # Default value: -Wl,--fatal-warnings -}; - -# Infra package tests -# -cdl_component CYGPKG_INFRA_TESTS { - # Calculated value: "tests/cxxsupp 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 -}; - -# < -# < -# < -# eCos kernel -# doc: ref/kernel.html -# This package contains the core functionality of the eCos -# kernel. It relies on functionality provided by various HAL -# packages and by the eCos infrastructure. In turn the eCos -# kernel provides support for other packages such as the device -# drivers and the uITRON compatibility layer. -# -cdl_package CYGPKG_KERNEL { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # option CYGFUN_HAL_COMMON_KERNEL_SUPPORT - # Requires: CYGPKG_KERNEL - # option CYGFUN_HAL_COMMON_KERNEL_SUPPORT - # DefaultValue: CYGPKG_KERNEL - # option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE - # DefaultValue: CYGPKG_KERNEL ? 4096 : 32768 - # option CYGSEM_MEMALLOC_ALLOCATOR_FIXED_THREADAWARE - # ActiveIf: CYGPKG_KERNEL - # option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_THREADAWARE - # ActiveIf: CYGPKG_KERNEL - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_THREADAWARE - # ActiveIf: CYGPKG_KERNEL - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_THREADAWARE - # Requires: CYGPKG_KERNEL - # option CYGSEM_MEMALLOC_ALLOCATOR_SEPMETA_THREADAWARE - # ActiveIf: CYGPKG_KERNEL - # option CYGFUN_MEMALLOC_KAPI - # ActiveIf: CYGPKG_KERNEL - # option CYGSEM_LIBC_I18N_PER_THREAD_MB - # ActiveIf: CYGPKG_KERNEL - # option CYGSEM_LIBC_SIGNALS_THREAD_SAFE - # Requires: CYGPKG_KERNEL - # option CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT - # DefaultValue: 0 == CYGPKG_KERNEL && 0 == - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # component CYGSEM_LIBC_STARTUP_MAIN_THREAD - # Requires: CYGPKG_KERNEL - # component CYGSEM_LIBC_STARTUP_MAIN_THREAD - # DefaultValue: 0 != CYGPKG_KERNEL && 0 == CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # option CYGSEM_LIBC_EXIT_STOPS_SYSTEM - # Requires: CYGPKG_KERNEL - # option CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS - # ActiveIf: CYGPKG_KERNEL - # option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK - # ActiveIf: CYGPKG_KERNEL - # option CYGPKG_WALLCLOCK_EMULATE - # Requires: CYGPKG_KERNEL - # option CYGIMP_WALLCLOCK_NONE - # DefaultValue: !CYGPKG_KERNEL && 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS - # option CYGPKG_IO_WALLCLOCK_TESTS - # Calculated: CYGPKG_KERNEL ? "tests/wallclock tests/wallclock2" : "" - # package CYGPKG_POSIX - # Requires: CYGPKG_KERNEL - # option CYGPKG_POSIX_CLOCKS - # Requires: CYGPKG_KERNEL - # option CYGPKG_POSIX_TIMERS - # Requires: CYGPKG_KERNEL - # component CYGPKG_POSIX_MQUEUES - # Requires: CYGPKG_KERNEL - # option CYGFUN_IO_FILEIO_SELECT - # ActiveIf: CYGPKG_KERNEL - # option CYGPKG_IO_FILEIO_SOCKET_SUPPORT - # ActiveIf: CYGPKG_KERNEL -}; - -# > -# Kernel interrupt handling -# doc: ref/kernel-interrupts.html -# The majority of configuration options related to interrupt -# handling are in the HAL packages, since usually the code has -# to be platform-specific. There are a number of options -# provided within the kernel related to slightly higher-level -# concepts, for example Delayed Service Routines. -# -cdl_component CYGPKG_KERNEL_INTERRUPTS { - # There is no associated value. - - # The following properties are affected by this value - # option CYGDBG_KERNEL_INSTRUMENT_INTR - # ActiveIf: CYGPKG_KERNEL_INTERRUPTS -}; - -# > -# Use delayed service routines (DSRs) -# In eCos the recommended way to handle device interrupts is to -# do a minimum amount of work inside the low level interrupt -# handler itself, and instead do as much as possible in a -# Delayed Service Routine or DSR. If an application does not -# make use of DSRs directly or indirectly then it is possible -# to disable the DSR support completely, which reduces the -# overheads of context switches and interrupt handling. Note -# that the kernel real-time clock makes use of DSRs, as do many -# of the device drivers. -# -cdl_component CYGIMP_KERNEL_INTERRUPTS_DSRS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGVAR_KERNEL_COUNTERS_CLOCK - # Requires: CYGIMP_KERNEL_INTERRUPTS_DSRS -}; - -# > -# -cdl_interface CYGINT_KERNEL_INTERRUPTS_DSRS { - # Implemented by CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST, active, enabled - # Implemented by CYGIMP_KERNEL_INTERRUPTS_DSRS_TABLE, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == CYGINT_KERNEL_INTERRUPTS_DSRS - # CYGINT_KERNEL_INTERRUPTS_DSRS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_KERNEL_INTERRUPTS_DSRS - # Requires: 1 == CYGINT_KERNEL_INTERRUPTS_DSRS -}; - -# Use linked lists for DSRs -# When DSR support is enabled the kernel must keep track of all -# the DSRs that are pending. This information can be kept in a -# fixed-size table or in a linked list. The list implementation -# requires that the kernel disable interrupts for a very short -# period of time outside interrupt handlers, but there is no -# possibility of a table overflow occurring. -# -cdl_component CYGIMP_KERNEL_INTERRUPTS_DSRS_LIST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Schedule DSRs in FIFO order -# When this option is set, DSRs are scheduled -# in the natural FIFO (first in, first out) order, -# otherwise they are scheduled in LIFO (last in, first -# out) order. Applications should not rely on any -# particular order of scheduling of DSRs. LIFO -# scheduling is kept for backward compatibility only and -# is not recommended as it may lead to high (up to 2 -# times higher then FIFO) IRQ-to-DSR latencies at some -# (typically rare) conditions. If unsure, leave this set. -# -cdl_option CYGSEM_KERNEL_INTERRUPTS_DSRS_LIST_FIFO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Use fixed-size table for DSRs -# When DSR support is enabled the kernel must keep track of all -# the DSRs that are pending. This information can be kept in a -# fixed-size table or in a linked list. The table -# implementation involves a very small risk of overflow at -# run-time if a given interrupt source is able to have more -# than one pending DSR. However it has the advantage that -# the kernel does not need to disable interrupts outside -# interrupt handlers. -# -cdl_component CYGIMP_KERNEL_INTERRUPTS_DSRS_TABLE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Number of entries in fixed-size DSR table -# When DSR support is enabled the kernel must keep track of all -# the DSRs that are pending. One approach involves a fixed-size -# table, which involves a very small risk of overflow at -# run-time. By increasing the table size it is possible to reduce -# this risk. -# -cdl_option CYGNUM_KERNEL_INTERRUPTS_DSRS_TABLE_SIZE { - # This option is not active - # The parent CYGIMP_KERNEL_INTERRUPTS_DSRS_TABLE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 - # Legal values: 2 to 1024 -}; - -# < -# Chain all interrupts together -# Interrupts can be attached to vectors either singly, or be -# chained together. The latter is necessary if there is no way -# of discovering which device has interrupted without -# inspecting the device itself. It can also reduce the amount -# of RAM needed for interrupt decoding tables and code. -# -cdl_option CYGIMP_KERNEL_INTERRUPTS_CHAIN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN - # CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN == 0 - # --> 0 -}; - -# < -# < -# Exception handling -# doc: ref/kernel-exceptions.html -# In the context of the eCos kernel exceptions are unexpected -# events detected by the hardware, for example an attempt to -# execute an illegal instruction. There is no relation with -# other forms of exception, for example the catch and throw -# facilities of languages like C++. It is possible to disable -# all support for exceptions and thus save some memory. -# -cdl_component CYGPKG_KERNEL_EXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_HAL_EXCEPTIONS - # CYGPKG_HAL_EXCEPTIONS == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGPKG_HAL_EXCEPTIONS - # Requires: CYGPKG_KERNEL_EXCEPTIONS - # option CYGPKG_HAL_EXCEPTIONS - # DefaultValue: CYGPKG_KERNEL_EXCEPTIONS - # component CYGPKG_POSIX_SIGNALS - # Requires: CYGPKG_KERNEL_EXCEPTIONS -}; - -# > -# Decode exception types in kernel -# On targets where several different types of exception are -# possible, for example executing an illegal instruction and -# division by zero, it is possible for the kernel to do some -# decoding of the exception type and deliver the different -# types of exception to different handlers in the application -# code. Alternatively the kernel can simply pass all -# exceptions directly to application code, leaving the -# decoding to be done by the application -# -cdl_option CYGSEM_KERNEL_EXCEPTIONS_DECODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - - # The following properties are affected by this value - # component CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS - # Requires: CYGSEM_KERNEL_EXCEPTIONS_DECODE -}; - -# Use global exception handlers -# In the context of the eCos kernel exceptions are -# unexpected events detected by the hardware, for -# example an attempt to execute an illegal -# instruction. If the kernel is configured -# to support exceptions then two implementations are -# possible. The default implementation involves a single set -# of exception handlers that are in use for the entire -# system. The alternative implementation allows different -# exception handlers to be specified for each thread. -# -cdl_option CYGSEM_KERNEL_EXCEPTIONS_GLOBAL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # component CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS - # Requires: CYGSEM_KERNEL_EXCEPTIONS_GLOBAL -}; - -# < -# Kernel schedulers -# doc: ref/kernel-overview.html#KERNEL-OVERVIEW-SCHEDULERS -# The eCos kernel provides a choice of schedulers. In addition -# there are a number of configuration options to control the -# detailed behaviour of these schedulers. -# -cdl_component CYGPKG_KERNEL_SCHED { - # There is no associated value. - - # The following properties are affected by this value - # option CYGDBG_KERNEL_INSTRUMENT_SCHED - # ActiveIf: CYGPKG_KERNEL_SCHED -}; - -# > -# Number of schedulers in this configuration -# -cdl_interface CYGINT_KERNEL_SCHEDULER { - # Implemented by CYGSEM_KERNEL_SCHED_MLQUEUE, active, enabled - # Implemented by CYGSEM_KERNEL_SCHED_BITMAP, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == CYGINT_KERNEL_SCHEDULER - # CYGINT_KERNEL_SCHEDULER == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_KERNEL_SCHEDULER - # Requires: 1 == CYGINT_KERNEL_SCHEDULER -}; - -# Non-zero if the active schedule only has unique priorities -# Not all schedulers allow mutiple threads to use the same -# priority. That property is signalled via this option, allowing -# scheduler and tests to behave accordingly. -# -cdl_interface CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES { - # Implemented by CYGSEM_KERNEL_SCHED_BITMAP, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - - # The following properties are affected by this value - # component CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL - # Requires: CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES == 0 -}; - -# Multi-level queue scheduler -# The multi-level queue scheduler supports multiple priority -# levels and multiple threads at each priority level. -# Preemption between priority levels is automatic. Timeslicing -# within a given priority level is controlled by a separate -# configuration option. -# -cdl_component CYGSEM_KERNEL_SCHED_MLQUEUE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGPRI_KERNEL_SCHED_IMPL_HXX - # Calculated: CYGSEM_KERNEL_SCHED_BITMAP ? "<cyg/kernel/bitmap.hxx>" : CYGSEM_KERNEL_SCHED_MLQUEUE ? "<cyg/kernel/mlqueue.hxx>" : CYGSEM_KERNEL_SCHED_LOTTERY ? "<cyg/kernel/lottery.hxx>" : "!!!-- Configuration broken - no scheduler selected --!!!" - # component CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL - # ActiveIf: CYGSEM_KERNEL_SCHED_MLQUEUE - # option CYGDBG_KERNEL_INSTRUMENT_MLQ - # ActiveIf: CYGSEM_KERNEL_SCHED_MLQUEUE - # option _POSIX_PRIORITY_SCHEDULING - # Requires: CYGSEM_KERNEL_SCHED_MLQUEUE - # option _POSIX_THREAD_PRIORITY_SCHEDULING - # Requires: CYGSEM_KERNEL_SCHED_MLQUEUE -}; - -# > -# Output timeslices when tracing -# When tracing is enabled, output trace messages every -# timeslice. This can be quite verbose so is disabled by -# default. -# -cdl_option CYGDBG_KERNEL_TRACE_TIMESLICE { - # This option is not active - # ActiveIf constraint: CYGDBG_USE_TRACING - # CYGDBG_USE_TRACING == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: !CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE - # CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE == 0 - # --> 1 - # Requires: !CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY - # CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY == 0 - # --> 1 -}; - -# < -# Bitmap scheduler -# The bitmap scheduler supports multiple priority levels but -# only one thread can exist at each priority level. This means -# that scheduling decisions are very simple and hence the -# scheduler is efficient. Preemption between priority levels is -# automatic. Timeslicing within a given priority level is -# irrelevant since there can be only one thread at each -# priority level. -# -cdl_option CYGSEM_KERNEL_SCHED_BITMAP { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: !CYGPKG_KERNEL_SMP_SUPPORT - # CYGPKG_KERNEL_SMP_SUPPORT == 0 - # --> 1 - - # The following properties are affected by this value - # option CYGPRI_KERNEL_SCHED_IMPL_HXX - # Calculated: CYGSEM_KERNEL_SCHED_BITMAP ? "<cyg/kernel/bitmap.hxx>" : CYGSEM_KERNEL_SCHED_MLQUEUE ? "<cyg/kernel/mlqueue.hxx>" : CYGSEM_KERNEL_SCHED_LOTTERY ? "<cyg/kernel/lottery.hxx>" : "!!!-- Configuration broken - no scheduler selected --!!!" - # component CYGSEM_KERNEL_SCHED_TIMESLICE - # Requires: !CYGSEM_KERNEL_SCHED_BITMAP - # option CYGDBG_KERNEL_INSTRUMENT_BITMAP - # ActiveIf: CYGSEM_KERNEL_SCHED_BITMAP -}; - -# Scheduler header file -# This option sets a preprocessor symbol which names the header -# file for the selected scheduler. It is used internally by the -# common scheduler code to include the correct header file. -# -cdl_option CYGPRI_KERNEL_SCHED_IMPL_HXX { - # Calculated value: CYGSEM_KERNEL_SCHED_BITMAP ? "<cyg/kernel/bitmap.hxx>" : CYGSEM_KERNEL_SCHED_MLQUEUE ? "<cyg/kernel/mlqueue.hxx>" : CYGSEM_KERNEL_SCHED_LOTTERY ? "<cyg/kernel/lottery.hxx>" : "!!!-- Configuration broken - no scheduler selected --!!!" - # CYGSEM_KERNEL_SCHED_BITMAP == 0 - # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 - # CYGSEM_KERNEL_SCHED_LOTTERY (unknown) == 0 - # Flavor: data - # Current_value: <cyg/kernel/mlqueue.hxx> -}; - -# Number of priority levels -# This option controls the number of priority levels that are -# available. For some types of scheduler including the bitmap -# scheduler this may impose an upper bound on the number of -# threads in the system. For other schedulers such as the -# mlqueue scheduler the number of threads is independent from -# the number of priority levels. Note that the lowest priority -# level is normally used only by the idle thread, although -# application threads can run at this priority if necessary. -# -cdl_component CYGNUM_KERNEL_SCHED_PRIORITIES { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 - # Legal values: 1 to 32 - - # The following properties are affected by this value - # option CYGIMP_IDLE_THREAD_YIELD - # ActiveIf: (CYGNUM_KERNEL_SCHED_PRIORITIES == 1) - # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY - # LegalValues: 0 to CYGNUM_KERNEL_SCHED_PRIORITIES - 1 -}; - -# > -# Bitmap size -# This option automatically defines the size of bitmap -# used to track occupied priority levels. -# -cdl_option CYGNUM_KERNEL_SCHED_BITMAP_SIZE { - # Calculated value: "CYGNUM_KERNEL_SCHED_PRIORITIES" - # Flavor: data - # Current_value: CYGNUM_KERNEL_SCHED_PRIORITIES -}; - -# Dequeue highest priority threads first -# With this option enabled, threads queued in a thread queue -# will be dequeued in priority order, rather than first in, -# first out (FIFO). Threads of equal priority are dequeued -# oldest first. The only exception is the scheduler run -# queues where order is less important as each is already -# sorted by priority. Note that this makes the thread queueing -# less deterministic. -# -cdl_option CYGIMP_KERNEL_SCHED_SORTED_QUEUES { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 - - # The following properties are affected by this value - # package CYGPKG_POSIX - # Requires: CYGIMP_KERNEL_SCHED_SORTED_QUEUES -}; - -# < -# Scheduler timeslicing -# Some schedulers including the mlqueue scheduler support -# timeslicing. This means that the kernel will check regularly -# whether or not there is another runnable thread with the -# same priority, and if there is such a thread there will be -# an automatic context switch. Not all applications require -# timeslicing, for example because every thread performs a -# blocking operation regularly. For these applications it is -# possible to disable timeslicing, which reduces the overheads -# associated with timer interrupts. -# -cdl_component CYGSEM_KERNEL_SCHED_TIMESLICE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: !CYGSEM_KERNEL_SCHED_BITMAP - # CYGSEM_KERNEL_SCHED_BITMAP == 0 - # --> 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # The following properties are affected by this value - # option _POSIX_THREADS - # Requires: CYGSEM_KERNEL_SCHED_TIMESLICE -}; - -# > -# Number of clock ticks between timeslices -# Assuming timeslicing is enabled, how frequently should it -# take place? The value of this option corresponds to the -# number of clock ticks that should occur before a timeslice -# takes place, so increasing the value reduces the frequency -# of timeslices. -# -cdl_option CYGNUM_KERNEL_SCHED_TIMESLICE_TICKS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 5 - # value_source default - # Default value: 5 - # Legal values: 1 to 65535 -}; - -# Support runtime enable of timeslice per-thread -# This option makes timslicing a per-thread runtime -# option. When enabled, threads may have timeslicing -# turned on or off dynamically. This is generally used -# by higher level APIs (such as POSIX) to implement -# differing scheduling policies. -# -cdl_option CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE { - # Flavor: bool - user_value 1 - # value_source user - # Default value: false - # false (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE -}; - -# < -# Enable ASR support -# This component controls support for Asynchronous Service -# Routines (ASRs). This is a function that may be called -# from the scheduler when it has just exited the scheduler -# lock. This is primarily for use by API compatibility layers. -# -cdl_component CYGSEM_KERNEL_SCHED_ASR_SUPPORT { - # Flavor: bool - user_value 1 - # value_source user - # Default value: false - # false (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGSEM_KERNEL_SCHED_ASR_SUPPORT -}; - -# > -# Make ASR function global -# This option controls whether the ASR function is shared by -# all threads, or whether each thread may have its own ASR -# function. -# -cdl_option CYGSEM_KERNEL_SCHED_ASR_GLOBAL { - # Flavor: bool - user_value 1 - # value_source user - # Default value: true - # true (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGSEM_KERNEL_SCHED_ASR_GLOBAL -}; - -# Make ASR data global -# This option controls whether the ASR data is shared by -# all threads, or whether each thread may have its own ASR -# data. This is independent of the previous option because -# it may be useful to pass per-thread data to a shared ASR -# function. -# -cdl_option CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: true - # true (unknown) == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: !CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL -}; - -# < -# < -# SMP support -# -cdl_component CYGPKG_KERNEL_SMP_SUPPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGPKG_HAL_SMP_SUPPORT - # CYGPKG_HAL_SMP_SUPPORT == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGSEM_KERNEL_SCHED_BITMAP - # Requires: !CYGPKG_KERNEL_SMP_SUPPORT - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # -}; - -# Counters and clocks -# doc: ref/kernel-counters.html -# The counter objects provided by the kernel provide an -# abstraction of the clock facility that is generally provided. -# Application code can associate alarms with counters, where an -# alarm is identified by the number of ticks until it triggers, -# the action to be taken on triggering, and whether or not the -# alarm should be repeated. -# -cdl_component CYGPKG_KERNEL_COUNTERS { - # There is no associated value. -}; - -# > -# Provide real-time clock -# On all current target systems the kernel can provide a -# real-time clock. This clock serves two purposes. First it is -# necessary to support clock and alarm related functions. -# Second it is needed to implement timeslicing in some of the -# schedulers including the mlqueue scheduler. If the -# application does not require any of these facilities then it -# is possible to disable the real time clock support -# completely. -# -cdl_option CYGVAR_KERNEL_COUNTERS_CLOCK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGIMP_KERNEL_INTERRUPTS_DSRS - # CYGIMP_KERNEL_INTERRUPTS_DSRS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGSEM_KERNEL_SCHED_TIMESLICE - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGNUM_KERNEL_COUNTERS_CLOCK_ISR_PRIORITY - # ActiveIf: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGFUN_KERNEL_THREADS_TIMER - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGDBG_KERNEL_INSTRUMENT_CLOCK - # ActiveIf: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGDBG_KERNEL_INSTRUMENT_ALARM - # ActiveIf: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGDBG_KERNEL_INSTRUMENT_SMP - # ActiveIf: CYGVAR_KERNEL_COUNTERS_CLOCK - # component CYGPKG_HAL_TESTS - # Calculated: "tests/context tests/basic" - # . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "") - # . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "") - # . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ? " tests/intr" : "") - # option CYGSEM_LIBC_TIME_CLOCK_WORKING - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGFUN_HAL_I386_PCMB_GPROF_SUPPORT - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGPKG_POSIX_CLOCKS - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # option CYGPKG_POSIX_TIMERS - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK -}; - -# Interrupt priority for the real-time clock -# The implementation of the kernel's real-time clock typically -# involves installing an interrupt handler on a suitable hardware -# timer. This option controls the priority level used for that -# interrupt. On most platforms the value is not important because -# the clock ISR leaves most of the work to be done by the DSR. -# However some processors have interrupt controllers with special -# requirements for the interrupt priorities, in which case -# application developers must be able to manipulate the clock's -# priority. -# -cdl_option CYGNUM_KERNEL_COUNTERS_CLOCK_ISR_PRIORITY { - # ActiveIf constraint: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: is_loaded(CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY) ? - # CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY : 1 - # CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY (unknown) == 0 - # CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY (unknown) == 0 - # --> 1 -}; - -# -cdl_interface CYGINT_KERNEL_COUNTERS { - # Implemented by CYGIMP_KERNEL_COUNTERS_SINGLE_LIST, active, enabled - # Implemented by CYGIMP_KERNEL_COUNTERS_MULTI_LIST, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == CYGINT_KERNEL_COUNTERS - # CYGINT_KERNEL_COUNTERS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_KERNEL_COUNTERS - # Requires: 1 == CYGINT_KERNEL_COUNTERS -}; - -# Implement counters using a single list -# There are two different implementations of the counter -# objects. The first implementation stores all alarms in a -# single linked list. The alternative implementation uses a -# table of linked lists. A single list is more efficient in -# terms of memory usage and is generally adequate when the -# application only makes use of a small number of alarms. -# -cdl_option CYGIMP_KERNEL_COUNTERS_SINGLE_LIST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Implement counters using a table of lists -# There are two different implementations of the counter -# objects. The first implementation stores all alarms in a -# single linked list. The alternative implementation uses a -# table of linked lists, with the size of the table being a -# separate configurable option. For more complicated -# operations it is better to have a table of lists since this -# reduces the amount of computation whenever the timer goes -# off. Assuming a table size of 8 (the default value) on -# average the timer code will only need to check 1/8 of the -# pending alarms instead of all of them. -# -cdl_component CYGIMP_KERNEL_COUNTERS_MULTI_LIST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Size of counter list table -# If counters are implemented using an array of linked lists -# then this option controls the size of the array. A larger -# size reduces the amount of computation that needs to take -# place whenever the timer goes off, but requires extra -# memory. -# -cdl_option CYGNUM_KERNEL_COUNTERS_MULTI_LIST_SIZE { - # This option is not active - # The parent CYGIMP_KERNEL_COUNTERS_MULTI_LIST is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: 1 to 1024 -}; - -# < -# Sort the counter list -# Sorting the counter lists reduces the amount of work that -# has to be done when a counter tick is processed, since the -# next alarm to expire is always at the front of the list. -# However, it makes adding an alarm to the list more expensive -# since a search must be done for the correct place to put it. -# Many alarms are used to implement timeouts, which seldom trigger, -# so it is worthwhile optimizing this case. For this reason -# sorted list are disabled by default. -# -cdl_option CYGIMP_KERNEL_COUNTERS_SORT_LIST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Measure real-time [clock] interrupt latency -# Measure the interrupt latency as seen by the real-time clock -# timer interrupt. This requires hardware support, defined by -# the HAL_CLOCK_LATENCY() macro. -# -cdl_option CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGVAR_KERNEL_COUNTERS_CLOCK_DSR_LATENCY - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY - # option CYGVAR_KERNEL_COUNTERS_CLOCK_DSR_LATENCY - # DefaultValue: CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY -}; - -# Measure real-time [clock] DSR latency -# Measure the DSR latency as seen by the real-time clock -# timer interrupt. This requires hardware support, defined by -# the HAL_CLOCK_LATENCY() macro. -# -cdl_option CYGVAR_KERNEL_COUNTERS_CLOCK_DSR_LATENCY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY - # CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY == 0 - # --> 0 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY - # CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY == 0 - # --> 0 -}; - -# RTC resolution -# This option automatically defines the tuple which is used to -# initialize the RTC resolution, consisting of a numerator and -# denominator. The values of the numerator and denominator are -# defined by the HAL. -# -cdl_option CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION { - # Calculated value: "{CYGNUM_HAL_RTC_NUMERATOR, CYGNUM_HAL_RTC_DENOMINATOR}" - # Flavor: data - # Current_value: {CYGNUM_HAL_RTC_NUMERATOR, CYGNUM_HAL_RTC_DENOMINATOR} -}; - -# RTC period -# This option defines the RTC period to be used in -# setting the system clock hardware. It is essentially -# an alias for CYGNUM_HAL_RTC_PERIOD, which is defined -# in the HAL. -# -cdl_option CYGNUM_KERNEL_COUNTERS_RTC_PERIOD { - # Calculated value: "CYGNUM_HAL_RTC_PERIOD" - # Flavor: data - # Current_value: CYGNUM_HAL_RTC_PERIOD -}; - -# < -# Thread-related options -# There are a number of configuration options related to the -# implementation of threads, for example whether or not the -# eCos kernel supports per-thread data. -# -cdl_component CYGPKG_KERNEL_THREADS { - # There is no associated value. - - # The following properties are affected by this value - # option CYGDBG_KERNEL_INSTRUMENT_THREAD - # ActiveIf: CYGPKG_KERNEL_THREADS -}; - -# > -# Allow per-thread timers -# This option controls whether or not the kernel should support -# per-thread clock and alarm related functions. Also some of -# the synchronization primitives such as semaphore and -# condition variable timed wait operations require per-thread -# timer support. If none of these facilities are required then -# the option can be disabled. -# -cdl_option CYGFUN_KERNEL_THREADS_TIMER { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT - # Requires: CYGFUN_KERNEL_THREADS_TIMER - # option CYGSEM_LIBC_TIME_CLOCK_WORKING - # Requires: CYGFUN_KERNEL_THREADS_TIMER -}; - -# Support optional name for each thread -# Threads may optionally be supplied with a name string that is -# used to identify them during debugging. This name is only -# present if `this option is defined. Disabling it reduces both -# code and data size. -# -cdl_option CYGVAR_KERNEL_THREADS_NAME { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Keep track of all threads using a linked list -# Threads may optionally be placed on a housekeeping list so -# that all threads may be located easily. This is useful mainly -# in conjunction with source-level debugging. -# -cdl_option CYGVAR_KERNEL_THREADS_LIST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGFUN_KERNEL_ALL_THREADS_STACK_CHECKING - # Requires: CYGVAR_KERNEL_THREADS_LIST - # option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT - # Requires: CYGVAR_KERNEL_THREADS_LIST -}; - -# Keep track of the base of each thread's stack -# This option makes the kernel keep track of the lower limit on -# each thread's stack. It allows the kernel to adjust the lower -# limit, thus making space for per-thread data. Note that it -# does not imply any form of run-time stack overflow checking. -# -cdl_option CYGFUN_KERNEL_THREADS_STACK_LIMIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # component CYGVAR_KERNEL_THREADS_DATA - # Requires: CYGFUN_KERNEL_THREADS_STACK_LIMIT - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGFUN_KERNEL_THREADS_STACK_LIMIT -}; - -# Check thread stacks for overflows -# This option enables a variety of checks for stack overflow -# including signatures at the top and base of thread stacks, -# which are asserted for correctness whenever a thread switches. -# -cdl_component CYGFUN_KERNEL_THREADS_STACK_CHECKING { - # This option is not active - # ActiveIf constraint: CYGPKG_INFRA_DEBUG - # CYGPKG_INFRA_DEBUG == 0 - # --> 0 - # ActiveIf constraint: CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Check all threads whenever possible -# This option enables more active checking of all threads for -# wrongdoing. In theory, checking threads other than the old and new -# executing threads in a thread-switch is pointless, because no other -# thread has run, so no other stack can be exceeded. But errors such -# as memory scribbling, dangling pointers, overlapping use of store -# or errors accessing objects adjacent to a stack which can be very -# hard to find can be detected this way, saving debug time. -# -cdl_option CYGFUN_KERNEL_ALL_THREADS_STACK_CHECKING { - # This option is not active - # The parent CYGFUN_KERNEL_THREADS_STACK_CHECKING is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGVAR_KERNEL_THREADS_LIST - # CYGVAR_KERNEL_THREADS_LIST == 1 - # --> 1 -}; - -# Signature size in bytes, at stack top and bottom -# This is the size of the area reserved for a signature at the top -# and bottom of all stacks. It also provides a buffer zone for -# detecting overflow before external objects are corrupted, hence the -# ability to vary it here. But if you are short of stack, increasing -# this value will make the overflow more, not less likely, of course. -# -cdl_option CYGNUM_KERNEL_THREADS_STACK_CHECK_DATA_SIZE { - # This option is not active - # The parent CYGFUN_KERNEL_THREADS_STACK_CHECKING is not active - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 - # Legal values: 8 to 512 -}; - -# < -# Measure stack usage -# This option allows measurement of each thread's stack by initializing -# it to a predefined value at thread creation time. Later use of the -# cyg_thread_measure_stack_usage() function allows the maximum stack -# usage of the thread so far to be obtained. Note that this is not -# necessarily the true maximum stack usage that the thread will ever -# use since all that has been measured is the stack usage corresponding -# to the code path followed this time, and not the code path that may -# be followed in future. -# -cdl_component CYGFUN_KERNEL_THREADS_STACK_MEASUREMENT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 != CYGPKG_INFRA_DEBUG - # CYGPKG_INFRA_DEBUG == 0 - # --> 0 -}; - -# > -# Output stack usage on thread exit -# This will output the measured stack usage on the diagnostic -# output when a thread exits. -# -cdl_option CYGDBG_KERNEL_THREADS_STACK_MEASUREMENT_VERBOSE_EXIT { - # This option is not active - # The parent CYGFUN_KERNEL_THREADS_STACK_MEASUREMENT 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 per-thread data -# doc: ref/kernel-thread-data.html -# It is possible for the kernel to support per-thread data, in -# other words an area of memory specific to each thread which -# can be used to store data for that thread. This per-thread -# data can be used by applications or by other packages such as -# the ISO C library. -# -cdl_component CYGVAR_KERNEL_THREADS_DATA { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_KERNEL_THREADS_STACK_LIMIT - # CYGFUN_KERNEL_THREADS_STACK_LIMIT == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_LIBC_I18N_PER_THREAD_MB - # Requires: CYGVAR_KERNEL_THREADS_DATA - # option CYGSEM_LIBC_I18N_PER_THREAD_MB - # DefaultValue: CYGVAR_KERNEL_THREADS_DATA != 0 - # option CYGSEM_LIBC_PER_THREAD_RAND - # Requires: CYGVAR_KERNEL_THREADS_DATA - # option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK - # Requires: CYGVAR_KERNEL_THREADS_DATA - # option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK - # DefaultValue: CYGVAR_KERNEL_THREADS_DATA - # option CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE - # Requires: CYGVAR_KERNEL_THREADS_DATA - # option CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS - # Requires: CYGVAR_KERNEL_THREADS_DATA - # option CYGSEM_ERROR_PER_THREAD_ERRNO - # Requires: CYGVAR_KERNEL_THREADS_DATA - # option _POSIX_THREADS - # Requires: CYGVAR_KERNEL_THREADS_DATA -}; - -# > -# Number of words of per-thread data -# It is possible for the kernel to support per-thread data, in -# other words an area of memory specific to each thread which -# can be used to store data for that thread. This per-thread -# data can be used by applications or by other packages such as -# the ISO C library. This configuration option controls the -# number of words of per-thread data that the kernel will -# allow. In the current implementation a bitmask is used to identify -# used per-thread data slots and so the maximum legal value must -# remain 32. -# -cdl_option CYGNUM_KERNEL_THREADS_DATA_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 6 - # value_source default - # Default value: 6 - # Legal values: 4 to 32 -}; - -# Bitmap of preallocated slots of thread data -# Per thread data options. Per thread data support is based loosely -# on that defined by POSIX. Each thread has an array of slots, up to -# CYGNUM_KERNEL_THREADS_DATA_MAX, that may contain data. Some of the -# slots have been preallocated to specific packages. Others may be -# allocated dynamically. -# -cdl_component CYGNUM_KERNEL_THREADS_DATA_ALL { - # Calculated value: 15 - # Flavor: data - # Current_value: 15 -}; - -# > -# Slot 0 preallocated for the kernel -# This option defines the index of a per-thread data -# slot which is reserved by -# the eCos kernel -# for private use. -# -cdl_option CYGNUM_KERNEL_THREADS_DATA_KERNEL { - # Calculated value: 0 - # Flavor: data - # Current_value: 0 -}; - -# Slot 1 preallocated for uITRON -# This option defines the index of a per-thread data -# slot which is reserved by -# the uITRON compatibility layer -# for private use. -# -cdl_option CYGNUM_KERNEL_THREADS_DATA_ITRON { - # Calculated value: 1 - # Flavor: data - # Current_value: 1 -}; - -# Slot 2 preallocated for errno -# This option defines the index of a per-thread data -# slot which is reserved for use by an errno variable. -# -cdl_option CYGNUM_KERNEL_THREADS_DATA_ERRNO { - # Calculated value: 2 - # Flavor: data - # Current_value: 2 -}; - -# Slot 3 preallocated for POSIX -# This option defines the index of a per-thread data -# slot which is reserved by -# POSIX -# for private use. -# -cdl_option CYGNUM_KERNEL_THREADS_DATA_POSIX { - # Calculated value: 3 - # Flavor: data - # Current_value: 3 -}; - -# < -# < -# Thread destructors -# doc: ref/kernel-thread-destructors.html -# This option enables support for registered destructor functions to -# be called on thread exit. -# -cdl_component CYGPKG_KERNEL_THREADS_DESTRUCTORS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# Number of possible destructors -# This option gives the number of possible destructors allowed. -# Increasing this will increase the size of every -# thread control structure if per-thread destructors are -# enabled. -# -cdl_option CYGNUM_KERNEL_THREADS_DESTRUCTORS { - # This option is not active - # The parent CYGPKG_KERNEL_THREADS_DESTRUCTORS is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: 1 to 65535 -}; - -# Per-thread destructors -# Enabling this option makes the thread destructors a per-thread -# property, with each thread having its own list of destructors. -# Disabling this option makes the thread destructor list -# global so all threads have the same destructors. -# -cdl_option CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD { - # This option is not active - # The parent CYGPKG_KERNEL_THREADS_DESTRUCTORS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Stack size for the idle thread -# This configuration option specifies the stack size in bytes -# for the idle thread. Unless the HAL is configured to use a -# separate interrupt stack this size must be sufficient to meet -# the requirements of all interrupt handlers - these -# requirements are cumulative if nested interrupted are -# enabled. Depending on the target architecture, the stack size -# typically has to be a multiple of eight or sixteen bytes. -# This will be overridden where it is used if the -# architectural HAL requires a minimum stack size -# to handle interrupts correctly. -# -cdl_option CYGNUM_KERNEL_THREADS_IDLE_STACK_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 2048 - # value_source default - # Default value: 2048 - # Legal values: 512 to 65536 -}; - -# Maximal suspend count -# This option provides for an assertion that the count value for -# counted thread suspends do not exceed set limits. This is to help -# with debugging, to allow a runaway loop, for example, to be -# detected more easily. -# If the option is not defined, no assert is included. Whether asserts -# are themselves included depends on infrastructure configury in -# infra.h -# -cdl_option CYGNUM_KERNEL_MAX_SUSPEND_COUNT_ASSERT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 500 - # value_source default - # Default value: 500 -}; - -# Maximal wake count -# This option provides for an assertion that the count value for -# counted thread wakeups do not exceed set limits. This is to -# help with debugging, to allow a runaaway loop, for example, to -# be detected more easily. -# If the option is not defined, no assert is included. Whether asserts -# are themselves included depends on infrastructure configury in -# infra.h -# -cdl_option CYGNUM_KERNEL_MAX_COUNTED_WAKE_COUNT_ASSERT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 500 - # value_source default - # Default value: 500 -}; - -# Idle thread must always yield -# If the scheduler configuration only has a single priority -# level, then the idle thread must yield each time around its loop. -# -cdl_option CYGIMP_IDLE_THREAD_YIELD { - # This option is not active - # ActiveIf constraint: (CYGNUM_KERNEL_SCHED_PRIORITIES == 1) - # CYGNUM_KERNEL_SCHED_PRIORITIES == 32 - # --> 0 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# < -# Synchronization primitives -# The eCos kernel supports a number of different -# synchronization primitives such as mutexes, semaphores, -# condition variables, and message boxes. There are -# configuration options to control the exact behaviour of some -# of these synchronization primitives. -# -cdl_component CYGPKG_KERNEL_SYNCH { - # There is no associated value. - - # The following properties are affected by this value - # option CYGDBG_KERNEL_INSTRUMENT_MUTEX - # ActiveIf: CYGPKG_KERNEL_SYNCH - # option CYGDBG_KERNEL_INSTRUMENT_CONDVAR - # ActiveIf: CYGPKG_KERNEL_SYNCH - # option CYGDBG_KERNEL_INSTRUMENT_BINSEM - # ActiveIf: CYGPKG_KERNEL_SYNCH - # option CYGDBG_KERNEL_INSTRUMENT_CNTSEM - # ActiveIf: CYGPKG_KERNEL_SYNCH - # option CYGDBG_KERNEL_INSTRUMENT_MBOXT - # ActiveIf: CYGPKG_KERNEL_SYNCH - # option CYGDBG_KERNEL_INSTRUMENT_FLAG - # ActiveIf: CYGPKG_KERNEL_SYNCH -}; - -# > -# Priority inversion protection protocols -# doc: ref/kernel-mutexes.html -# This component controls the protocols used to protect mutexes against -# priority inversion. If this option is enabled it defines which -# algorithm is used to implement this protection. At present only -# one such algorithm is defined: "SIMPLE". The implementation -# will only work in the mlqueue scheduler, and it does not handle the -# rare case of nested mutexes completely correctly. However it is -# both fast and deterministic. -# -cdl_component CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL { - # ActiveIf constraint: CYGSEM_KERNEL_SCHED_MLQUEUE - # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 - # --> 1 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 SIMPLE - # value_source default - # Default value: 1 SIMPLE - # Legal values: "SIMPLE" - # Requires: CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES == 0 - # CYGINT_KERNEL_SCHEDULER_UNIQUE_PRIORITIES == 0 - # --> 1 -}; - -# > -# Enable priority inheritance protocol -# This option enables priority inheritance protocol. This protocol -# causes the owner of a mutex to be executed at the highest priority -# of the threads waiting for access to the mutex. -# -cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT - # DefaultValue: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT ? - # "INHERIT" : - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING ? - # "CEILING" : "NONE" - # option _POSIX_THREAD_PRIO_INHERIT - # Requires: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT -}; - -# Enable priority ceiling protocol -# This option enables priority ceiling protocol. This protocol -# causes the owner of a mutex to be executed at a priority -# associated with the mutex. -# -cdl_component CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY - # ActiveIf: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING - # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT - # DefaultValue: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT ? - # "INHERIT" : - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING ? - # "CEILING" : "NONE" - # option _POSIX_THREAD_PRIO_PROTECT - # Requires: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING -}; - -# > -# Default priority ceiling -# This option defines the default priority ceiling to be -# used if the chosen default priority inversion protocol is -# priority ceoptioniling protocol. The default value for this is zero, -# making all such mutexes boost threads to the maximum priority. -# -cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY { - # ActiveIf constraint: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING == 1 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to CYGNUM_KERNEL_SCHED_PRIORITIES - 1 - # CYGNUM_KERNEL_SCHED_PRIORITIES == 32 -}; - -# < -# No priority inversion protocol -# This option enables the ability to have no priority inversion protocol. -# It is equivalent to disabling the priority inversion protocol at -# the top level, but is necessary for the runtime and default -# selection options. -# -cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_NONE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Default priority inversion protocol -# This option defines the default inversion protocol used for mutexes that -# are created without an explicit protocol being specified. The protocol -# chosen by default is to use priority inheritance if it is present otherwise -# priority ceiling, or none if neither is present. -# -cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT { - # ActiveIf constraint: CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT > 1 - # CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT == 3 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value INHERIT - # value_source default - # Default value: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT ? - # "INHERIT" : - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING ? - # "CEILING" : "NONE" - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT == 1 - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING == 1 - # --> INHERIT - # Legal values: "INHERIT" "CEILING" "NONE" -}; - -# Specify mutex priority inversion protocol at runtime -# This option controls whether the priority inversion protocol used by -# a mutex can be specified when that mutex is created. -# -cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DYNAMIC { - # ActiveIf constraint: CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT > 1 - # CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT == 3 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Number of protocols selected -# -cdl_interface CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT { - # Implemented by CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT, active, enabled - # Implemented by CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING, active, enabled - # Implemented by CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_NONE, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 3 - - # The following properties are affected by this value - # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT - # ActiveIf: CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT > 1 - # option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DYNAMIC - # ActiveIf: CYGINT_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_COUNT > 1 -}; - -# < -# Use mboxt_plain mbox implementation -# Use the plain mboxt implementation instead of the mboxt2 -# implementation. The mboxt2 version is designed to provide -# semantics compatible with UITRON, the plain implementation -# is adquate in most other situations. -# -cdl_option CYGIMP_MBOX_USE_MBOXT_PLAIN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Message box blocking put support -# doc: ref/kernel-mail-boxes.html -# Message boxes can support three different versions of the -# put-message operation. The first is tryput(), which will fail -# if the message box is already full. The other two are the -# ordinary put() function which will block if the message box -# is full, and a timed put() operation which will block for -# upto a certain length of time if the message box is currently -# full. The blocking versions require extra memory in the -# message box data structure and extra code in the other -# message box functions, so they can be disabled if the -# application does not require them. If this option is enabled -# then the system will always provide the blocking put() -# function, and it will also provide the timed put() function -# if thread timers are enabled. -# -cdl_option CYGMFN_KERNEL_SYNCH_MBOXT_PUT_CAN_WAIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Message box queue size -# doc: ref/kernel-mail-boxes.html -# This configuration option controls the number of messages -# that can be queued in a message box before a non-blocking -# put() operation will fail or a blocking put() operation will -# block. The cost in memory is one pointer per message box for -# each possible message. -# -cdl_option CYGNUM_KERNEL_SYNCH_MBOX_QUEUE_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 - # Legal values: 1 to 65535 -}; - -# Condition variable timed-wait support -# doc: ref/kernel-condition-variables.html -# This option enables the condition variable timed wait -# facility. -# -cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_KERNEL_THREADS_TIMER - # CYGFUN_KERNEL_THREADS_TIMER == 1 - # --> 1 -}; - -# Condition variable explicit mutex wait support -# doc: ref/kernel-condition-variables.html -# This option enables the condition variable explicit mutex wait -# facility. By default condition variables in eCos are created with -# a statically associated mutex. This option permits wait (and timed wait -# if CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT is enabled) to provide a -# different mutex as an argument. This makes no difference to the semantics -# the wait operation except that a different mutex will be used during it. -# -cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_WAIT_MUTEX { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Avoid inlines in mqueue implementation -# With this option disabled, the 'mqueue' message queue implementation -# provides most of its implementation via inlines. However this can -# adversely affect code size in application that make lots of mqueue -# calls from different places, so enabling this option provides -# non-inline versions to be used instead. -# -cdl_option CYGIMP_KERNEL_SYNCH_MQUEUE_NOT_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Kernel instrumentation -# doc: user-guide/kernel-instrumentation.html -# The current release of the kernel contains an initial version -# of instrumentation support. The various parts of the kernel -# will invoke instrumentation routines whenever appropriate -# events occur, and these will be stored in a circular buffer -# for later reference. -# -cdl_component CYGPKG_KERNEL_INSTRUMENT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - - # The following properties are affected by this value - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # -}; - -# > -# Use buffer provided by the application -# In most circumstances the kernel should provide the -# instrumentation circular buffer itself. Occasionally -# application code may wish to provide the buffer instead, -# giving the application code more convenient access to the -# buffer. This also makes it possible to put the circular -# buffer in special areas of memory, for example a region that -# is shared with the host. -# -cdl_option CYGVAR_KERNEL_INSTRUMENT_EXTERNAL_BUFFER { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Instrumentation buffer size -# If kernel instrumentation is enabled then the instrumentation -# data goes into a circular buffer. A larger buffer allows -# more data to be stored, but at a significant cost in memory. -# The value of this option corresponds to the number of entries -# in the table, and typically each entry will require 16 bytes -# of memory. -# -cdl_option CYGNUM_KERNEL_INSTRUMENT_BUFFER_SIZE { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: 256 - # Legal values: 16 to 0x100000 -}; - -# Wrap instrumentation buffer -# When the instrumentation buffer is full it can either be restarted -# from the beginning, overwriting older data, or it can stop at the -# end. The former is useful if you want to look at the last entries -# made while the latter is useful if you want to look at the first -# few. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_BUFFER_WRAP { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Perform selective instrumentation -# The kernel can either collect all instrumentation events, or -# it can filter out events at runtime based on a set of flags. -# For example it would be possible to decide at runtime that -# only scheduler and interrupt instrumentation flags are of -# interest and that all other flags should be ignored. This -# flag mechanism involves extra code and processor cycle -# overhead in the instrumentation code, so it can be disabled -# if the application developer is interested in all -# instrumentation events. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_FLAGS { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument common scheduler operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the scheduling code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_SCHED { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SCHED - # CYGPKG_KERNEL_SCHED == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument thread operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the code that manipulates threads. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_THREAD { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_THREADS - # CYGPKG_KERNEL_THREADS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument interrupt-related operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the interrupt handling code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_INTR { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_INTERRUPTS - # CYGPKG_KERNEL_INTERRUPTS == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument mutex operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the mutex code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_MUTEX { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SYNCH - # CYGPKG_KERNEL_SYNCH == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument condition variable operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the condition variable code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_CONDVAR { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SYNCH - # CYGPKG_KERNEL_SYNCH == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument binary semaphore operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the binary semaphore code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_BINSEM { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SYNCH - # CYGPKG_KERNEL_SYNCH == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument counting semaphore operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the counting semaphore code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_CNTSEM { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SYNCH - # CYGPKG_KERNEL_SYNCH == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument message box operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the message box code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_MBOXT { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SYNCH - # CYGPKG_KERNEL_SYNCH == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument event flag operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the event flag code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_FLAG { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGPKG_KERNEL_SYNCH - # CYGPKG_KERNEL_SYNCH == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument clock operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the real-time clock code. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_CLOCK { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument alarm-related operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the code related to alarm operations. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_ALARM { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument SMP-related operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the code related to SMP operations. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_SMP { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument multi-level queue scheduler operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the code for the multi-level queue scheduler. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_MLQ { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGSEM_KERNEL_SCHED_MLQUEUE - # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Instrument bitmap scheduler operations -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not instrumentation support is compiled into -# the code for the bitmap scheduler. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_BITMAP { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - # ActiveIf constraint: CYGSEM_KERNEL_SCHED_BITMAP - # CYGSEM_KERNEL_SCHED_BITMAP == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Support application-level instrumentation -# It is possible to perform selective instrumentation at -# run-time. It is also possible to disable instrumentation -# in various kernel components at compile-time, thus -# reducing the code size overheads. This option controls -# whether or not application-level instrumentation gets -# compiled in. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_USER { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Provide user-friendly instrumentation messages -# Include code which will convert the instrument type field -# into a more human understandable string -# -cdl_component CYGDBG_KERNEL_INSTRUMENT_MSGS { - # This option is not active - # The parent CYGPKG_KERNEL_INSTRUMENT is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Rebuild the header file -# Make (using a shell script) include/cyg/kernel/instrument_desc.h in -# your build tree; this is normally simply copied from the repository. -# If you make a permanent change to include/instrmnt.h, such that -# instrument_desc.h needs updating, it's up to you to first delete the -# master file -# ECOS_REPOSITORY/kernel/VERSION/include/instrument_desc.h -# in your source repository, make the new version by enabling this -# option then copy the new file -# back from your build place to its source in -# ECOS_REPOSITORY/kernel/VERSION/include/instrument_desc.h -# and/or commit this to any version control system that you use. -# -cdl_option CYGDBG_KERNEL_INSTRUMENT_MSGS_BUILD_HEADERFILE { - # This option is not active - # The parent CYGDBG_KERNEL_INSTRUMENT_MSGS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Build the host tool to print out a dump -# Generate a host program which can dump the instrumentation -# data in a human readable format. You have to somehow get the -# instrumentation buffer into a file on the host. 'Exercise for -# the reader' as university lecturers tend to say. -# -cdl_component CYGDBG_KERNEL_INSTRUMENT_BUILD_HOST_DUMP { - # This option is not active - # The parent CYGDBG_KERNEL_INSTRUMENT_MSGS is not active - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# < -# Source-level debugging support -# If the source level debugger gdb is to be used for debugging -# application code then it may be necessary to configure in support -# for this in the kernel. -# -cdl_component CYGPKG_KERNEL_DEBUG { - # There is no associated value. -}; - -# > -# Include GDB multi-threading debug support -# This option enables some extra kernel code which is needed -# to support multi-threaded source level debugging. -# -cdl_option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGVAR_KERNEL_THREADS_LIST - # CYGVAR_KERNEL_THREADS_LIST == 1 - # --> 1 - # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT - # ActiveIf: CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT -}; - -# < -# Kernel APIs -# The eCos kernel is implemented in C++, so a C++ interface -# to the kernel is always available. There is also an optional -# C API. Additional API's may be provided in future versions. -# -cdl_component CYGPKG_KERNEL_API { - # There is no associated value. -}; - -# > -# Provide C API -# The eCos kernel is implemented in C++, but there is an -# optional C API for use by application code. This C API can be -# disabled if the application code does not invoke the kernel -# directly, but instead uses higher level code such as the -# uITRON compatibility layer. -# -cdl_option CYGFUN_KERNEL_API_C { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # - # option CYGPKG_KERNEL_TESTS - # Calculated: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # - # option CYGFUN_MEMALLOC_KAPI - # DefaultValue: CYGFUN_KERNEL_API_C -}; - -# < -# Kernel build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_KERNEL_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the eCos kernel. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_KERNEL_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the eCos kernel. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_KERNEL_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Kernel tests -# This option specifies the set of tests for the eCos kernel. -# -cdl_option CYGPKG_KERNEL_TESTS { - # Calculated value: - # "tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2" - # . ((CYGFUN_KERNEL_API_C) ? " tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0" : "") - # . ((!CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT && CYGFUN_KERNEL_API_C) ? " tests/dhrystone" : "") - # . ((CYGPKG_KERNEL_SMP_SUPPORT && CYGFUN_KERNEL_API_C) ? " tests/smp" : "") - # . ((!CYGINT_HAL_TESTS_NO_CACHES && CYGFUN_KERNEL_API_C) ? " tests/kcache1 tests/kcache2" : "") - # - # CYGFUN_KERNEL_API_C == 1 - # CYGPKG_INFRA_DEBUG == 0 - # CYGPKG_KERNEL_INSTRUMENT == 0 - # CYGFUN_KERNEL_API_C == 1 - # CYGPKG_KERNEL_SMP_SUPPORT == 0 - # CYGFUN_KERNEL_API_C == 1 - # CYGINT_HAL_TESTS_NO_CACHES == 0 - # CYGFUN_KERNEL_API_C == 1 - # Flavor: data - # Current_value: tests/bin_sem0 tests/bin_sem1 tests/bin_sem2 tests/bin_sem3 tests/clock0 tests/clock1 tests/clockcnv tests/clocktruth tests/cnt_sem0 tests/cnt_sem1 tests/except1 tests/flag0 tests/flag1 tests/intr0 tests/kill tests/mbox1 tests/mqueue1 tests/mutex0 tests/mutex1 tests/mutex2 tests/mutex3 tests/release tests/sched1 tests/sync2 tests/sync3 tests/thread0 tests/thread1 tests/thread2 tests/kclock0 tests/kclock1 tests/kexcept1 tests/kflag0 tests/kflag1 tests/kintr0 tests/klock tests/kmbox1 tests/kmutex0 tests/kmutex1 tests/kmutex3 tests/kmutex4 tests/ksched1 tests/ksem0 tests/ksem1 tests/kthread0 tests/kthread1 tests/stress_threads tests/thread_gdb tests/timeslice tests/timeslice2 tests/tm_basic tests/fptest tests/kalarm0 tests/dhrystone tests/kcache1 tests/kcache2 -}; - -# < -# < -# 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 - # package CYGPKG_BLOCK_LIB - # 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 { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Simple variable block allocator -# This component contains configuration options related to the -# simple variable block memory allocator. This allocator is not -# very fast, and in particular does not scale well with large -# numbers of allocations. It is however very compact in terms of -# code size and does not have very much overhead per allocation. -# -cdl_component CYGPKG_MEMALLOC_ALLOCATOR_VARIABLE { - # There is no associated value. -}; - -# > -# Make thread safe -# With this option enabled, this allocator will be -# made thread-safe. Additionally allocation functions -# are added that allow a thread to wait until memory -# are made available that allow a thread to wait -# until memory is available. -# -cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_THREADAWARE { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Coalesce memory -# The variable-block memory allocator can perform coalescing -# of memory whenever the application code releases memory back -# to the pool. This coalescing reduces the possibility of -# memory fragmentation problems, but involves extra code and -# processor cycles. -# -cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE - # Requires: CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE -}; - -# < -# Doug Lea's malloc -# This component contains configuration options related to the -# port of Doug Lea's memory allocator, normally known as -# dlmalloc. dlmalloc has a reputation for being both fast -# and space-conserving, as well as resisting fragmentation well. -# It is a common choice for a general purpose allocator and -# has been used in both newlib and Linux glibc. -# -cdl_component CYGPKG_MEMALLOC_ALLOCATOR_DLMALLOC { - # There is no associated value. -}; - -# > -# Debug build -# Doug Lea's malloc implementation has substantial amounts -# of internal checking in order to verify the operation -# and consistency of the allocator. However this imposes -# substantial overhead on each operation. Therefore this -# checking may be individually disabled. -# -cdl_option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 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 { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 -}; - -# Support more than one instance -# Having this option disabled allows important -# implementation structures to be declared as a single -# static instance, allowing faster access. However this -# would fail if there is more than one instance of -# the dlmalloc allocator class. Therefore this option can -# be enabled if multiple instances are required. Note: as -# a special case, if this allocator is used as the -# implementation of malloc, and it can be determined there -# is more than one malloc pool, then this option will be -# silently enabled. -# -cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_SAFE_MULTIPLE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Use system 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 have been reported -# to be faster in some circumstances. The use of "MEMCPY" -# in the CDL option name is an anachronism and only -# present for backwards compatibility. -# -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) && (0 != CYGINT_ISO_STRING_MEMFUNCS) - # CYGPKG_ISOINFRA == current - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 -}; - -# Minimum alignment of allocated blocks -# This option controls the minimum alignment that the -# allocated memory blocks are aligned on, specified as -# 2^N. Note that using large mininum alignments can lead -# to excessive memory wastage. -# -cdl_option CYGNUM_MEMALLOC_ALLOCATOR_DLMALLOC_ALIGNMENT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 3 - # value_source default - # Default value: 3 - # Legal values: 3 to 10 -}; - -# < -# Variable block allocator with separate metadata -# This component contains configuration options related to the -# variable block memory allocator with separate metadata. -# -cdl_component CYGPKG_MEMALLOC_ALLOCATOR_SEPMETA { - # There is no associated value. -}; - -# > -# Make thread safe -# With this option enabled, this allocator will be -# made thread-safe. Additionally allocation functions -# are made available that allow a thread to wait -# until memory is available. -# -cdl_option CYGSEM_MEMALLOC_ALLOCATOR_SEPMETA_THREADAWARE { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# < -# Kernel C API support for memory allocation -# This option must be enabled to provide the extensions required -# to support integration into the kernel C API. -# -cdl_option CYGFUN_MEMALLOC_KAPI { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGFUN_KERNEL_API_C - # CYGFUN_KERNEL_API_C == 1 - # --> 1 -}; - -# malloc(0) returns NULL -# This option controls the behavior of malloc(0) ( or calloc with -# either argument 0 ). It is permitted by the standard to return -# either a NULL pointer or a unique pointer. Enabling this option -# forces a NULL pointer to be returned. -# -cdl_option CYGSEM_MEMALLOC_MALLOC_ZERO_RETURNS_NULL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Breakpoint site when running out of memory -# Whenever the system runs out of memory, it invokes this function -# before either going to sleep waiting for memory to become -# available or returning failure. -# -cdl_option CYGSEM_MEMALLOC_INVOKE_OUT_OF_MEMORY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# malloc() and supporting allocators -# This component enables support for dynamic memory -# allocation as supplied by the functions malloc(), -# free(), calloc() and realloc(). As these -# functions are often used, but can have quite an -# overhead, disabling them here can ensure they -# cannot even be used accidentally when static -# allocation is preferred. Within this component are -# various allocators that can be selected for use -# as the underlying implementation of the dynamic -# allocation functions. -# -cdl_component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS { - # ActiveIf constraint: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Use external heap definition -# This option allows other components in the -# system to override the default system -# provision of heap memory pools. This should -# be set to a header which provides the equivalent -# definitions to <pkgconf/heaps.hxx>. -# -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 <cyg/memalloc/dlmalloc.hxx> - # value_source default - # Default value: <cyg/memalloc/dlmalloc.hxx> - - # The following properties are affected by this value - # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE - # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "<cyg/memalloc/memvar.hxx>" - # option CYGIMP_MEMALLOC_MALLOC_DLMALLOC - # Requires: CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == "<cyg/memalloc/dlmalloc.hxx>" -}; - -# 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 == "<cyg/memalloc/memvar.hxx>" - # CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx> - # --> 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 == "<cyg/memalloc/dlmalloc.hxx>" - # CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx> - # --> 1 -}; - -# < -# Size of the fallback dynamic memory pool in bytes -# If *no* heaps are configured in your memory layout, -# dynamic memory allocation by -# malloc() and calloc() must be from a fixed-size, -# contiguous memory pool (note here that it is the -# pool that is of a fixed size, but malloc() is still -# able to allocate variable sized chunks of memory -# from it). This option is the size -# of that pool, in bytes. Note that not all of -# this is available for programs to -# use - some is needed for internal information -# about memory regions, and some may be lost to -# ensure that memory allocation only returns -# memory aligned on word (or double word) -# boundaries - a very common architecture -# constraint. -# -cdl_option CYGNUM_MEMALLOC_FALLBACK_MALLOC_POOL_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16384 - # value_source default - # Default value: 16384 - # Legal values: 32 to 0x7fffffff -}; - -# Common memory allocator package build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_MEMALLOC_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_MEMALLOC_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_MEMALLOC_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Tests -# This option specifies the set of tests for this package. -# -cdl_option CYGPKG_MEMALLOC_TESTS { - # Calculated value: "tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2" - # Flavor: data - # Current_value: tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2 -}; - -# < -# < -# ISO C and POSIX infrastructure -# eCos supports implementations of ISO C libraries and POSIX -# implementations. This package provides infrastructure used by -# all such implementations. -# -cdl_package CYGPKG_ISOINFRA { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGPKG_ISOINFRA - # component CYGPKG_IO_SERIAL_TERMIOS - # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY - # Requires: CYGPKG_ISOINFRA - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY - # DefaultValue: (0 != CYGPKG_ISOINFRA) && (0 != CYGINT_ISO_STRING_MEMFUNCS) - # component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS - # ActiveIf: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_I18N - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_SETJMP - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_SIGNALS - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STARTUP - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STDIO - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STDLIB - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_STRING - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_LIBC_TIME - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_BLOCK_LIB - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_POSIX - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_IO_FILEIO - # Requires: CYGPKG_ISOINFRA - # package CYGPKG_USTL - # Requires: CYGPKG_ISOINFRA -}; - -# > -# Startup and termination -# -cdl_component CYGPKG_ISO_STARTUP { - # There is no associated value. -}; - -# > -# main() startup implementations -# Implementations of this interface arrange for a user-supplied -# main() to be called in an ISO compatible environment. -# -cdl_interface CYGINT_ISO_MAIN_STARTUP { - # Implemented by CYGPKG_LIBC_STARTUP, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP - # CYGINT_ISO_MAIN_STARTUP == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_MAIN_STARTUP - # Requires: 1 >= CYGINT_ISO_MAIN_STARTUP - # package CYGPKG_USTL - # Requires: CYGINT_ISO_MAIN_STARTUP -}; - -# environ implementations -# Implementations of this interface provide the environ -# variable required by POSIX. -# -cdl_interface CYGINT_ISO_ENVIRON { - # Implemented by CYGPKG_LIBC_STARTUP, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_ENVIRON - # CYGINT_ISO_ENVIRON == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_ENVIRON - # Requires: 1 >= CYGINT_ISO_ENVIRON - # package CYGPKG_USTL - # Requires: CYGINT_ISO_ENVIRON -}; - -# < -# ctype.h functions -# -cdl_component CYGPKG_ISO_CTYPE_H { - # There is no associated value. -}; - -# > -# Number of implementations of ctype functions -# -cdl_interface CYGINT_ISO_CTYPE { - # Implemented by CYGPKG_LIBC_I18N, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_CTYPE - # Requires: 1 >= CYGINT_ISO_CTYPE - # package CYGPKG_LIBC_STDLIB - # Requires: CYGINT_ISO_CTYPE - # option CYGFUN_LIBC_STRING_BSD_FUNCS - # Requires: CYGINT_ISO_CTYPE - # component CYGPKG_FILEIO_FNMATCH - # DefaultValue: ( CYGINT_ISO_STRING_STRFUNCS && CYGINT_ISO_CTYPE ) - # package CYGPKG_USTL - # 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 <cyg/libc/i18n/ctype.inl> - # 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 == "<cyg/libc/i18n/newlibctype.h>" - # option CYGIMP_LIBC_I18N_CTYPE_INLINES - # Requires: CYGBLD_ISO_CTYPE_HEADER == "<cyg/libc/i18n/ctype.inl>" -}; - -# < -# Error handling -# -cdl_component CYGPKG_ISO_ERRNO { - # There is no associated value. -}; - -# > -# Number of implementations of error codes -# -cdl_interface CYGINT_ISO_ERRNO_CODES { - # Implemented by CYGPKG_ERROR, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_ERRNO_CODES - # Requires: 1 >= CYGINT_ISO_ERRNO_CODES - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGINT_ISO_ERRNO_CODES - # component CYGPKG_IO_SERIAL_TERMIOS - # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # option CYGSEM_LIBC_SIGNALS_RAISE_SETS_ERRNO - # Requires: CYGINT_ISO_ERRNO_CODES - # option CYGSEM_LIBC_SIGNALS_SIGNAL_SETS_ERRNO - # Requires: CYGINT_ISO_ERRNO_CODES - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_ERRNO_CODES - # package CYGPKG_POSIX - # Requires: CYGINT_ISO_ERRNO_CODES - # package CYGPKG_IO_FILEIO - # Requires: CYGINT_ISO_ERRNO_CODES - # package CYGPKG_USTL - # Requires: CYGINT_ISO_ERRNO_CODES -}; - -# Error codes implementation header -# -cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/error/codes.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_ERROR - # Requires: CYGBLD_ISO_ERRNO_CODES_HEADER == "<cyg/error/codes.h>" -}; - -# Number of implementations of errno variable -# -cdl_interface CYGINT_ISO_ERRNO { - # Implemented by CYGPKG_ERROR_ERRNO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_ERRNO - # Requires: 1 >= CYGINT_ISO_ERRNO - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGINT_ISO_ERRNO - # component CYGPKG_IO_SERIAL_TERMIOS - # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # option CYGSEM_LIBC_SIGNALS_RAISE_SETS_ERRNO - # Requires: CYGINT_ISO_ERRNO - # option CYGSEM_LIBC_SIGNALS_SIGNAL_SETS_ERRNO - # Requires: CYGINT_ISO_ERRNO - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_ERRNO - # package CYGPKG_POSIX - # Requires: CYGINT_ISO_ERRNO - # component CYGPKG_POSIX_MQUEUES - # Requires: CYGINT_ISO_ERRNO - # package CYGPKG_IO_FILEIO - # Requires: CYGINT_ISO_ERRNO - # package CYGPKG_USTL - # Requires: CYGINT_ISO_ERRNO -}; - -# errno variable implementation header -# -cdl_option CYGBLD_ISO_ERRNO_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/error/errno.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_ERROR_ERRNO - # Requires: CYGBLD_ISO_ERRNO_HEADER == "<cyg/error/errno.h>" -}; - -# < -# 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 - # package CYGPKG_USTL - # Requires: CYGINT_ISO_LOCALE -}; - -# Locale implementation header -# -cdl_option CYGBLD_ISO_LOCALE_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# Standard I/O-related functionality -# -cdl_component CYGPKG_ISO_STDIO { - # There is no associated value. -}; - -# > -# Number of implementations of stdio file types -# -cdl_interface CYGINT_ISO_STDIO_FILETYPES { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES - # CYGINT_ISO_STDIO_FILETYPES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILETYPES - # Requires: 1 >= CYGINT_ISO_STDIO_FILETYPES - # component CYGCLS_USTL_FSTREAMS - # Requires: CYGINT_ISO_STDIO_FILETYPES -}; - -# Stdio file types implementation header -# -cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FILETYPES_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Stdio standard streams implementations -# -cdl_interface CYGINT_ISO_STDIO_STREAMS { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS - # CYGINT_ISO_STDIO_STREAMS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_STREAMS - # Requires: 1 >= CYGINT_ISO_STDIO_STREAMS - # component CYGCLS_USTL_FSTREAMS - # Requires: CYGINT_ISO_STDIO_STREAMS -}; - -# Stdio standard streams implementation header -# This header file must define stdin, stdout -# and stderr. -# -cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_STREAMS_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio file operations -# -cdl_interface CYGINT_ISO_STDIO_FILEOPS { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS - # CYGINT_ISO_STDIO_FILEOPS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEOPS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEOPS -}; - -# Stdio file operations implementation header -# This header controls the file system operations on a file -# such as remove(), rename(), tmpfile(), tmpnam() and associated -# constants. -# -cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FILEOPS_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio file access functionals -# -cdl_interface CYGINT_ISO_STDIO_FILEACCESS { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEACCESS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEACCESS - # option CYGSEM_LIBC_EXIT_CALLS_FFLUSH - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # option CYGSEM_LIBC_EXIT_CALLS_FFLUSH - # DefaultValue: 0 != CYGINT_ISO_STDIO_FILEACCESS - # component CYGCLS_USTL_FSTREAMS - # 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FILEACCESS_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio formatted I/O -# -cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FORMATTED_IO - # Requires: 1 >= CYGINT_ISO_STDIO_FORMATTED_IO - # package CYGPKG_USTL - # 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio character I/O -# -cdl_interface CYGINT_ISO_STDIO_CHAR_IO { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO - # CYGINT_ISO_STDIO_CHAR_IO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_CHAR_IO - # Requires: 1 >= CYGINT_ISO_STDIO_CHAR_IO - # package CYGPKG_USTL - # Requires: CYGINT_ISO_STDIO_CHAR_IO -}; - -# Stdio character I/O implementation header -# -cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_CHAR_IO_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio direct I/O -# -cdl_interface CYGINT_ISO_STDIO_DIRECT_IO { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO - # CYGINT_ISO_STDIO_DIRECT_IO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_DIRECT_IO - # Requires: 1 >= CYGINT_ISO_STDIO_DIRECT_IO - # package CYGPKG_USTL - # Requires: CYGINT_ISO_STDIO_DIRECT_IO -}; - -# Stdio direct I/O implementation header -# -cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio file positioning -# -cdl_interface CYGINT_ISO_STDIO_FILEPOS { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_FILEPOS - # Requires: 1 >= CYGINT_ISO_STDIO_FILEPOS - # component CYGCLS_USTL_FSTREAMS - # 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_FILEPOS_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# Number of implementations of stdio error handling -# -cdl_interface CYGINT_ISO_STDIO_ERROR { - # Implemented by CYGPKG_LIBC_STDIO, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_ERROR - # CYGINT_ISO_STDIO_ERROR == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_ERROR - # Requires: 1 >= CYGINT_ISO_STDIO_ERROR - # package CYGPKG_USTL - # Requires: CYGINT_ISO_STDIO_ERROR -}; - -# Stdio error handling implementation header -# -cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdio/stdio.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGBLD_ISO_STDIO_ERROR_HEADER == "<cyg/libc/stdio/stdio.h>" -}; - -# POSIX fd-related function implementations -# -cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS { - # Implemented by CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS - # CYGINT_ISO_STDIO_POSIX_FDFUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS - # Requires: 1 >= CYGINT_ISO_STDIO_POSIX_FDFUNCS -}; - -# POSIX fd-related function implementation header -# -cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# Standard general utility functions -# -cdl_component CYGPKG_ISO_STDLIB { - # There is no associated value. -}; - -# > -# String conversion function implementations -# -cdl_interface CYGINT_ISO_STDLIB_STRCONV { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV - # CYGINT_ISO_STDLIB_STRCONV == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_STRCONV - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_STDLIB_STRCONV -}; - -# String conversion function implementation header -# -cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdlib/atox.inl> - # 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 == "<cyg/libc/stdlib/atox.inl>" -}; - -# String to FP conversion function implementations -# -cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT { - # Implemented by CYGFUN_LIBC_strtod, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT - # Requires: 1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT - # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT - # Requires: CYGINT_ISO_STDLIB_STRCONV_FLOAT - # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT - # DefaultValue: 0 != CYGPKG_LIBM && - # 0 != CYGINT_ISO_STDLIB_STRCONV_FLOAT -}; - -# String to FP conversion function implementation header -# -cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Random number generator implementations -# -cdl_interface CYGINT_ISO_RAND { - # Implemented by CYGIMP_LIBC_RAND_SIMPLEST, active, disabled - # Implemented by CYGIMP_LIBC_RAND_SIMPLE1, active, enabled - # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_RAND - # CYGINT_ISO_RAND == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_RAND - # Requires: 1 >= CYGINT_ISO_RAND -}; - -# Random number generator implementation header -# -cdl_option CYGBLD_ISO_RAND_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Malloc implementations -# -cdl_interface CYGINT_ISO_MALLOC { - # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_MALLOC - # Requires: 1 >= CYGINT_ISO_MALLOC - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGINT_ISO_MALLOC - # option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC - # Requires: CYGINT_ISO_MALLOC - # option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC - # DefaultValue: 0 != CYGINT_ISO_MALLOC - # component CYGPKG_LIBC_STDIO_OPEN - # Requires: CYGINT_ISO_MALLOC - # component CYGPKG_LIBC_STDIO_OPEN - # DefaultValue: 0 != CYGINT_ISO_MALLOC - # option CYGFUN_LIBC_STRING_STRDUP - # ActiveIf: CYGINT_ISO_MALLOC - # component CYGPKG_POSIX_MQUEUES - # Requires: CYGINT_ISO_MALLOC - # component CYGPKG_IO_FILEIO_INODE - # Requires: CYGINT_ISO_MALLOC - # package CYGPKG_USTL - # Requires: CYGINT_ISO_MALLOC -}; - -# Malloc implementation header -# -cdl_option CYGBLD_ISO_MALLOC_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Mallinfo() implementations -# -cdl_interface CYGINT_ISO_MALLINFO { - # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_MALLINFO - # CYGINT_ISO_MALLINFO == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_MALLINFO - # Requires: 1 >= CYGINT_ISO_MALLINFO -}; - -# Mallinfo() implementation header -# -cdl_option CYGBLD_ISO_MALLINFO_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Program exit functionality implementations -# -cdl_interface CYGINT_ISO_EXIT { - # Implemented by CYGPKG_LIBC_STARTUP, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_EXIT - # Requires: 1 >= CYGINT_ISO_EXIT - # option CYGFUN_INFRA_DUMMY_ABORT - # Requires: !CYGINT_ISO_EXIT - # option CYGFUN_INFRA_DUMMY_ABORT - # DefaultValue: CYGINT_ISO_EXIT == 0 - # package CYGPKG_USTL - # Requires: CYGINT_ISO_EXIT -}; - -# Program exit functionality implementation header -# -cdl_option CYGBLD_ISO_EXIT_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Program environment implementations -# -cdl_interface CYGINT_ISO_STDLIB_ENVIRON { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_ENVIRON - # CYGINT_ISO_STDLIB_ENVIRON == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_ENVIRON - # Requires: 1 >= CYGINT_ISO_STDLIB_ENVIRON -}; - -# Program environment implementation header -# -cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# system() implementations -# -cdl_interface CYGINT_ISO_STDLIB_SYSTEM { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_SYSTEM - # CYGINT_ISO_STDLIB_SYSTEM == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_SYSTEM - # Requires: 1 >= CYGINT_ISO_STDLIB_SYSTEM -}; - -# system() implementation header -# -cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# bsearch() implementations -# -cdl_interface CYGINT_ISO_BSEARCH { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_BSEARCH - # CYGINT_ISO_BSEARCH == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_BSEARCH - # Requires: 1 >= CYGINT_ISO_BSEARCH -}; - -# bsearch() implementation header -# -cdl_option CYGBLD_ISO_BSEARCH_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# qsort() implementations -# -cdl_interface CYGINT_ISO_QSORT { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_QSORT - # CYGINT_ISO_STDLIB_QSORT (unknown) == 0 - # --> 1 - - # The following properties are affected by this value -}; - -# qsort() implementation header -# -cdl_option CYGBLD_ISO_QSORT_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# abs()/labs() implementations -# -cdl_interface CYGINT_ISO_ABS { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_ABS - # CYGINT_ISO_STDLIB_ABS (unknown) == 0 - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_TIME - # Requires: CYGINT_ISO_ABS -}; - -# abs()/labs() implementation header -# -cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdlib/abs.inl> - # 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 == "<cyg/libc/stdlib/abs.inl>" -}; - -# div()/ldiv() implementations -# -cdl_interface CYGINT_ISO_DIV { - # Implemented by CYGPKG_LIBC_STDLIB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_DIV - # CYGINT_ISO_STDLIB_DIV (unknown) == 0 - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_TIME - # Requires: CYGINT_ISO_DIV -}; - -# div()/ldiv() implementation header -# -cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/stdlib/div.inl> - # 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 == "<cyg/libc/stdlib/div.inl>" -}; - -# 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 == "<cyg/libc/i18n/mb.h>" -}; - -# Multibyte character implementations -# -cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE { - # Implemented by CYGPKG_LIBC_I18N, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_STDLIB_MULTIBYTE - # CYGINT_ISO_STDLIB_MULTIBYTE == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STDLIB_MULTIBYTE - # Requires: 1 >= CYGINT_ISO_STDLIB_MULTIBYTE -}; - -# Multibyte character implementation header -# -cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# String functions -# -cdl_component CYGPKG_ISO_STRING { - # There is no associated value. -}; - -# > -# Number of implementations of strerror() function -# -cdl_interface CYGINT_ISO_STRERROR { - # Implemented by CYGPKG_ERROR_STRERROR, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STRERROR - # CYGINT_ISO_STRERROR == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRERROR - # Requires: 1 >= CYGINT_ISO_STRERROR - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_STRERROR -}; - -# 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 <cyg/error/strerror.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_ERROR_STRERROR - # Requires: CYGBLD_ISO_STRERROR_HEADER == "<cyg/error/strerror.h>" -}; - -# 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 - # package CYGPKG_USTL - # Requires: 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 <cyg/libc/string/string.h> - # 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 == "<cyg/libc/string/string.h>" -}; - -# 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 - # package CYGPKG_USTL - # Requires: 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 <cyg/libc/string/string.h> - # 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 == "<cyg/libc/string/string.h>" -}; - -# Number of implementations of BSD string functions -# -cdl_interface CYGINT_ISO_STRING_BSD_FUNCS { - # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS - # CYGINT_ISO_STRING_BSD_FUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRING_BSD_FUNCS - # Requires: 1 >= CYGINT_ISO_STRING_BSD_FUNCS - # option CYGFUN_LIBC_TIME_POSIX - # Requires: CYGINT_ISO_STRING_BSD_FUNCS -}; - -# 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 <cyg/libc/string/bsdstring.h> - # 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 == "<cyg/libc/string/bsdstring.h>" -}; - -# 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 - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY - # DefaultValue: (0 != CYGPKG_ISOINFRA) && (0 != CYGINT_ISO_STRING_MEMFUNCS) - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # package CYGPKG_USTL - # 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 <cyg/libc/string/string.h> - # 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 == "<cyg/libc/string/string.h>" -}; - -# Number of implementations of other ISO C str*() functions -# This covers the other str*() functions defined by ISO C. -# -cdl_interface CYGINT_ISO_STRING_STRFUNCS { - # Implemented by CYGPKG_LIBC_STRING, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_STRING_STRFUNCS - # Requires: 1 >= CYGINT_ISO_STRING_STRFUNCS - # option CYGFUN_INFRA_DUMMY_STRLEN - # Requires: !CYGINT_ISO_STRING_STRFUNCS - # option CYGFUN_INFRA_DUMMY_STRLEN - # DefaultValue: CYGINT_ISO_STRING_STRFUNCS == 0 - # package CYGPKG_LIBC_STDIO - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_LIBC_STDLIB - # Requires: CYGINT_ISO_STRING_STRFUNCS - # component CYGPKG_POSIX_MQUEUES - # Requires: CYGINT_ISO_STRING_STRFUNCS - # package CYGPKG_IO_FILEIO - # Requires: CYGINT_ISO_STRING_STRFUNCS - # component CYGPKG_FILEIO_FNMATCH - # DefaultValue: ( CYGINT_ISO_STRING_STRFUNCS && CYGINT_ISO_CTYPE ) - # package CYGPKG_USTL - # 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 <cyg/libc/string/string.h> - # 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 == "<cyg/libc/string/string.h>" -}; - -# < -# 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 - user_value 1 <cyg/posix/sys/time.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_CLOCKS - # Requires: CYGBLD_ISO_STRUCTTIMEVAL_HEADER == "<cyg/posix/sys/time.h>" -}; - -# fnmatch implementation header -# -cdl_option CYGBLD_ISO_FNMATCH_HEADER { - # Flavor: booldata - user_value 1 <cyg/fileio/fnmatch.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_FILEIO_FNMATCH - # Requires: CYGBLD_ISO_FNMATCH_HEADER == "<cyg/fileio/fnmatch.h>" -}; - -# Number of implementations of POSIX timer types -# -cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES { - # Implemented by CYGPKG_POSIX_TIMERS, active, disabled - # 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 - user_value 1 <cyg/posix/time.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TIMERS - # Requires: CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER == "<cyg/posix/time.h>" -}; - -# Number of implementations of POSIX clock types -# -cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES { - # Implemented by CYGPKG_POSIX_CLOCKS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES - # CYGINT_ISO_POSIX_CLOCK_TYPES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_POSIX_CLOCK_TYPES - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCK_TYPES -}; - -# POSIX clock types implementation header -# -cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/time.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_CLOCKS - # Requires: CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER == "<cyg/posix/time.h>" -}; - -# Number of implementations of ISO C types -# -cdl_interface CYGINT_ISO_C_TIME_TYPES { - # Implemented by CYGPKG_LIBC_TIME, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES - # CYGINT_ISO_C_TIME_TYPES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_C_TIME_TYPES - # Requires: 1 >= CYGINT_ISO_C_TIME_TYPES - # package CYGPKG_USTL - # Requires: CYGINT_ISO_C_TIME_TYPES -}; - -# ISO C time types implementation header -# -cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/time/time.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_TIME - # Requires: CYGBLD_ISO_C_TIME_TYPES_HEADER == "<cyg/libc/time/time.h>" -}; - -# Number of implementations of POSIX timers -# -cdl_interface CYGINT_ISO_POSIX_TIMERS { - # Implemented by CYGPKG_POSIX_TIMERS, active, disabled - # 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 - user_value 1 <cyg/posix/time.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TIMERS - # Requires: CYGBLD_ISO_POSIX_TIMERS_HEADER == "<cyg/posix/time.h>" -}; - -# Number of implementations of POSIX clocks -# -cdl_interface CYGINT_ISO_POSIX_CLOCKS { - # Implemented by CYGPKG_POSIX_CLOCKS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCKS - # CYGINT_ISO_POSIX_CLOCKS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_POSIX_CLOCKS - # Requires: 1 >= CYGINT_ISO_POSIX_CLOCKS - # option CYGPKG_POSIX_TIMERS - # Requires: CYGINT_ISO_POSIX_CLOCKS -}; - -# POSIX clocks implementation header -# -cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/time.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_CLOCKS - # Requires: CYGBLD_ISO_POSIX_CLOCKS_HEADER == "<cyg/posix/time.h>" -}; - -# Number of implementations of ISO C clock functions -# -cdl_interface CYGINT_ISO_C_CLOCK_FUNCS { - # Implemented by CYGPKG_LIBC_TIME, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS - # CYGINT_ISO_C_CLOCK_FUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_C_CLOCK_FUNCS - # Requires: 1 >= CYGINT_ISO_C_CLOCK_FUNCS -}; - -# ISO C clock functions' implementation header -# -cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/time/time.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_TIME - # Requires: CYGBLD_ISO_C_CLOCK_FUNCS_HEADER == "<cyg/libc/time/time.h>" -}; - -# Number of implementations of tzset() function -# -cdl_interface CYGINT_ISO_TZSET { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_TZSET - # CYGINT_ISO_TZSET == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_TZSET - # Requires: 1 >= CYGINT_ISO_TZSET -}; - -# tzset() implementation header -# -cdl_option CYGBLD_ISO_TZSET_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# Signal functionality -# -cdl_component CYGPKG_ISO_SIGNAL { - # There is no associated value. -}; - -# > -# Number of implementations of signal numbers -# -cdl_interface CYGINT_ISO_SIGNAL_NUMBERS { - # Implemented by CYGPKG_LIBC_SIGNALS, active, enabled - # Implemented by CYGPKG_POSIX_SIGNALS, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_NUMBERS - # Requires: 1 >= CYGINT_ISO_SIGNAL_NUMBERS - # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS - # Requires: CYGINT_ISO_SIGNAL_NUMBERS - # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS - # DefaultValue: CYGINT_ISO_SIGNAL_NUMBERS != 0 && CYGINT_ISO_SIGNAL_IMPL != 0 - # package CYGPKG_USTL - # Requires: 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/signals/signal.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_SIGNALS - # Requires: CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == "<cyg/libc/signals/signal.h>" - # component CYGPKG_POSIX_SIGNALS - # Requires: CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == "<cyg/posix/signal.h>" -}; - -# Number of signal implementations -# -cdl_interface CYGINT_ISO_SIGNAL_IMPL { - # Implemented by CYGPKG_LIBC_SIGNALS, active, enabled - # Implemented by CYGPKG_POSIX_SIGNALS, active, disabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SIGNAL_IMPL - # Requires: 1 >= CYGINT_ISO_SIGNAL_IMPL - # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS - # Requires: CYGINT_ISO_SIGNAL_IMPL - # option CYGSEM_IO_SERIAL_TERMIOS_USE_SIGNALS - # DefaultValue: CYGINT_ISO_SIGNAL_NUMBERS != 0 && CYGINT_ISO_SIGNAL_IMPL != 0 - # package CYGPKG_USTL - # Requires: 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 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/signals/signal.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_SIGNALS - # Requires: CYGBLD_ISO_SIGNAL_IMPL_HEADER == "<cyg/libc/signals/signal.h>" - # component CYGPKG_POSIX_SIGNALS - # Requires: CYGBLD_ISO_SIGNAL_IMPL_HEADER == "<cyg/posix/signal.h>" -}; - -# POSIX real time signals feature test macro -# This defines the POSIX feature test macro -# that indicates that the POSIX real time signals -# are present. -# -cdl_interface CYGINT_POSIX_REALTIME_SIGNALS { - # Implemented by CYGPKG_POSIX_SIGNALS, active, disabled - # 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 { - # Implemented by CYGPKG_LIBC_SETJMP, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SETJMP - # CYGINT_ISO_SETJMP == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SETJMP - # Requires: 1 >= CYGINT_ISO_SETJMP -}; - -# setjmp() / longjmp() implementation header -# -cdl_option CYGBLD_ISO_SETJMP_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # The inferred value should not be edited directly. - inferred_value 1 <cyg/libc/setjmp/setjmp.h> - # value_source inferred - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_LIBC_SETJMP - # Requires: CYGBLD_ISO_SETJMP_HEADER == "<cyg/libc/setjmp/setjmp.h>" -}; - -# sigsetjmp() / siglongjmp() implementations -# -cdl_interface CYGINT_ISO_SIGSETJMP { - # Implemented by CYGPKG_POSIX_SIGNALS, active, disabled - # 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 - user_value 1 <cyg/posix/sigsetjmp.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_POSIX_SIGNALS - # Requires: CYGBLD_ISO_SIGSETJMP_HEADER == "<cyg/posix/sigsetjmp.h>" -}; - -# < -# 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 <fcntl.h> -# -cdl_component CYGPKG_ISO_POSIX_FCNTL { - # There is no associated value. -}; - -# > -# POSIX open flags implementation header -# -cdl_option CYGBLD_ISO_OFLAG_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# POSIX fcntl() implementations -# -cdl_interface CYGINT_ISO_FCNTL { - # Implemented by CYGPKG_IO_FILEIO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_FCNTL - # CYGINT_ISO_FCNTL == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_FCNTL - # Requires: 1 >= CYGINT_ISO_FCNTL -}; - -# POSIX fcntl() implementation header -# -cdl_option CYGBLD_ISO_FCNTL_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# POSIX file open implementations -# -cdl_interface CYGINT_ISO_OPEN { - # Implemented by CYGPKG_IO_FILEIO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_OPEN - # CYGINT_ISO_OPEN == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_OPEN - # Requires: 1 >= CYGINT_ISO_OPEN -}; - -# POSIX file open implementation header -# -cdl_option CYGBLD_ISO_OPEN_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# <sys/stat.h> definitions implementation header -# -cdl_option CYGBLD_ISO_STAT_DEFS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# POSIX directory reading implementation -# -cdl_interface CYGINT_ISO_DIRENT { - # Implemented by CYGPKG_IO_FILEIO, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_DIRENT - # CYGINT_ISO_DIRENT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_DIRENT - # Requires: 1 >= CYGINT_ISO_DIRENT -}; - -# <dirent.h> definitions implementation header -# -cdl_option CYGBLD_ISO_DIRENT_HEADER { - # Flavor: booldata - user_value 1 <cyg/fileio/dirent.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_IO_FILEIO - # Requires: CYGBLD_ISO_DIRENT_HEADER == "<cyg/fileio/dirent.h>" -}; - -# POSIX <sys/types.h> contents -# This covers the types required by POSIX to be in -# <sys/types.h> -# -cdl_component CYGPKG_ISO_POSIX_TYPES { - # There is no associated value. -}; - -# > -# POSIX thread types implementations -# -cdl_interface CYGINT_ISO_PTHREADTYPES { - # Implemented by CYGPKG_POSIX_PTHREAD_REQUIREMENTS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_PTHREADTYPES - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # interface CYGINT_ISO_PMUTEXTYPES - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES -}; - -# POSIX thread types implementation header -# -cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/types.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGBLD_ISO_PTHREADTYPES_HEADER == "<cyg/posix/types.h>" -}; - -# POSIX mutex types implementations -# -cdl_interface CYGINT_ISO_PMUTEXTYPES { - # Implemented by CYGPKG_POSIX_PTHREAD_MUTEX, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_PTHREADTYPES - # CYGINT_ISO_PTHREADTYPES == 1 - # --> 1 - - # The following properties are affected by this value -}; - -# POSIX mutex types implementation header -# -cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/muttypes.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_POSIX - # Requires: CYGBLD_ISO_PMUTEXTYPES_HEADER == "<cyg/posix/muttypes.h>" -}; - -# 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 <sys/types.h> contents -# This covers the extra types required by non-POSIX -# packages to be in <sys/types.h>. 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 - user_value 1 <cyg/posix/utsname.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # component CYGPKG_POSIX_UTSNAME - # Requires: CYGBLD_ISO_UTSNAME_HEADER == "<cyg/posix/utsname.h>" -}; - -# < -# POSIX scheduler -# -cdl_component CYGPKG_ISO_SCHED { - # There is no associated value. -}; - -# > -# POSIX scheduler implementations -# -cdl_interface CYGINT_ISO_SCHED_IMPL { - # Implemented by CYGPKG_POSIX_SCHED, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SCHED_IMPL - # CYGINT_ISO_SCHED_IMPL == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SCHED_IMPL - # Requires: 1 >= CYGINT_ISO_SCHED_IMPL -}; - -# POSIX scheduler implementation header -# -cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX semaphores -# -cdl_component CYGPKG_ISO_SEMAPHORES { - # There is no associated value. -}; - -# > -# POSIX semaphore implementations -# -cdl_interface CYGINT_ISO_SEMAPHORES { - # Implemented by CYGPKG_POSIX_SEMAPHORES, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_SEMAPHORES - # CYGINT_ISO_SEMAPHORES == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SEMAPHORES - # Requires: 1 >= CYGINT_ISO_SEMAPHORES -}; - -# POSIX semaphore implementation header -# -cdl_option CYGBLD_ISO_SEMAPHORES_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/semaphore.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_SEMAPHORES - # Requires: CYGBLD_ISO_SEMAPHORES_HEADER == "<cyg/posix/semaphore.h>" -}; - -# < -# POSIX message queues -# -cdl_component CYGPKG_ISO_MQUEUE { - # There is no associated value. -}; - -# > -# Implementations -# -cdl_interface CYGINT_ISO_MQUEUE { - # Implemented by CYGPKG_POSIX_MQUEUES, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_MQUEUE - # Requires: 1 >= CYGINT_ISO_MQUEUE - # option CYGNUM_ISO_MQUEUE_OPEN_MAX - # ActiveIf: CYGINT_ISO_MQUEUE - # option CYGNUM_ISO_MQUEUE_PRIO_MAX - # ActiveIf: CYGINT_ISO_MQUEUE -}; - -# Implementation header -# -cdl_option CYGBLD_ISO_MQUEUE_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# Maximum number of open message queues -# -cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX { - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 1 - # --> 1 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 8 - # value_source default - # Default value: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX == 8 - # CYGNUM_POSIX_MQUEUE_OPEN_MAX == 8 - # --> 1 8 -}; - -# Maximum number of message priorities -# -cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX { - # ActiveIf constraint: CYGINT_ISO_MQUEUE - # CYGINT_ISO_MQUEUE == 1 - # --> 1 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 65535 - # value_source default - # Default value: 1 65535 -}; - -# < -# POSIX threads -# -cdl_component CYGPKG_ISO_PTHREAD { - # There is no associated value. -}; - -# > -# POSIX pthread implementations -# -cdl_interface CYGINT_ISO_PTHREAD_IMPL { - # Implemented by CYGPKG_POSIX_PTHREAD_REQUIREMENTS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_PTHREAD_IMPL - # CYGINT_ISO_PTHREAD_IMPL == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_PTHREAD_IMPL - # Requires: 1 >= CYGINT_ISO_PTHREAD_IMPL -}; - -# POSIX pthread implementation header -# -cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/pthread.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGBLD_ISO_PTHREAD_IMPL_HEADER == "<cyg/posix/pthread.h>" -}; - -# POSIX mutex/cond var implementations -# -cdl_interface CYGINT_ISO_PTHREAD_MUTEX { - # Implemented by CYGPKG_POSIX_PTHREAD_MUTEX, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_PTHREAD_MUTEX - # CYGINT_ISO_PTHREAD_MUTEX == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_PTHREAD_MUTEX - # Requires: 1 >= CYGINT_ISO_PTHREAD_MUTEX - # component CYGPKG_POSIX_MQUEUES - # Requires: CYGINT_ISO_PTHREAD_MUTEX -}; - -# POSIX mutex/cond var implementation header -# -cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/mutex.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_POSIX - # Requires: CYGBLD_ISO_PTHREAD_MUTEX_HEADER == "<cyg/posix/mutex.h>" -}; - -# < -# Limits -# -cdl_component CYGPKG_ISO_LIMITS { - # There is no associated value. -}; - -# > -# POSIX pthread limits implementations -# -cdl_interface CYGINT_ISO_POSIX_LIMITS { - # Implemented by CYGPKG_POSIX, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_POSIX_LIMITS - # CYGINT_ISO_POSIX_LIMITS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_POSIX_LIMITS - # Requires: 1 >= CYGINT_ISO_POSIX_LIMITS -}; - -# POSIX pthread limits implementation header -# -cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER { - # Flavor: booldata - user_value 1 <cyg/posix/limits.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_POSIX - # Requires: CYGBLD_ISO_POSIX_LIMITS_HEADER == "<cyg/posix/limits.h>" -}; - -# OPEN_MAX implementation header -# -cdl_option CYGBLD_ISO_OPEN_MAX_HEADER { - # Flavor: booldata - user_value 1 <cyg/fileio/limits.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_IO_FILEIO - # Requires: CYGBLD_ISO_OPEN_MAX_HEADER == "<cyg/fileio/limits.h>" -}; - -# 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 - user_value 1 <cyg/fileio/limits.h> - # value_source user - # Default value: 0 0 - - # The following properties are affected by this value - # package CYGPKG_IO_FILEIO - # Requires: CYGBLD_ISO_NAME_MAX_HEADER == "<cyg/fileio/limits.h>" -}; - -# PATH_MAX implementation header -# -cdl_option CYGBLD_ISO_PATH_MAX_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# POSIX termios -# -cdl_component CYGPKG_ISO_TERMIOS { - # There is no associated value. -}; - -# > -# POSIX termios implementations -# -cdl_interface CYGINT_ISO_TERMIOS { - # Implemented by CYGPKG_IO_SERIAL_TERMIOS, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 >= CYGINT_ISO_TERMIOS - # CYGINT_ISO_TERMIOS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_TERMIOS - # Requires: 1 >= CYGINT_ISO_TERMIOS -}; - -# POSIX termios implementation header -# -cdl_option CYGBLD_ISO_TERMIOS_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# Dynamic load API -# -cdl_component CYGPKG_ISO_DLFCN { - # There is no associated value. -}; - -# > -# Dynamic load implementations -# -cdl_interface CYGINT_ISO_DLFCN { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 - # Requires: 1 >= CYGINT_ISO_DLFCN - # CYGINT_ISO_DLFCN == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_DLFCN - # Requires: 1 >= CYGINT_ISO_DLFCN -}; - -# Dynamic load implementation header -# -cdl_option CYGBLD_ISO_DLFCN_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# UNIX standard functions -# -cdl_component CYGPKG_ISO_UNISTD { - # There is no associated value. -}; - -# > -# POSIX timer operations implementations -# -cdl_interface CYGINT_ISO_POSIX_TIMER_OPS { - # Implemented by CYGPKG_POSIX_TIMERS, active, disabled - # 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 { - # Implemented by CYGPKG_POSIX_CLOCKS, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_POSIX_SLEEP - # CYGINT_ISO_POSIX_SLEEP == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_POSIX_SLEEP - # Requires: 1 >= CYGINT_ISO_POSIX_SLEEP -}; - -# POSIX sleep() implementation header -# -cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# select()/poll() functions -# -cdl_component CYGPKG_ISO_SELECT { - # There is no associated value. -}; - -# > -# select() implementations -# -cdl_interface CYGINT_ISO_SELECT { - # Implemented by CYGFUN_IO_FILEIO_SELECT, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - # Requires: 1 >= CYGINT_ISO_SELECT - # CYGINT_ISO_SELECT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_SELECT - # Requires: 1 >= CYGINT_ISO_SELECT -}; - -# select() implementation header -# -cdl_option CYGBLD_ISO_SELECT_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# poll() implementations -# -cdl_interface CYGINT_ISO_POLL { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: 1 >= CYGINT_ISO_POLL - # CYGINT_ISO_POLL == 0 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_ISO_POLL - # Requires: 1 >= CYGINT_ISO_POLL -}; - -# poll() implementation header -# -cdl_option CYGBLD_ISO_POLL_HEADER { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 -}; - -# < -# NetDB utility functions -# -cdl_component CYGPKG_ISO_NETDB { - # There is no associated value. -}; - -# > -# DNS implementations -# -cdl_interface CYGINT_ISO_DNS { - # 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: "" -}; - -# < -# < -# ISO C library -# doc: ref/libc.html -# The packages under this package enable compatibility with the ISO C -# standard - ISO/IEC 9899:1990. This allows the user application to use -# well known standard C library functions, and in eCos starts a thread -# to invoke the user function main(). This package is a top-level placeholder -# to contain the implementations. -# -cdl_package CYGPKG_LIBC { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # component CYGNUM_LIBM_COMPATIBILITY - # Requires: CYGPKG_LIBC -}; - -# > -# ISO C library 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 <ctype.h> functionality. -# -cdl_package CYGPKG_LIBC_I18N { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: CYGPKG_LIBC_I18N -}; - -# > -# Supported locales -# These options determine which locales other than the "C" locale -# are supported and hence contribute to the size of the executable. -# -cdl_component CYGPKG_LIBC_I18N_LOCALES { - # There is no associated value. -}; - -# > -# Support for multiple locales required -# -cdl_interface CYGINT_LIBC_I18N_MB_REQUIRED { - # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_SJIS, active, disabled - # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_JIS, active, disabled - # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_EUCJP, active, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - # Requires: CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER == "<cyg/libc/i18n/mb.h>" - # 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 == "<cyg/libc/i18n/newlibctype.h>" - # CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl> - # --> 0 -}; - -# Per-thread multibyte state -# This option controls whether the multibyte character -# handling functions mblen(), mbtowc(), and wctomb(), -# have their state recorded on a per-thread -# basis rather than global. If this option is -# disabled, some per-thread space can be saved. -# Enabling this option will use three slots -# of kernel per-thread data. You should ensure you -# have enough slots configured for all your -# per-thread data. -# -cdl_option CYGSEM_LIBC_I18N_PER_THREAD_MB { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA != 0 - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 -}; - -# Size of locale name strings -# This option controls the maximum size of -# locale names and is used, among other things -# to instantiate a static string used -# as a return value from the -# setlocale() function. When requesting the -# current locale settings with LC_ALL, a string -# must be constructed to contain this data, rather -# than just returning a constant string. This -# string data is stored in the static string. -# This depends on the length of locale names, -# hence this option. If just the C locale is -# present, this option can be set as low as 2. -# -cdl_option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 2 - # value_source default - # Default value: (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 : (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 : (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) - # CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0 - # CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0 - # CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0 - # --> 2 - # Legal values: (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 : (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 : (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff - # CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0 - # CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0 - # CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0 -}; - -# Inline versions of <ctype.h> functions -# This option chooses whether the simple character -# classification and conversion functions (e.g. -# isupper(), isalpha(), toupper(), etc.) -# from <ctype.h> 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 == "<cyg/libc/i18n/ctype.inl>" - # CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl> - # --> 1 -}; - -# C library i18n functions build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_I18N_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_I18N_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_I18N_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library i18n function tests -# This option specifies the set of tests for the C library -# i18n functions. -# -cdl_option CYGPKG_LIBC_I18N_TESTS { - # Calculated value: "tests/ctype tests/setlocale tests/i18nmb" - # Flavor: data - # Current_value: tests/ctype tests/setlocale tests/i18nmb -}; - -# < -# < -# ISO C library setjmp/longjmp functions -# doc: ref/libc.html -# This package provides non-local jumps based on setjmp() and -# longjmp() in <setjmp.h> as specified by the ISO C -# standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_SETJMP { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGBLD_ISO_SETJMP_HEADER == "<cyg/libc/setjmp/setjmp.h>" - # CYGBLD_ISO_SETJMP_HEADER == <cyg/libc/setjmp/setjmp.h> - # --> 1 -}; - -# > -# C library setjmp build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_SETJMP_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_SETJMP_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_SETJMP_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library setjmp tests -# This option specifies the set of tests for this package. -# -cdl_option CYGPKG_LIBC_SETJMP_TESTS { - # Calculated value: "tests/setjmp" - # Flavor: data - # Current_value: tests/setjmp -}; - -# < -# < -# ISO C library signal functions -# doc: ref/libc.html -# This component controls signal functionality, -# as implemented in ISO/IEC 9899:1990 chapter 7.7 with -# the signal() and raise() functions. As well as -# allowing a program to send itself signals, it is -# also possible to cause hardware exceptions to -# be signalled to the program in a similar way. -# -cdl_package CYGPKG_LIBC_SIGNALS { - # 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_SIGNAL_NUMBERS_HEADER == "<cyg/libc/signals/signal.h>" - # CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == <cyg/libc/signals/signal.h> - # --> 1 - # Requires: CYGBLD_ISO_SIGNAL_IMPL_HEADER == "<cyg/libc/signals/signal.h>" - # CYGBLD_ISO_SIGNAL_IMPL_HEADER == <cyg/libc/signals/signal.h> - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 -}; - -# > -# Thread safe signals -# Because signal handlers are global, and not -# thread-specific (as mandated by POSIX 1003.1) -# it is possible for multiple threads to clash -# and corrupt data if setting the same signal -# handler at the same time. With this option -# enabled, a kernel mutex will be used to protect -# the shared data. -# -cdl_option CYGSEM_LIBC_SIGNALS_THREAD_SAFE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 -}; - -# Hardware exceptions cause signals -# This causes hardware exceptions like -# arithmetic exceptions (e.g. divide by zero) -# or bad memory accesses to be passed through as -# signals. It is thus possible for a program to -# handle these exceptions in a generic way using -# the appropriate signal handlers. The details of -# exactly which exceptions are passed through -# under what circumstances depend on the -# underlying HAL implementation. Consequently it -# must be remembered that signal handlers cannot -# be guaranteed to be invoked in the expected -# circumstances if you do not know about the -# underlying HAL implementation - it is possible -# that the architecture is unable to detect that -# exception. -# -cdl_component CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_KERNEL_EXCEPTIONS_GLOBAL - # CYGSEM_KERNEL_EXCEPTIONS_GLOBAL == 1 - # --> 1 - # Requires: CYGSEM_KERNEL_EXCEPTIONS_DECODE - # CYGSEM_KERNEL_EXCEPTIONS_DECODE == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_LIBC_SIGNALS_TESTS - # Calculated: - # "tests/signal1" - # . ((CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS) ? " tests/signal2" : "") - # -}; - -# > -# Chain old exception handlers -# When hardware exceptions are generated, it -# is possible to chain into the old kernel exception -# handler before calling any registered signal -# handler. If this is not required, disable this -# option and only the signal handler will be -# called when this exception occurs. Disabling -# this option will also save some space and code -# usage. -# -cdl_option CYGSEM_LIBC_SIGNALS_CHAIN_HWEXCEPTIONS { - # This option is not active - # The parent CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Inline versions of functions -# Some functions can be made inline instead of -# being function calls. These can be set here. -# -cdl_component CYGPKG_LIBC_SIGNALS_INLINE { - # There is no associated value. -}; - -# > -# raise() -# Enabling this option makes raise() an inline function. -# -cdl_option CYGIMP_LIBC_SIGNALS_RAISE_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# signal() -# Enabling this option makes signal() an inline function. -# -cdl_option CYGIMP_LIBC_SIGNALS_SIGNAL_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# < -# Error handling -# You may or may not want errno to be set by -# certain functions. Not using errno could save -# both space, code, and avoid worrying about -# interactions between multiple threads when -# setting it. -# -cdl_component CYGPKG_LIBC_SIGNALS_ERROR_HANDLING { - # There is no associated value. -}; - -# > -# Bad signal fatal -# Enabling this option will cause an assertion -# failure if the signal handling code is -# passed a bad signal. Otherwise an error will -# be returned, or in the case of a -# hardware-generated exception it will be silently -# ignored. -# -cdl_option CYGSEM_LIBC_SIGNALS_BAD_SIGNAL_FATAL { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_USE_ASSERTS - # CYGDBG_USE_ASSERTS == 0 - # --> 0 -}; - -# raise() sets errno -# You may or may not want errno to be set by -# raise() on error conditions. Not using errno -# could save both space, code, and avoid worrying -# about interactions between multiple threads when -# setting it. Strictly ISO C does not mandate -# that errno be set by raise(). -# -cdl_option CYGSEM_LIBC_SIGNALS_RAISE_SETS_ERRNO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 -}; - -# signal() sets errno -# You may or may not want errno to be set by -# signal() on error conditions. Not using errno -# could save both space, code, and avoid worrying -# about interactions between multiple threads when -# setting it. Strictly ISO C mandates -# that errno be set by signal(). -# -cdl_option CYGSEM_LIBC_SIGNALS_SIGNAL_SETS_ERRNO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 -}; - -# < -# Tracing -# These options control the trace output for the C -# library internal signal implementation. -# -cdl_component CYGPKG_LIBC_SIGNALS_TRACING { - # There is no associated value. -}; - -# > -# Default trace level for raise() -# This gives the default tracing level for the -# raise() function. Higher numbers are more -# verbose. -# -cdl_option CYGNUM_LIBC_SIGNALS_RAISE_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 -}; - -# Default hardware exception handler trace level -# This gives the default tracing level for the -# hardware exception handler function (if enabled). -# Higher numbers are more verbose. -# -cdl_option CYGNUM_LIBC_SIGNALS_HWHANDLER_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 signal 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_SIGNALS_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_SIGNALS_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_SIGNALS_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library signal function tests -# This option specifies the set of tests for the C library -# signal functions. -# -cdl_option CYGPKG_LIBC_SIGNALS_TESTS { - # Calculated value: - # "tests/signal1" - # . ((CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS) ? " tests/signal2" : "") - # - # CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS == 0 - # Flavor: data - # Current_value: tests/signal1 -}; - -# < -# < -# ISO environment startup/termination -# doc: ref/c-library-startup.html -# This package manages the control of the -# environment (in the general sense) that an -# application would require for full ISO C / POSIX -# compatibility, including a main() entry point -# supplied with arguments and an environment -# (as retrievable by the getenv() function). -# It also includes at the other end of things, -# what happens when main() returns or exit() is -# called. -# -cdl_package CYGPKG_LIBC_STARTUP { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGINT_LIBC_STARTUP_CONTEXT == 1 - # CYGINT_LIBC_STARTUP_CONTEXT == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_POSIX_MAIN_THREAD - # Requires: 0 != CYGPKG_LIBC_STARTUP -}; - -# > -# main() can be invoked elsewhere -# Implementors of this interface show that they -# allow main() to be invoked elsewhere. -# -cdl_interface CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE { - # Implemented by CYGPKG_POSIX_MAIN_THREAD, active, enabled - # This value cannot be modified here. - # Flavor: bool - # Current value: 1 - - # The following properties are affected by this value - # option CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT - # DefaultValue: 0 == CYGPKG_KERNEL && 0 == - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # component CYGSEM_LIBC_STARTUP_MAIN_THREAD - # DefaultValue: 0 != CYGPKG_KERNEL && 0 == CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # option CYGSEM_LIBC_STARTUP_MAIN_OTHER - # DefaultValue: 0 != CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # option CYGSEM_LIBC_STARTUP_MAIN_OTHER - # Requires: CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE -}; - -# Arguments to main() -# This option allows the setting of the arguments -# to the main function. This only has any effect -# when cyg_iso_c_start() is used to start the -# ISO C compatibility. This will automatically -# invoke main() in an ISO C compatible fashion. -# This option is in fact used as argv, and so is -# an n-tuple of string constants. The final -# entry must be NULL. Conventionally if argv[0] -# is supplied, it is used to inform the program -# of its name. -# -cdl_option CYGDAT_LIBC_ARGUMENTS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{(char *)\"\", (char *)NULL}" - # value_source default - # Default value: "{(char *)\"\", (char *)NULL}" -}; - -# Startup context for main() -# This component describes the options available for -# what context main() is invoked in, such as in a thread -# etc. -# -cdl_component CYGPKG_LIBC_STARTUP_CONTEXT { - # There is no associated value. -}; - -# > -# Startup context implementors -# -cdl_interface CYGINT_LIBC_STARTUP_CONTEXT { - # Implemented by CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT, active, disabled - # Implemented by CYGSEM_LIBC_STARTUP_MAIN_THREAD, active, disabled - # Implemented by CYGSEM_LIBC_STARTUP_MAIN_OTHER, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # package CYGPKG_LIBC_STARTUP - # Requires: CYGINT_LIBC_STARTUP_CONTEXT == 1 -}; - -# Invoked from initialization context -# With this option selected, main() will be -# called via cyg_user_start() (unless the program -# overrides the default cyg_user_start()). This -# means it is run in the context of the system -# initialization code, without the eCos kernel -# scheduler running, and using the startup stack. -# This means that any functions that may require -# interactions with a running kernel will not -# work (including libc functions, if configured -# to be thread safe for example), so you should -# restrict yourself to only calling fully -# re-entrant functions from within main() in -# this case. -# -cdl_option CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 == CYGPKG_KERNEL && 0 == - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # CYGPKG_KERNEL == current - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 1 - # --> 0 -}; - -# Invoked as eCos thread -# With this option selected, main() is invoked from an eCos -# thread. -# -cdl_component CYGSEM_LIBC_STARTUP_MAIN_THREAD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 != CYGPKG_KERNEL && 0 == CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # CYGPKG_KERNEL == current - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 1 - # --> 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) -}; - -# > -# System provides stack for main()'s thread -# This option controls whether the stack of -# main()'s thread is provided by the application or -# provided by the system. When disabled, the -# application must declare a pointer variable -# cyg_libc_main_stack which is a pointer to an -# appropriately aligned region of memory. The -# application must also declare a variable of -# type `int' called cyg_libc_main_stack_size -# which contains the size of the stack in bytes. -# This must be a multiple of 8. -# -cdl_option CYGSEM_LIBC_MAIN_STACK_FROM_SYSTEM { - # This option is not active - # The parent CYGSEM_LIBC_STARTUP_MAIN_THREAD is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Priority of main()'s thread -# This option is used to provide the thread -# priority which main()'s thread runs at. Be -# sure to check that this number is appropriate -# for the kernel scheduler chosen. Different -# kernel schedulers impose different restrictions -# on the usable priorities. -# -cdl_option CYGNUM_LIBC_MAIN_THREAD_PRIORITY { - # This option is not active - # The parent CYGSEM_LIBC_STARTUP_MAIN_THREAD is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 - # Legal values: 0 to 0x7fffffff -}; - -# < -# Invoked elsewhere -# With this option selected, main() must be -# invoked by a separate package, or by the user. -# -cdl_option CYGSEM_LIBC_STARTUP_MAIN_OTHER { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 1 - # --> 1 - # Requires: CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE - # CYGINT_LIBC_STARTUP_EXTERNAL_INVOKE_MAIN_POSSIBLE == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) - # component CYGPKG_POSIX_MAIN_THREAD - # Requires: CYGSEM_LIBC_STARTUP_MAIN_OTHER -}; - -# < -# Don't allow main()'s stack size to be set -# This interface describes whether the stack size -# value set in this package is supported by the -# implementation that invokes main. If not, that -# option is disabled. -# -cdl_interface CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE { - # Implemented by CYGSEM_LIBC_STARTUP_MAIN_INITCONTEXT, active, disabled - # This value cannot be modified here. - # Flavor: bool - # Current value: 0 - - # The following properties are affected by this value - # option CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE - # ActiveIf: !CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE -}; - -# main()'s default thread stack size -# This option sets the size of the stack used -# in the context that invokes main(). For example, -# with an eCos kernel, when the cyg_iso_c_start() -# function is used to invoke the user-supplied -# main() function in an ISO C compatible fashion, -# a separate thread is created to call main(). -# This option controls the size of that thread's -# stack, which is allocated in the BSS. It -# must be a multiple of 8. Note, a low number -# here may be overriden by the HAL if there is -# a minimum requirement to process interrupts -# etc. This option cannot be set if the implementation -# that invokes main() does not use it. -# -cdl_option CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE { - # ActiveIf constraint: !CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE - # CYGINT_LIBC_STARTUP_MAIN_NO_STACK_SIZE == 0 - # --> 1 - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8192 - # value_source default - # Default value: 8192 - # Legal values: 16 to 0x7fffffff -}; - -# Include atexit() function -# This option enables the use of the atexit() -# function, and ensure that the atexit handlers -# are invoked from within exit() as defined in -# the ISO C standard. -# -cdl_component CYGFUN_LIBC_ATEXIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# > -# Number of functions atexit() supports -# This option sets the number of functions -# that atexit() has room for. In other words, -# the number of separate atexit() calls that -# can be made before calling exit() or returning -# from main() ( in an environment controlled by -# cyg_iso_c_start() ). For strict compliance -# with the ISO C standard this should be at -# least 32. -# -cdl_option CYGNUM_LIBC_ATEXIT_HANDLERS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 32 - # value_source default - # Default value: 32 - # Legal values: 1 to 0x7fffffff -}; - -# < -# Make exit() call fflush() -# This option will ensure that all output -# streams are flushed when exitting using -# exit() as prescribed by the ISO C standard. -# -cdl_option CYGSEM_LIBC_EXIT_CALLS_FFLUSH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 1 - # --> 1 -}; - -# _exit() stops all threads -# If this option is enabled then _exit(), -# which is called from exit() which itself is -# called on return from main(), stops the eCos -# scheduler. For strict POSIX 1003.1 -# compatibility this would be the normal -# behaviour. To allow the thread to simply -# exit, without affecting other threads, simply -# leave this option disabled. If there is no eCos -# scheduler, then _exit() simply loops -# irrespective of the setting of this option. -# -cdl_option CYGSEM_LIBC_EXIT_STOPS_SYSTEM { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 -}; - -# Default environment -# This option allows the setting of the default -# contents of the environment. This is in fact -# the contents of the global environment pointer -# char **environ defined by POSIX 1003.1. Strings -# must be of the form NAME=VALUE, and the final -# entry must be NULL. -# -cdl_option CYGDAT_LIBC_DEFAULT_ENVIRONMENT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "{ NULL }" - # value_source default - # Default value: "{ NULL }" -}; - -# Invoke default static constructors -# This option causes the C library to call -# static constructors with default priority -# from within the context of the main() thread, -# working with the co-operation of the HAL. -# This may be needed for environments that -# expect static constructors to be run in a -# thread context. Note that this uses an object -# with priority 65534. Therefore do not use -# priority 65534 for any other static objects -# with this option enabled. -# -cdl_option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG - # CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG == 0 - # --> 0 - # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) - # CYGSEM_LIBC_STARTUP_MAIN_THREAD == 0 - # CYGSEM_LIBC_STARTUP_MAIN_OTHER == 1 - # CYGPKG_POSIX_PTHREAD == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG - # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS -}; - -# ISO environment startup/termination build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_STARTUP_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_STARTUP_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_STARTUP_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# ISO environment startup/termination tests -# This option specifies the set of tests for this package. -# -cdl_option CYGPKG_LIBC_STARTUP_TESTS { - # Calculated value: "tests/atexit" - # Flavor: data - # Current_value: tests/atexit -}; - -# < -# < -# ISO C library standard input/output functions -# doc: ref/libc.html -# This package provides standard input/output functions associated -# with the header file <stdio.h> as specified by the -# ISO C standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_STDIO { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_IO - # CYGPKG_IO == current - # --> 1 - # Requires: CYGPKG_LIBC_I18N - # CYGPKG_LIBC_I18N == current - # --> 1 - # Requires: (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? CYGPKG_IO_SERIAL_HALDIAG : 1) - # CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" - # CYGPKG_IO_SERIAL_HALDIAG == 1 - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FILETYPES_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FILETYPES_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FILEACCESS_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FILEACCESS_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FILEPOS_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FILEPOS_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FILEOPS_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FILEOPS_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_CHAR_IO_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_CHAR_IO_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_DIRECT_IO_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_ERROR_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_ERROR_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGBLD_ISO_STDIO_STREAMS_HEADER == "<cyg/libc/stdio/stdio.h>" - # CYGBLD_ISO_STDIO_STREAMS_HEADER == <cyg/libc/stdio/stdio.h> - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_STRERROR - # CYGINT_ISO_STRERROR == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_MEMFUNCS - # CYGINT_ISO_STRING_MEMFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDLIB_STRCONV - # CYGINT_ISO_STDLIB_STRCONV == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_LIBM_USE_STDERR - # Requires: CYGPKG_LIBC_STDIO -}; - -# > -# Inline versions of <stdio.h> functions -# This option chooses whether some of the -# particularly simple functions from -# <stdio.h> are available as inline -# functions. This may improve performance, and as -# the functions are small, may even improve code -# size. -# -cdl_option CYGIMP_LIBC_STDIO_INLINES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Permitted number of open files -# This option controls the guaranteed minimum -# number of simultaneously open files. The ISO -# C standard requires it to be defined (para -# 7.9.1), and if strictly compliant, it must be -# at least 8 (para 7.9.3). In practice it can be -# as low as 3 - for stdin, stdout and stderr. -# -cdl_option FOPEN_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: 3 to 0x7fffffff -}; - -# Maximum length of filename -# This option defines the maximum allowed size of -# a filename in characters. The ISO C standard -# requires it to be defined (para 7.9.1). -# -cdl_option FILENAME_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 1 to 0x7fffffff -}; - -# Maximum length of filenames for temporary files -# This option defines the maximum allowed size of -# filenames for temporary files as generated by -# tmpnam(). It is measured in characters, and the -# ISO C standard requires it to be defined (para -# 7.9.1). -# -cdl_option L_tmpnam { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 4 to 0x7fffffff -}; - -# Unique file names generated by tmpnam() -# This option defines the minimum number of -# unique file names generated by tmpnam(). The -# ISO C standard requires it to be defined (para -# 7.9.1) and for ISO compliance it should be at least -# 25. Note that TMP_MAX names may not be generated -# if L_tmpnam is too small. -# -cdl_option TMP_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 25 - # value_source default - # Default value: 25 - # Legal values: 1 to 0x7fffffff -}; - -# Buffered I/O -# This option controls whether input/output -# through the <stdio.h> functions is buffered. -# This may save some memory per file. It -# is equivalent to putting every file into -# non-buffered mode (_IONBF) through setvbuf(), -# except now it can never be altered back to -# buffered mode. Disabling buffering is strictly -# non-compliant with the ISO C standard. -# -cdl_component CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option BUFSIZ - # Calculated: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0 - # option CYGPKG_LIBC_STDIO_FILEIO - # Requires: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO -}; - -# > -# Default buffer size -# This option defines the default size of buffer -# used with calls to setbuf(), and is the default -# size for buffered streams that have not had -# either setbuf() or setvbuf() invoked on them. -# It is exactly equivalent to the standard -# constant BUFSIZ, except that it is 0 if -# CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO is disabled. -# The ISO C standard requires this to be defined -# (para 7.9.1), and says it must be at least 256 -# (para 7.9.2). -# -cdl_option CYGNUM_LIBC_STDIO_BUFSIZE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 256 - # value_source default - # Default value: 256 - # Legal values: 1 to 0x7fffffff - - # The following properties are affected by this value - # option BUFSIZ - # Calculated: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0 -}; - -# setbuf()/setvbuf() allows dynamic setting -# This option controls whether I/O buffers are -# implemented dynamically within the stdio -# implementation. Otherwise they will be static, -# and cannot be changed by setbuf()/setvbuf(). If -# they are static (i.e. this option is disabled), -# any attempt to use an arbitrary buffer size, or -# to pass a user-supplied buffer to setbuf() or -# setvbuf() will fail - the buffer is implemented -# internally as a static array taking the size -# of the configuration option BUFSIZ. The only -# exception is if a user buffer is not supplied, -# and the buffer size requested is less than -# BUFSIZ. In this case, the buffer will -# be configured to only use that amount of -# buffering. However the unused memory left over -# will NOT be freed. If this option is enabled, -# then setvbuf() can be used to assign a user supplied -# buffer to the stream. -# Either setting can be considered to -# be compliant with the ISO C standard. -# -cdl_option CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC - # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF - # option CYGPKG_LIBC_STDIO_FILEIO - # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF -}; - -# setbuf()/setvbuf() uses malloc() -# This option controls whether buffers set by setbuf() and -# setvbuf() may be allocated using malloc(). -# -cdl_option CYGSEM_LIBC_STDIO_SETVBUF_MALLOC { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF - # CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF == 1 - # --> 1 -}; - -# < -# Default buffer size (BUFSIZ) -# -cdl_option BUFSIZ { - # Calculated value: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0 - # CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO == 1 - # CYGNUM_LIBC_STDIO_BUFSIZE == 256 - # Flavor: data - # Current_value: 256 -}; - -# Support for ungetc() -# This option controls whether ungetc() is -# supported. If not, then some space can be -# saved, and speed is improved. Note that you -# MUST have this defined if you want to use the -# scanf() family of functions. -# -cdl_option CYGFUN_LIBC_STDIO_ungetc { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Dynamic opening/closing of files -# fopen() and fclose() use dynamic memory -# allocation routines to allocate memory for -# new FILE structure pointers. If a malloc -# implementation is available, this option -# may be enabled to use -# fopen() and fclose(). If disabled, only the -# default console streams - stdin, stdout and -# stderr - will be available. -# -cdl_component CYGPKG_LIBC_STDIO_OPEN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 -}; - -# > -# POSIX fdopen/fileno functions -# This identifies to the rest of the system -# whether the POSIX fdopen() and -# fileno() functions are implemented. -# -cdl_option CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS { - # ActiveIf constraint: CYGPKG_LIBC_STDIO_FILEIO - # CYGPKG_LIBC_STDIO_FILEIO == 1 - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# < -# Default console device -# This option allows you to choose the -# default console device. In the current -# implementation, all these devices begin -# with the prefix /dev/ and are followed by -# the name of a device. The name of the device -# depends on the device drivers you have -# configured in your system. For example, -# /dev/ttydiag could be the HAL diagnostic output -# pseudo-device, or /dev/tty0 could be your -# first serial driver, depending on your -# configuration. -# -cdl_option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "\"/dev/ttydiag\"" - # value_source default - # Default value: CYGDAT_IO_SERIAL_TTY_CONSOLE ? CYGDAT_IO_SERIAL_TTY_CONSOLE : "\"/dev/null\"" - # CYGDAT_IO_SERIAL_TTY_CONSOLE == "\"/dev/ttydiag\"" - # CYGDAT_IO_SERIAL_TTY_CONSOLE == "\"/dev/ttydiag\"" - # --> "\"/dev/ttydiag\"" - - # The following properties are affected by this value - # package CYGPKG_LIBC_STDIO - # Requires: (CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE == "\"/dev/ttydiag\"" ? CYGPKG_IO_SERIAL_HALDIAG : 1) -}; - -# Floating point support -# This component allows floating point support -# to be enabled in certain standard I/O -# functions. -# -cdl_component CYGPKG_LIBC_STDIO_FLOATING_POINT { - # There is no associated value. -}; - -# > -# printf() family -# This option enables the use of floating point -# number output in the printf() family (i.e. -# printf(), sprintf(), vprintf(), etc.) of -# functions. A substantial amount of code space -# can be saved if this option is disabled. If it -# is disabled then floating point specifiers -# (%e, %f, %g) are ignored, and nothing is -# output. -# -cdl_option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 -}; - -# scanf() family -# This option enables the use of floating point -# number conversion in the scanf() family (i.e. -# scanf(), sscanf(), vscanf(), etc.) of -# functions. A substantial amount of code space -# can be saved if this option is disabled. If it -# is disabled then floating point specifiers -# (%e, %f, %g) are ignored, and nothing is -# converted. -# -cdl_option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_LIBM && - # 0 != CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGPKG_LIBM == current - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 1 - # --> 1 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 - # Requires: CYGINT_ISO_STDLIB_STRCONV_FLOAT - # CYGINT_ISO_STDLIB_STRCONV_FLOAT == 1 - # --> 1 -}; - -# < -# Long long support -# This option allows various functions in the C Standard I/O -# library to support the 'long long' datatype. Doing so -# will come with a noticeable code size penalty however. -# -cdl_option CYGFUN_LIBC_STDIO_LONGLONG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_LIBC_STDLIB_CONV_LONGLONG - # CYGFUN_LIBC_STDLIB_CONV_LONGLONG == 1 - # --> 1 -}; - -# Thread safe I/O streams -# doc: ref/libc-thread-safety.html -# This option controls whether standard I/O streams -# are thread-safe. Having this option set allows -# the streams to be locked when accessed by -# multiple threads simultaneously. -# -cdl_option CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# C99 compliant snprintf() family -# This option allows C99 compliant implementation of -# snprintf() family (i.e. snprintf(), vsnprintf()) -# of functions. C99 compliant snprintf() functions -# return the number of characters that would have been written -# to a sufficiently sized buffer (excluding the '\0'). -# If this option is disabled, the functions simply return -# the number of bytes that have been written to the buffer. -# -cdl_option CYGIMP_LIBC_STDIO_C99_SNPRINTF { - # Flavor: bool - user_value 1 - # value_source user - # Default value: 0 - - # The following properties are affected by this value - # package CYGPKG_USTL - # Requires: CYGIMP_LIBC_STDIO_C99_SNPRINTF -}; - -# Enable use of FILEIO package for IO operations. -# This CDL exists to control how the standard I/O functions -# interface to the underlying I/O system. Either using the -# File I/O package, or the generic I/O package which is used -# by fewer devices. -# -cdl_option CYGPKG_LIBC_STDIO_FILEIO { - # ActiveIf constraint: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO - # CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO == 1 - # --> 1 - # Requires: CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF - # CYGSEM_LIBC_STDIO_DYNAMIC_SETVBUF == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGFUN_LIBC_STDIO_OPEN_POSIX_FDFUNCS - # ActiveIf: CYGPKG_LIBC_STDIO_FILEIO -}; - -# C library stdio functions build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_STDIO_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_STDIO_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_STDIO_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library stdio function tests -# This option specifies the set of tests for the C library -# stdio functions. -# -cdl_option CYGPKG_LIBC_STDIO_TESTS { - # Calculated value: - # "tests/sprintf1 tests/sprintf2 tests/snprintf tests/sscanf tests/stdiooutput " - # . ((CYGPKG_IO_FILEIO && CYGPKG_FS_RAM) ? "tests/fileio " : "") - # - # CYGPKG_IO_FILEIO == current - # CYGPKG_FS_RAM (unknown) == 0 - # Flavor: data - # Current_value: tests/sprintf1 tests/sprintf2 tests/snprintf tests/sscanf tests/stdiooutput -}; - -# < -# < -# ISO C library general utility functions -# doc: ref/libc.html -# This package provides general utility functions in <stdlib.h> -# 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 <stdlib.h> functions -# This option chooses whether some of the -# particularly simple standard utility functions -# from <stdlib.h> 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 == "<cyg/libc/stdlib/abs.inl>" - # CYGBLD_ISO_STDLIB_ABS_HEADER == <cyg/libc/stdlib/abs.inl> - # --> 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 == "<cyg/libc/stdlib/div.inl>" - # CYGBLD_ISO_STDLIB_DIV_HEADER == <cyg/libc/stdlib/div.inl> - # --> 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 == "<cyg/libc/stdlib/atox.inl>" - # CYGBLD_ISO_STDLIB_STRCONV_HEADER == <cyg/libc/stdlib/atox.inl> - # --> 1 -}; - -# < -# Random number generation -# These options control the behaviour of the -# functions rand(), srand() and rand_r() -# -cdl_component CYGPKG_LIBC_RAND { - # There is no associated value. -}; - -# > -# Per-thread random seed -# doc: ref/libc-thread-safety.html -# This option controls whether the pseudo-random -# number generation functions rand() and srand() -# have their state recorded on a per-thread -# basis rather than global. If this option is -# disabled, some per-thread space can be saved. -# Note there is also a POSIX-standard rand_r() -# function to achieve a similar effect with user -# support. Enabling this option will use one slot -# of kernel per-thread data. You should ensure you -# have enough slots configured for all your -# per-thread data. -# -cdl_option CYGSEM_LIBC_PER_THREAD_RAND { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 -}; - -# Random number seed -# This selects the initial random number seed for -# rand()'s pseudo-random number generator. For -# strict ISO standard compliance, this should be 1, -# as per section 7.10.2.2 of the standard. -# -cdl_option CYGNUM_LIBC_RAND_SEED { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Legal values: 0 to 0x7fffffff -}; - -# Tracing level -# Trace verbosity level for debugging the rand(), -# srand() and rand_r() functions. Increase this -# value to get additional trace output. -# -cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 -}; - -# Simplest implementation -# This provides a very simple implementation of rand() -# that does not perform well with randomness in the -# lower significant bits. However it is exceptionally -# fast. It uses the sample algorithm from the ISO C -# standard itself. -# -cdl_option CYGIMP_LIBC_RAND_SIMPLEST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Simple implementation #1 -# This provides a very simple implementation of rand() -# based on the simplest implementation above. However -# it does try to work around the lack of randomness -# in the lower significant bits, at the expense of a -# little speed. -# -cdl_option CYGIMP_LIBC_RAND_SIMPLE1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Knuth implementation #1 -# This implements a slightly more complex algorithm -# published in Donald E. Knuth's Art of Computer -# Programming Vol.2 section 3.6 (p.185 in the 3rd ed.). -# This produces better random numbers than the -# simplest approach but is slower. -# -cdl_option CYGIMP_LIBC_RAND_KNUTH1 { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# < -# Provides strtod() -# This option allows use of the utility function -# strtod() (and consequently atof()) to convert -# from string to double precision floating point -# numbers. Disabling this option removes the -# dependency on the math library package. -# -cdl_option CYGFUN_LIBC_strtod { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 0 != CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 -}; - -# Provides long long conversion functions -# Enabling this option will provide support for the strtoll(), -# strtoull() and atoll() conversion functions, which are -# the long long variants of the standard versions of these -# functions. Supporting this requires extra code and compile -# time. -# -cdl_option CYGFUN_LIBC_STDLIB_CONV_LONGLONG { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGFUN_LIBC_STDIO_LONGLONG - # Requires: CYGFUN_LIBC_STDLIB_CONV_LONGLONG -}; - -# bsearch() tracing level -# Trace verbosity level for debugging the <stdlib.h> -# 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 <stdlib.h> -# quicksort function qsort(). Increase this value -# to get additional trace output. -# -cdl_option CYGNUM_LIBC_QSORT_TRACE_LEVEL { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 -}; - -# C library stdlib build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_STDLIB_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building this package. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library stdlib tests -# This option specifies the set of tests for this package. -# -cdl_option CYGPKG_LIBC_STDLIB_TESTS { - # Calculated value: "tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul" - # Flavor: data - # Current_value: tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul -}; - -# < -# < -# ISO C library string functions -# doc: ref/libc.html -# This package provides string functions specified by the -# ISO C standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_STRING { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == "<cyg/libc/string/string.h>" - # CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h> - # --> 1 - # Requires: CYGBLD_ISO_STRING_MEMFUNCS_HEADER == "<cyg/libc/string/string.h>" - # CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h> - # --> 1 - # Requires: CYGBLD_ISO_STRING_STRFUNCS_HEADER == "<cyg/libc/string/string.h>" - # CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h> - # --> 1 - # Requires: CYGBLD_ISO_STRTOK_R_HEADER == "<cyg/libc/string/string.h>" - # CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h> - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 -}; - -# > -# Inline versions of <string.h> functions -# This option chooses whether some of the -# particularly simple string functions from -# <string.h> are available as inline -# functions. This may improve performance, and as -# the functions are small, may even improve code -# size. -# -cdl_option CYGIMP_LIBC_STRING_INLINES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Optimize string functions for code size -# This option tries to reduce string function -# code size at the expense of execution speed. The -# same effect can be produced if the code is -# compiled with the -Os option to the compiler. -# -cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Provide BSD compatibility functions -# Enabling this option causes various compatibility functions -# commonly found in the BSD UNIX operating system to be included. -# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp, -# strncasecmp, index, rindex and swab. -# -cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == "<cyg/libc/string/bsdstring.h>" - # CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h> - # --> 1 - # Requires: CYGINT_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 -}; - -# strtok -# These options control the behaviour of the -# strtok() and strtok_r() string tokenization -# functions. -# -cdl_component CYGPKG_LIBC_STRING_STRTOK { - # There is no associated value. -}; - -# > -# Per-thread strtok() -# This option controls whether the string function -# strtok() has its state recorded on a per-thread -# basis rather than global. If this option is -# disabled, some per-thread space can be saved. -# Note there is also a POSIX-standard strtok_r() -# function to achieve a similar effect with user -# support. Enabling this option will use one slot -# of kernel per-thread data. You should ensure you -# have enough slots configured for all your -# per-thread data. -# -cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 -}; - -# Tracing level -# Trace verbosity level for debugging the <string.h> -# 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 -}; - -# Provide strnlen() GNU extension -# This option controls support for the strnlen() function. -# (This is a GNU extension, not part of ANSI C.) -# -cdl_option CYGFUN_LIBC_STRING_GNU_STRNLEN { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# C library string functions build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_STRING_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library string function tests -# This option specifies the set of tests for the C library -# string functions. -# -cdl_option CYGPKG_LIBC_STRING_TESTS { - # Calculated value: "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2 tests/strnlen" - # 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 tests/strnlen -}; - -# < -# < -# ISO C library date and time functions -# doc: ref/libc.html -# This package provides time functions specified by the -# ISO C standard - ISO/IEC 9899:1990. -# -cdl_package CYGPKG_LIBC_TIME { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGBLD_ISO_C_TIME_TYPES_HEADER == "<cyg/libc/time/time.h>" - # CYGBLD_ISO_C_TIME_TYPES_HEADER == <cyg/libc/time/time.h> - # --> 1 - # Requires: CYGBLD_ISO_C_CLOCK_FUNCS_HEADER == "<cyg/libc/time/time.h>" - # CYGBLD_ISO_C_CLOCK_FUNCS_HEADER == <cyg/libc/time/time.h> - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGINT_ISO_DIV - # CYGINT_ISO_DIV == 1 - # --> 1 - # Requires: CYGINT_ISO_ABS - # CYGINT_ISO_ABS == 1 - # --> 1 -}; - -# > -# Working clock() function -# This option controls whether clock() will -# actually try and determine the process time -# usage. With this option disabled, clock() does -# not disappear, but will permanently return -# (clock_t)-1 as mandated by the ISO C standard. -# -cdl_option CYGSEM_LIBC_TIME_CLOCK_WORKING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_KERNEL_THREADS_TIMER - # CYGFUN_KERNEL_THREADS_TIMER == 1 - # --> 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 -}; - -# Working time() function -# This option controls whether time() will -# actually try and determine the current calendar -# time. With this option disabled, time() does -# not disappear, but will permanently return -# (time_t)-1 as mandated by the ISO C standard. -# -cdl_option CYGSEM_LIBC_TIME_TIME_WORKING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_IO_WALLCLOCK - # CYGPKG_IO_WALLCLOCK == current - # --> 1 -}; - -# Working cyg_libc_time_settime() function -# This option controls whether cyg_libc_time_settime() -# will actually try and set the current calendar -# time. With this option disabled, -# cyg_libc_time_settime() does not disappear, but -# will permanently return an error. -# -cdl_option CYGSEM_LIBC_TIME_SETTIME_WORKING { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_IO_WALLCLOCK - # CYGPKG_IO_WALLCLOCK == current - # --> 1 -}; - -# POSIX time functions -# Enabling this option allows the use of the -# following functions defined in POSIX 1003.1: -# asctime_r(), ctime_r(), gmtime_r(), strptime(), and -# localtime_r(). -# -cdl_option CYGFUN_LIBC_TIME_POSIX { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGINT_ISO_STRING_BSD_FUNCS - # CYGINT_ISO_STRING_BSD_FUNCS == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGIMP_LIBC_TIME_ASCTIME_R_INLINE - # Requires: CYGFUN_LIBC_TIME_POSIX - # option CYGIMP_LIBC_TIME_CTIME_R_INLINE - # Requires: CYGFUN_LIBC_TIME_POSIX - # option CYGIMP_LIBC_TIME_GMTIME_R_INLINE - # Requires: CYGFUN_LIBC_TIME_POSIX - # option CYGIMP_LIBC_TIME_LOCALTIME_R_INLINE - # Requires: CYGFUN_LIBC_TIME_POSIX - # option CYGPKG_LIBC_TIME_TESTS - # Calculated: - # "tests/asctime tests/clock tests/ctime tests/gmtime tests/localtime tests/mktime tests/strftime tests/time " - # . (CYGFUN_LIBC_TIME_POSIX ? "tests/strptime" : "") - # -}; - -# Single UNIX extensions -# Enabling this option allows the use of -# certain additional conversion specifiers -# in the strftime function. -# -cdl_option CYGFUN_LIBC_TIME_SUS_EXTNS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Time zone offsets -# These options control the default STandarD (STD) -# and Daylight Savings Time (DST) -# time offsets so that dates can be set correctly -# for the local environment. -# -cdl_component CYGPKG_LIBC_TIME_ZONES { - # There is no associated value. -}; - -# > -# Default Daylight Savings Time state -# This option controls whether the initial -# time environment is set up as STD, DST or -# unknown. Use the value 1 for DST, 0 for STD, -# and (-1) for unknown. This can also be set at -# runtime using the cyg_libc_time_setdst() -# function. -# -cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_STATE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -1 - # value_source default - # Default value: -1 - # Legal values: -1 to 1 -}; - -# Default Standard Time offset -# This option controls the offset from UTC in -# seconds when in local Standard Time. This -# value can be positive or negative. It -# can also be set at run time using the -# cyg_libc_time_setzoneoffsets() function. -# -cdl_option CYGNUM_LIBC_TIME_STD_DEFAULT_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: -90000 to 90000 -}; - -# Default Daylight Savings Time offset -# This option controls the offset from UTC in -# seconds when in local Daylight Savings Time. This -# value can be positive or negative. It -# can also be set at run time using the -# cyg_libc_time_setzoneoffsets() function. -# -cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 3600 - # value_source default - # Default value: 3600 - # Legal values: -90000 to 90000 -}; - -# < -# Inline functions -# These options control whether certain functions -# are available in inline form. This may lead to -# faster code at the expense of code space. But for -# some functions, or some functions with constant -# arguments, it may in fact lead to smaller code. -# -cdl_component CYGPKG_LIBC_TIME_INLINES { - # There is no associated value. -}; - -# > -# asctime() -# Allow the asctime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_ASCTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# ctime() -# Allow the ctime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_CTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# difftime() -# Allow the difftime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_DIFFTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# gmtime() -# Allow the gmtime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_GMTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# localtime() -# Allow the localtime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_LOCALTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# mktime() -# Allow the mktime() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_MKTIME_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# asctime_r() -# Allow the asctime_r() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_ASCTIME_R_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_LIBC_TIME_POSIX - # CYGFUN_LIBC_TIME_POSIX == 1 - # --> 1 -}; - -# ctime_r() -# Allow the ctime_r() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_CTIME_R_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_LIBC_TIME_POSIX - # CYGFUN_LIBC_TIME_POSIX == 1 - # --> 1 -}; - -# gmtime_r() -# Allow the gmtime_r() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_GMTIME_R_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGFUN_LIBC_TIME_POSIX - # CYGFUN_LIBC_TIME_POSIX == 1 - # --> 1 -}; - -# localtime_r() -# Allow the localtime_r() function to be inlined -# -cdl_option CYGIMP_LIBC_TIME_LOCALTIME_R_INLINE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGFUN_LIBC_TIME_POSIX - # CYGFUN_LIBC_TIME_POSIX == 1 - # --> 1 -}; - -# < -# clock() tracing level -# Trace verbosity level for debugging the clock() -# function. Increase this value to get -# additional trace output when tracing is enabled. -# -cdl_option CYGNUM_LIBC_TIME_CLOCK_TRACE_LEVEL { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 -}; - -# C library time functions build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBC_TIME_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBC_TIME_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wno-format - # value_source default - # Default value: -Wno-format -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the C library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBC_TIME_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# C library time and date function tests -# This option specifies the set of tests for the C library -# time and date functions. -# -cdl_option CYGPKG_LIBC_TIME_TESTS { - # Calculated value: - # "tests/asctime tests/clock tests/ctime tests/gmtime tests/localtime tests/mktime tests/strftime tests/time " - # . (CYGFUN_LIBC_TIME_POSIX ? "tests/strptime" : "") - # - # CYGFUN_LIBC_TIME_POSIX == 1 - # Flavor: data - # Current_value: tests/asctime tests/clock tests/ctime tests/gmtime tests/localtime tests/mktime tests/strftime tests/time tests/strptime -}; - -# < -# < -# < -# Math library -# doc: ref/libc.html -# ISO standard floating point mathematical library -# containing many useful functions for mathematical -# calculations. -# -cdl_package CYGPKG_LIBM { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT - # Requires: CYGPKG_LIBM - # option CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT - # DefaultValue: 0 != CYGPKG_LIBM - # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT - # Requires: CYGPKG_LIBM - # option CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT - # DefaultValue: 0 != CYGPKG_LIBM && - # 0 != CYGINT_ISO_STDLIB_STRCONV_FLOAT - # option CYGFUN_LIBC_strtod - # Requires: CYGPKG_LIBM - # option CYGFUN_LIBC_strtod - # DefaultValue: 0 != CYGPKG_LIBM - # package CYGPKG_USTL - # Requires: CYGPKG_LIBM -}; - -# > -# Compatibility mode -# These options deal with behaviour related to -# the various compatibility modes - POSIX, IEEE, -# X/OPEN and SVID. -# -cdl_component CYGPKG_LIBM_COMPATIBILITY { - # There is no associated value. -}; - -# > -# -cdl_interface CYGINT_LIBM_COMPAT { - # Implemented by CYGSEM_LIBM_COMPAT_IEEE_ONLY, active, disabled - # Implemented by CYGNUM_LIBM_COMPATIBILITY, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == CYGINT_LIBM_COMPAT - # CYGINT_LIBM_COMPAT == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_LIBM_COMPAT - # Requires: 1 == CYGINT_LIBM_COMPAT -}; - -# IEEE-only -# The math library can be hard-coded to only -# behave in one compatibility mode - IEEE. This -# cannot be changed at run-time. IEEE mode is the -# most minimal of the compatibility modes, and so -# this will best help code size and speed, as well -# as omitting the code for other compatibility -# modes. If not defined, the math library can be -# set at run-time to any of the supported -# compatibility modes. -# -cdl_option CYGSEM_LIBM_COMPAT_IEEE_ONLY { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - - # The following properties are affected by this value - # option CYGSEM_LIBM_USE_STDERR - # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY - # option CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE - # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY -}; - -# Default mode -# If you want to have support for more than one -# compatibility mode settable at run-time, rather -# than hard-coded IEEE mode, this component lets -# you choose which mode should be the default. -# -cdl_component CYGNUM_LIBM_COMPATIBILITY { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 1 POSIX - # value_source default - # Default value: 1 POSIX - # Legal values: "POSIX" "IEEE" "XOPEN" "SVID" - # Requires: CYGPKG_LIBC - # CYGPKG_LIBC == current - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_LIBM_COMPAT_DEFAULT - # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" - # option CYGNUM_LIBM_COMPAT_DEFAULT - # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" - # option CYGNUM_LIBM_COMPAT_DEFAULT - # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" - # option CYGNUM_LIBM_COMPAT_DEFAULT - # Calculated: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" -}; - -# > -# Numeric representation -# This option automatically defines the default compatibility -# mode for numeric representation in terms of the values used -# to set that mode at run-time. -# -cdl_option CYGNUM_LIBM_COMPAT_DEFAULT { - # Calculated value: CYGNUM_LIBM_COMPATIBILITY == "POSIX" ? "CYGNUM_LIBM_COMPAT_POSIX" : CYGNUM_LIBM_COMPATIBILITY == "IEEE" ? "CYGNUM_LIBM_COMPAT_IEEE" : CYGNUM_LIBM_COMPATIBILITY == "XOPEN" ? "CYGNUM_LIBM_COMPAT_XOPEN" : CYGNUM_LIBM_COMPATIBILITY == "SVID" ? "CYGNUM_LIBM_COMPAT_SVID" : "<undefined>" - # CYGNUM_LIBM_COMPATIBILITY == POSIX - # CYGNUM_LIBM_COMPATIBILITY == POSIX - # CYGNUM_LIBM_COMPATIBILITY == POSIX - # CYGNUM_LIBM_COMPATIBILITY == POSIX - # Flavor: data - # Current_value: CYGNUM_LIBM_COMPAT_POSIX -}; - -# < -# SVID3-style scalb() -# SVID3 defined the scalb() function as double -# scalb(double, double) rather than double -# scalb(double, int) which is used by IBM, DEC, and -# probably others. Enabling this option chooses -# the (double, double) version. Note there is a -# function double scalbn(double, int) which is -# unaffected by this choice. -# -cdl_option CYGFUN_LIBM_SVID3_scalb { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Reduce namespace pollution -# If you do not want to use either the X/Open or -# SVID3 compatibility modes, you may want to define -# this option to reduce the chance of namespace -# pollution. This is particularly likely to occur -# here as these standards define symbols with -# names that often appear in applications, such as -# exception, DOMAIN, OVERFLOW, etc. If your -# application also used these names, it may cause -# problems. -# -cdl_option CYGSYM_LIBM_NO_XOPEN_SVID_NAMESPACE_POLLUTION { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Output to stderr for math errors -# The SVID3 standard says that error -# messages should be output on the stderr console -# output stream. This option allows this ability -# to be explicitly controlled. However, this still -# only has an effect in SVID3 compatibility mode. -# -cdl_option CYGSEM_LIBM_USE_STDERR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY - # CYGSEM_LIBM_COMPAT_IEEE_ONLY == 0 - # --> 1 - # Requires: CYGPKG_LIBC_STDIO - # CYGPKG_LIBC_STDIO == current - # --> 1 -}; - -# < -# Thread safety -# This option controls whether the C library has -# support for thread safe operation in general. -# This requires eCos kernel support for per-thread -# data, and adjustment of the stack limit. -# -cdl_component CYGPKG_LIBM_THREAD_SAFETY { - # There is no associated value. -}; - -# > -# Compatibility mode setting -# This option makes the setting of the compatiblity -# mode be a per-thread property. This directly -# implies that it also becomes thread-safe. -# -cdl_option CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: !CYGSEM_LIBM_COMPAT_IEEE_ONLY - # CYGSEM_LIBM_COMPAT_IEEE_ONLY == 0 - # --> 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_LIBM_COMPATMODE_TRACE_LEVEL - # Requires: CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE -}; - -# gamma() and lgamma() -# This option makes the gamma() and lgamma() -# functions be thread-safe. Note that these -# functions are identical - they take the log of -# the absolute value of their argument. The sign -# of the argument is stored in a variable called -# signgam. Enabling this option makes signgam -# a per-thread variable. Note there are also -# gamma_r() and lgamma_r() alternatives that -# allow signgam to be passed in by reference as -# an argument. -# -cdl_option CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGNUM_LIBM_SIGNGAM_TRACE_LEVEL - # Requires: CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS -}; - -# < -# Tracing output levels in math library -# Tracing support is useful for debugging. Some -# Math library modules can be configured with -# different levels of tracing verbosity. These -# levels can be configured here. -# -cdl_component CYGPKG_LIBM_TRACE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGDBG_USE_TRACING - # CYGDBG_USE_TRACING == 0 - # --> 0 -}; - -# > -# Compatibility mode get/set -# Trace level for debugging the getting and -# setting of the compatibility mode when it is -# configured to be thread-safe. -# -cdl_option CYGNUM_LIBM_COMPATMODE_TRACE_LEVEL { - # This option is not active - # The parent CYGPKG_LIBM_TRACE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 - # Requires: CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE - # CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE == 0 - # --> 0 -}; - -# signgam variable access -# Trace level for debugging all accesses to the -# signgam variable in thread-safe mode. -# -cdl_option CYGNUM_LIBM_SIGNGAM_TRACE_LEVEL { - # This option is not active - # The parent CYGPKG_LIBM_TRACE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 - # Requires: CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS - # CYGSEM_LIBM_THREAD_SAFE_GAMMA_FUNCTIONS == 0 - # --> 0 -}; - -# < -# Bessel function limit of significance -# For the Bessel functions (j0(), j1(), jn(), -# y0(), y1(), yn()) this option defines the -# maximum absolute value of the ordinate -# before we assume total loss of significance. -# This number must be a floating-point number (e.g. -# contains a decimal point), and should be -# large. -# -cdl_option CYGNUM_LIBM_X_TLOSS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1.41484755040569E+16 - # value_source default - # Default value: 1.41484755040569E+16 - # Legal values: 1 to 1e308 -}; - -# Math library build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_LIBM_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the math library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_LIBM_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-fno-strict-aliasing -ffloat-store" - # value_source default - # Default value: "-fno-strict-aliasing" . ((!CYGPKG_HAL_I386 && !CYGPKG_HAL_SYNTH_I386) ? "" : " -ffloat-store") - # CYGPKG_HAL_I386 == current - # CYGPKG_HAL_SYNTH_I386 (unknown) == 0 - # --> "-fno-strict-aliasing -ffloat-store" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the math library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_LIBM_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Math library tests -# This option specifies the set of tests for the math library. -# -cdl_option CYGPKG_LIBM_TESTS { - # Calculated value: "tests/vectors/acos tests/vectors/asin tests/vectors/atan tests/vectors/atan2 tests/vectors/ceil tests/vectors/cos tests/vectors/cosh tests/vectors/exp tests/vectors/fabs tests/vectors/floor tests/vectors/fmod tests/vectors/frexp tests/vectors/ldexp tests/vectors/log tests/vectors/log10 tests/vectors/modf tests/vectors/pow tests/vectors/sin tests/vectors/sinh tests/vectors/sqrt tests/vectors/tan tests/vectors/tanh" - # Flavor: data - # Current_value: tests/vectors/acos tests/vectors/asin tests/vectors/atan tests/vectors/atan2 tests/vectors/ceil tests/vectors/cos tests/vectors/cosh tests/vectors/exp tests/vectors/fabs tests/vectors/floor tests/vectors/fmod tests/vectors/frexp tests/vectors/ldexp tests/vectors/log tests/vectors/log10 tests/vectors/modf tests/vectors/pow tests/vectors/sin tests/vectors/sinh tests/vectors/sqrt tests/vectors/tan tests/vectors/tanh -}; - -# < -# < -# Wallclock device -# The wallclock device provides real time stamps, as opposed -# to the eCos kernel timers which typically just count the -# number of clock ticks since the hardware was powered up. -# Depending on the target platform this device may involve -# interacting with a suitable clock chip, or it may be -# emulated by using the kernel timers. -# -cdl_package CYGPKG_IO_WALLCLOCK { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # option CYGSEM_LIBC_TIME_TIME_WORKING - # Requires: CYGPKG_IO_WALLCLOCK - # option CYGSEM_LIBC_TIME_SETTIME_WORKING - # Requires: CYGPKG_IO_WALLCLOCK - # package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 - # ActiveIf: CYGPKG_IO_WALLCLOCK - # package CYGPKG_DEVICES_WALLCLOCK_I386_PC - # ActiveIf: CYGPKG_IO_WALLCLOCK -}; - -# > -# Number of wallclock hardware implementations -# -cdl_interface CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS { - # Implemented by CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGPKG_WALLCLOCK_EMULATE - # DefaultValue: 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS - # option CYGIMP_WALLCLOCK_NONE - # DefaultValue: !CYGPKG_KERNEL && 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS -}; - -# Number of wallclock implementations -# -cdl_interface CYGINT_WALLCLOCK_IMPLEMENTATIONS { - # Implemented by CYGPKG_WALLCLOCK_EMULATE, active, disabled - # Implemented by CYGIMP_WALLCLOCK_NONE, active, disabled - # Implemented by CYGIMP_WALLCLOCK_HARDWARE, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - # Requires: 1 == CYGINT_WALLCLOCK_IMPLEMENTATIONS - # CYGINT_WALLCLOCK_IMPLEMENTATIONS == 1 - # --> 1 - - # The following properties are affected by this value - # interface CYGINT_WALLCLOCK_IMPLEMENTATIONS - # Requires: 1 == CYGINT_WALLCLOCK_IMPLEMENTATIONS -}; - -# Wallclock driver supports set/get mode -# -cdl_interface CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED { - # Implemented by CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGSEM_WALLCLOCK_MODE - # DefaultValue: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED ? "set_get" : "init_get" - # option CYGSEM_WALLCLOCK_MODE - # Requires: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || CYGSEM_WALLCLOCK_MODE == "init_get" -}; - -# Wallclock mode -# The wallclock driver can be used in one of two -# modes. Set/get mode allows time to be kept during power -# off (assuming there's a battery backed clock). Init/get -# mode is slightly smaller and can be used when there is no -# battery backed clock - in this mode time 0 is the time of -# the board power up. -# -cdl_option CYGSEM_WALLCLOCK_MODE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value set_get - # value_source default - # Default value: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED ? "set_get" : "init_get" - # CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED == 1 - # --> set_get - # Legal values: "init_get" "set_get" - # Requires: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || CYGSEM_WALLCLOCK_MODE == "init_get" - # CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED == 1 - # CYGSEM_WALLCLOCK_MODE == set_get - # --> 1 - - # The following properties are affected by this value - # option CYGSEM_WALLCLOCK_MODE - # Requires: CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || CYGSEM_WALLCLOCK_MODE == "init_get" - # option CYGSEM_WALLCLOCK_SET_GET_MODE - # Calculated: CYGSEM_WALLCLOCK_MODE == "set_get" ? 1 : 0 -}; - -# Wallclock set/get mode -# -cdl_option CYGSEM_WALLCLOCK_SET_GET_MODE { - # Calculated value: CYGSEM_WALLCLOCK_MODE == "set_get" ? 1 : 0 - # CYGSEM_WALLCLOCK_MODE == set_get - # Flavor: bool - # Current value: 1 -}; - -# Wallclock implementation -# Implementations of the wallclock device. -# -cdl_component CYGPKG_IO_WALLCLOCK_IMPLEMENTATION { - # There is no associated value. - - # The following properties are affected by this value -}; - -# > -# Wallclock emulator -# When this option is enabled, a wallclock device will be -# emulated using the kernel real-time clock. -# -cdl_option CYGPKG_WALLCLOCK_EMULATE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS - # CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS == 1 - # --> 0 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 -}; - -# No wallclock -# Disables the wallclock. -# -cdl_option CYGIMP_WALLCLOCK_NONE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: !CYGPKG_KERNEL && 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS - # CYGPKG_KERNEL == current - # CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS == 1 - # --> 0 -}; - -# Hardware wallclock -# -cdl_option CYGIMP_WALLCLOCK_HARDWARE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 - # ActiveIf: CYGIMP_WALLCLOCK_HARDWARE -}; - -# < -# Wallclock build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_IO_WALLCLOCK_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the wallclock device. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_IO_WALLCLOCK_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the wallclock device. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_IO_WALLCLOCK_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Wallclock tests -# This option specifies the set of tests for the -# wallclock device. -# -cdl_option CYGPKG_IO_WALLCLOCK_TESTS { - # Calculated value: CYGPKG_KERNEL ? "tests/wallclock tests/wallclock2" : "" - # CYGPKG_KERNEL == current - # Flavor: data - # Current_value: tests/wallclock tests/wallclock2 -}; - -# < -# Wallclock device driver for Dallas 12887 -# This package provides a file with init, get and set functions -# for the Dallas 12887 clock part. -# -cdl_package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 { - # 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_WALLCLOCK - # CYGPKG_IO_WALLCLOCK == current - # --> 1 - # ActiveIf constraint: CYGIMP_WALLCLOCK_HARDWARE - # CYGIMP_WALLCLOCK_HARDWARE == 1 - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - - # The following properties are affected by this value - # package CYGPKG_DEVICES_WALLCLOCK_I386_PC - # Requires: CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 -}; - -# > -# DS12887 wallclock build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the wallclock device. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the wallclock device. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# < -# PC board RTC Driver -# RTC driver for PC. -# -cdl_package CYGPKG_DEVICES_WALLCLOCK_I386_PC { - # 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_WALLCLOCK - # CYGPKG_IO_WALLCLOCK == current - # --> 1 - # ActiveIf constraint: CYGPKG_HAL_I386_PC - # CYGPKG_HAL_I386_PC == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 - # CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS12887 == current - # --> 1 -}; - -# > -# IO port address of the ADDRESS register -# This option sets the io address of the address port for -# accessing the PC RTC -# -cdl_option CYGDAT_DEVS_WALLCLOCK_I386_PC_RTC_ADDRESS_PORT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00000070 - # value_source default - # Default value: 0x00000070 -}; - -# IO port address of the DATA register -# This option sets the io address of the data port for -# accessing the PC RTC -# -cdl_option CYGDAT_DEVS_WALLCLOCK_I386_PC_RTC_DATA_PORT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x00000071 - # value_source default - # Default value: 0x00000071 -}; - -# < -# < -# 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 == "<cyg/error/codes.h>" - # CYGBLD_ISO_ERRNO_CODES_HEADER == <cyg/error/codes.h> - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_IO - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_SERIAL - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_SERIAL_GENERIC_16X5X - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_SERIAL_I386_PC - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_FRAMEBUF - # Requires: CYGPKG_INFRA CYGPKG_HAL CYGPKG_ERROR - # package CYGPKG_BLOCK_LIB - # Requires: CYGPKG_ERROR - # package CYGPKG_POSIX - # Requires: CYGPKG_ERROR - # package CYGPKG_IO_FILEIO - # Requires: CYGPKG_ERROR - # package CYGPKG_USTL - # Requires: CYGPKG_ERROR -}; - -# > -# errno variable -# This package controls the behaviour of the -# errno variable (or more strictly, expression) -# from <errno.h>. -# -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 == "<cyg/error/errno.h>" - # CYGBLD_ISO_ERRNO_HEADER == <cyg/error/errno.h> - # --> 1 -}; - -# > -# Per-thread errno -# This option controls whether the standard error -# code reporting variable errno is a per-thread -# variable, rather than global. -# -cdl_option CYGSEM_ERROR_PER_THREAD_ERRNO { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 -}; - -# Tracing level -# Trace verbosity level for debugging the errno -# retrieval mechanism in errno.cxx. Increase this -# value to get additional trace output. -# -cdl_option CYGNUM_ERROR_ERRNO_TRACE_LEVEL { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Legal values: 0 to 1 -}; - -# < -# strerror function -# This package controls the presence and behaviour of the -# strerror() function from <string.h> -# -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 == "<cyg/error/strerror.h>" - # CYGBLD_ISO_STRERROR_HEADER == <cyg/error/strerror.h> - # --> 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: "" -}; - -# < -# < -# Framebuffer support -# doc: ref/io-framebuf.html -# The generic framebuffer package provides an API for accessing -# one or more framebuffers, plus support for appropriate device -# drivers. -# -cdl_package CYGPKG_IO_FRAMEBUF { - # 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_HAL CYGPKG_ERROR - # CYGPKG_INFRA == current - # CYGPKG_HAL == current - # CYGPKG_ERROR == current - # --> 1 - - # The following properties are affected by this value - # package CYGPKG_DEVS_FRAMEBUF_I386 - # ActiveIf: CYGPKG_IO_FRAMEBUF -}; - -# > -# Number of available framebuffer devices -# This interface specifies the number of framebuffer devices -# supported by device driver(s) on this platform. -# -cdl_interface CYGINT_IO_FRAMEBUF_DEVICES { - # Implemented by CYGPKG_DEVS_FRAMEBUF_I386_FB, active, enabled - # This value cannot be modified here. - # Flavor: data - # Current_value: 1 - - # The following properties are affected by this value - # option CYGDAT_IO_FRAMEBUF_TEST_DEVICE - # ActiveIf: CYGINT_IO_FRAMEBUF_DEVICES - # option CYGPKG_IO_FRAMEBUF_TESTS - # ActiveIf: CYGINT_IO_FRAMEBUF_DEVICES -}; - -# Names of available framebuffer devices -# This option provides a list of the framebuffer devices available -# on the current platform. It is controlled by the appropriate -# device driver(s) and should not be edited by users. -# -cdl_option CYGDAT_IO_FRAMEBUF_DEVICES { - # Flavor: data - user_value " fb0 " - # value_source user - # Default value: "" - - # The following properties are affected by this value - # option CYGDAT_IO_FRAMEBUF_TEST_DEVICE - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " " . CYGDAT_IO_FRAMEBUF_TEST_DEVICE . " ") - # component CYGPKG_DEVS_FRAMEBUF_I386_FB - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " fb0 ") -}; - -# Framebuffer device to use for testing -# This option determines the framebuffer device to be used for running -# the testcases. By default the build system will automatically select -# the first entry in CYGDAT_IO_FRAMEBUF_DEVICES, which will be the -# only entry if there is only framebuffer device in the system. -# -cdl_option CYGDAT_IO_FRAMEBUF_TEST_DEVICE { - # ActiveIf constraint: CYGINT_IO_FRAMEBUF_DEVICES - # CYGINT_IO_FRAMEBUF_DEVICES == 1 - # --> 1 - - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " " . CYGDAT_IO_FRAMEBUF_TEST_DEVICE . " ") - # CYGDAT_IO_FRAMEBUF_DEVICES == " fb0 " - # CYGDAT_IO_FRAMEBUF_TEST_DEVICE == 0 - # --> 0 - - # The following properties are affected by this value - # option CYGDAT_IO_FRAMEBUF_TEST_DEVICE - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " " . CYGDAT_IO_FRAMEBUF_TEST_DEVICE . " ") -}; - -# Functionality supported by the platform's framebuffer(s) -# This component holds details of the functionality provided by the -# framebuffer device driver(s) for the current platform. -# -cdl_component CYGPKG_IO_FRAMEBUF_FUNCTIONALITY { - # There is no associated value. -}; - -# > -# 32bpp pixel support required -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform provides a 32 bits -# per pixel display. This constrains the cyg_colour data type -# to be at least 32 bits. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_32BPP { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 -}; - -# Framebuffer supports true colour mode -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform support true colour -# operation. In other words the contents of the framebuffer -# defines the colours directly and there is no indirection via -# a palette. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_TRUE_COLOUR { - # Implemented by CYGHWR_DEVS_FRAMEBUF_SYNTH_TRUE_COLOUR, active, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # The following properties are affected by this value -}; - -# Framebuffer uses a palette for colours -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform use a palette. In -# other words the contents of the framebuffer's memory do not -# represent colours directly, but instead are treated as indices -# into a separate table known as the palette. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_PALETTE { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 -}; - -# Framebuffer uses a writeable palette for colours -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform use a palette, and this -# palette can be modified at run-time. In other words the contents -# of the framebuffer's memory do not represent colours directly, -# but instead are treated as indices into a separate table known -# as the palette. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE { - # 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 CYGFUN_IO_FRAMEBUF_INSTALL_DEFAULT_PALETTE - # ActiveIf: CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE -}; - -# Framebuffer provides viewport support -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform provide viewport support. -# In other words only a subset of the framebuffer, the viewport, -# is actually visible on the display and application code can move -# this viewport. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_VIEWPORT { - # Implemented by CYGIMP_DEVS_FRAMEBUF_I386_FB_VIEWPORT, active, disabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 0 0 - - # The following properties are affected by this value -}; - -# Framebuffer provides double buffering support -# This interface will be implemented if any of the framebuffer -# device drivers for the current platform provide support for -# double buffering. In other words the framebuffer memory that -# is updated by graphics operations is not what actually gets -# displayed. Instead there is a separate hidden area of memory -# used for the display, and when drawing is complete a flush -# operation is needed to move the framebuffer contents to that -# hidden area. This makes it possible to update the display more -# smoothly, at the cost of potentially expensive memory copy -# operations. -# -cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_DOUBLE_BUFFER { - # Implemented by CYGPKG_DEVS_FRAMEBUF_I386_FB, active, enabled - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 1 - - # The following properties are affected by this value -}; - -# < -# Framebuffers should install a default palette -# Framebuffer devices which involve a writeable palette may set this -# to a default palette when activated by cyg_fb_on() or equivalent -# functionality. This is useful when the application will access the -# framebuffer directly. It is less useful if a higher-level graphics -# library is in use because typically that will install its own -# palette, and typically there is a code/data overhead of approximately 1K. -# -cdl_option CYGFUN_IO_FRAMEBUF_INSTALL_DEFAULT_PALETTE { - # This option is not active - # ActiveIf constraint: CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE - # CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE == 0 - # --> 0 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Framebuffer build options -# Package specific build options including control over -# compiler flags used only in building the generic frame -# buffer package, and details of which tests are built. -# -cdl_component CYGPKG_IO_FRAMEBUF_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the generic framebuffer package. These flags -# are used in addition to the set of global flags. -# -cdl_option CYGPKG_IO_FRAMEBUF_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 generic framebuffer package. These flags -# are removed from the set of global flags if present. -# -cdl_option CYGPKG_IO_FRAMEBUF_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# Framebuffer tests -# This option specifies the set of tests for the framebuffer package -# -cdl_option CYGPKG_IO_FRAMEBUF_TESTS { - # ActiveIf constraint: CYGINT_IO_FRAMEBUF_DEVICES - # CYGINT_IO_FRAMEBUF_DEVICES == 1 - # --> 1 - - # Calculated value: "tests/fb tests/fbmacro" - # Flavor: booldata - # Current value: 1 tests/fb tests/fbmacro -}; - -# < -# i386 Target Framebuffer device driver -# doc: ref/devs-framebuf-i386-ref.html -# This package provides a framebuffer device driver for the -# i386 target. -# -cdl_package CYGPKG_DEVS_FRAMEBUF_I386 { - # 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_FRAMEBUF - # CYGPKG_IO_FRAMEBUF == current - # --> 1 - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 v3_0 -}; - -# > -# Provide framebuffer device fb0 -# The synthetic target framebuffer driver can provide up to -# four framebuffer devices, named fb0 to fb3. Each device's -# width, height, depth, and colour format can be controlled. -# This option enables device fb -# -cdl_component CYGPKG_DEVS_FRAMEBUF_I386_FB { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " fb0 ") - # CYGDAT_IO_FRAMEBUF_DEVICES == " fb0 " - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_DEVS_FRAMEBUF_I386_FUNCTIONALITY - # ActiveIf: CYGPKG_DEVS_FRAMEBUF_I386_FB -}; - -# > -# fb base address -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_BASE_ADDRESS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 0x0000A000 - # value_source default - # Default value: 0x0000A000 -}; - -# fb0 width -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 320 - # value_source default - # Default value: 320 - # Legal values: 16 to 4096 - - # The following properties are affected by this value - # option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_WIDTH - # DefaultValue: CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH - # option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_WIDTH - # LegalValues: 16 to CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH -}; - -# fb0 height -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 240 - # value_source default - # Default value: 240 - # Legal values: 16 to 4096 - - # The following properties are affected by this value - # option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_HEIGHT - # DefaultValue: CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT - # option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_HEIGHT - # LegalValues: 16 to CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT -}; - -# fb0 format -# Each synthetic target framebuffer device can be configured -# to emulate a particular format. This consists of two fields: -# depth and colour. The depth is in bits per pixel and can be -# 8bpp, 16bpp or 32bpp. Colour can be either paletted or true colour. -# 16bpp and 32bpp implies true colour. 8bpp can be either paletted -# or true colour. For 8bpp the default palette is VGA. The application -# can change these default palettes as required to match the hardware being emulated. -# -cdl_option CYGDAT_DEVS_FRAMEBUF_I386_FB_FORMAT { - # Flavor: data - user_value 8BPP_TRUE_332 - # value_source user - # Default value: 8BPP_PAL888 - # Legal values: - # "8BPP_PAL888" "8BPP_TRUE_332" - # "16BPP_TRUE_565" "16BPP_TRUE_555" - # "32BPP_TRUE_0888" - # -}; - -# fb0 provides viewport support -# Optionally framebuffer device can support a viewport. -# In other words only a subset of the framebuffer, the viewport, -# is actually visible on the display and application code can -# move this viewport. -# -cdl_component CYGIMP_DEVS_FRAMEBUF_I386_FB_VIEWPORT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# > -# fb0 viewport width -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_WIDTH { - # This option is not active - # The parent CYGIMP_DEVS_FRAMEBUF_I386_FB_VIEWPORT is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 320 - # value_source default - # Default value: CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH - # CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH == 320 - # --> 320 - # Legal values: 16 to CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH - # CYGNUM_DEVS_FRAMEBUF_I386_FB_WIDTH == 320 -}; - -# fb0 viewport height -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_VIEWPORT_HEIGHT { - # This option is not active - # The parent CYGIMP_DEVS_FRAMEBUF_I386_FB_VIEWPORT is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 240 - # value_source default - # Default value: CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT - # CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT == 240 - # --> 240 - # Legal values: 16 to CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT - # CYGNUM_DEVS_FRAMEBUF_I386_FB_HEIGHT == 240 -}; - -# < -# fb0 supports page flipping -# Optionally framebuffer device can support page flipping. -# The device supports between two and four pages, only one -# of which is visible on the display. This allows code to -# update one page without disturbing what is currently visible. -# -cdl_option CYGNUM_DEVS_FRAMEBUF_I386_FB_PAGE_FLIPPING { - # Flavor: booldata - # No user value, uncomment the following line to provide one. - # user_value 0 0 - # value_source default - # Default value: 0 0 - # Legal values: 2 3 4 -}; - -# < -# Functionality supported by the enabled framebuffer(s) -# The generic framebuffer code needs configure-time information about -# functionality of the enabled framebuffer or framebuffers. Usually -# all this information is fixed by the hardware, but the i386 -# target framebuffer support is more flexible than real hardware. To -# cope with this some dummy options are needed. -# -cdl_component CYGPKG_DEVS_FRAMEBUF_I386_FUNCTIONALITY { - # ActiveIf constraint: CYGPKG_DEVS_FRAMEBUF_I386_FB - # CYGPKG_DEVS_FRAMEBUF_I386_FB == 1 - # --> 1 - - # There is no associated value. -}; - -# > -# One or more of the enabled framebuffer devices uses a true colour display -# -cdl_option CYGHWR_DEVS_FRAMEBUF_SYNTH_TRUE_COLOUR { - # Calculated value: is_substr(CYGDAT_DEVS_FRAMEBUF_SYNTH_FB0_FORMAT, "TRUE") || - # is_substr(CYGDAT_DEVS_FRAMEBUF_SYNTH_FB1_FORMAT, "TRUE") || - # is_substr(CYGDAT_DEVS_FRAMEBUF_SYNTH_FB2_FORMAT, "TRUE") || - # is_substr(CYGDAT_DEVS_FRAMEBUF_SYNTH_FB3_FORMAT, "TRUE") - # CYGDAT_DEVS_FRAMEBUF_SYNTH_FB0_FORMAT (unknown) == 0 - # CYGDAT_DEVS_FRAMEBUF_SYNTH_FB1_FORMAT (unknown) == 0 - # CYGDAT_DEVS_FRAMEBUF_SYNTH_FB2_FORMAT (unknown) == 0 - # CYGDAT_DEVS_FRAMEBUF_SYNTH_FB3_FORMAT (unknown) == 0 - # Flavor: bool - # Current value: 0 -}; - -# < -# Framebuffer build options -# Package specific build options including control over -# compiler flags used only in building the synthetic -# target framebuffer device driver. -# -cdl_component CYGPKG_DEVS_FRAMEBUF_I386_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for building -# the synthetic target framebuffer device driver. These flags -# are used in addition to the set of global flags. -# -cdl_option CYGPKG_DEVS_FRAMEBUF_I386_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 synthetic target framebuffer device driver. These flags -# are removed from the set of global flags if present. -# -cdl_option CYGPKG_DEVS_FRAMEBUF_I386_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "" - # value_source default - # Default value: "" -}; - -# < -# < -# < -# Block cache and access library -# -cdl_package CYGPKG_BLOCK_LIB { - # 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_MEMALLOC - # CYGPKG_MEMALLOC == current - # --> 1 - # Requires: CYGPKG_LINUX_COMPAT - # CYGPKG_LINUX_COMPAT == current - # --> 1 - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 -}; - -# > -# Block access statistics support -# This option enables statistics for -# block access operations. -# -cdl_option CYGIMP_BLOCK_LIB_STATISTICS { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 -}; - -# < -# Linux compatibility layer -# eCos supports a basic Linux compatibility Layer providing various -# functions, equivalents or stubs expected by Linux kernel code, for -# assistance in porting drivers and file system code from Linux. -# Note this does not provide Linux compatibility to applications. -# -cdl_package CYGPKG_LINUX_COMPAT { - # 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_BLOCK_LIB - # Requires: CYGPKG_LINUX_COMPAT -}; - -# > -# Define page size -# Define the page size. The value entered here is used as an -# exponent X in the expression 2^^X to ensure that the page -# size is always an integer power of two. -# -cdl_option CYGNUM_LINUX_COMPAT_PAGE_SIZE_EXPONENT { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 12 - # value_source default - # Default value: 12 - # Legal values: 10 to 16 -}; - -# < -# POSIX compatibility layer -# doc: ref/posix-compatibility.html -# This package enables the POSIX compatibility -# layer that implements IEEE 1003.1. -# -cdl_package CYGPKG_POSIX { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGIMP_KERNEL_SCHED_SORTED_QUEUES - # CYGIMP_KERNEL_SCHED_SORTED_QUEUES == 1 - # --> 1 - # Requires: CYGBLD_ISO_POSIX_LIMITS_HEADER == "<cyg/posix/limits.h>" - # CYGBLD_ISO_POSIX_LIMITS_HEADER == <cyg/posix/limits.h> - # --> 1 - # Requires: CYGBLD_ISO_PMUTEXTYPES_HEADER == "<cyg/posix/muttypes.h>" - # CYGBLD_ISO_PMUTEXTYPES_HEADER == <cyg/posix/muttypes.h> - # --> 1 - # Requires: CYGBLD_ISO_PTHREAD_MUTEX_HEADER == "<cyg/posix/mutex.h>" - # CYGBLD_ISO_PTHREAD_MUTEX_HEADER == <cyg/posix/mutex.h> - # --> 1 -}; - -# > -# POSIX pthread mutexes -# This component provides support for POSIX pthreads -# mutexes. -# -cdl_component CYGPKG_POSIX_PTHREAD_MUTEX { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # -}; - -# > -# POSIX mutex priority inheritance feature test macro -# This option defines the POSIX feature test macro for -# supporting priority inheritance protocol in mutexes. -# -cdl_option _POSIX_THREAD_PRIO_INHERIT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT == 1 - # --> 1 -}; - -# POSIX mutex priority ceiling feature test macro -# This option defines the POSIX feature test macro for -# supporting priority ceiling protocol in mutexes. -# -cdl_option _POSIX_THREAD_PRIO_PROTECT { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING - # CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING == 1 - # --> 1 -}; - -# < -# POSIX scheduling configuration -# This component provides controls over scheduling in POSIX. -# -cdl_component CYGPKG_POSIX_SCHED { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_POSIX_CLOCKS - # CYGPKG_POSIX_CLOCKS == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGPKG_POSIX_PTHREAD_REQUIREMENTS - # Requires: CYGPKG_POSIX_SCHED -}; - -# > -# POSIX priority scheduling feature test macro -# This option defines the POSIX feature test macro that -# indicates that priority scheduling is present. This -# should not be undefined. -# -cdl_option _POSIX_PRIORITY_SCHEDULING { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_KERNEL_SCHED_MLQUEUE - # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 - # --> 1 -}; - -# < -# POSIX pthread configuration -# This component provides configuration controls for the -# POSIX pthreads package. -# -cdl_component CYGPKG_POSIX_PTHREAD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TIMERS - # Requires: CYGPKG_POSIX_PTHREAD - # component CYGPKG_POSIX_SIGNALS - # Requires: CYGPKG_POSIX_PTHREAD - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # option CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS - # Requires: CYGSEM_LIBC_STARTUP_MAIN_THREAD || (CYGSEM_LIBC_STARTUP_MAIN_OTHER && CYGPKG_POSIX_PTHREAD) -}; - -# > -# Generic requirements of pthread package -# This option exists merely to carry the pthread -# package requirements. -# -cdl_option CYGPKG_POSIX_PTHREAD_REQUIREMENTS { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGPKG_POSIX_SCHED - # CYGPKG_POSIX_SCHED == 1 - # --> 1 - # Requires: CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE - # CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE == 1 - # --> 1 - # Requires: CYGSEM_KERNEL_SCHED_ASR_SUPPORT - # CYGSEM_KERNEL_SCHED_ASR_SUPPORT == 1 - # --> 1 - # Requires: CYGSEM_KERNEL_SCHED_ASR_GLOBAL - # CYGSEM_KERNEL_SCHED_ASR_GLOBAL == 1 - # --> 1 - # Requires: !CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL - # CYGSEM_KERNEL_SCHED_ASR_DATA_GLOBAL == 0 - # --> 1 - # Requires: CYGFUN_KERNEL_THREADS_STACK_LIMIT - # CYGFUN_KERNEL_THREADS_STACK_LIMIT == 1 - # --> 1 - # Requires: CYGBLD_ISO_PTHREADTYPES_HEADER == "<cyg/posix/types.h>" - # CYGBLD_ISO_PTHREADTYPES_HEADER == <cyg/posix/types.h> - # --> 1 - # Requires: CYGBLD_ISO_PTHREAD_IMPL_HEADER == "<cyg/posix/pthread.h>" - # CYGBLD_ISO_PTHREAD_IMPL_HEADER == <cyg/posix/pthread.h> - # --> 1 -}; - -# Constant values used in pthread package -# These are values that are either configurable, or derived -# from system parameters. -# -cdl_component CYGPKG_POSIX_PTHREAD_VALUES { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# Maximum number of iterations of key destructors -# Maximum number of iterations of key destructors allowed. -# -cdl_option CYGNUM_POSIX_PTHREAD_DESTRUCTOR_ITERATIONS { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 4 to 100 -}; - -# Maximum number of per-thread data keys allowed -# Number of per-thread data keys supported. -# -cdl_option CYGNUM_POSIX_PTHREAD_KEYS_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 128 - # value_source default - # Default value: 128 - # Legal values: 128 to 65535 -}; - -# Maximum number of threads allowed -# Maximum number of threads supported. -# -cdl_option CYGNUM_POSIX_PTHREAD_THREADS_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 64 - # value_source default - # Default value: 64 - # Legal values: 64 to 1024 -}; - -# < -# Fixed Feature test macros for POSIX -# These options define POSIX feature test macros that -# describe the eCos implementation of pthreads. These -# are not changeable configuration options. -# -cdl_component CYGPKG_POSIX_PTHREAD_FEATURES { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# > -# POSIX thread support feature test macro -# This option defines the POSIX feature test macro -# for thread support. -# -cdl_option _POSIX_THREADS { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_KERNEL_SCHED_TIMESLICE - # CYGSEM_KERNEL_SCHED_TIMESLICE == 1 - # --> 1 - # Requires: CYGVAR_KERNEL_THREADS_DATA - # CYGVAR_KERNEL_THREADS_DATA == 1 - # --> 1 - - # The following properties are affected by this value - # option _POSIX_THREAD_PRIORITY_SCHEDULING - # Requires: _POSIX_THREADS -}; - -# POSIX thread priority scheduling feature test macro -# This option defines the POSIX feature test macro -# for thread priority scheduling support. -# -cdl_option _POSIX_THREAD_PRIORITY_SCHEDULING { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: CYGSEM_KERNEL_SCHED_MLQUEUE - # CYGSEM_KERNEL_SCHED_MLQUEUE == 1 - # --> 1 - # Requires: _POSIX_THREADS - # _POSIX_THREADS == 1 - # --> 1 -}; - -# POSIX stack address attribute feature test macro -# This option defines the POSIX feature test macro -# for supporting the thread stack address in the thread -# attribute object. -# -cdl_option _POSIX_THREAD_ATTR_STACKADDR { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# POSIX stack size attribute feature test macro -# This option defines the POSIX feature test macro -# for supporting the thread stack size in the thread -# attribute object. -# -cdl_option _POSIX_THREAD_ATTR_STACKSIZE { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 -}; - -# POSIX process shared attribute feature test macro -# This option defines the POSIX feature test macro -# for supporting process shared mutexes. Since eCos -# does not have processes, this attribute is undefined. -# -cdl_option _POSIX_THREAD_PROCESS_SHARED { - # Calculated value: 0 - # Flavor: bool - # Current value: 0 -}; - -# < -# Main thread configuration -# These options control the thread used to -# run the main() application entry routine. -# -cdl_component CYGPKG_POSIX_MAIN_THREAD { - # Calculated value: 1 - # Flavor: bool - # Current value: 1 - # Requires: 0 != CYGPKG_LIBC_STARTUP - # CYGPKG_LIBC_STARTUP == current - # --> 1 - # Requires: CYGSEM_LIBC_STARTUP_MAIN_OTHER - # CYGSEM_LIBC_STARTUP_MAIN_OTHER == 1 - # --> 1 -}; - -# > -# main()'s default thread priority -# POSIX compatibility requires that the application's -# main() function be invoked in a thread. -# This option controls the priority of that thread. This -# priority is the POSIX priority and is NOT the same as -# an eCos thread priority. With POSIX thread priorities, -# lower numbers are lower priority, and higher numbers are -# higher priority. -# -cdl_option CYGNUM_POSIX_MAIN_DEFAULT_PRIORITY { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 0 to 31 -}; - -# < -# < -# POSIX clocks -# This component provides configuration controls for -# the POSIX clocks and the sleep(), nanosleep() and -# gettimeofday() functions. -# -cdl_option CYGPKG_POSIX_CLOCKS { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER == "<cyg/posix/time.h>" - # CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER == <cyg/posix/time.h> - # --> 1 - # Requires: CYGBLD_ISO_POSIX_CLOCKS_HEADER == "<cyg/posix/time.h>" - # CYGBLD_ISO_POSIX_CLOCKS_HEADER == <cyg/posix/time.h> - # --> 1 - # Requires: CYGBLD_ISO_STRUCTTIMEVAL_HEADER == "<cyg/posix/sys/time.h>" - # CYGBLD_ISO_STRUCTTIMEVAL_HEADER == <cyg/posix/sys/time.h> - # --> 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_POSIX_SCHED - # Requires: CYGPKG_POSIX_CLOCKS - # component CYGPKG_POSIX_MQUEUES - # Requires: CYGPKG_POSIX_CLOCKS -}; - -# POSIX timers -# This component provides configuration controls for -# the POSIX timers. -# -cdl_option CYGPKG_POSIX_TIMERS { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 - # Requires: CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER == "<cyg/posix/time.h>" - # CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER == <cyg/posix/time.h> - # --> 1 - # Requires: CYGBLD_ISO_POSIX_TIMERS_HEADER == "<cyg/posix/time.h>" - # CYGBLD_ISO_POSIX_TIMERS_HEADER == <cyg/posix/time.h> - # --> 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - # Requires: CYGVAR_KERNEL_COUNTERS_CLOCK - # CYGVAR_KERNEL_COUNTERS_CLOCK == 1 - # --> 1 - # Requires: CYGPKG_POSIX_PTHREAD - # CYGPKG_POSIX_PTHREAD == 1 - # --> 1 - # Requires: CYGPKG_POSIX_SIGNALS - # CYGPKG_POSIX_SIGNALS == 0 - # --> 0 - # Requires: CYGINT_ISO_POSIX_CLOCKS - # CYGINT_ISO_POSIX_CLOCKS == 1 - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_POSIX_SIGNALS - # Requires: CYGPKG_POSIX_TIMERS - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # -}; - -# POSIX semaphores -# This component provides configuration controls for -# POSIX semaphores. -# -cdl_option CYGPKG_POSIX_SEMAPHORES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGBLD_ISO_SEMAPHORES_HEADER == "<cyg/posix/semaphore.h>" - # CYGBLD_ISO_SEMAPHORES_HEADER == <cyg/posix/semaphore.h> - # --> 1 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # -}; - -# POSIX message queues -# This component provides configuration controls for -# POSIX message queues. -# -cdl_component CYGPKG_POSIX_MQUEUES { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGINT_ISO_PTHREAD_MUTEX - # CYGINT_ISO_PTHREAD_MUTEX == 1 - # --> 1 - # Requires: CYGPKG_POSIX_CLOCKS - # CYGPKG_POSIX_CLOCKS == 1 - # --> 1 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # -}; - -# > -# Maximum number of message queues -# -cdl_option CYGNUM_POSIX_MQUEUE_OPEN_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: 1 to 999999 - - # The following properties are affected by this value - # option CYGNUM_ISO_MQUEUE_OPEN_MAX - # DefaultValue: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 - # option CYGNUM_ISO_MQUEUE_OPEN_MAX - # DefaultValue: CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 -}; - -# Validate queue descriptors -# This option turns on checking that message queue descriptors -# (of type mqd_t) passed into mq_* functions are valid. If so, -# the functions will fail with EBADF, as POSIX 1003.1 mandates. -# If this option is disabled, if an invalid descriptor is used, -# random corruption may occur, or the system may crash. If -# you are confident invalid descriptors will not be used, -# you may wish to be disable this to save some per-instance -# memory and execution time. -# -cdl_option CYGIMP_POSIX_MQUEUE_VALIDATE_DESCRIPTOR { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Allow empty queue notification -# Enabling this option adds the function mq_notify() to the -# API. Without it, some code and per-message queue descriptor -# space is saved, as well as no longer requiring POSIX realtime -# signal support. -# -cdl_option CYGFUN_POSIX_MQUEUE_NOTIFY { - # Flavor: bool - user_value 0 - # value_source user - # Default value: CYGPKG_POSIX_SIGNALS - # CYGPKG_POSIX_SIGNALS == 0 - # --> 0 - # Requires: CYGPKG_POSIX_SIGNALS - # CYGPKG_POSIX_SIGNALS == 0 - # --> 0 -}; - -# < -# POSIX signals configuration -# This component provides configuration controls for -# the POSIX signals. -# -cdl_component CYGPKG_POSIX_SIGNALS { - # Flavor: bool - user_value 0 - # value_source user - # Default value: 1 - # Requires: CYGPKG_KERNEL_EXCEPTIONS - # CYGPKG_KERNEL_EXCEPTIONS == 1 - # --> 1 - # Requires: CYGPKG_POSIX_PTHREAD - # CYGPKG_POSIX_PTHREAD == 1 - # --> 1 - # Requires: CYGPKG_POSIX_TIMERS - # CYGPKG_POSIX_TIMERS == 0 - # --> 0 - # Requires: CYGBLD_ISO_SIGSETJMP_HEADER == "<cyg/posix/sigsetjmp.h>" - # CYGBLD_ISO_SIGSETJMP_HEADER == <cyg/posix/sigsetjmp.h> - # --> 1 - # Requires: CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == "<cyg/posix/signal.h>" - # CYGBLD_ISO_SIGNAL_NUMBERS_HEADER == <cyg/libc/signals/signal.h> - # --> 0 - # Requires: CYGBLD_ISO_SIGNAL_IMPL_HEADER == "<cyg/posix/signal.h>" - # CYGBLD_ISO_SIGNAL_IMPL_HEADER == <cyg/libc/signals/signal.h> - # --> 0 - - # The following properties are affected by this value - # option CYGPKG_POSIX_TIMERS - # Requires: CYGPKG_POSIX_SIGNALS - # option CYGFUN_POSIX_MQUEUE_NOTIFY - # Requires: CYGPKG_POSIX_SIGNALS - # option CYGFUN_POSIX_MQUEUE_NOTIFY - # DefaultValue: CYGPKG_POSIX_SIGNALS - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # option CYGPKG_POSIX_TESTS - # Calculated: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # -}; - -# POSIX utsname configuration -# This component provides configuration controls for -# the POSIX utsname structure and the uname() function. -# -cdl_component CYGPKG_POSIX_UTSNAME { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Requires: CYGBLD_ISO_UTSNAME_HEADER == "<cyg/posix/utsname.h>" - # CYGBLD_ISO_UTSNAME_HEADER == <cyg/posix/utsname.h> - # --> 1 -}; - -# > -# Length of name strings in utsname structure -# -cdl_option CYG_POSIX_UTSNAME_LENGTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 65 - # value_source default - # Default value: 65 - # Legal values: 1 to 99999999 - - # The following properties are affected by this value - # option CYG_POSIX_UTSNAME_NODENAME_LENGTH - # DefaultValue: CYG_POSIX_UTSNAME_LENGTH -}; - -# Length of nodename string in utsname structure -# -cdl_option CYG_POSIX_UTSNAME_NODENAME_LENGTH { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 65 - # value_source default - # Default value: CYG_POSIX_UTSNAME_LENGTH - # CYG_POSIX_UTSNAME_LENGTH == 65 - # --> 65 - # Legal values: 1 to 99999999 -}; - -# < -# POSIX tests -# This option specifies the set of tests for the POSIX package. -# -cdl_option CYGPKG_POSIX_TESTS { - # Calculated value: - # (CYGPKG_POSIX_PTHREAD ? "tests/pthread1 tests/pthread2 tests/pthread3 " - # : "") . - # (CYGPKG_POSIX_PTHREAD_MUTEX ? "tests/pmutex3 " : "") . - # (CYGPKG_POSIX_MQUEUES ? "tests/pmqueue1 tests/pmqueue2 " : "") . - # (CYGPKG_POSIX_SIGNALS ? "tests/signal1 tests/signal2 tests/signal3 tests/sigsetjmp " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/timer1 " : "") . - # ((CYGPKG_POSIX_SIGNALS && - # CYGPKG_POSIX_TIMERS && - # CYGPKG_POSIX_PTHREAD && - # CYGPKG_POSIX_SEMAPHORES) ? "tests/tm_posix " : "") - # - # CYGPKG_POSIX_PTHREAD == 1 - # CYGPKG_POSIX_PTHREAD_MUTEX == 1 - # CYGPKG_POSIX_MQUEUES == 1 - # CYGPKG_POSIX_SIGNALS == 0 - # CYGPKG_POSIX_SIGNALS == 0 - # CYGPKG_POSIX_TIMERS == 0 - # CYGPKG_POSIX_SEMAPHORES == 1 - # CYGPKG_POSIX_SIGNALS == 0 - # CYGPKG_POSIX_TIMERS == 0 - # CYGPKG_POSIX_PTHREAD == 1 - # CYGPKG_POSIX_SEMAPHORES == 1 - # Flavor: data - # Current_value: tests/pthread1 tests/pthread2 tests/pthread3 tests/pmutex3 tests/pmqueue1 tests/pmqueue2 -}; - -# < -# POSIX File IO compatibility layer -# doc: ref/fileio.html -# This package enables the POSIX compatibility -# layer that implements IEEE 1003.1 file IO. -# -cdl_package CYGPKG_IO_FILEIO { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_STRFUNCS - # CYGINT_ISO_STRING_STRFUNCS == 1 - # --> 1 - # Requires: CYGBLD_ISO_DIRENT_HEADER == "<cyg/fileio/dirent.h>" - # CYGBLD_ISO_DIRENT_HEADER == <cyg/fileio/dirent.h> - # --> 1 - # Requires: CYGBLD_ISO_OPEN_MAX_HEADER == "<cyg/fileio/limits.h>" - # CYGBLD_ISO_OPEN_MAX_HEADER == <cyg/fileio/limits.h> - # --> 1 - # Requires: CYGBLD_ISO_NAME_MAX_HEADER == "<cyg/fileio/limits.h>" - # CYGBLD_ISO_NAME_MAX_HEADER == <cyg/fileio/limits.h> - # --> 1 - - # The following properties are affected by this value - # component CYGPKG_IO_FILE_SUPPORT - # ActiveIf: !CYGPKG_IO_FILEIO - # component CYGPKG_IO_SERIAL_TERMIOS - # Requires: CYGPKG_IO_FILEIO - # component CYGPKG_IO_SERIAL_TERMIOS - # DefaultValue: 0 != CYGPKG_ISOINFRA && 0 != CYGPKG_IO_FILEIO && 0 != CYGINT_ISO_ERRNO_CODES && 0 != CYGINT_ISO_ERRNO - # option CYGPKG_IO_SERIAL_SELECT_SUPPORT - # ActiveIf: CYGPKG_IO_FILEIO - # option CYGPKG_LIBC_STDIO_FILEIO - # ActiveIf: CYGPKG_IO_FILEIO - # option CYGPKG_LIBC_STDIO_TESTS - # Calculated: - # "tests/sprintf1 tests/sprintf2 tests/snprintf tests/sscanf tests/stdiooutput " - # . ((CYGPKG_IO_FILEIO && CYGPKG_FS_RAM) ? "tests/fileio " : "") - # - # component CYGCLS_USTL_FSTREAMS - # DefaultValue: CYGPKG_IO_FILEIO - # component CYGCLS_USTL_FSTREAMS - # Requires: CYGPKG_IO_FILEIO -}; - -# > -# Filesystems interfacing to FILEIO -# Each filesystem driver which FILEIO can use implements -# this interface. You can use this to determine if there are -# any filesystems configured in the system. -# -cdl_interface CYGINT_IO_FILEIO_FS { - # No options implement this inferface - # This value cannot be modified here. - # Flavor: data - # Current_value: 0 -}; - -# Enable support for select() -# This option enables support for select(). -# -cdl_option CYGFUN_IO_FILEIO_SELECT { - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGPKG_IO_SERIAL_SELECT_SUPPORT - # Requires: CYGFUN_IO_FILEIO_SELECT == 1 -}; - -# Enable devfs support -# This option enables support for the devfs file system. -# -cdl_option CYGPKG_IO_FILEIO_DEVFS_SUPPORT { - # ActiveIf constraint: CYGPKG_IO - # CYGPKG_IO == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: CYGPKG_REDBOOT ? 0 : 1 - # CYGPKG_REDBOOT (unknown) == 0 - # --> 1 -}; - -# Enable socket support -# This option enables support for the socket interface. It is -# only present if the NET package is included. -# -cdl_option CYGPKG_IO_FILEIO_SOCKET_SUPPORT { - # This option is not active - # ActiveIf constraint: CYGPKG_NET - # CYGPKG_NET (unknown) == 0 - # --> 0 - # ActiveIf constraint: CYGPKG_KERNEL - # CYGPKG_KERNEL == current - # --> 1 - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Maximum number of open files -# This option controls the number of open files -# that are allowed for all filesystems. -# -cdl_option CYGNUM_FILEIO_NFILE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 1 to 9999999 - - # The following properties are affected by this value - # option CYGNUM_FILEIO_NFD - # LegalValues: CYGNUM_FILEIO_NFILE to 9999999 -}; - -# Maximum number of open file descriptors -# This option controls the number of open file descriptors -# that are allowed for all filesystems. -# -cdl_option CYGNUM_FILEIO_NFD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: CYGNUM_FILEIO_NFILE to 9999999 - # CYGNUM_FILEIO_NFILE == 16 -}; - -# Maximum number of installed filesystems -# This option controls the maximum number of filesystems -# that can be handled by the fileio system. -# -cdl_option CYGNUM_FILEIO_FSTAB_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 4 - # value_source default - # Default value: 4 - # Legal values: 1 to 9999999 -}; - -# Maximum number of mounted filesystems -# This option controls the maximum number of mounted -# filesystems that can be handled by the fileio system. -# -cdl_option CYGNUM_FILEIO_MTAB_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: CYGNUM_FILEIO_MTAB_EXTRA to 9999999 - # CYGNUM_FILEIO_MTAB_EXTRA == 8 -}; - -# Number of dynamically mounted filesystems -# This option controls the number of mounted -# filesystems that can be created dynamically. -# -cdl_option CYGNUM_FILEIO_MTAB_EXTRA { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 8 - # value_source default - # Default value: 8 - # Legal values: 0 to 9999999 - - # The following properties are affected by this value - # option CYGNUM_FILEIO_MTAB_MAX - # LegalValues: CYGNUM_FILEIO_MTAB_EXTRA to 9999999 -}; - -# Maximum number of installed network stacks -# This option controls the maximum number of installed -# network stacks that can be handled by the fileio system. -# -cdl_option CYGNUM_FILEIO_NSTAB_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - # Legal values: 1 to 9999999 -}; - -# Enable current directory tracking -# This option enables tracking of the name of the current -# directory in the FILEIO package, to support the getcwd() -# function. When this option is enabled the FILEIO package -# will attempt to maintain a string that names the current -# directory. It does this textually, dealing with "." and -# ".." entries by textual manipulation. While this should -# always provide a path for the current directory, it may not -# be the best, if symbolic links are present. This tracked CWD -# is only used if a filesystem does not support the -# FS_INFO_GETCWD key. -# -cdl_option CYGPKG_IO_FILEIO_TRACK_CWD { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 -}; - -# Generic inode support -# This option enables generic inode support useful to -# some filesystems. Not all filesystems require this -# so it is not enabled by default. -# -cdl_component CYGPKG_IO_FILEIO_INODE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 -}; - -# > -# Maximum space for unused cached inodes -# The inode cache allows a maximum limit to be set -# for the number of unused inodes still in the -# cache before they are freed. It may be set to 0 -# to indicate no dead inode caching should be -# provided. -# -cdl_option CYGNUM_IO_FILEIO_MAX_INODE_CACHE_DEAD { - # This option is not active - # The parent CYGPKG_IO_FILEIO_INODE is disabled - - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 10 - # value_source default - # Default value: 10 -}; - -# < -# Maximum size of iovec used by readv/writev -# This option controls the maximum size of the iovec -# structure that can be used by readv()/writev(). This -# limit is required because the iovec structure must be -# invariant (to the user), thus a copy needs to be made -# by the interface routines. The limit is merely a -# control over the amount of stack space used by the -# readv()/writev() functions. -# -cdl_option CYGNUM_FILEIO_IOVEC_MAX { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value 16 - # value_source default - # Default value: 16 - # Legal values: 1 to 9999999 -}; - -# cyg_fs_getinfo call for disk usage -# Enabling this option includes code in some filesystems to -# implement a call using cyg_fs_getinfo to return the current -# filesystem block usage. -# -cdl_option CYGSEM_FILEIO_INFO_DISK_USAGE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# POSIX fnmatch configuration -# This component provides configuration controls for -# the POSIX fnmatch() function. -# -cdl_component CYGPKG_FILEIO_FNMATCH { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: ( CYGINT_ISO_STRING_STRFUNCS && CYGINT_ISO_CTYPE ) - # CYGINT_ISO_STRING_STRFUNCS == 1 - # CYGINT_ISO_CTYPE == 1 - # --> 1 - # Requires: CYGBLD_ISO_FNMATCH_HEADER == "<cyg/fileio/fnmatch.h>" - # CYGBLD_ISO_FNMATCH_HEADER == <cyg/fileio/fnmatch.h> - # --> 1 -}; - -# Struct dirent contains a d_type field -# If this option is enabled then struct dirent contains a -# d_type field. With this field, file type may be -# distinguished directly without calling stat. Note: This -# member is not part of the POSIX standard, however is -# commonely implemented in Linux, FreeBSD, but not SunOS. -# Also, not all filesystems support it. So this feature is -# not portable and should be used with caution. -# -cdl_option CYGPKG_FILEIO_DIRENT_DTYPE { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# Fileio tests -# This option specifies the set of tests for the FileIO package. -# -cdl_option CYGPKG_IO_FILEIO_TESTS { - # Calculated value: "tests/fileio1 tests/socket tests/select tests/stdio tests/pselect tests/fnmatch" - # Flavor: data - # Current_value: tests/fileio1 tests/socket tests/select tests/stdio tests/pselect tests/fnmatch -}; - -# < -# uSTL library -# doc: ref/ustl.html -# This package provides the uSTL library. uSTL is a -# partial implementation of the STL specification intended to -# reduce code size of the derivative programs. This allows the -# user application to use well known standard C++ STL library -# containers, streams, iterators, algorithms and functors. -# -cdl_package CYGPKG_USTL { - # Packages cannot be added or removed, nor can their version be changed, - # simply by editing their value. Instead the appropriate configuration - # should be used to perform these actions. - - # This value cannot be modified here. - # Flavor: booldata - # Current value: 1 current - # Requires: CYGPKG_IO - # CYGPKG_IO == current - # --> 1 - # Requires: CYGPKG_ERROR - # CYGPKG_ERROR == current - # --> 1 - # Requires: CYGPKG_ISOINFRA - # CYGPKG_ISOINFRA == current - # --> 1 - # Requires: CYGPKG_LIBM - # CYGPKG_LIBM == current - # --> 1 - # Requires: CYGINT_ISO_MALLOC - # CYGINT_ISO_MALLOC == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FORMATTED_IO - # CYGINT_ISO_STDIO_FORMATTED_IO == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_CHAR_IO - # CYGINT_ISO_STDIO_CHAR_IO == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_DIRECT_IO - # CYGINT_ISO_STDIO_DIRECT_IO == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_ERROR - # CYGINT_ISO_STDIO_ERROR == 1 - # --> 1 - # Requires: CYGINT_ISO_SIGNAL_NUMBERS - # CYGINT_ISO_SIGNAL_NUMBERS == 1 - # --> 1 - # Requires: CYGINT_ISO_SIGNAL_IMPL - # CYGINT_ISO_SIGNAL_IMPL == 1 - # --> 1 - # Requires: CYGINT_ISO_C_TIME_TYPES - # CYGINT_ISO_C_TIME_TYPES == 1 - # --> 1 - # Requires: CYGINT_ISO_EXIT - # CYGINT_ISO_EXIT == 1 - # --> 1 - # Requires: CYGINT_ISO_MAIN_STARTUP - # CYGINT_ISO_MAIN_STARTUP == 1 - # --> 1 - # Requires: CYGINT_ISO_ENVIRON - # CYGINT_ISO_ENVIRON == 1 - # --> 1 - # Requires: CYGINT_ISO_STRTOK_R - # CYGINT_ISO_STRTOK_R == 1 - # --> 1 - # Requires: CYGINT_ISO_STRING_LOCALE_FUNCS - # CYGINT_ISO_STRING_LOCALE_FUNCS == 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_ISO_CTYPE - # CYGINT_ISO_CTYPE == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO_CODES - # CYGINT_ISO_ERRNO_CODES == 1 - # --> 1 - # Requires: CYGINT_ISO_ERRNO - # CYGINT_ISO_ERRNO == 1 - # --> 1 - # Requires: CYGINT_ISO_LOCALE - # CYGINT_ISO_LOCALE == 1 - # --> 1 - # Requires: CYGIMP_LIBC_STDIO_C99_SNPRINTF - # CYGIMP_LIBC_STDIO_C99_SNPRINTF == 1 - # --> 1 -}; - -# > -# File streams support -# This option enables file stream support. For file stream -# support the File I/O package is required. -# -cdl_component CYGCLS_USTL_FSTREAMS { - # Flavor: bool - user_value 0 - # value_source user - # Default value: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - # Requires: CYGPKG_IO_FILEIO - # CYGPKG_IO_FILEIO == current - # --> 1 - # Requires: CYGINT_ISO_STDIO_FILETYPES - # CYGINT_ISO_STDIO_FILETYPES == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FILEACCESS - # CYGINT_ISO_STDIO_FILEACCESS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_FILEPOS - # CYGINT_ISO_STDIO_FILEPOS == 1 - # --> 1 - # Requires: CYGINT_ISO_STDIO_STREAMS - # CYGINT_ISO_STDIO_STREAMS == 1 - # --> 1 -}; - -# > -# cin, cout & cerr support -# Enable this option if you want the standard streams -# cin, cout and cerr to be included. You will not be able -# to run bvt tests if you don't enable this option. -# -cdl_option CYGVAR_USTL_CIN_COUT_CERR { - # This option is not active - # The parent CYGCLS_USTL_FSTREAMS is disabled - - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 1 - # value_source default - # Default value: 1 - - # The following properties are affected by this value - # option CYGPKG_USTL_TESTS - # Calculated: (CYGVAR_USTL_CIN_COUT_CERR ? "tests/bvt00 tests/bvt01 tests/bvt02 tests/bvt03 tests/bvt04 tests/bvt05 tests/bvt06 tests/bvt07 tests/bvt08 tests/bvt09 tests/bvt10 tests/bvt11 tests/bvt12 tests/bvt13 tests/bvt14 tests/bvt15 tests/bvt16 tests/bvt17 tests/bvt18 tests/bvt19 tests/bvt20 tests/bvt21 tests/bvt22 tests/bvt23 tests/bvt24 tests/bvt25 tests/bvt26 tests/bvt27" : "" ) -}; - -# < -# Stream bounds checking -# Enable this option if you want stream operations to throw -# exceptions on insufficient data or insufficient space. -# All these errors should be preventable in output code; -# the input code should verify the data in a separate step. -# It slows down stream operations a lot, but it's your call. -# Debug builds always throws exceptions - this option is -# only valid for release builds. -# -cdl_option CYGSEM_USTL_STREAM_BOUNDS_CHECK { - # Flavor: bool - # No user value, uncomment the following line to provide one. - # user_value 0 - # value_source default - # Default value: 0 -}; - -# uSTL library build options -# Package specific build options including control over -# compiler flags used only in building this package, -# and details of which tests are built. -# -cdl_component CYGPKG_USTL_OPTIONS { - # There is no associated value. -}; - -# > -# Additional compiler flags -# This option modifies the set of compiler flags for -# building the uSTL library. These flags are used in addition -# to the set of global flags. -# -cdl_option CYGPKG_USTL_CFLAGS_ADD { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value "-I\$(PREFIX)/include/ustl" - # value_source default - # Default value: "-I\$(PREFIX)/include/ustl" -}; - -# Suppressed compiler flags -# This option modifies the set of compiler flags for -# building the uSTL library. These flags are removed from -# the set of global flags if present. -# -cdl_option CYGPKG_USTL_CFLAGS_REMOVE { - # Flavor: data - # No user value, uncomment the following line to provide one. - # user_value -Wundef - # value_source default - # Default value: -Wundef -}; - -# uSTL tests -# This option specifies the set of tests for the uSTL library. -# -cdl_option CYGPKG_USTL_TESTS { - # Calculated value: (CYGVAR_USTL_CIN_COUT_CERR ? "tests/bvt00 tests/bvt01 tests/bvt02 tests/bvt03 tests/bvt04 tests/bvt05 tests/bvt06 tests/bvt07 tests/bvt08 tests/bvt09 tests/bvt10 tests/bvt11 tests/bvt12 tests/bvt13 tests/bvt14 tests/bvt15 tests/bvt16 tests/bvt17 tests/bvt18 tests/bvt19 tests/bvt20 tests/bvt21 tests/bvt22 tests/bvt23 tests/bvt24 tests/bvt25 tests/bvt26 tests/bvt27" : "" ) - # CYGVAR_USTL_CIN_COUT_CERR == 0 - # Flavor: data - # Current_value: -}; - -# < -# < -# < - diff --git a/04_EAN/ecosenv.sh b/04_EAN/ecosenv.sh deleted file mode 100755 index 93ac392339a532110240d0ae9833563120293d2d..0000000000000000000000000000000000000000 --- a/04_EAN/ecosenv.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -EZS_BASE_DIR=/proj/i4ezs/tools/ ; export EZS_BASE_DIR - -ECOS_BASE_DIR=$EZS_BASE_DIR/ecos/repo_ezs ; export ECOS_BASE_DIR -EZS_COMPILER_DIR=$EZS_BASE_DIR/gnutools_422 ; export EZS_COMPILER_DIR -EZS_CMAKE_MODULE_DIR=$ECOS_BASE_DIR/tools ; export EZS_CMAKE_MODULE_DIR -ECOS_REPOSITORY=$ECOS_BASE_DIR/packages ; export ECOS_REPOSITORY -UBUNTU_MENUPROXY=0 ; export UBUNTU_MENUPROXY -if [[ $PATH != *ecos* ]] ; then - # eCos paths - do not modify this line, it is used by the installer - PATH=$ECOS_BASE_DIR/tools:$EZS_COMPILER_DIR/bin:$PATH ; export PATH -fi - -FAILBIN="/proj/i4ezs/tools/fail/bin" -if [[ "$PATH" != *"$FAILBIN"* ]] ; then - PATH="$FAILBIN:$PATH" -fi diff --git a/04_EAN/emu/BIOS-bochs-latest b/04_EAN/emu/BIOS-bochs-latest deleted file mode 100644 index 2d3fea31f67a8c140e70b71cf14ceacd397923ab..0000000000000000000000000000000000000000 Binary files a/04_EAN/emu/BIOS-bochs-latest and /dev/null differ diff --git a/04_EAN/emu/fail.sh b/04_EAN/emu/fail.sh deleted file mode 100755 index 49e4e889e72a4a2297285a134d57bf336a3874bf..0000000000000000000000000000000000000000 --- a/04_EAN/emu/fail.sh +++ /dev/null @@ -1,205 +0,0 @@ -#!/usr/bin/env bash - -set -e - -action=${1:?"Mandatory argument artifactsdir not set"} -artifactsdir=${2:?"Mandatory argument artifactsdir not set"} -variantname=${3:?"Mandatory argument variantname not set"} - -faildir="/proj/i4ezs/tools/fail/" - -vgabios="${faildir}/buildartifacts/vgabios.bin" -bochsbioslatest="${faildir}/buildartifacts/BIOS-bochs-latest" - -startmarker="fail_start_trace" -stopmarker="fail_stop_trace" - -okmarker="fail_marker_positive" -failmarker="fail_marker_negative" -detectedmarker="fail_marker_detected" - -function trace { - bochs-experiment-runner.py -e "$variantname" -i "$artifactsdir/system.iso" -1 \ - -V "$vgabios" \ - -b "$bochsbioslatest" \ - -f fail-x86-tracing -- \ - -Wf,--start-symbol="$startmarker" \ - -Wf,--save-symbol="$startmarker" \ - -Wf,--end-symbol="$stopmarker" \ - -Wf,--state-file="$artifactsdir/state" \ - -Wf,--trace-file="$artifactsdir/trace.pb" \ - -Wf,--elf-file="$artifactsdir/system.elf" -q -} - -function import { - test -f "$artifactsdir/trace.pb" || return 1 - import-trace -t "$artifactsdir/trace.pb" -i mem -e "$artifactsdir/system.elf" -v "$variantname" -b mem - import-trace -t "$artifactsdir/trace.pb" -i regs -e "$artifactsdir/system.elf" -v "$variantname" -b regs --flags - import-trace -t "$artifactsdir/trace.pb" -i regs -e "$artifactsdir/system.elf" -v "$variantname" -b ip --no-gp --ip - import-trace -t "$artifactsdir/trace.pb" -i ElfImporter --objdump objdump -e "$artifactsdir"/system.elf -v "$variantname" -b ip - import-trace -t "$artifactsdir/trace.pb" -i ElfImporter --objdump objdump -e "$artifactsdir"/system.elf -v "$variantname" -b mem - import-trace -t "$artifactsdir/trace.pb" -i ElfImporter --objdump objdump -e "$artifactsdir"/system.elf -v "$variantname" -b regs - - import-trace -t "$artifactsdir/trace.pb" -i ElfImporter --objdump objdump -e "$artifactsdir"/system.elf -v "$variantname" -b ip --sources - import-trace -t "$artifactsdir/trace.pb" -i ElfImporter --objdump objdump -e "$artifactsdir"/system.elf -v "$variantname" -b mem --sources - import-trace -t "$artifactsdir/trace.pb" -i ElfImporter --objdump objdump -e "$artifactsdir"/system.elf -v "$variantname" -b regs --sources - - prune-trace -v "$variantname" -b %% --overwrite -} - - -serverpid="" -function start_server { - if [[ -z "${1}" ]] ; then - local target="%" - else - local target=${1} - fi - # Start server - generic-experiment-server -v "$variantname" -b "$target" & - echo server started - serverpid=$! -} - -function start_client { - echo starting client - bochs-experiment-runner.py \ - -e "$artifactsdir"/system.elf \ - -j $(getconf _NPROCESSORS_ONLN) \ - -i "$artifactsdir"/system.iso \ - -V "$vgabios" -b "$bochsbioslatest" \ - -f generic-experiment-client -- \ - -Wf,--state-dir="$artifactsdir"/state \ - -Wf,--trap -Wf,--timeout=500000 \ - -Wf,--ok-marker="$okmarker" \ - -Wf,--fail-marker="$failmarker" \ - -Wf,--detected-marker="$detectedmarker" \ - -Wf,--catch-write-textsegment \ - -Wf,--catch-write-outerspace 2>/dev/null | grep -C5 'INJECT' || true -} - -function inject { - start_server "${1}" - start_client - echo "Waiting for serverprocess: $variantname (PID is $serverpid)" - # wait for server to terminate - wait "$serverpid" - serverexit="$?" - serverpid="" -} - -function resultstat { - echo "select variant, benchmark, resulttype, sum(t.time2 - t.time1 + 1) as count \ - FROM variant v \ - JOIN trace t ON v.id = t.variant_id \ - JOIN fspgroup g ON g.variant_id = t.variant_id AND g.instr2 = t.instr2 AND g.data_address = t.data_address \ - JOIN result_GenericExperimentMessage r ON r.pilot_id = g.pilot_id \ - JOIN fsppilot p ON r.pilot_id = p.id \ - WHERE v.variant = '"$variantname"' \ - GROUP BY v.id, resulttype \ - ORDER BY variant, benchmark, count;" | mysql -t -} - -function start_resultbrowser { - resultbrowser -s 127.0.0.1 -} - -function getmarker { - local var; - var="$(echo "$data" | grep $marker | grep "${1:?"Mandatory args"}" | awk -F, '{print $4;}')" - if [[ -z "$var" ]]; then - var=0; - fi - - echo $var; -} - -function addresulttocsv { - gitrev=$(git rev-parse --short HEAD) - data=$(resultstat | sed '/+-\++/d;s/^|//;s/|$$//;s/|/,/g;s/ //g;s/,$//g'); - outfile="$(basename $artifactsdir)_result.csv" - marker="FAIL_MARKER" - - ip=$(getmarker ip) - mem=$(getmarker mem) - regs=$(getmarker regs) - - total=$((ip + mem + regs)) - - if [[ ! -f "$outfile" ]]; then - echo "Gitrev,IP,Mem,Regs,total" > "$outfile" - fi - - echo "$gitrev,$ip,$mem,$regs,$total" >> "$outfile" - -} - -getmarker () { - local var; - var="$(echo "$data" | grep $marker | grep "${1:?"Mandatory args"}" | awk -F, '{print $4;}')" - if [[ -z "$var" ]]; then - var=0; - fi - - echo $var; -} - -addresulttocsv() { - gitrev=$(git rev-parse --short HEAD) - data=$(resultstat | sed '/+-\++/d;s/^|//;s/|$$//;s/|/,/g;s/ //g;s/,$//g'); - outfile="injection_result.csv" - - marker="FAIL_MARKER" - - ip=$(getmarker ip) - mem=$(getmarker mem) - regs=$(getmarker regs) - - total=$((ip + mem + regs)) - - if [[ ! -f "$outfile" ]]; then - echo "Gitrev,IP,Mem,Regs,total" > "$outfile" - fi - - echo "$gitrev,$ip,$mem,$regs,$total" >> "$outfile" -} - -case "$action" in - trace ) - trace | sed -e "s/^/tracing "$(basename $artifactsdir)" /" - import | sed -e "s/^/importing "$(basename $artifactsdir)" to server /" - ;; - inject ) - inject - addresulttocsv - resultstat - ;; - inject_regs ) - inject regs - addresulttocsv - resultstat - ;; - inject_mem ) - inject mem - addresulttocsv - resultstat - ;; - inject_ip ) - inject ip - addresulttocsv - resultstat - ;; - shortresult ) - resultstat - ;; - resultbrowser ) - start_resultbrowser - ;; - - csv ) - addresulttocsv - ;; - * ) - echo command "$action" not supported - ;; -esac diff --git a/04_EAN/emu/findport.pl b/04_EAN/emu/findport.pl deleted file mode 100755 index afff367669f7b1904d723537101d7fce98768f82..0000000000000000000000000000000000000000 --- a/04_EAN/emu/findport.pl +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/perl -w - -my $startport = 20500; -my $remotecmd = shift; - -my @erg = `netstat -an | grep -i "tcp "`; -my @ports; - -# print "Searching free port... "; -foreach $i (@erg){ - if($i =~ /[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}:/){ - $i = $'; - if($i =~ /[0-9]{5}/){ - push(@belegt, $&); - } - } -} - -my $i = $startport; -my $counter = 2; -while(1){ - $frei = 1; - foreach $bel (@belegt){ - if($i == $bel){ - $frei = 0; - last; - } - } - if($frei == 1){ - print $i; - $counter = $counter - 1; - if($counter == 0){ - exit(0); - }else{ - print "\n" - } - } - $i++; - if($i == 65530){ - print "0"; - exit(0); - } -} diff --git a/04_EAN/emu/gdbinit.in b/04_EAN/emu/gdbinit.in deleted file mode 100644 index db7597ee291d154b865f0e6a03e10ffc2f059056..0000000000000000000000000000000000000000 --- a/04_EAN/emu/gdbinit.in +++ /dev/null @@ -1,6 +0,0 @@ -file @ELF@ -set archi i386:x64-32:intel -target remote localhost:1234 - -define pe - printf "[vc] %u - [B] %u - [D] %u %% [A] %u = %u (rem %u)\n", $arg0.vc, $arg0.B, $arg0.D, $arg0.A, (($arg0.vc - $arg0.B - $arg0.D) / $arg0.A), (($arg0.vc - $arg0.B - $arg0.D) % $arg0.A) diff --git a/04_EAN/emu/prepareISO.sh b/04_EAN/emu/prepareISO.sh deleted file mode 100755 index f28b9b08834bf6cd38b3bbc595034a5d5bff38ce..0000000000000000000000000000000000000000 --- a/04_EAN/emu/prepareISO.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash - -if [ "$#" -ne 2 ]; then - echo "$0 <elffile> <isofilename>" - echo "$@" - exit 1; -fi - -elffile="$1" -isofile="$2" - -if [[ ! -f "$elffile" ]]; then - 1>&2 echo "$elffile: No such file or directory"; - exit 1; -fi - -grubdir="`mktemp -d`" -mkdir -p "$grubdir/grub/boot/grub" -cat > "$grubdir/grub/boot/grub/grub.cfg" <<EOF -set timeout=0 -set default=0 - -menuentry "CIAO_KESO" { - multiboot /boot/system.elf - boot -} -EOF - -set -e - -cp "$elffile" "$grubdir/grub/boot/system.elf" -grub-mkrescue -o "$isofile" "$grubdir/grub" - -rm -rf "$grubdir" diff --git a/04_EAN/emu/qrun.sh.in b/04_EAN/emu/qrun.sh.in deleted file mode 100755 index 227de9710e80f305fcebe4d1daf89d1f78e1ca14..0000000000000000000000000000000000000000 --- a/04_EAN/emu/qrun.sh.in +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash -# a shell script to run in the Qemu PC emulator an eCos -# application that's been built with "Grub" startup mode. -# -# It runs Qemu with a -# single serial port connected to a telnet -# server socket. -# -# An instance of the "xterm" X11 terminal emulator is started with -# telnet command to connect to that virtual serial port on port -# -# When $2 is 'ddd' a debugger window is opened accordingly - -PORTFILENAME=/tmp/$USER.portnum -@STARTUP_SCRIPTS@/findport.pl > $PORTFILENAME -PORTNUM=`head -n 1 /tmp/$USER.portnum` -SERIALPORTNUM=`tail -n 1 /tmp/$USER.portnum` -GDB_BIN=gdb -GDB_TUI_BIN=gdbtui -TERMINAL=urxvt - -declare -r COMMON_GDB_ARGS="-ex \"target remote :$PORTNUM\" \ - -ex \"br cyg_user_start\"" - -BINARY="$1" -echo $PWD - -if [[ "$2" == "ddd" ]] || [[ "$2" == "gdb" ]] || [[ "$2" == "cgdb" ]]; then - DEBUG="-S -gdb tcp::$PORTNUM" -fi - -XTERMEXE="telnet localhost $SERIALPORTNUM" - -# start a terminal that will telnet to the virtual machine's serial port -(sleep 0.5; $TERMINAL -geometry 120x80 -title "eCos Serial 0" -name "eCos Serial 0" -e $XTERMEXE )& - -sleep 0.5 -# start ddd Debugger -if [[ "$2" == "ddd" ]]; then - (sleep 0.5; $TERMINAL -e sh -c "ddd $COMMON_GDB_ARGS --gdb --debugger $GDB_BIN $BINARY" ) & -fi - -# start GDB in xterm terminal -if [[ "$2" == "gdb" ]]; then - (sleep 0.5; $TERMINAL -e sh -c "$GDB_BIN $COMMON_GDB_ARGS $BINARY" ) & -fi - -# start GDBTUI in xterm terminal -if [[ "$2" == "gdbtui" ]]; then - (sleep 0.5; $TERMINAL -e sh -c "$GDB_TUI_BIN $COMMON_GDB_ARGS $BINARY" ) & -fi - - -# start cgdb in xterm terminal -if [[ "$2" == "cgdb" ]]; then - (sleep 0.5; $TERMINAL -e sh -c "cgdb $COMMON_GDB_ARGS $BINARY" ) & -fi - - -# MACHINE=$(gcc -dumpmachine|cut -f1 -d-) -# if [[ $MACHINE == "x86_64" ]]; then -# BITS="64" -# else -# BITS="32" -# fi - -qemu-system-i386 -machine pc,accel=tcg \ - $DEBUG \ - -kernel $BINARY \ - -serial telnet:localhost:$SERIALPORTNUM,server,nowait - diff --git a/04_EAN/emu/vgabios.bin b/04_EAN/emu/vgabios.bin deleted file mode 100644 index fa9806b76fca32f6e44cbb4a8e0bec637fb9e8ab..0000000000000000000000000000000000000000 Binary files a/04_EAN/emu/vgabios.bin and /dev/null differ diff --git a/04_EAN/i4vezs-deploy.pub b/04_EAN/i4vezs-deploy.pub deleted file mode 100644 index 5f55402e23e45af2a3e416db92a9392d4b79aa48..0000000000000000000000000000000000000000 --- a/04_EAN/i4vezs-deploy.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQDyx+L/cwo/yLhM4vwKpanOKVhvoFJQw5kIa+x/+xyb7BANnLk/vrSf9dsjM+NnuB47BLh3fvjithzNmeRJkcZ6klwqLShnoYKyMKky+6bk2j1GUQnuYYzmg3ZPcr9uXDj8urvzUUFV63l2beQon7iFjFRr6+pMmoWwQfZgE1ZPFgpHr9nEV+mLkjzHjfcALtgtpv4XGg4bwnyeORLZLarhrk8/xbjifhYxYTfWJVmQ2U4AOFUrpwwE7tH6aHVFhDzRk47G05VYbKMUuZRuE+0t8flDBaJOxFxvR1Wq0ZSDGy+dP4vTZJPIKb3+CTfzWjprm0JLVKWfx/lfR+wBluO7QvcsHL7Lf8gV5QXTUHnp568yfh7vu2EX2S1tYUSIWET+L8Pv4WejjaqxRW4F1j6RGBWOAV73BHzDafMKAzzUxsPcoIWjbEOcoAEw2VuGyscGqJxI7mqyrYBhq2oChQHxSaA3OZKUAUp832XZvjpCJgoOijOuzWsf+mqJVNuxeQu+rDs6DjqwLuJ2SHLv+96wZqlToHIsqghe6TLWKHa3Zr1mAOglVYqm03RhOvuFyIo5aUxah2+VuXJd2kr1KibGty51Li7wUW4Q+6wLFjvybOX14c2uiAoAJuDPfhzamPm4NVZfjD9A2UifduLL0aenqmUZxFWbcuQfyfjPTb96KMMXRSD873ZdhptwjHdnTR/UkERFlYw2683qIXlH8/OycEznVnb7OPgTuu3AQ8tSSYxeb1WeZqNmJopFjutgSPv+1RxEBxYTgIQA8mhorEG6mfVwo0x6adGLp6DSjtVdLoOAD0shza3bUWD2RAs7dLLgdGDhW8Rbm7i0JctZcdUg1R5B1+TcEY/byJgqIuS5qo8vpytFLUeEfIEVokJlApU1aky2AVf+ZjbTcIrArSeu6bksKH/z7O9L7fecTvM4INywZ7+ba+xGj7MaBu2toNUXJPwQhdU0LqUCksB0G1tSwWeCsbBGqDs+W2PymG+4mJHl+k+SHDXZrCD3/J2osmj6b3Bxdu/LcYksTVRN2Fs7L+hbbHJxSsfE/MwPF4k+UBYHxVcWZuWcRlUqdPtKEOfj0JjcN1/qS5fkDc3TuoqeV/CI/IbZIdwCuwC1VgLw1k7Tvahwc4yk4fJjKbeGN32fg5cGDmxZCUMFsUnyxISZ/U4djJXOOTqg/fResNj48WpCEy6sw88ES+FmKbT35hkvNAUikq+oy4xV8RBwWMSQUmV+pqsVE4SjUInRRLh5LBjXhh9fkJB6QriU7X/UIOq7+hNDrrPmDx7qdkrHlU76r4oK6m4V3EI8s5JWD2AoZIwetCAYCiTu1m4SJgMoQqGk3I75rTxylO9L8tgGLTw9 Deploykey for i4vezs diff --git a/04_EAN/include/fail.h b/04_EAN/include/fail.h deleted file mode 100644 index 6c654df06d152c09977393a3bfed15c9cf689934..0000000000000000000000000000000000000000 --- a/04_EAN/include/fail.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef _include_fail_h -#define _include_fail_h - -//Mark start of injection -void __attribute__((noinline)) fail_start_trace(void); -//Mark end of injection -void __attribute__((noinline)) fail_stop_trace(void); - -//everything ok: valid code and right values -void __attribute__((noinline)) fail_marker_positive(void); -//everything ok: valid code but wrong values -void __attribute__((noinline)) fail_marker_negative(void); -//invalid code -void __attribute__((noinline)) fail_marker_detected(void); - -#endif diff --git a/04_EAN/include/filter.h b/04_EAN/include/filter.h deleted file mode 100644 index 54410c1e46fb7ff869eb4396dac67464f0b682fc..0000000000000000000000000000000000000000 --- a/04_EAN/include/filter.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef CONVOLVE_FILTER_H -#define CONVOLVE_FILTER_H - -#include <stdint.h> - -typedef struct convolve_filter_struct { - /** - * The Filter parameters; - */ - int8_t a, b, c; - - /** - * The internal filter state; - */ - int8_t z1, z2; -} convolve_filter; - -void convolve_filter_init(convolve_filter *f, int8_t a, int8_t b, int8_t c); - -int8_t convolve_filter_step(convolve_filter *f, int8_t in); - -#endif diff --git a/04_EAN/include/filter.hpp b/04_EAN/include/filter.hpp deleted file mode 100644 index a959a6c5d0ff89308fc2063507d3d2b40ff361b3..0000000000000000000000000000000000000000 --- a/04_EAN/include/filter.hpp +++ /dev/null @@ -1,6 +0,0 @@ -template <int NUM, typename T> -T abs(T a) -{ - return a; -} - diff --git a/04_EAN/libEZS/drivers/i386/ezs_adc.c b/04_EAN/libEZS/drivers/i386/ezs_adc.c deleted file mode 100644 index d5676fc23bc27b99008c87004488dc699ee9c6c3..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/drivers/i386/ezs_adc.c +++ /dev/null @@ -1,20 +0,0 @@ - -/*! - * @file ezs_adc.c - * @brief A very simple AD converter, based on Fail* - * @author Martin Hoffmann - * \ingroup adc - */ -#include <stdint.h> -#include "ezs_dac.h" - -static volatile uint8_t ezs_adc_in_register; -/*! - * \brief Get a value from the ADC - */ -uint8_t ezs_adc_read(void){ - return ezs_adc_in_register; -} - - - diff --git a/04_EAN/libEZS/drivers/i386/ezs_counter.c b/04_EAN/libEZS/drivers/i386/ezs_counter.c deleted file mode 100644 index a4ad16c19d17c7b5dd25feeab80759083c03a051..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/drivers/i386/ezs_counter.c +++ /dev/null @@ -1,144 +0,0 @@ -#define EZS_HPET_ADDR 0xFED00000 - -#include "ezs_counter.h" -#include <stdio.h> -#include <stdint.h> - -typedef struct hpetReg { - uint64_t GCAP_ID; /* General capabilities */ - uint64_t rsv1; - uint64_t GEN_CONF; /* General configuration */ - uint64_t rsv2; - uint64_t GINTR_STA; /* General Interrupt status */ - uint64_t rsv3[25]; - uint64_t MAIN_CNT; /* Main counter */ - uint64_t rsv4; - uint64_t TIM0_CONF; /* Timer 0 config and cap */ -#define TIM_CONF 0 -#define Tn_INT_ENB_CNF 4 - uint64_t TIM0_COMP; /* Timer 0 comparator */ -#define TIM_COMP 8 - uint64_t rsv5[2]; - uint64_t TIM1_CONF; /* Timer 1 config and cap */ - uint64_t TIM1_COMP; /* Timer 1 comparator */ - uint64_t rsv6[2]; - uint64_t TIM2_CONF; /* Timer 2 config and cap */ - uint64_t TIM2_COMP; /* Timer 2 comparator */ - uint64_t rsv7[2]; -} hpetReg; -typedef struct hpetReg hpetReg_t; - -volatile hpetReg_t *hpet = (volatile hpetReg_t *) EZS_HPET_ADDR; - -static uint64_t hpet_divisor = 0; -static uint32_t hpet_period = 0; -static bool use_hpet = true; - - -uint32_t ezs_hpet_period_fs(void) -{ - return hpet->GCAP_ID >> 32; -} - -bool ezs_hpet_init(void) -{ - uint64_t test = hpet->GCAP_ID; - uint64_t gcap = hpet->GCAP_ID; - - hpet_period = (gcap & 0xffffffff00000000ULL) >> 32; - - if( hpet_period > 0x5f5e100 ){ - use_hpet = false; - printf("HPET invalid, using Time Stamp Counter\n"); - return false; - } else { - use_hpet = true; - } - - uint8_t rev_id = gcap & 0xFF; - uint8_t num_timers = (gcap >> 8) & 0x1F; - uint8_t counter_size = (gcap >> 13) & 0x1; - uint16_t vendor_id = (gcap >> 16) & 0xFFFF; - - hpet_divisor = 1000000000ULL / hpet_period; // 10e9 fs == 1 us - - printf("HPET enabled\n"); - /* enable HPET */ - hpet->GEN_CONF = 0x1; -} - -uint64_t ezs_hpet_read(void) -{ - uint64_t cnt = hpet->MAIN_CNT; - //printf("CNT: 0x%llx\n", cnt); - return cnt; -} - -uint64_t ezs_hpet_resolution_us(void) -{ - return 1; -} - -uint64_t ezs_hpet_read_us(void) -{ - return ezs_hpet_read() / hpet_divisor; -} - -/* Timestamp counter implementation */ - -#ifndef BOCHS_CPU_MHZ -#error Bochs CPU Speed not defined -#endif - -static inline unsigned long long getticks(void) -{ - unsigned int lo, hi; - // RDTSC copies contents of 64-bit TSC into EDX:EAX - asm volatile("rdtsc" : "=a" (lo), "=d" (hi)); - return (unsigned long long)hi << 32 | lo; -} - -cyg_uint64 ezs_rdtsc_get_us(void) { - return getticks() / (BOCHS_CPU_MHZ); -} - -void ezs_tsc_init(void){ - printf("Using time stamp counter, cpu running @ %d MHz\n", BOCHS_CPU_MHZ); -} - -static volatile uint32_t FAILBOCHSID = 0; - -/* EZS API implementation */ -void ezs_counter_init(void) -{ - if (FAILBOCHSID == 42) { // We run in Fail* - ezs_tsc_init(); - use_hpet = false; - } else { // not in Fail* try using HPET - if ( ! ezs_hpet_init() ) { // HPET not accurate enough fall back to TSC - ezs_tsc_init(); - use_hpet = false; - } - } -} - - -cyg_uint64 ezs_counter_get(void) -{ - if(use_hpet){ - return ezs_hpet_read_us(); - } else { - return ezs_rdtsc_get_us(); - } -} - -cyg_uint64 ezs_counter_resolution_us(void) -{ - return ezs_hpet_resolution_us(); -} - -cyg_uint64 ezs_counter_resolution_ps(void) -{ - return ezs_hpet_resolution_us() * 1000000; -} - diff --git a/04_EAN/libEZS/drivers/i386/ezs_dac.c b/04_EAN/libEZS/drivers/i386/ezs_dac.c deleted file mode 100644 index f3cff1259c7d56af8b280e9921edff1c388fa345..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/drivers/i386/ezs_dac.c +++ /dev/null @@ -1,19 +0,0 @@ - -/*! - * @file ezs_dac.c - * @brief A very simple DA converter, based on Fail* - * @author Martin Hoffmann - * \ingroup dac - */ -#include <stdint.h> -#include "ezs_dac.h" - -static volatile uint8_t ezs_dac_out_register; - -/*! - * \brief Write a value to the DAC - */ -void ezs_dac_write(uint8_t value){ - ezs_dac_out_register = value; -} - diff --git a/04_EAN/libEZS/drivers/i386/ezs_fb.c b/04_EAN/libEZS/drivers/i386/ezs_fb.c deleted file mode 100644 index 7bbebc3c9afd07fdcd02b0ebff213b406828a3fe..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/drivers/i386/ezs_fb.c +++ /dev/null @@ -1,88 +0,0 @@ -#include "ezs_fb.h" - -typedef struct { - int x; - int y; -} cursor_t; - -static cursor_t cursor; -void ezs_fb_init(void) -{ - CYG_FB_ON(FRAMEBUF); - CYG_FB_FILL_BLOCK(FRAMEBUF, 0, 0, FB_WIDTH, FB_HEIGHT, 0); - cursor.x = 0; - cursor.y = 0; -} - - -void ezs_fb_fill_block(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 width,cyg_ucount16 height,cyg_fb_colour color) -{ - CYG_FB_FILL_BLOCK(FRAMEBUF, x, y, width, height, color); -} - - -void ezs_fb_hline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, cyg_fb_colour color) -{ - CYG_FB_WRITE_HLINE(FRAMEBUF, x, y, len, color); -} - - -void ezs_fb_vline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, cyg_fb_colour color) -{ - - CYG_FB_WRITE_VLINE(FRAMEBUF, x, y, len, color); -} - -void ezs_fb_clear(cyg_fb_colour color) -{ - ezs_fb_fill_block(0, 0, FB_WIDTH, FB_HEIGHT, color); -} - - -void ezs_fb_print_char( int ch, cyg_ucount16 x, cyg_ucount16 y, cyg_fb_colour color){ - int i, j; - for (i = ch*8; i < (ch*8)+8; i++){ - unsigned char row = g_8x8_font[i]; - for (j = 0; j < 8; j++){ - if((row & (0x80 >> j)) != 0){ - ezs_fb_fill_block(x+j, y+(i-ch*8), 1, 1, color); - } - } - } - -} - -void ezs_fb_print_string(char*c, cyg_fb_colour color){ - ezs_fb_print_string_cur(c, cursor.x, cursor.y, color); -} - -void ezs_fb_print_string_cur(char* c, cyg_ucount16 x, cyg_ucount16 y, cyg_fb_colour color){ - char* ch = c; - - while(*ch != '\0'){ - if(*ch == '\n'){ - ezs_fb_newline(); - }else{ - ezs_fb_print_char((*ch)+0, x , y, color); - x = x+8; - if( x >= FB_WIDTH - 8){ - y += 8; - x = 0; - } - } - ch++; - } - cursor.x = x; - cursor.y = y; -} - -void ezs_fb_newline(void){ - cursor.x = 0; - cursor.y += 8; -} - -void ezs_fb_setpos(cyg_ucount16 x, cyg_ucount16 y){ - cursor.x = x; - cursor.y = y; -} - diff --git a/04_EAN/libEZS/drivers/i386/ezs_keycodes.c b/04_EAN/libEZS/drivers/i386/ezs_keycodes.c deleted file mode 100644 index 3b7ff903c45b898b4916e657901b0a146b2a291f..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/drivers/i386/ezs_keycodes.c +++ /dev/null @@ -1,22 +0,0 @@ - -#include "ezs_keycodes.h" -#include <assert.h> -#include <stdio.h> - -#define NUMBER_OF_KEYCODES 89 -unsigned char char_of_key[] = { - 0, 0, '1', '2', '3', '4', '5', '6', '7', '8', - '9', '0', 225, 39, '\b', 0, 'q', 'w', 'e', 'r', - 't', 'z', 'u', 'i', 'o', 'p', 129, '+', '\n', 0, - 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 148, - 132, '^', 0, '#', 'y', 'x', 'c', 'v', 'b', 'n', - 'm', ',', '.', '-', 0, '*', 0, ' ', 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, '-', 0, 0, 0, '+', 0, - 0, 0, 0, 0, 0, 0, '<', 0, 0 }; - -unsigned char ezs_get_char_from_keycode(unsigned char code) { - assert(code < NUMBER_OF_KEYCODES); - - return char_of_key[code]; -} diff --git a/04_EAN/libEZS/drivers/i386/ezs_tracer.cpp b/04_EAN/libEZS/drivers/i386/ezs_tracer.cpp deleted file mode 100644 index 635b57af2cb30dbb956638bfeccf6e607ffabe20..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/drivers/i386/ezs_tracer.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include <pkgconf/system.h> -#include <cyg/io/io.h> -#include <cyg/error/codes.h> -#include <stdint.h> -#include <stdio.h> - -//! The magic tracer variable Fail* is listening on. -volatile unsigned ezs_tracer_register; - -//! No Time triggered kernel -> normal event triggered ecos: -#ifndef SMLPKG_TTKERNEL -#include <cyg/kernel/kernel.hxx> // C Kernel-API -extern "C" { -#include <cyg/kernel/kapi.h> // C Kernel-API -} -class Cyg_Thread; - - -extern "C" void ezs_instrument(Cyg_Thread* current, Cyg_Thread* next) { - // Get priority from next thread - int prio = next->get_priority(); - if(prio > 32) prio = 32; - - // Write priority to tracer register - ezs_tracer_register = prio; -} - -#else -#include <sml/ttkernel/task.hxx> -extern "C" void ezs_instrument(TT_Task* current, TT_Task* next){ - ezs_tracer_register = next->get_id(); -} -#endif - diff --git a/04_EAN/libEZS/hal/drivers/CMakeLists.txt b/04_EAN/libEZS/hal/drivers/CMakeLists.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/04_EAN/libEZS/hal/drivers/DAC.cpp b/04_EAN/libEZS/hal/drivers/DAC.cpp deleted file mode 100644 index bf192b3b91aa52a9437e4c732c7124ea4bb4c3b2..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/hal/drivers/DAC.cpp +++ /dev/null @@ -1,76 +0,0 @@ -#include "DAC.h" - -#include "GPTA.h" -#include "GPIO.h" -#include "IOLS.h" -#include "LTC.h" -#include "OSAbstraction.h" - -#define PERIOD 0xfff -#define MIN 0x058 //minimal value. below dac outputs zero -#define MAX 0xff0 //maximal value. above dac outputs full duty cycle - -void DAC::init(unsigned char port, unsigned char baseLtc) -{ - - this->ltc = baseLtc; - this->port = port; - - GPIO::setFunction(IO_PORT(port), IO_PIN(port), GPIO_FUNCTION_GPTA0); - - //configure the connects - if ( !IOLS<0>::connectLTCInputClock(baseLtc, 0) ) - { - osPanic(); //main clock to the first ltc - } - if ( !IOLS<0>::connectIoLTC(port, baseLtc+2) ) - { - osPanic(); //wiring the output pin with the last ltc (base+2) - } - //initializing the counting time for comparing - LTC<0>::setupResetTimer(baseLtc); - - //Timer for the main period - LTC<0>::setupComparator(baseLtc+1, PERIOD, LTC_SO_BOTH); - LTC<0>::setComparatorAction(baseLtc+1, LTC_COMPARATOR_ACTION_SET, LTC_EVENT_LOCAL); - - //Timer for the high-period - LTC<0>::setupComparator(baseLtc+2, 0, LTC_SO_BOTH); - LTC<0>::setComparatorAction(baseLtc+2, LTC_COMPARATOR_ACTION_RESET, LTC_EVENT_ALL); - on(); -} - -void DAC::on() { - if ( ! state ) { - LTC<0>::setX(ltc+2, 0); - GPIO::setFunction(IO_PORT(port), IO_PIN(port), GPIO_FUNCTION_GPTA0); - state = true; - } -} - -void DAC::off() -{ - if ( state ) { - LTC<0>::setX(ltc+2, 0); - GPIO::setFunction(IO_PORT(port), IO_PIN(port), GPIO_FUNCTION_INPUT_PULLDOWN); - state = false; - } -} - -void DAC::write(uint8_t v) -{ - uint16_t value = 0; - if(v == 0) { - value = 0; - } - else if (v == UINT8_MAX) { - value = PERIOD-1; - } - else { - uint16_t diff = MAX-MIN; - float frac = (float)v / (float) UINT8_MAX; - uint16_t mapped = frac * (float) diff; - value = MIN + mapped; - } - LTC<0>::setX(ltc+2, value); -} diff --git a/04_EAN/libEZS/hal/drivers/DAC.h b/04_EAN/libEZS/hal/drivers/DAC.h deleted file mode 100644 index ef5f0e622c4db737f617f3a11c6b2138ff2e829f..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/hal/drivers/DAC.h +++ /dev/null @@ -1,32 +0,0 @@ -/*==================================================================== -* Function: Driver for generell PWM with GPTA -* -* Copyright I4Copter Project 2007-2011 -* http://www4.informatik.uni-erlangen.de/Research/I4Copter -*===================================================================== -* Author: Peter,Tobias -*==================================================================== -* $Id: Beeper.h 3494 2011-01-31 17:36:26Z ulbrich $ -*====================================================================*/ -#ifndef DAC_PWM_H_INCLUDED -#define DAC_PWM_H_INCLUDED - - -#include <stdint.h> -class DAC { - - private: - unsigned char ltc; - unsigned char port; - bool state; - - public: - void init(unsigned char port, unsigned char baseLtc); - void on(); - void off(); - void write(uint8_t v); - bool getState() const { return state; }; -// void setState(bool state) { state ? on() : off(); } -}; - -#endif // BEEPER_H_INCLUDED diff --git a/04_EAN/libEZS/hal/include/AnalogDevice.h b/04_EAN/libEZS/hal/include/AnalogDevice.h deleted file mode 100644 index 2040d39b5f369a3b1a526909662a9935a71169fa..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/hal/include/AnalogDevice.h +++ /dev/null @@ -1,197 +0,0 @@ -/** - * Copyright I4Copter Project 2007-2012 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file AnalogDevice.h - * \ingroup hal - * \brief Abstract interface for an analog device - * \author Peter Ulbrich <ulbrich@cs.fau.de> - * - */ - -#ifndef ANALOGDEVICE_H_ -#define ANALOGDEVICE_H_ - -#include <stdint.h> -//! \note The actual implementation is determined by the header search path, which depends on the CMake build type (microcontroller platform) -#include "AnalogDeviceImpl.h" - -namespace hal { - -/** - * \class AnalogDevice - * \brief Abstract interface for an analog device (pin) - * \note This class is just a wrapper for the platform specific implementation (AnalogDeviceImpl) - */ -class AnalogDevice { -public: - /** - * constructor... - * @param pin - */ - AnalogDevice(AnalogDeviceImpl::channelnum const pin) : - m_impl(pin) { - } - - /** - * Initialize implementation object - * \todo Do this explicitly or implicitly in the constructor? - * @return - */ - bool init() { - return m_impl.init(); - } - - /** - * Trigger the sampling of the analog pin - * \note Even in case of autoscan/DMA operation, this is a necessary step. Otherwise the raw and the millivolt value would differ! - */ - void sample() { - m_value = m_impl.sample(); - m_millivolt = toMillivolt(m_value); - } - - /** - * Convert a analog raw value to millivolt - * \note It is assumed that the raw value has a 12bit resolution (3300mV = 4095raw). The conversion factor is thereof 0.80581! - * @param value A raw value from a 3.3V ADC - * @return Millivolt - */ - float toMillivolt(const int16_t value) const { - return static_cast<float>(value) * 0.80581f; - } - - /** - * Get the sampled raw value of the analog pin - * \waring sample() must be called before reading the result! - * @return A raw sample value - */ - uint16_t getValue() const { - return m_value; - } - - /** - * Get the sampled value of the analog pin - * \waring sample() must be called before reading the result! - * @return A sample value in millivolt - */ - float getMillivolt() const { - return m_millivolt; - } - -protected: - // Raw value - uint16_t m_value; - - // millivolt - float m_millivolt; - -private: -//! HW specific implementation object - AnalogDeviceImpl m_impl; - -}; -// End of class AnalogDevice - -/** - * \class AnalogDeviceBiased - * \brief Abstract interface for an biased analog device (pin) - * \note This class is just a wrapper for the platform specific implementation (AnalogDeviceImpl) - */ -class AnalogDeviceBiased: protected AnalogDevice { -public: - - /** - * constructor... - * @param pin - * @param calCycles Number of cycles to be used for calibaration - */ - AnalogDeviceBiased(AnalogDeviceImpl::channelnum const pin, - uint16_t calCycles) : - AnalogDevice(pin), m_calCycles(calCycles) { - reset(); - } - - /** - * Initialize implementation object - * \todo Do this explicitly or implicitly in the constructor? - * @return - */ - bool init() { - reset(); - return AnalogDevice::init(); - } - - void reset() { - m_isBiased = false; - m_iterator = 0; - m_biasSum = 0; - m_bias = 0; - } - - bool sample() { - AnalogDevice::sample(); - - if (!m_isBiased) { - calibrateBias(); - } else { - m_valueBiased = AnalogDevice::getValue() - m_bias; - m_millivoltBiased = AnalogDevice::toMillivolt(m_valueBiased); - } - - return m_isBiased; - } - - int16_t getValue() const { - return m_valueBiased; - } - - float getMillivolt() const { - return m_millivoltBiased; - } - - uint16_t getValue_ub() const { - return AnalogDevice::getValue(); - } - - float getMillivolt_ub() const { - return AnalogDevice::getMillivolt(); - } - - uint16_t getBias() const { - return m_bias; - } - -protected: - -private: - // Bias calibration data - const uint16_t m_calCycles; - uint16_t m_iterator; - uint32_t m_biasSum; - bool m_isBiased; - - // Bias - uint16_t m_bias; - - // Biased values - int16_t m_valueBiased; - float m_millivoltBiased; - - void calibrateBias() { - m_iterator++; - m_biasSum += AnalogDevice::getValue(); - - if (m_iterator == m_calCycles) { - m_bias = m_biasSum / m_calCycles; - m_isBiased = true; - } - } - -}; -// End of class AnalogDeviceBiased - - -} // End of namespace hal - -#endif /* ANALOGDEVICE_H_ */ diff --git a/04_EAN/libEZS/hal/include/Config.h b/04_EAN/libEZS/hal/include/Config.h deleted file mode 100644 index 883d28aa29a41c5546fceed2f38839ec88297fa7..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/hal/include/Config.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * SPIConfig.h - * - * Created on: Aug 21, 2012 - * Author: hoffmann - */ - -#ifndef SPICONFIG_H_ -#define SPICONFIG_H_ - -namespace hal { -namespace spi { - - enum Mode_t { - Master = 1, - Slave, - NotConfigured, - }; - - typedef void(*tx_callback)(void*); - typedef void(*rx_callback)(void*); - -} // spi - -namespace digitaldevice { - - enum IRQDIR_t { - Falling = 1, - Rising, - Rising_Falling, - }; - - enum PINDIR_t { - Input = 1, - Output, - }; - - typedef void(*callback)(void*); - -} // digitaldevice - -namespace dma { - - typedef void(*callback)(void*); - -} // dma - -} // hal - -#endif /* SPICONFIG_H_ */ diff --git a/04_EAN/libEZS/hal/include/DMA.h b/04_EAN/libEZS/hal/include/DMA.h deleted file mode 100644 index 46428be2b89dc4f18c7bcd5e46bcef98e450a2e8..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/hal/include/DMA.h +++ /dev/null @@ -1,125 +0,0 @@ -/** - * Copyright I4Copter Project 2007-2013 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file DMA.h - * \ingroup hal - * \brief Abstract interface for a DMA channel - * \author Florian Lukas <florian.lukas@gmail.com> - * - */ - -#ifndef DMA_H_ -#define DMA_H_ - -#include <stdint.h> -#include "Config.h" -//! \note The actual implementation is determined by the header search path, which depends on the CMake build type (microcontroller platform) -#include "DMAImpl.h" - -namespace hal { - -/** - * \class DMAChannel - * \brief Abstract interface for a DMA channel - * \note This class is just a wrapper for the platform specific implementation (DMAChannelImpl) - */ -class DMAChannel { -public: - typedef DMAChannelImpl::unitnum unitnum; - typedef DMAChannelImpl::channelnum channelnum; - typedef DMAChannelImpl::move_size move_size; - - /** - * Constructor - * @param channel DMA channel number - */ - DMAChannel(DMAChannelImpl::unitnum const unit, DMAChannelImpl::channelnum const channel) : m_impl(unit, channel) {} - - /** - * Initialize DMA. - */ - void init() { - m_impl.init(); - } - - /** - * Set DMA transfer source address and increment mode. - * @param src_addr source address - * @param increment increment source address after each move (0: always read same address) - */ - void set_source(uint32_t* src_addr, bool increment) { - m_impl.set_source(src_addr, increment); - } - - /** - * Set DMA transfer destination address and increment mode. - * @param dest_addr destination address - * @param increment increment destination address after each move (0: always write same address) - */ - void set_destination(uint32_t* dest_addr, bool increment) { - m_impl.set_destination(dest_addr, increment); - } - - /** - * Set DMA transfer length and move unit. - * @param length transfer length in number of moves - * @param size of one DMA move - */ - void set_length(uint32_t length, move_size movesize) { - m_impl.set_length(length, movesize); - } - - /** - * Request start of DMA transaction. - */ - void start() { - m_impl.start(); - } - - /** - * Check if DMA transfer is done. - */ - bool done() { - return m_impl.done(); - } - - /** - * Start DMA transaction and BLOCK until finish. - */ - void start_block() { - start(); - while(!done()) {}; - } - - /** - * Set IRQ handler to be called (with argument) when DMA transaction is finished - * @param cb call - * @param arg - */ - void set_irq_handler(hal::dma::callback cb, void* arg) { - m_impl.set_irq_handler(cb, arg); - } - - /** - * Enable DMA finish interrupt. - */ - void enable_irq() { - m_impl.set_irq(true); - } - - /** - * Disable DMA finish interrupt. - */ - void disable_irq(){ - m_impl.set_irq(false); - } - -private: - //! HW specific implementation object - DMAChannelImpl m_impl; -}; // End of class DMAChannel - -} // End of namespace hal - -#endif /* DMA_H_ */ diff --git a/04_EAN/libEZS/hal/include/DigitalDevice.h b/04_EAN/libEZS/hal/include/DigitalDevice.h deleted file mode 100644 index 385400e5196007285d4283417ed4d5ab72b57719..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/hal/include/DigitalDevice.h +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Copyright I4Copter Project 2007-2012 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file DigitalDevice.h - * \ingroup hal - * \brief Abstract interface for an digital device (I/O Pin) - * \author Martin Hoffmann <hoffmanh@cs.fau.de> - * - */ - -#ifndef DIGITALDEVICE_H_ -#define DIGITALDEVICE_H_ - -#include "Config.h" -//! \note The actual implementation is determined by the header search path, which depends on the CMake build type (microcontroller platform) -#include "DigitalDeviceImpl.h" - -namespace hal { - -/** - * \class DigitalDevice - * \brief Abstract interface for an digital device (pin) - * \note This class is just a wrapper for the platform specific implementation (DigitalDeviceImpl) - */ -class DigitalDevice { -public: - /** - * constructor... - * @param pin - */ - DigitalDevice(DigitalDeviceImpl::pin_t const pin, hal::digitaldevice::PINDIR_t dir) : - m_impl(pin, dir) { - } - /** - * constructor... - * @param pin - */ - DigitalDevice(DigitalDeviceImpl::pin_t const pin) : - m_impl(pin, hal::digitaldevice::Output) { - } - - - /** - * Initialize implementation object - */ - bool init() { - return m_impl.init(); - } - - /** - * Set the pin to hight - */ - void set() const { - m_impl.set(); - } - - - /** - * Set the pin to hight - */ - void clear() const { - m_impl.clear(); - } - - /** - * Toggle pin - * @return The current pin level - */ - bool toggle() const { - return m_impl.toggle(); - } - - void set_irq_handler(hal::digitaldevice::callback cb, void* arg) { - m_impl.set_irq_handler(cb, arg); - } - - void enable_irq(hal::digitaldevice::IRQDIR_t dir){ - m_impl.enable_irq(dir); - } - - - void disable_irq(){ - m_impl.disable_irq(); - } - - bool isSet(){ - return m_impl.isSet(); - } -private: -//! HW specific implementation object - DigitalDeviceImpl m_impl; - -}; -// End of class AnalogDevice - - -} // End of namespace hal - -#endif /* DIGITALDEVICE_H_ */ diff --git a/04_EAN/libEZS/hal/include/HalStartup.h b/04_EAN/libEZS/hal/include/HalStartup.h deleted file mode 100644 index c07f579817e8d3a09db9721f5dcc03c80e9bd7d1..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/hal/include/HalStartup.h +++ /dev/null @@ -1,66 +0,0 @@ -/** - * \defgroup hal General hardware abstraction layer - */ - -/** - * \defgroup tc1796 TC1796 hardware abstraction layer - * \ingroup hal - */ - -/** - * \defgroup stm32f1 STM32F1xx hardware abstraction layer - * \ingroup hal - */ - -/** - * \namespace hal - * \brief Namespace for the hardware abstraction layer - */ - -/** - * \namespace tc1796 - * \brief Namespace for the TriCore TC1796 specific part of the hardware abstraction layer - */ - -/** - * \namespace stm32f1 - * \brief Namespace for the STM32F1 specific part of the hardware abstraction layer - */ - -/** - * Copyright I4Copter Project 2007-2011 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file HalStartup.h - * \ingroup hal - * \brief All HAL Startup routines are called here. - * \author Peter Ulbrich <ulbrich@cs.fau.de> - * \author Martin Hoffmann <hoffmann@cs.fau.de> - */ - -#ifndef HALSTARTUP_H -#define HALSTARTUP_H - -namespace hal { - -/** - * \class HalStartup - * - * \brief The abstract interface for the HAL startup - * - * This class implements a run method. - */ -class HalStartup { -public: - /** - * This is the basic run method for proper - * hal initialization - */ - static void run(void); - -protected: -private: -}; - -} -#endif // HALSTARTUP_H diff --git a/04_EAN/libEZS/hal/include/I2CDevice.h b/04_EAN/libEZS/hal/include/I2CDevice.h deleted file mode 100644 index a53cb453542bc61a2a4cf8e05883791749de9784..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/hal/include/I2CDevice.h +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Copyright I4Copter Project 2007-2011 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file I2C.h - * \ingroup hal - * \brief I2C Abstraction Layer - * \author Martin Hoffmann <hoffmann@cs.fau.de> - */ - -#ifndef I2C_H_ -#define I2C_H_ - -#include <stdint.h> - -//! \note The actual implementation is determined by the header search path, which depends on the CMake build type (microcontroller platform) -#include "I2CDeviceImpl.h" - -namespace hal { - -/** - * \class I2C - * \brief I2C Interface Abstractions - * - * This is the basic "abstract" class of the - * I2C interface (some sort of Pimpl pattern). - * A I2C::Impl class - * holds the hardware dependent implementation. - */ -class I2C { - -public: - /** - * \brief Interface initialization - * - * This method just calls the init method - * of a global I2C::Impl "Singleton" - */ - static void init() { i2cDeviceImpl.init(); } - - - /** - * \brief I2C send routine - * @param address I2C Slave address - * @param data Buffer to read data to send - * @param length Buffer/Message length - * @return - */ - static uint32_t send(uint8_t address, uint8_t* data, uint32_t length) { - return i2cDeviceImpl.send(address, data, length); - } - - /** - * \brief I2C receive routine - * @param address I2C Slave address - * @param data Buffer to write received data to - * @param length Buffer/Message length - * @return - */ - static uint32_t receive(uint8_t address, uint8_t* data, uint32_t length) { - return i2cDeviceImpl.receive(address, data, length); - } -}; - -} // end of namespace - -#endif /* I2C_H_ */ diff --git a/04_EAN/libEZS/hal/include/OSAbstraction.h b/04_EAN/libEZS/hal/include/OSAbstraction.h deleted file mode 100644 index d8e372937a2cb5dc20fe67761c2ef299308af029..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/hal/include/OSAbstraction.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef OSABSTRACTION_H -#define OSABSTRACTION_H - -void osPanic(void) { - while(1) - ; -} - -#endif \ No newline at end of file diff --git a/04_EAN/libEZS/hal/include/RS232Device.h b/04_EAN/libEZS/hal/include/RS232Device.h deleted file mode 100644 index 291271c7e04e8b3d944d17d40e36dafe3eaf2027..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/hal/include/RS232Device.h +++ /dev/null @@ -1,139 +0,0 @@ -/** - * Copyright I4Copter Project 2007-2011 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file RS232Device.h - * \ingroup hal - * \brief RS232 Abstraction Layer - * \author Martin Hoffmann <hoffmann@cs.fau.de> - */ - - -#ifndef RS232DEVICE_H -#define RS232DEVICE_H - -#include <stdint.h> - -//! \note The actual implementation is determined by the header search path, which depends on the CMake build type (microcontroller platform) -#include "RS232DeviceImpl.h" - -namespace hal { - -/** - * \class RS232Device - * \brief RS232 Interface Abstractions - */ -class RS232Device { - RS232DeviceImpl m_impl; -public: - - //! A baudrate type.. - enum Baudrate { - BR9600 = 9600, - BR38400 = 38400, - BR115200 = 115200, - } ; - - /** - * Constructor defines the RS232 Device number - * @param device number - */ - RS232Device(uint8_t const device) : m_impl(device){}; - - /** - * Initalizer mainly sets the baudrate - * @param baudrate - * @return true if initalization was successful - */ - bool init(RS232Device::Baudrate baudrate){ return m_impl.init(baudrate); }; - - /** - * \brief Send a byte blocking - * @param b Byte to send - */ - void send(uint8_t b) { m_impl.send(b); }; - - /** - * \brief Send an array of bytes (blocking) - * - * @param buf Array to be sent - * @param length Length of the array - * @return Number of bytes sent - */ - void send(uint8_t * buf, uint32_t length){ m_impl.send(buf, length); }; - - - /** - * \brief Send byte non-blocking - * \param b Byte to send - * \return \c true if byte is scheduled for sending, else \c false - */ - bool send_nb(uint8_t b){ return m_impl.send_nb(b); }; - - /** - * \brief Send an array of bytes non-blocking - * \param buf Pointer to the array to send - * \param length Length of the array - * \return Number of bytes sent, -1 on error TODO - */ - bool send_nb(uint8_t const * buf, uint32_t length){ return m_impl.send_nb(buf, length); }; - - /** - * \brief Receive a single byte blocking - * @return The received byte - */ - uint8_t recv() { return m_impl.recv(); }; - /** - * \brief Enable RS232 RX Interrupt - */ - - void enable_rx_int(){ m_impl.enable_rx_irq(); }; - - /** - * \brief Disable RS232 RX Interrupt - */ - void disable_rx_int(){ m_impl.disable_rx_irq(); }; - - /** - * \brief Received byte from within RX IRQ Handler - * @param dest Reference where to store the received byte - * @return true if byte was received, false on error - * \note The hw dependent implementation can reset status bits here. - */ - bool getc_irq(uint8_t& dest){ return m_impl.getc_irq(dest); }; - - /** - * \brief Setup DMA based reception of a string - * - * @param buffer The destination where to store the bytes - * @param length The number of bytes to receive - * \note The hw dependent implementation can reset status bits here. - * \note This method enables DMA Interrupt after complete reception! (\see dma_rx_completed_irq) - */ - void config_dma_rx_irq(uint8_t* buffer, uint32_t length){ m_impl.config_dma_rx_irq(buffer, length); }; - - /** - * \brief Test and acknowledge dma rx interrupt - * @return \c true if IRQ was an DMA RX complete, \c false on error - * \note The hw dependent implementation can reset status bits here. - * \note This must be called from within the according IRQ Handler - */ - bool dma_rx_completed_irq() { return m_impl.rx_dma_handler_completed(); }; - - - /** - * \brief Test and acknowledge dma tx interrupt - * @return \c true if IRQ was an DMA TX complete, \c false on error - * \note The hw dependent implementation can reset status bits here. - * \note This must be called from within the according IRQ Handler - */ - bool dma_tx_completed_irq() { return m_impl.tx_dma_handler(); }; - - -}; - - -} - - -#endif diff --git a/04_EAN/libEZS/hal/include/SPIBus.h b/04_EAN/libEZS/hal/include/SPIBus.h deleted file mode 100644 index a3ab5385e987ae7fb9362795e36467cb63cf8fc3..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/hal/include/SPIBus.h +++ /dev/null @@ -1,74 +0,0 @@ -/** - * Copyright I4Copter Project 2007-2011 - * http://www4.informatik.uni-erlangen.de/Research/I4Copter - * - * \file SPI.h - * \ingroup hal - * \brief SPI Abstraction Layer - * \author Martin Hoffmann <hoffmann@cs.fau.de> - */ - -#ifndef SPIBUS_H_ -#define SPIBUS_H_ - -#include <stdint.h> -#include "DigitalDevice.h" -//! \note The actual implementation is determined by the header search path, which depends on the CMake build type (microcontroller platform) -#include "Config.h" -#include "SPIBusImpl.h" - -namespace hal { - -/** - * \class SPIBus - * \brief SPI Interface Abstractions - * - * This is the basic "abstract" class of the - * SPI interface (some sort of Pimpl pattern). - * A SPI::Impl class - * holds the hardware dependent implementation. - */ -class SPIBus { - SPIBusImpl* m_impl; -public: - - SPIBus(uint8_t const device) { - if(device == 1) m_impl = &spibus1; - if(device == 2) m_impl = &spibus2; - }; - /** - * \brief Interface initialization - * - * This method just calls the init method - * of a global SPI::Impl "Singleton" - */ - void init( hal::spi::Mode_t mode) const { m_impl->init(mode); } - - - /** - * \brief SPI send routine - * @param address SPI Slave address - * @param data Buffer to read data to send - * @param length Buffer/Message length - * @return - */ - uint32_t master_send(DigitalDevice& slave, uint8_t* txbuf, uint8_t* rxbuf, uint32_t length, hal::spi::tx_callback cb) const { - return m_impl->send_nonblocking(slave, txbuf, rxbuf, length, cb); - } - - - /** - * \brief SPI slave receive routine - * @param address Slave Select line to wait for data - * @param data Buffer to input/output data - * @param length Buffer/Message length - * @return - */ - uint32_t slave_receive(DigitalDevice& slave, uint8_t* rxbuf, uint8_t* txbuf, uint32_t length, hal::spi::rx_callback cb) const { - return m_impl->receive_nonblocking(slave, rxbuf, txbuf, length, cb); - } -}; - -} // end of namespace - -#endif /* SPIBUS_H_ */ diff --git a/04_EAN/libEZS/include/ezs_adc.h b/04_EAN/libEZS/include/ezs_adc.h deleted file mode 100644 index 0af07fac905ff6e52d468ff159a650da6000e1ca..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_adc.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef EZS_ADC_H_INCLUDED -#define EZS_ADC_H_INCLUDED - -/*! - * @file ezs_adc.h - * @brief A very simple AD converter, based on Fail* - * @author Martin Hoffmann - * \ingroup dac - */ - -#include <stdint.h> - -/*! - * \brief Get a value from the ADC. - */ -uint8_t ezs_adc_read(void); - - -#endif // EZS_ADC_H_INCLUDED diff --git a/04_EAN/libEZS/include/ezs_common.h b/04_EAN/libEZS/include/ezs_common.h deleted file mode 100644 index c6454a4712398b1afe82ba5d5c4dad4869241926..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_common.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef EZS_COMMON_H_INCLUDED -#define EZS_COMMON_H_INCLUDED - -/*! - * @file ezs_common.h - * @brief common functions for EZS - * @author Florian Franzmann - * \ingroup common - */ - -#include <stdint.h> - - - -/*! - * \brief returns the low byte of value - */ -uint8_t ezs_low_byte(uint16_t value); - -/*! - * \brief returns the high byte of value - */ -uint8_t ezs_high_byte(uint16_t value); - - -#endif // EZS_COMMON_H_INCLUDED diff --git a/04_EAN/libEZS/include/ezs_counter.h b/04_EAN/libEZS/include/ezs_counter.h deleted file mode 100644 index f5b8fc2db34f7eb26e1e1e4661db940900e1f771..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_counter.h +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef EZS_COUNTER_H_INCLUDED -#define EZS_COUNTER_H_INCLUDED - -/*! - * @file ezs_counter.h - * @brief A simple counter interface. Implemented for tricore and for fail* - * @authors Martin Hoffmann, Tobias Klaus - * \ingroup counter - */ - -#include <cyg/infra/cyg_type.h> - -#ifdef __cplusplus -extern "C" { -#endif -/*! - * \brief This function has to be called exactly once so ezs_counter_get() - * yields meaningfull results. - */ -void ezs_counter_init(void); - -/** - * \brief Read the current counter value from the hardware counter. - * @return counter value (for time resolution \see ezs_counter_resolution_us) - */ -cyg_uint64 ezs_counter_get(void); - -/** - * \brief Returns the current time resolution of the hardware counter. - * @return tick resolution in microseconds - * @retval 0 Resolution cannot be expressed in this granularity. Try another one. - */ -cyg_uint64 ezs_counter_resolution_us(void); -/** - * \brief Returns the current time resolution of the hardware counter. - * @return tick resolution in picoseconds - * @retval 0 Resolution cannot be expressed in this granularity. Try another one. - */ -cyg_uint64 ezs_counter_resolution_ps(void); - -#ifdef __cplusplus -} -#endif - -#endif // EZS_COUNTER_H_INCLUDED diff --git a/04_EAN/libEZS/include/ezs_dac.h b/04_EAN/libEZS/include/ezs_dac.h deleted file mode 100644 index 8ede635aaab9ba8e0af9e9726d8aab012a39313f..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_dac.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef EZS_DAC_H_INCLUDED -#define EZS_DAC_H_INCLUDED - -/*! - * @file ezs_dac.h - * @brief A very simple DA converter. Implemented for tricore and for fail* - * @authors Martin Hoffmann, Tobias Klaus - * \ingroup dac - */ - -#include <stdint.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/*! - * \brief Initializes the DAC. This function has to be called exactly once - * so ezs_dac_write() exhibits defined behaviour. - */ -void ezs_dac_init(void); - -/*! - * \brief Write a value to the DAC. - */ -void ezs_dac_write(uint8_t value); - -#ifdef __cplusplus -} -#endif - - -#endif // EZS_DAC_H_INCLUDED diff --git a/04_EAN/libEZS/include/ezs_fb.h b/04_EAN/libEZS/include/ezs_fb.h deleted file mode 100644 index 2720196f504570ba078d4ad15691c65fd9754b12..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_fb.h +++ /dev/null @@ -1,115 +0,0 @@ -/*! - * @file ezs_fb.h - * @brief eCos framebuffer helper - * @author Martin Hoffmann - * \ingroup hw - * Some helper functions for the eCos framebuffer driver. - * \note You can still use the eCos functions directly, of course - * - */ - -#ifndef __FB_H_ -#define __FB_H_ - -#include <cyg/infra/cyg_type.h> -#include <cyg/infra/diag.h> -#include <cyg/hal/hal_arch.h> -#include <cyg/io/framebuf.h> -#include <string.h> -#include <stdio.h> - -#define FRAMEBUF fb0 -#define FB_WIDTH CYG_FB_WIDTH(FRAMEBUF) -#define FB_HEIGHT CYG_FB_HEIGHT(FRAMEBUF) - -#define FB_BLACK 0 -#define FB_WHITE ((16*4)-1) - -#define FB_FONT_SMILE 1 - -/*! - * \brief Initialize the framebuffer. Call this function exactly once before - * using any of the other framebuffer related functions. - */ -void ezs_fb_init(void); - -/*! - * \brief Fill block. - * \param x X-Axis start position. - * \param y Y-Axis start position. - * \param width Width of the box. - * \param height Height of the box. - * \param color Color. - */ -void ezs_fb_fill_block(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 width, - cyg_ucount16 height, cyg_fb_colour color); - -/*! - * \brief Draw horizontal line. - * \param x X-Axis start position. - * \param y Y-Axis start position. - * \param len length of the line. - * \param color Color. - */ -void ezs_fb_hline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, - cyg_fb_colour color); - -/*! - * \brief Draw vertical line. - * \param x X-Axis start position. - * \param y Y-Axis start position. - * \param len length of the line. - * \param color Color. - */ -void ezs_fb_vline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, - cyg_fb_colour color); - -/*! - * \brief Clear the framebuffer. - * \param color Color. - */ -void ezs_fb_clear(cyg_fb_colour color); - -/* and so on.. see: http://ecos.sourceware.org/docs-latest/ref/framebuf-drawing.html */ - -/*! - * \brief Prints a character at a given position. - * \param c Character to print. - * \param x X-Axis position. - * \param y Y-Axis position. - * \param color Color. - */ -void ezs_fb_print_char(int c, cyg_ucount16 x, cyg_ucount16 y, - cyg_fb_colour color); - -/*! - * \brief Prints a string at a given position. - * \param c Pointer to null terminated string. - * \param x X-Axis position. - * \param y Y-Axis position. - * \param color Color. - */ -void ezs_fb_print_string_cur(char* c, cyg_ucount16 x, cyg_ucount16 y, - cyg_fb_colour color); - -/*! - * \brief Prints a string. - * \param c Pointer to null terminated string. - * \param color String color. - */ -void ezs_fb_print_string(char* c, cyg_fb_colour color); - -/*! - * \brief Sets the cursor to a new line. - */ -void ezs_fb_newline(void); - -/*! - * \brief Sets the cursor to an arbitrary position. - * \param x X-axis position (0 .. FB_WIDTH) - * \param y Y-axis position (0 .. FB_HEIGHT) - */ -void ezs_fb_setpos(cyg_ucount16 x, cyg_ucount16 y); - -#endif - diff --git a/04_EAN/libEZS/include/ezs_fft.h b/04_EAN/libEZS/include/ezs_fft.h deleted file mode 100644 index 39095aa438782ed5913bd4907619f369c7076af3..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_fft.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef EZS_DSP_FFT_H -#define EZS_DSP_FFT_H - - -/** - * \defgroup dsp Digital Signal Processing (DSP) - */ - -/** - * \file ezs_fft.h Fast fourier transformation - * \ingroup dsp - * \brief calculates the power density spectrum of in[] - */ - - - -/** - * \brief Calculates the PDS of a given time domain signal - * \param in input, time domain signal. - * \param out output, out[0] to out[length / 2 - 1] contains the power density spectrum of in[] in dB - * \param length of in[]. Must be a power of 2. The size of out[] must be at least length / 2 - 1. - * - * \note Be careful, only rudimentary error checking is performed. - * \see http://en.wikipedia.org/wiki/Spectral_density - */ -void ezs_power_density_spectrum(float in[], float out[], int length); - -/** - * \brief Calculates the PDS of a given time domain signal - * \param in input, time domain signal. - * \param out output, contains the power density spectrum of in[] in dB. - * \param length of in[]. Must be a power of 2. The size of out[] must be at least length/2 - 1. - * - * This is a convenience function that calls ezs_power_density_spectrum(). - * - * \note Be careful, only rudimentary error checking is performed. - * \see http://en.wikipedia.org/wiki/Spectral_density - */ -void ezs_easy_pds(cyg_uint32 in[], float out[], int length); - - -#endif // EZS_DSP_FFT_H diff --git a/04_EAN/libEZS/include/ezs_gcd.h b/04_EAN/libEZS/include/ezs_gcd.h deleted file mode 100644 index 76aabd192ee0c115d170641a36526d488d1a3ded..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_gcd.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef EZS_MATH_GCD_H -#define EZS_MATH_GCD_H -/** - * \defgroup math Math stuff - */ - -/** - * \file ezs_gcd.h - * \ingroup math - * \brief Greatest common divisor implementation - */ - - -/** - * \brief calculates the greatest common divisor of a and b - */ -int ezs_greatest_common_divisor(int a, int b); - -/** - * \brief calculates the lowest common multiple of a and b - */ -int ezs_lowest_common_multiple(int a, int b); - -#endif // EZS_MATH_GCD_H diff --git a/04_EAN/libEZS/include/ezs_gpio.h b/04_EAN/libEZS/include/ezs_gpio.h deleted file mode 100644 index 9532d9745674cbc9b7cfa5def0a77d0ea652eb14..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_gpio.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef EZS_GPIO_H_INCLUDED -#define EZS_GPIO_H_INCLUDED - -#include <stdbool.h> -/** - * \file ezs_gpio.h - * \ingroup hw - * \brief Access to General Purpose Input/Output pins - */ - -/** - * \brief Call this function exactly once to initialize the GPIO system. - * As long as this function has not been called, calls to other functions in - * this module have undefined behaviour. - */ -void ezs_gpio_init(void); - -/** - * \brief Sets the GPIO pin to high (enabled == true) or low (enabled == - * false). - */ -void ezs_gpio_set(bool /* enabled */); - -#endif // EZS_GPIO_H_INCLUDED diff --git a/04_EAN/libEZS/include/ezs_interpolation.h b/04_EAN/libEZS/include/ezs_interpolation.h deleted file mode 100644 index c1dab000e947c8cb8ba3d6fab7bf5875d5d738dd..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_interpolation.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef EZS_INTERPOLATION_H -#define EZS_INTERPOLATION_H - -/** - * \file ezs_interpolation.h - * \ingroup dsp - * \brief performs linear resampling of in[] and writes the result to out[] - * @see http://en.wikipedia.org/wiki/Sample_rate_conversion - * @see http://en.wikipedia.org/wiki/Linear_interpolation - */ -void ezs_resample_linear(float in[], size_t in_length, float out[], - size_t out_length); -#endif // EZS_INTERPOLATION_H diff --git a/04_EAN/libEZS/include/ezs_io.h b/04_EAN/libEZS/include/ezs_io.h deleted file mode 100644 index d0935bc23d40821d56911350646d4261bdc70bca..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_io.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef EZS_IO_H_INCLUDED -#define EZS_IO_H_INCLUDED - -#include <cyg/infra/cyg_type.h> - -/** - * \file ezs_io.h - * \brief Input/Output primitives - */ - -/** - * \brief print value annotated with timestamp. The exact means of printing are - * subject to the underlying hardware. - */ -void ezs_print_measurement(cyg_uint32 timestamp, cyg_uint32 value); - -#endif // EZS_IO_H_INCLUDED diff --git a/04_EAN/libEZS/include/ezs_keycodes.h b/04_EAN/libEZS/include/ezs_keycodes.h deleted file mode 100644 index c9cdf8cdf2eae720d00bc6f40aed210cda01f9c4..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_keycodes.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef __KEYCODES_H__ -#define __KEYCODES_H__ -/** - * @file ezs_keycodes.h - * - * @brief Keyboard keycodes. - * @author Martin Hoffmann - */ - - -/** - * Get character from keyboard code. - */ -unsigned char ezs_get_char_from_keycode(unsigned char code); - -#endif diff --git a/04_EAN/libEZS/include/ezs_outputs.h b/04_EAN/libEZS/include/ezs_outputs.h deleted file mode 100644 index c2fd3a7cd3c448dfc0cd8768c696bbcea1fafc79..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_outputs.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef EZS_OUTPUTS_H_INCLUDED -#define EZS_OUTPUTS_H_INCLUDED - -/*! - * @file ezs_common.h - * @brief common functions for EZS - * @author Florian Franzmann - * \ingroup common - */ - -#include <stdint.h> - -void outputs_init(void); - -/*! - * \brief returns the low byte of value - */ -void ezs_setOutputA(uint16_t); -void ezs_setOutputB(uint16_t); -void ezs_setOutputC(uint16_t); - -#endif // EZS_OUTPUTS_H_INCLUDED diff --git a/04_EAN/libEZS/include/ezs_plot.h b/04_EAN/libEZS/include/ezs_plot.h deleted file mode 100644 index 4d85004474f29c27703de2f8a514ad854b1f5bd1..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_plot.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef EZS_PLOT_H -#define EZS_PLOT_H -#include <cyg/infra/cyg_type.h> -#include <cyg/io/framebuf.h> - -/** - * \defgroup plot Graph plotting - */ - - -/** - * \file ezs_plot.h - * \ingroup plot - * \brief Helper function to plot a <b>time domain signal</b> - */ - -/** - * \brief Plots a <b>time signal</b> of given length to framebuffer - * - * @param data A pointer of data values - * @param length The size of the data array - * @param foreground The foreground color: e.g. FB_WHITE - * @param background The background color: e.g. FB_BLACK - */ -void ezs_plot(cyg_uint32 data[], size_t length, cyg_fb_colour foreground, - cyg_fb_colour background); - -#endif // EZS_PLOT_H diff --git a/04_EAN/libEZS/include/ezs_plot_pds.h b/04_EAN/libEZS/include/ezs_plot_pds.h deleted file mode 100644 index 132d3f3467e182f30f19980abb7ef83a6398481b..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_plot_pds.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef EZS_PLOT_PDS_H -#define EZS_PLOT_PDS_H -#include "ezs_fb.h" - -/** - * \file ezs_plot_pds.h - * \ingroup plot - * \brief plot an previously calculated <b>power density spectrum</b> - * - * @param spectrum The caculated pds data - * @param length The length of the pds array - * @param foreground The framebuffer foreground color - * @param background The framebuffer background color - */ -void ezs_plot_pds(float spectrum[], int length, cyg_fb_colour foreground, - cyg_fb_colour background); - -#endif // EZS_PLOT_PDS_H diff --git a/04_EAN/libEZS/include/ezs_rs232.h b/04_EAN/libEZS/include/ezs_rs232.h deleted file mode 100644 index fa4008a1fdcf75a77bce04bc28dd9c0301f0e375..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_rs232.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef EZS_RS232_H_INCLUDED -#define EZS_RS232_H_INCLUDED - -#include <stdint.h> - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * \file ezs_rs232.h - * \ingroup hw - * \brief Functions for using the RS232 interface. - */ - -/** - * \brief initializes the RS232 interface. Call this function exactly once - * before using any other function provided by this module. - */ -void ezs_rs232_init(uint32_t /* baudrate */, uint8_t /* irq */); - -/** - * \brief writes a single byte to the RS232 interface. - */ -void ezs_rs232_putc(uint8_t /* c */); - -/** - * \brief consumes a single byte from the RS232 interface's input buffer. - */ -uint8_t ezs_rs232_getc(void); - -/** - * \brief Marks the current RS232 interrupt as handled. - */ -void ezs_rs232_acknowledge_rx_interrupt(void); - -#ifdef __cplusplus -} -#endif - -#endif // EZS_RS232_H_INCLUDED diff --git a/04_EAN/libEZS/include/ezs_sensors.h b/04_EAN/libEZS/include/ezs_sensors.h deleted file mode 100644 index 81e171955009caabebb69e5047a35dfe7b9fe22a..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_sensors.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef EZS_SENSORS_H_INCLUDED -#define EZS_SENSORS_H_INCLUDED - -/*! - * @file ezs_common.h - * @brief common functions for EZS - * @author Florian Franzmann - * \ingroup common - */ - -#include <stdint.h> - -void sensors_init(void); - -/*! - * \brief returns the low byte of value - */ -uint16_t ezs_getValueSensorA(void); -uint16_t ezs_getValueSensorB(void); -uint16_t ezs_getValueSensorC(void); - -#endif // EZS_SENSORS_H_INCLUDED diff --git a/04_EAN/libEZS/include/ezs_stopwatch.h b/04_EAN/libEZS/include/ezs_stopwatch.h deleted file mode 100644 index 42fb2472e624604d2c41095c9170560764705ae7..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_stopwatch.h +++ /dev/null @@ -1,39 +0,0 @@ -/*! - * @file ezs_stopwatch.h - * A stopwatch for time measurement and - * WCET generation. - * - * \ingroup hw - * @brief EZS time measurement and WCET generation - * @author Martin Hoffmann - */ - -#ifndef __STOPWATCH_H_ -#define __STOPWATCH_H_ -#include <cyg/infra/cyg_type.h> - -/** - * Start stop watch. - * @param state Pointer to a state variable - */ -void ezs_watch_start(cyg_uint32* state); - -/** - * Stop watch and return time in timer's ticks. - * @param state Pointer to a state variable - * @see ezs_watch_start - */ -cyg_uint32 ezs_watch_stop(cyg_uint32* state); - -/** - * Waits actively for WCET simulation. - * @param wcet Desired time to wait actively in in ticks. - * Beware! Not too small amounts of ticks may be undetectable. - * Thus this function may not support small granularities. - * @param percentage Maximal percentage of the wcet that might NOT be lost to better simulate real workload. Values above 100 are mapped to 100 - */ -void ezs_lose_time(cyg_uint32 wcet, cyg_uint8 percentage); - - -#endif - diff --git a/04_EAN/libEZS/include/ezs_trace.h b/04_EAN/libEZS/include/ezs_trace.h deleted file mode 100644 index 3c5056c777c357cb3caeedf217e047bd17f93cb4..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_trace.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef EZS_TRACER_H -#define EZS_TRACER_H - -/** - * \file ezs_trace.h - * \brief Functions for execution tracing. - */ - -/** - * \brief initializes execution tracing - */ -int ezs_trace_init(void); - -#endif diff --git a/04_EAN/libEZS/include/ezs_window.h b/04_EAN/libEZS/include/ezs_window.h deleted file mode 100644 index c70b8e444db20d52e7c3ea9ab34dbf916a6e58af..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/ezs_window.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef EZS_DSP_WINDOW_H -#define EZS_DSP_WINDOW_H - -/** - * \file ezs_window.h - * \ingroup dsp - * \brief Various FFT window implementations - * \author Florian Franzmann - * \note only for internal use. - */ - -/** - * \brief This function calculates the weights for a rectangulage window - * \return always returns 1.0 - */ -float ezs_rect_window(float alpha, int position, int length); - -/** - * \brief This function calculates the weights for a blackman window - */ -float ezs_blackman_window(float alpha, int position, int length); - -/*! - * \brief This function calculates the weights for a hamming window - */ -float ezs_hamming_window(float alpha, int position, int length); - -#endif // EZS_DSP_WINDOW_H diff --git a/04_EAN/libEZS/include/fixedpoint.h b/04_EAN/libEZS/include/fixedpoint.h deleted file mode 100644 index d4bec65deaf0863aaccc291f4524b85323db073c..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/include/fixedpoint.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef FIXEDPOINT_H_INCLUDED -#define FIXEDPOINT_H_INCLUDED - -#include <stdint.h> - -int8_t float_to_q(float f); - -float q_to_float(int8_t q); - -int8_t q_add(int8_t s1, int8_t s2); - -int8_t q_sub(int8_t minuend, int8_t subtrahend); - -int8_t q_mul(int8_t fac1, int8_t fac2); - -int8_t q_div(int8_t divident, int8_t divisor); - -#endif // FIXEDPOINT_H_INCLUDED diff --git a/04_EAN/libEZS/src/ezs_common.c b/04_EAN/libEZS/src/ezs_common.c deleted file mode 100644 index cb8146982ebf75e04891343cfbf165e07c03cde1..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_common.c +++ /dev/null @@ -1,10 +0,0 @@ -#include "ezs_common.h" - -uint8_t ezs_low_byte(uint16_t value) { - return (uint8_t) (value & 0xFF); -} - -uint8_t ezs_high_byte(uint16_t value) { - return (uint8_t) ((value & 0xFF00) >> 8); -} - diff --git a/04_EAN/libEZS/src/ezs_dac.c b/04_EAN/libEZS/src/ezs_dac.c deleted file mode 100644 index 2c3295e6137db2464138b02f6ec11c0139e8e235..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_dac.c +++ /dev/null @@ -1,21 +0,0 @@ -/*! - * @file ezs_dac.c - * @brief A very simple DA converter, based on Fail* - * @author Martin Hoffmann - * \ingroup dac - */ -#include <stdint.h> -#include "ezs_dac.h" - -static volatile uint8_t ezs_dac_out_register; - -/*! - * \brief Write a value to the DAC - */ -void ezs_dac_write(uint8_t value) { - ezs_dac_out_register = value; -} - -void ezs_dac_init() { -} - diff --git a/04_EAN/libEZS/src/ezs_fb.c b/04_EAN/libEZS/src/ezs_fb.c deleted file mode 100644 index 1a1493a152436c2f4dc287b2909e7bb1695de497..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_fb.c +++ /dev/null @@ -1,93 +0,0 @@ -#include "libEZS/include/ezs_fb.h" -typedef struct { - int x; - int y; -} cursor_t; - -static cursor_t cursor; -void ezs_fb_init(void) { - CYG_FB_ON(FRAMEBUF); - CYG_FB_FILL_BLOCK(FRAMEBUF, 0, 0, FB_WIDTH, FB_HEIGHT, 0); - cursor.x = 0; - cursor.y = 0; -} - - -void ezs_fb_fill_block(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 width, - cyg_ucount16 height, cyg_fb_colour color) { - CYG_FB_FILL_BLOCK(FRAMEBUF, x, y, width, height, color); -} - - -void ezs_fb_hline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, - cyg_fb_colour color) { - CYG_FB_WRITE_HLINE(FRAMEBUF, x, y, len, color); -} - - -void ezs_fb_vline(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 len, - cyg_fb_colour color) { - - CYG_FB_WRITE_VLINE(FRAMEBUF, x, y, len, color); -} - -void ezs_fb_clear(cyg_fb_colour color) { - ezs_fb_fill_block(0, 0, FB_WIDTH, FB_HEIGHT, color); -} - - -void ezs_fb_print_char( int ch, cyg_ucount16 x, cyg_ucount16 y, - cyg_fb_colour color) { - int i, j; - - for (i = ch * 8; i < (ch * 8) + 8; i++) { - unsigned char row = g_8x8_font[i]; - - for (j = 0; j < 8; j++) { - if ((row & (0x80 >> j)) != 0) { - ezs_fb_fill_block(x + j, y + (i - ch * 8), 1, 1, color); - } - } - } - -} - -void ezs_fb_print_string(char* c, cyg_fb_colour color) { - ezs_fb_print_string_cur(c, cursor.x, cursor.y, color); -} - -void ezs_fb_print_string_cur(char* c, cyg_ucount16 x, cyg_ucount16 y, - cyg_fb_colour color) { - char* ch = c; - - while (*ch != '\0') { - if (*ch == '\n') { - ezs_fb_newline(); - } - else { - ezs_fb_print_char((*ch) + 0, x , y, color); - x = x + 8; - - if ( x >= FB_WIDTH - 8) { - y += 8; - x = 0; - } - } - - ch++; - } - - cursor.x = x; - cursor.y = y; -} - -void ezs_fb_newline(void) { - cursor.x = 0; - cursor.y += 8; -} - -void ezs_fb_setpos(cyg_ucount16 x, cyg_ucount16 y) { - cursor.x = x; - cursor.y = y; -} - diff --git a/04_EAN/libEZS/src/ezs_fft.c b/04_EAN/libEZS/src/ezs_fft.c deleted file mode 100644 index c42549e159106096dd9f4568c903b1b16ec341e9..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_fft.c +++ /dev/null @@ -1,219 +0,0 @@ -/**************************************************************************** -* rfft(float X[],int N) * -* A real-valued, in-place, split-radix FFT program * -* Decimation-in-time, cos/sin in second loop * -* Input: float X[1]...X[N] (NB Fortran style: 1st pt X[1] not X[0]!) * -* Length is N=2**M (i.e. N must be power of 2--no error checking) * -* Output in X[1]...X[N], in order: * -* [Re(0), Re(1),..., Re(N/2), Im(N/2-1),..., Im(1)] * -* * -* Original Fortran code by Sorensen; published in H.V. Sorensen, D.L. Jones,* -* M.T. Heideman, C.S. Burrus (1987) Real-valued fast fourier transform * -* algorithms. IEEE Trans on Acoustics, Speech, & Signal Processing, 35, * -* 849-863. Adapted to C by Bill Simpson, 1995 wsimpson@uwinnipeg.ca * -****************************************************************************/ - -#include <math.h> -#include <assert.h> -#include <string.h> -#include <float.h> -#include "ezs_fft.h" -#include "ezs_window.h" - -#define EZS_ADC_MAXIMUM 255.0f - -void rfft(float X[], int N) { - assert(log(N) / log(2.0) == floor(log(N) / log(2.0))); - int I, I0, I1, I2, I3, I4, I5, I6, I7, I8, IS, ID; - int J, K, M, N2, N4, N8; - float A, A3, CC1, SS1, CC3, SS3, E, R1, XT; - float T1, T2, T3, T4, T5, T6; - - M = (int)(log(N) / log(2.0)); /* N=2^M */ - - /* ----Digit reverse counter--------------------------------------------- */ - J = 1; - - for (I = 1; I < N; I++) { - if (I < J) { - XT = X[J]; - X[J] = X[I]; - X[I] = XT; - } - - K = N / 2; - - while (K < J) { - J -= K; - K /= 2; - } - - J += K; - } - - /* ----Length two butterflies--------------------------------------------- */ - IS = 1; - ID = 4; - - do { - for (I0 = IS; I0 <= N; I0 += ID) { - I1 = I0 + 1; - R1 = X[I0]; - X[I0] = R1 + X[I1]; - X[I1] = R1 - X[I1]; - } - - IS = 2 * ID - 1; - ID = 4 * ID; - } - while (IS < N); - - /* ----L shaped butterflies----------------------------------------------- */ - N2 = 2; - - for (K = 2; K <= M; K++) { - N2 = N2 * 2; - N4 = N2 / 4; - N8 = N2 / 8; - E = (float) 6.2831853071719586f / N2; - IS = 0; - ID = N2 * 2; - - do { - for (I = IS; I < N; I += ID) { - I1 = I + 1; - I2 = I1 + N4; - I3 = I2 + N4; - I4 = I3 + N4; - T1 = X[I4] + X[I3]; - X[I4] = X[I4] - X[I3]; - X[I3] = X[I1] - T1; - X[I1] = X[I1] + T1; - - if (N4 != 1) { - I1 += N8; - I2 += N8; - I3 += N8; - I4 += N8; - T1 = (X[I3] + X[I4]) * .7071067811865475244f; - T2 = (X[I3] - X[I4]) * .7071067811865475244f; - X[I4] = X[I2] - T1; - X[I3] = -X[I2] - T1; - X[I2] = X[I1] - T2; - X[I1] = X[I1] + T2; - } - } - - IS = 2 * ID - N2; - ID = 4 * ID; - } - while (IS < N); - - A = E; - - for (J = 2; J <= N8; J++) { - A3 = 3.0 * A; - CC1 = cos(A); - SS1 = sin(A); /*typo A3--really A?*/ - CC3 = cos(A3); /*typo 3--really A3?*/ - SS3 = sin(A3); - A = (float)J * E; - IS = 0; - ID = 2 * N2; - - do { - for (I = IS; I < N; I += ID) { - I1 = I + J; - I2 = I1 + N4; - I3 = I2 + N4; - I4 = I3 + N4; - I5 = I + N4 - J + 2; - I6 = I5 + N4; - I7 = I6 + N4; - I8 = I7 + N4; - T1 = X[I3] * CC1 + X[I7] * SS1; - T2 = X[I7] * CC1 - X[I3] * SS1; - T3 = X[I4] * CC3 + X[I8] * SS3; - T4 = X[I8] * CC3 - X[I4] * SS3; - T5 = T1 + T3; - T6 = T2 + T4; - T3 = T1 - T3; - T4 = T2 - T4; - T2 = X[I6] + T6; - X[I3] = T6 - X[I6]; - X[I8] = T2; - T2 = X[I2] - T3; - X[I7] = -X[I2] - T3; - X[I4] = T2; - T1 = X[I1] + T5; - X[I6] = X[I1] - T5; - X[I1] = T1; - T1 = X[I5] + T4; - X[I5] = X[I5] - T4; - X[I2] = T1; - } - - IS = 2 * ID - N2; - ID = 4 * ID; - } - while (IS < N); - } - } - - return; -} - -float db(float real, float imag) { - float square = real * real + imag * imag; - - if (square == 0.0f) { - square = FLT_MIN * 10.0f; - } - - float ret = 10.0f * log(square) / log(10.0f); - return ret; -} - -void ezs_power_density_spectrum(float in[], float out[], int length) { - assert(length > 0); - assert(log((float) length) / log(2.0f) == floor(log((float) length) / log( - 2.0f))); - - { - int i; - - for (i = 0; i < length; ++i) { - out[i] = ezs_blackman_window(0.16f, i, length) * in[i]; - } - } - rfft(&out[-1], length); - float scale = (float) length / 2.0f; - { - int i; - - for (i = 0; i < length; ++i) { - int second = length - i - 1; - assert(second < length); - assert(0 <= second); - out[i] = db(out[i] / scale, out[length - i - 1] / scale); - } - } -} - -void ezs_easy_pds(cyg_uint32 in[], float out[], int length) { - float in_f[length]; - - { - int i = 0; - - for (i = 0; i < length; ++i) { - in_f[i] = (((float) in[i]) - (EZS_ADC_MAXIMUM / 2.0f)) / EZS_ADC_MAXIMUM; - } - } - - float tmp[length]; - ezs_power_density_spectrum(in_f, tmp, length); - - memcpy(out, tmp, (length / 2) * sizeof(float)); -} - diff --git a/04_EAN/libEZS/src/ezs_gcd.c b/04_EAN/libEZS/src/ezs_gcd.c deleted file mode 100644 index 6029589a0b59f1132d439a554d9b2bc6c648770e..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_gcd.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "ezs_gcd.h" -#include <math.h> -#include <stdlib.h> - -int ezs_greatest_common_divisor(int a, int b) { - a = abs(a); - b = abs(b); - - while (b != 0) { - int tmp = b; - b = a % b; - a = tmp; - } - - return a; -} - -int ezs_lowest_common_multiple(int a, int b) { - return abs(a * b) / ezs_greatest_common_divisor(a, b); -} diff --git a/04_EAN/libEZS/src/ezs_impure_ptr.c b/04_EAN/libEZS/src/ezs_impure_ptr.c deleted file mode 100644 index 2bcce4eecc67716dddaadc5346b1742b437208c3..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_impure_ptr.c +++ /dev/null @@ -1 +0,0 @@ -struct _reent* _impure_ptr = 0; diff --git a/04_EAN/libEZS/src/ezs_interpolation.c b/04_EAN/libEZS/src/ezs_interpolation.c deleted file mode 100644 index 7de20d4786641d09c25000b71843c1738fc96c96..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_interpolation.c +++ /dev/null @@ -1,82 +0,0 @@ -#include "ezs_gcd.h" -#include <stddef.h> -#include <assert.h> - -float linear_interpolation(float first, float second, float alpha) { - float ret = (1.0f - alpha) * first + alpha * second; - printf("%f * %f + %f * %f = %f\n", 1.0f - alpha, first, alpha, second, ret); - return ret; -} - -void ezs_resample_linear(float in[], size_t in_length, float out[], - size_t out_length) { - size_t lcm = ezs_lowest_common_multiple(in_length, out_length); - size_t size = lcm + 1; - float tmp[size]; - - - { - size_t in_stride = size / (in_length - 1); - size_t i = 0; - - for (i = 0; i < in_length - 1; ++i) { - size_t j = 0; - - for (j = 0; j < in_stride; ++j) { - float alpha = ((float) (j)) / ((float) in_stride - 1); - - size_t first_position = i; - size_t second_position = i + 1; - - size_t target_position = i * in_stride + j; - assert(target_position < size); - - tmp[target_position] = linear_interpolation(in[first_position], - in[second_position], alpha); - } - } - - tmp[size - 1] = in[in_length - 1]; - } - - { - size_t out_stride = lcm / (out_length - 1); - int i = 0; - - for (i = 0; i < out_length; ++i) { - size_t source_position = i * out_stride; - assert(source_position < size); - - out[i] = tmp[source_position]; - } - - out[out_length - 1] = tmp[size - 1]; - } -} - -/* -int main() -{ -#define IN_LENGTH 512 -#define OUT_LENGTH 320 - float input[IN_LENGTH]; - { - int i; - for (i = 0; i < IN_LENGTH; ++i) { - input[i] = i + 1; - } - } - float output[OUT_LENGTH]; - - ezs_resample_linear(input, IN_LENGTH, output, OUT_LENGTH); - int i; - for (i = 0; i < IN_LENGTH; ++i) { - printf("%f ", input[i]); - } - printf("\n"); - for (i = 0; i < OUT_LENGTH; ++i) { - printf("%f ", output[i]); - } - printf("\n"); -} -*/ diff --git a/04_EAN/libEZS/src/ezs_io.c b/04_EAN/libEZS/src/ezs_io.c deleted file mode 100644 index 9adaeb3824721ecde42360535eb22a0ef1d7036d..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_io.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "ezs_io.h" - -#include <cyg/infra/diag.h> - -#include <string.h> -#include <stdio.h> - -void ezs_print_measurement(cyg_uint32 timestamp, cyg_uint32 value) { - const size_t buffer_length = 10 /* first number */ - + 1 /* separator */ - + 10 /* second number */ - + 1 /* newline */ - + 1 /* terminating null byte */ ; - char buffer[buffer_length]; - memset(buffer, 0, buffer_length); - snprintf(buffer, buffer_length, "%u;%u\n", (unsigned int)timestamp, - (unsigned int)value); - diag_printf(buffer); -} - diff --git a/04_EAN/libEZS/src/ezs_outputs.c b/04_EAN/libEZS/src/ezs_outputs.c deleted file mode 100644 index 956e8d9c33a23389fea0bab45de63175342e64b6..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_outputs.c +++ /dev/null @@ -1,31 +0,0 @@ -/*! - * @file ezs_outputs.c - * @brief output stubs functions for VEZS - * @author Tobias Klaus - * \ingroup common - */ - -#include "ezs_outputs.h" - -void outputs_init(void) { - return; -} - -/*! - * \brief returns the low byte of value - */ -static uint16_t valueA = 0; -static uint16_t valueB = 0; -static uint16_t valueC = 0; - - -void ezs_setOutputA(uint16_t v) { - valueA = v; -} -void ezs_setOutputB(uint16_t v) { - valueB = v; -} -void ezs_setOutputC(uint16_t v) { - valueC = v; -} - diff --git a/04_EAN/libEZS/src/ezs_plot.c b/04_EAN/libEZS/src/ezs_plot.c deleted file mode 100644 index 3032cee14428a84594d7c28aec6007ab6e09b2fe..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_plot.c +++ /dev/null @@ -1,147 +0,0 @@ -#include "ezs_plot.h" -#include "ezs_fb.h" -#include <stdio.h> -#include <math.h> -#include <assert.h> - - -void ezs_plot(cyg_uint32 data[], size_t length, cyg_fb_colour foreground, - cyg_fb_colour background) { - ezs_fb_clear(background); - { - size_t i = 0; - - for (i = 1; i < length; ++i) { - assert(data[i] < 1024); - cyg_ucount16 y = (((int) data[i]) * FB_HEIGHT) / 1024; - - ezs_fb_vline(i, FB_HEIGHT - y, 1, foreground); - } - } -} - -void ezs_plot_drawCoordSystem(void) { - // y-axis - ezs_fb_vline(1, 0, FB_HEIGHT, CYG_FB_DEFAULT_PALETTE_BLACK); - ezs_fb_hline(0, 1, 3, CYG_FB_DEFAULT_PALETTE_BLACK); - - // x-axis - ezs_fb_hline(0, FB_HEIGHT - 2, FB_WIDTH, CYG_FB_DEFAULT_PALETTE_BLACK); - ezs_fb_vline(FB_WIDTH - 2, FB_HEIGHT - 3, 3, CYG_FB_DEFAULT_PALETTE_BLACK); -} - -void ezs_plot_markXaxis(short numberOfMarks) { - - int delta = (FB_WIDTH - 1) / (numberOfMarks + 1); - int shift = delta + 1; - - int i; - - for (i = 0; i < numberOfMarks; ++i) { - ezs_fb_vline(shift, FB_HEIGHT - 4, 3, CYG_FB_DEFAULT_PALETTE_BLACK); - shift += delta; - } -} - -void ezs_plot_markYaxis(short numberOfMarks) { - - int delta = (FB_HEIGHT - 1) / (numberOfMarks + 1); - int shift = FB_HEIGHT - 1 - delta; - - int i; - - for (i = 0; i < numberOfMarks + 1; ++i) { - ezs_fb_hline(0, shift, 3, CYG_FB_DEFAULT_PALETTE_BLACK); - shift -= delta; - } -} - -void ezs_plot_drawBarOnCoordSystem(float upperBound, float lowerBound, - float inputArray[], int sizeOfArray) { - - // Clear FrameBuffer - ezs_fb_clear(CYG_FB_DEFAULT_PALETTE_WHITE); - - // Flag for bufferOverflow/Underflow - bool overflow; - bool underflow; - - // Define max / min Area Y-Axis - int maxValueY = FB_HEIGHT - ((FB_HEIGHT - 1) / 11) * 10 - 1; //=21 - int minValueY = FB_HEIGHT - 1; //=239 - int area = minValueY - maxValueY; //=218 - - // Define half block width - int halfBlockWidth = ((FB_WIDTH - 1) / (sizeOfArray + 1)) / 3; - - // Temp variables for scaling - assert(upperBound > lowerBound); - float scaleTo = upperBound - lowerBound; - float offset = 0 - lowerBound; - float scaledValue; - int scaledValueInt; - - // Bar drawing loop - int delta = (FB_WIDTH - 1) / (sizeOfArray + 1); - int shift = delta + 1; - int i; - - for (i = 0; i < sizeOfArray; ++i) { - - scaledValue = (inputArray[i] + offset) / scaleTo; - - // Overflow check! - if (scaledValue > 1.0) { - scaledValue = 1.0; - overflow = true; - } - else { - overflow = false; - } - - // Underflow check! - if (scaledValue < 0.0) { - scaledValue = 0.0; - underflow = true; - } - else { - underflow = false; - } - - scaledValueInt = scaledValue * area; - - if (!overflow) { - if (!underflow) { - ezs_fb_fill_block(shift - halfBlockWidth, minValueY - scaledValueInt, - halfBlockWidth * 2, scaledValueInt, CYG_FB_DEFAULT_PALETTE_BLUE); - } - else { - ezs_fb_fill_block(shift - halfBlockWidth, minValueY, halfBlockWidth * 2, 2, - CYG_FB_DEFAULT_PALETTE_YELLOW); - } - } - else { - ezs_fb_fill_block(shift - halfBlockWidth, minValueY - scaledValueInt, - halfBlockWidth * 2, scaledValueInt, CYG_FB_DEFAULT_PALETTE_RED); - } - - shift += delta; - } - - // Draw coord system - ezs_plot_drawCoordSystem(); - ezs_plot_markYaxis(10); - ezs_plot_markXaxis(sizeOfArray); - - /*! - * \brief Fill block. - * \param x X-Axis start position. - * \param y Y-Axis start position. - * \param width Width of the box. - * \param height Height of the box. - * \param color Color. - */ -//void ezs_fb_fill_block(cyg_ucount16 x, cyg_ucount16 y, cyg_ucount16 width,cyg_ucount16 height,cyg_fb_colour color); - - -} diff --git a/04_EAN/libEZS/src/ezs_plot_pds.c b/04_EAN/libEZS/src/ezs_plot_pds.c deleted file mode 100644 index 0c88a12fdf39e302750d6c67537d667208ec0d78..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_plot_pds.c +++ /dev/null @@ -1,51 +0,0 @@ -#include "ezs_plot_pds.h" - -#include "ezs_fb.h" - -#include <cyg/infra/cyg_type.h> -#include <cyg/io/framebuf.h> - -#include <assert.h> -#include <stddef.h> - -static void plot_spectrum(float* spectrum, int length, - cyg_ucount16 widget_x, cyg_ucount16 widget_y, - cyg_ucount16 widget_width, cyg_ucount16 widget_height, - cyg_fb_colour widget_color) { - assert(widget_x + widget_width <= FB_WIDTH); - assert(widget_y + widget_height <= FB_HEIGHT); - - int bar_width = widget_width / length; - int bar_unit = widget_height / 140; - { - int i; - - for (i = 0; i < length; ++i) { - int x = i * bar_width + widget_x; - assert(x < widget_x + widget_width); - assert(x >= widget_x); - - int width = bar_width; - assert(width >= 0); - - int height = bar_unit * (spectrum[i] + 140.0f); - assert(height >= 0); - - int y = widget_y + widget_height - height; - assert(y <= widget_y + widget_height); - assert(y >= widget_y); - - - ezs_fb_fill_block(x, y, width, height, widget_color); - } - } -} - -void ezs_plot_pds(float spectrum[], int length, cyg_fb_colour foreground, - cyg_fb_colour background) { - assert(length <= FB_WIDTH); - - ezs_fb_clear(background); - plot_spectrum(spectrum, length, 0, 0, FB_WIDTH, FB_HEIGHT, foreground); -} - diff --git a/04_EAN/libEZS/src/ezs_stopwatch.c b/04_EAN/libEZS/src/ezs_stopwatch.c deleted file mode 100644 index 4cc49f040969f85afee799060f83ba1c39d7c1f1..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_stopwatch.c +++ /dev/null @@ -1,41 +0,0 @@ -#include "ezs_stopwatch.h" -#include "ezs_counter.h" -#include <stdlib.h> - -void ezs_watch_start(cyg_uint32* state) { - *state = ezs_counter_get(); -} - -cyg_uint32 ezs_watch_stop(cyg_uint32* state) { - return ezs_counter_get() - (*state); -} - - -void ezs_lose_time(cyg_uint32 wcet, cyg_uint8 percentage) { - cyg_uint32 previous_value = ezs_counter_get(); - cyg_uint8 percent = 0; - const cyg_uint32 resolution = 50U; - cyg_uint32 temp, diff; - - if (percentage > 0 && percentage <= 100 ) { - percent = rand() % percentage; - } - - cyg_int32 counter = ( wcet - (wcet * percent) / 100); - - //make sure we always return before the demanded wcet - counter = counter - resolution; - - while (counter > 0) { - temp = ezs_counter_get(); - diff = temp - previous_value; - - // if we were not interrupted - if (diff < resolution) { - counter = counter - diff ; - } - - previous_value = temp; - } -} - diff --git a/04_EAN/libEZS/src/ezs_tracer.cpp b/04_EAN/libEZS/src/ezs_tracer.cpp deleted file mode 100644 index 9bff353c36280457ed3e0e0fd3468b40a8a6f728..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_tracer.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include <pkgconf/system.h> -#include <cyg/io/io.h> -#include <cyg/error/codes.h> -#include <stdint.h> -#include <stdio.h> - -//! Determine if we are running in FailBochs -static volatile unsigned FAILBOCHSID; -static volatile uint8_t ezs_adc_in_register; - -//! The magic tracer variable Fail* is listening on. -volatile unsigned ezs_tracer_register; - -extern "C" int ezs_trace_init(){ - FAILBOCHSID = ezs_adc_in_register; - return 0; -} - -//! No Time triggered kernel -> normal event triggered ecos: -#ifndef SMLPKG_TTKERNEL -#include <cyg/kernel/kernel.hxx> // C Kernel-API -extern "C" { -#include <cyg/kernel/kapi.h> // C Kernel-API -} -class Cyg_Thread; - - -extern "C" void ezs_instrument(Cyg_Thread* current, Cyg_Thread* next) { - // Get priority from next thread - int prio = next->get_priority(); - if(prio > 32) prio = 32; - - // Write priority to tracer register - ezs_tracer_register = prio; -} - -#else -#include <sml/ttkernel/task.hxx> -extern "C" void ezs_instrument(TT_Task* current, TT_Task* next){ - ezs_tracer_register = next->get_id(); -} -#endif - diff --git a/04_EAN/libEZS/src/ezs_window.c b/04_EAN/libEZS/src/ezs_window.c deleted file mode 100644 index 1d2c6986b2471571ac78bfb92feb6b07abbecdaf..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/ezs_window.c +++ /dev/null @@ -1,31 +0,0 @@ -#include "ezs_window.h" -#include <math.h> -#define M_PI 3.14159265358979323846f /* pi */ - -#include <assert.h> - -float ezs_rect_window(float alpha, int position, int length) { - return 1.0f; -} - -float ezs_blackman_window(float alpha, int position, int length) { - assert(length > 0); - assert(position >= 0); - assert(position < length); - assert(alpha >= 0.0f); - assert(1.0f >= alpha); - - float a[3] = {(1.0f - alpha) / 2.0f, 0.5f, alpha / 2.0f}; - return a[0] - - a[1] * cos((2.0f * M_PI * ((float) position)) / ((float) (length - 1))) - + a[2] * cos((4.0f * M_PI * ((float) position)) / ((float) (length - 1))); -} - -float ezs_hamming_window(float alpha, int position, int length) { - assert(length > 0); - assert(position >= 0); - assert(position < length); - - return 0.54f - 0.46f * cos((2.0f * M_PI * (float) position) / (float) ( - length - 1)); -} diff --git a/04_EAN/libEZS/src/fixedpoint.c b/04_EAN/libEZS/src/fixedpoint.c deleted file mode 100644 index fb4d892056af032e22b96d47dc31d0ba4cdc9651..0000000000000000000000000000000000000000 --- a/04_EAN/libEZS/src/fixedpoint.c +++ /dev/null @@ -1,70 +0,0 @@ -#include "fixedpoint.h" - -enum { - N = 3, -}; -static const int16_t K = 1 << (N - 1); - -int8_t float_to_q(float f) -{ - float temp = f * (1 << N); - return (int8_t) temp; -} - -float q_to_float(int8_t q) -{ - float temp = (float) q; - return temp / (1 << N); -} - -int8_t q_add(int8_t s1, int8_t s2) -{ - int8_t res = (int8_t) (s1 + s2); - return res; -} - -int8_t q_sub(int8_t minuend, int8_t subtrahend) -{ - int8_t res = (int8_t) (minuend - subtrahend); - return res; -} - -// saturate to range of int8_t -int8_t sat8(int16_t x) -{ - if (x > 0x7F) return 0x7F; - else if (x < -0x80) return -0x80; - else return (int8_t)x; -} - -int8_t q_mul(int8_t fac1, int8_t fac2) -{ - int8_t result; - int16_t temp; - - temp = (int16_t)fac1 * (int16_t)fac2; // result type is operand's type - // Rounding; mid values are rounded up - temp += K; - - // Correct by dividing by base and saturate result - result = sat8(temp >> N); - - return result; -} - -int8_t q_div(int8_t dividend, int8_t divisor) -{ - int8_t result; - int16_t temp; - - // pre-multiply by the base - temp = (int16_t)dividend << N; - // Rounding: mid values are rounded up (down for negative values). - if ((temp >= 0 && divisor >= 0) || (temp < 0 && divisor < 0)) - temp += divisor / 2; - else - temp -= divisor / 2; - result = (int8_t)(temp / divisor); - - return result; -} diff --git a/04_EAN/my.cnf b/04_EAN/my.cnf deleted file mode 100644 index e1f0a8228ab7f9f5ad4f37b8d7e8432b9c70cb81..0000000000000000000000000000000000000000 --- a/04_EAN/my.cnf +++ /dev/null @@ -1,5 +0,0 @@ -[client] -host = i4jenkins.cs.fau.de. -user = vezsXX -password = XXXXXXXXXX -database = vezsXX diff --git a/04_EAN/src/app.c b/04_EAN/src/app.c deleted file mode 100644 index e50d8616d35cbe157572f1c8c4f34ffcc4ad8cc0..0000000000000000000000000000000000000000 --- a/04_EAN/src/app.c +++ /dev/null @@ -1,134 +0,0 @@ -#include <cyg/hal/hal_arch.h> -#include <cyg/kernel/kapi.h> - -#include <cyg/io/framebuf.h> -#include <cyg/io/framebufs/i386_fb.h> -#include <assert.h> -#include <ezs_fb.h> -#include <stdio.h> - -#include <ezs_outputs.h> -#include "fixedpoint.h" -#include "ezs_sensors.h" -#include "filter.h" -#include "fail.h" - -#ifdef SMALL_ANB_TYPES -typedef uint16_t enc_t; -typedef uint8_t plain_t; -typedef int8_t sig_t; -#else -typedef uint32_t enc_t; -typedef uint16_t plain_t; -typedef int16_t sig_t; -#endif - -/** - * Check Signature of a ANB-coded value - **/ -static bool check(enc_t vc, sig_t A, sig_t B) { - return (vc-B)%A == 0; -} - -/** - * Encode plain values with ANB-Code - */ -static enc_t encode(plain_t v, sig_t A, sig_t B) { - return (v*A)+B ; -} - -/** - * decodes ANB-coded values. - * No signature checking is performed! This has to be done beforehand - **/ -static plain_t decode(enc_t vc, sig_t A, sig_t B) { - return (vc -B)/A; -} - -#define equals(vc1, vc2, B1, B2) ((vc1 - vc2) == (B1 - B2)) - -#define THE_A 221 - -// CONSTANT Replica results signatures -#define SIG_X /* FIXME */ -#define SIG_Y /* FIXME */ -#define SIG_Z /* FIXME */ - -// CONSTANT Voter Result Signatures -#define SIG_s_XYZ ((SIG_X - SIG_Y)+(SIG_X - SIG_Z)) -#define SIG_s_XY (SIG_X - SIG_Y) -#define SIG_s_YZ /* FIXME */ -#define SIG_s_XZ /* FIXME */ - -/** - * Pseudo-Code for the CoRed voter - * - * SIGNAL_DUE() signals a Deteceted Unrecoverable Error - * - * The function APPLY() is appended after CORED_VOTE - -Require: Bx , By , Bz #Constant signatures of Operands - -function CORED_ VOTE (xc , yc , zc ) - ZERO_LOCAL _ STORAGE() - if (xc − yc ) = (Bx − By ) then - if (xc − zc ) = (Bx − Bz ) then - winc <- APPLY(xc , (xc − yc ) + (xc − zc )) - return winc, BE <- (Bx − By ) + (Bx − Bz ) #statically computed - else - winc <- APPLY(xc , (xc − yc )) - return winc, BE <- (Bx − By ) #statically computed - end if - else if (yc − zc) = (By − Bz ) then - winc <- APPLY (yc, (yc − zc )) - return winc, BE <- (By -B z) #statically computed - else if (xc − zc) =(Bx − Bz) then - winc <- APPLY (xc , (xc − zc )) - return winc , BE <- (Bx − Bz ) #statically computed - else - winc <- ∅ #empty set - SIGNAL_DUE() - end if -end function - - -function APPLY (vc , Bdyn ) - if Bdyn > Bmax then - SIGNAL_DUE() - end if - return vc + Bdyn -end function - -**/ - -static sig_t CoRedVote(void) { - /* TODO: Implement CoRed Voter */ -} - -void cyg_user_start(void) { - sensors_init(); - outputs_init(); - - /* TODO: Sample Sensors */ - - - /* TODO: Start injection */ - - - /* TODO: Replicated input check */ - - - /* TODO: Vote encoded input */ - - - /* TODO: Replicated Filtersteps */ - - - /* TODO: Vote encoded values: CoRed */ - - - /* TODO: Stop injection */ - - - /* TODO: Validate Vote result */ -} diff --git a/04_EAN/src/app_ext.c b/04_EAN/src/app_ext.c deleted file mode 100644 index 738761f67b384e084cf2e63fa49907d0d043319f..0000000000000000000000000000000000000000 --- a/04_EAN/src/app_ext.c +++ /dev/null @@ -1,92 +0,0 @@ -#include <cyg/hal/hal_arch.h> -#include <cyg/kernel/kapi.h> - -#include <cyg/io/framebuf.h> -#include <cyg/io/framebufs/i386_fb.h> -#include <assert.h> -#include <ezs_fb.h> -#include <stdio.h> - -#include <ezs_outputs.h> -#include "fixedpoint.h" -#include "ezs_sensors.h" -#include "filter.h" -#include "fail.h" - -typedef uint32_t enc_t; -typedef uint16_t plain_t; -typedef int16_t sig_t; - - -/** - * Check Signature of a ANB-coded value - **/ -static bool check(enc_t vc, sig_t A, sig_t B) { - return (vc-B)%A == 0; -} - -/** - * Encode plain values with ANB-Code - */ -static enc_t encode(plain_t v, sig_t A, sig_t B) { - return (v*A)+B ; -} - -/** - * decodes ANB-coded values. - * No signature checking is performed! This has to be done beforehand - **/ -static bool decode(enc_t vc, sig_t A, sig_t B) { - return (vc -B)/A; -} - -static bool equals(enc_t vc1, enc_t vc2, sig_t B1, sig_t B2, sig_t A) { - return (vc1 - vc2) == (B1 - B2); -} - -#define equals(vc1, vc2, B1, B2) ((vc1 - vc2) == (B1 - B2)) - -#define THE_A 221 - -// CONSTANT Replica results signatures -#define SIG_X /* FIXME */ -#define SIG_Y /* FIXME */ -#define SIG_Z /* FIXME */ - -// CONSTANT Voter Result Signatures -#define SIG_s_XYZ ((SIG_X - SIG_Y)+(SIG_X - SIG_Z)) -#define SIG_s_XY (SIG_X - SIG_Y) -#define SIG_s_YZ /* FIXME */ -#define SIG_s_XZ /* FIXME */ - -static sig_t CoRedVote(void) { - /* TODO: Implement CoRed Voter */ -} - -void cyg_user_start(void) { - sensors_init(); - outputs_init(); - - /* TODO: Sample Sensors */ - - - /* TODO: Start injection */ - - - /* TODO: Replicated input check */ - - - /* TODO: Vote encoded input */ - - - /* TODO: Replicated Filtersteps */ - - - /* TODO: Vote encoded values: CoRed */ - - - /* TODO: Stop injection */ - - - /* TODO: Validate Vote result */ -} diff --git a/04_EAN/src/ezs_sensors.c b/04_EAN/src/ezs_sensors.c deleted file mode 100644 index cb9ca5802d8f1d5227311cd4afc69a6600846187..0000000000000000000000000000000000000000 --- a/04_EAN/src/ezs_sensors.c +++ /dev/null @@ -1,55 +0,0 @@ -/*! - * @file ezs_sensors.c - * @brief sensor stubs functions for VEZS - * @author Tobias Klaus - * \ingroup common - */ - -#include "ezs_sensors.h" -#include "ezs_counter.h" -#include <math.h> -#include <stdlib.h> - -void sensors_init(void) { - ezs_counter_init(); - return; -} - -static uint16_t getValue(void) { - static float time = 1.f; - static uint16_t counter = 0; - uint16_t value = 0; - const uint16_t noise_max = 1; //15,3%.... - - uint16_t noise = rand() * (uint32_t) noise_max / RAND_MAX; - - uint64_t ps_per_tick = ezs_counter_resolution_ps(); - float s_per_tick = ps_per_tick /(float) 1e12; - - float pi = 3.14159265358979323846; - float freq = 4; //Hz - float omega = 2.0 * pi *freq; - - value = (float) (UINT16_MAX/2) + (float)(UINT16_MAX/2)*sin(omega * time); - - counter++; - if ((counter % 3) == 0) { - time += 0.2; - } - - return value + noise; -} - -/*! - * \brief returns the low byte of value - */ -uint16_t ezs_getValueSensorA(void) { - return getValue(); -} -uint16_t ezs_getValueSensorB(void) { - return getValue(); -} -uint16_t ezs_getValueSensorC(void) { - return getValue(); -} - diff --git a/04_EAN/src/fail.c b/04_EAN/src/fail.c deleted file mode 100644 index 4ddb9c09e9622d8e2e6e3352ecc8d4fb94c7f07f..0000000000000000000000000000000000000000 --- a/04_EAN/src/fail.c +++ /dev/null @@ -1,7 +0,0 @@ -#include "fail.h" - -void fail_start_trace(void) {} -void fail_stop_trace(void) {} -void fail_marker_positive(void) {} -void fail_marker_negative(void) {} -void fail_marker_detected(void) {} diff --git a/04_EAN/src/filter.c b/04_EAN/src/filter.c deleted file mode 100644 index 650c6a097b7c07a9f423044674c2eb9e13248fac..0000000000000000000000000000000000000000 --- a/04_EAN/src/filter.c +++ /dev/null @@ -1,14 +0,0 @@ -#include "filter.h" -#include "fixedpoint.h" - -void convolve_filter_init(convolve_filter *f, int8_t a, int8_t b, int8_t c) { - /** - * TODO: transfer filter initialization from exercise 2 - **/ -} - -int8_t convolve_filter_step(convolve_filter *f, int8_t in) { - /** - * TODO: transfer filter step implementation from exercise 2 - **/ -} diff --git a/06_Analyse/.~lock.Aufgabe 6 Fragen.odt# b/06_Analyse/.~lock.Aufgabe 6 Fragen.odt# deleted file mode 100644 index 0be34ccbf1a2129fb8eefbefdfef63ac8d52c356..0000000000000000000000000000000000000000 --- a/06_Analyse/.~lock.Aufgabe 6 Fragen.odt# +++ /dev/null @@ -1 +0,0 @@ -,fi40zera,faui0dq.informatik.uni-erlangen.de,04.07.2016 16:14,file:///home/cip/nf2015/fi40zera/.config/libreoffice/4; \ No newline at end of file diff --git a/06_Analyse/src/stackanalyzer.c b/06_Analyse/src/stackanalyzer.c index 4d3de96107ab87b0b50e33e40b1f20ee8d6a98c9..e70ed98c3b7d3f6c28fa3d1a3d752b2be4be838b 100644 --- a/06_Analyse/src/stackanalyzer.c +++ b/06_Analyse/src/stackanalyzer.c @@ -19,13 +19,14 @@ static void *run(void *param) { - print_tree(tree_root); + //print_tree(tree_root); printf("\r\n"); printf("Baumscheiss: "); - print_node(find(tree_root, 71876166));// 2006856019 = 4744 , 71876166 = 4736 geringster Stapelspeicherverbrauch, 0 = 4744 - printf(" Baumscheissende"); // Suche mit Wert am Ende dauert solange wie Suche mit Wert der nicht gefunden werden kann - printf("\r\n"); - print_node(find_maximum(tree_root)); + print_node(find(tree_root, 0));// 2006856019 = 4744 , 0 = 4744, 71876166 = 4736 geringster Stapelspeicherverbrauch, 3620 fuer anfangswert neu, 4136 fuer nicht gefundenen wert + + printf(" Baumscheissende\r\n"); // Suche mit Wert am Ende dauert solange wie Suche mit Wert der nicht gefunden werden kann + //printf("\r\n"); + //print_node(find_maximum(tree_root)); printf("\n"); //print_nodes(tree_root); diff --git a/06_Analyse/src/stackanalyzer_arm b/06_Analyse/src/stackanalyzer_arm deleted file mode 100755 index 3845790c21fd9874c42d0a6277fadefab3c06461..0000000000000000000000000000000000000000 Binary files a/06_Analyse/src/stackanalyzer_arm and /dev/null differ diff --git a/06_Analyse/src/stackanalyzer_arm.ais b/06_Analyse/src/stackanalyzer_arm.ais index 672437a2c361398edc0d08b88c8590b0f61a4449..a81fe1e1728dbb427b27fd69af11b1722d86567b 100644 --- a/06_Analyse/src/stackanalyzer_arm.ais +++ b/06_Analyse/src/stackanalyzer_arm.ais @@ -2,16 +2,16 @@ # compiler ais2 { compiler: "arm-gcc"; } # ais2 { computed call in routine "100"; } -ais2 { - instruction "100" -> computed call(100) - calls: "run", - "insert", - "find"; -} -# loop bounds for "main.L1" -ais2 { loop "main.L1" bound: 0 .. 1024 end; } -# loop bounds for "run.L1" -ais2 { loop "run.L1" bound: 0 .. 1024 end; } -# recursion bounds of "run" for aiT -ais2 { routine "run" recursion bound: 0 .. 1024; } - +#ais2 { +# instruction "100" -> computed call(100) +# calls: "run", +# "insert", +# "find"; +#} +## loop bounds for "main.L1" +#ais2 { loop "main.L1" bound: 0 .. 1024 end; } +## loop bounds for "run.L1" +#ais2 { loop "run.L1" bound: 0 .. 1024 end; } +## recursion bounds of "run" for aiT +#ais2 { routine "run" recursion bound: 0 .. 1024; } +# diff --git a/06_Analyse/src/stackanalyzer_arm.c b/06_Analyse/src/stackanalyzer_arm.c index 41696a2d71ebee5019b84349e44a9c2eb0f4804b..3922f0b739d56ef5d9e36dabab1d94cdbbaf9a6e 100644 --- a/06_Analyse/src/stackanalyzer_arm.c +++ b/06_Analyse/src/stackanalyzer_arm.c @@ -17,15 +17,15 @@ static void *run(void *param) { insert_data(&tree_root, g_data, DATA_SIZE); if (tree_root == NULL) { - printf("root is null\n"); + //printf("root is null\n"); } - print_tree(tree_root); - printf("\n"); - print_node(find(tree_root, 4)); - printf("\n"); - print_node(find_maximum(tree_root)); - printf("\n"); - print_nodes(tree_root); + //print_tree(tree_root); + //printf("\n"); + //print_node(find(tree_root, 4)); + //printf("\n"); + //print_node(find_maximum(tree_root)); + //printf("\n"); + //print_nodes(tree_root); return NULL; } @@ -33,9 +33,9 @@ static void *run(void *param) { int main(void) { - srand(42U); + //srand(42U); for (size_t i = 0; i < DATA_SIZE; ++i) { - g_data[i] = (unsigned int) rand(); + g_data[i] = (unsigned int) i; //(unsigned int) rand(); } run(NULL); exit(EXIT_SUCCESS); diff --git a/06_Analyse/src/tree.c b/06_Analyse/src/tree.c index dfb81322bbe2a716ae31605cc9067a6c4d3613a4..aace386d7d4a2eeaa1f0f2e9d6cbed864d0e7a04 100644 --- a/06_Analyse/src/tree.c +++ b/06_Analyse/src/tree.c @@ -14,7 +14,7 @@ struct Node { struct Node *create_node(unsigned int value) { struct Node *ret = malloc(sizeof(struct Node)); if (ret == NULL) { - abort(); + return NULL;//abort(); } ret->data = value; ret->left = NULL; @@ -28,15 +28,15 @@ void insert(struct Node **root, unsigned int value) { return; } - int die = rand() % 2; - if (die == 0) { + //int die = rand() % 2; + if ((*root)->data < value) { if ((*root)->left == NULL) { (*root)->left = create_node(value); return; } else { insert(&(*root)->left, value); } - } else { + } else {// data <= value if ((*root)->right == NULL) { (*root)->right = create_node(value); return; @@ -51,7 +51,7 @@ void print_node(struct Node *node) { return; } - printf("%u", node->data); + // printf("%u", node->data); } void print_tree(struct Node *root) { @@ -60,17 +60,17 @@ void print_tree(struct Node *root) { } print_node(root); if (root->left != NULL or root->right != NULL) { - printf(" ("); + //printf(" ("); } if (root->left != NULL) { print_tree(root->left); } if (root->right != NULL) { - printf(", "); + //printf(", "); print_tree(root->right); } if (root->left != NULL or root->right != NULL) { - printf(") "); + // printf(") "); } } @@ -94,7 +94,7 @@ struct Node* walk_tree(struct Node *root, struct Node* (*action)(struct Node*)) static struct Node* print_newline_node(struct Node* node){ print_node(node); - printf("\n"); + //printf("\n"); return NULL; } @@ -112,30 +112,34 @@ void insert_data(struct Node **root, unsigned int *data, size_t length) { struct Node *find(struct Node *root, unsigned int value) { assert(root != NULL); struct Node *ret = NULL; + static int i = 0; if(root->data == value) { ret = root; + //printf("Gefunden\r\n"); } else { - struct Node *first=NULL, *second=NULL; + struct Node *first = NULL;//, *second=NULL; - if(rand() % 2) { - first = root->left; - second = root->right; + if(value > root->data) + { + first = root->left; } - else { - first = root->right; - second = root->left; + else + { + first = root->right; } - if(first) { - ret = find(first, value); - } + i++; + //printf("%i. Durchlauf\r\n", i); - if(!ret) { - if(second) { - ret = find(second, value); - } + if(first) + { + ret = find(first, value); + } + else + { + return NULL; } } @@ -157,11 +161,14 @@ struct Node *check_max_branch(struct Node *next, struct Node *best) { } struct Node *find_maximum(struct Node *root) { - assert(root != NULL); + //assert(root != NULL); + if(root == NULL) + return NULL; + struct Node *ret = root; ret = check_max_branch(root->left, ret); - ret = check_max_branch(root->right, ret); + //ret = check_max_branch(root->right, ret); return ret; } diff --git a/07_Astree/include/ab_filter.h b/07_Astree/include/ab_filter.h index 3c82479a402b89534241d26bb92eedaee44d013e..73c40b951388268b9605ac56cce23a5cb8abeb24 100644 --- a/07_Astree/include/ab_filter.h +++ b/07_Astree/include/ab_filter.h @@ -10,9 +10,9 @@ typedef struct AB_State { float value; float dvalue; - float g; - float h; - float sampling_interval; + float g; //alpha? + float h; //beta? + float sampling_interval;//T } AB_State; @@ -20,4 +20,11 @@ typedef struct AB_State { * TODO: Define interface for ab_filter **/ +void InitFilter(AB_State *FilterState); + +void TransientFilterStep(AB_State *FilterState, float sensorValue); + +double FilterStep(AB_State *FilterState, float sensorValue); + + #endif // AB_FILTER_H_INCLUDED diff --git a/07_Astree/include/sensor.h b/07_Astree/include/sensor.h index cca20f4af09ba6dcf0e1f1de7e8406bf2e4e13e3..0a2300cdc680419ee6697a01748142c7e1b777d6 100644 --- a/07_Astree/include/sensor.h +++ b/07_Astree/include/sensor.h @@ -3,9 +3,11 @@ #include <stdbool.h> #include <stdio.h> -/** - * TODO: define Interface for sensor stub - **/ + + + + + typedef struct _Sensor { FILE *file; @@ -17,14 +19,15 @@ typedef struct _Sensor { bool sensor_init(Sensor *sensor, const char *filename); - /** + * Interface for sensor stub + **/ +/** + * Poll Sensor object. **/ +float getSensorValue(void); -/** - * Other Sensor interfaces.... - **/ #endif // _SENSOR_H_INCLUDED_ diff --git a/07_Astree/src/ab_filter.c b/07_Astree/src/ab_filter.c index 1f4b5746f0ac8c7b3ebc348f31ca277ab4e3e80a..45e6a289eb237fdc6a5c32280add2e31da5a1b83 100644 --- a/07_Astree/src/ab_filter.c +++ b/07_Astree/src/ab_filter.c @@ -5,8 +5,95 @@ #include <stdlib.h> #include <astree.h> #include <assert.h> +#include <limits.h> /** * Implement ab_filter **/ +void InitFilter(AB_State *FilterState) +{ + FilterState->dvalue = 0; + FilterState->value = 0; + + FilterState->initializationStep = 1; + FilterState->isTransient = true; + + FilterState->g = 0.96f;//0.5944142444f;//0.8902638079f; + FilterState->h = 0.34f;//0.2944142444f;//0.8944142444f; + FilterState->sampling_interval = 0.5f;//0.3f; +} + +void TransientFilterStep(AB_State *FilterState, float sensorValue) +{ + __ASTREE_known_fact(((FilterState->initializationStep >= 1) && (FilterState->initializationStep <= 4294967295))); + __ASTREE_known_fact((-10.0f < sensorValue && sensorValue < 10.0f)); + __ASTREE_known_fact((-10.0f < FilterState->value && 10.0f > FilterState->value)); + __ASTREE_known_fact((FilterState->h == FilterState->h)); + __ASTREE_known_fact((FilterState->sampling_interval == FilterState->sampling_interval)); + + float alphaN = (float)(2.0f*(float)(2.0f*(float)FilterState->initializationStep + 1.0f)); + alphaN = (float)(alphaN/((float)((float)FilterState->initializationStep + 2.0f)*(float)((float)FilterState->initializationStep + 1.0f))); + + if(alphaN < FilterState->g) + { + FilterState->isTransient = false; + } + else + { + FilterState->isTransient = true; + } + + if(FilterState->initializationStep == 4294967295) + return; + + __ASTREE_known_fact(((FilterState->initializationStep >= 1) && (FilterState->initializationStep <= 4294967295))); + FilterState->initializationStep += 1; + __ASTREE_known_fact(((FilterState->initializationStep >= 2) && (FilterState->initializationStep <= 4294967295))); + + + + //Filtern mit float + float rk, dxk, xk; + + + + rk = sensorValue - FilterState->value; + dxk = (float)(FilterState->dvalue + (FilterState->h * rk)/FilterState->sampling_interval); + xk = FilterState->value + FilterState->sampling_interval * dxk + FilterState->g * rk; + + FilterState->value = xk; + FilterState->dvalue = dxk; + + +} + + + +double FilterStep(AB_State *FilterState, float sensorValue) +{ + __ASTREE_known_fact(((FilterState->initializationStep >= 1) && (FilterState->initializationStep <= 4294967295))); + __ASTREE_known_fact((-10.0f < sensorValue && sensorValue < 10.0f)); + __ASTREE_known_fact((-10.0f < FilterState->value && 10.0f > FilterState->value)); + __ASTREE_known_fact((FilterState->h == FilterState->h)); + __ASTREE_known_fact((FilterState->sampling_interval == FilterState->sampling_interval)); + + double rk, dxk, xk, dxk_1, xk_1; + dxk_1 = FilterState->dvalue; + xk_1 = FilterState->value; + + + rk = sensorValue - FilterState->value; + dxk = (double)(dxk_1 + ((double)FilterState->h * rk)/(double)FilterState->sampling_interval); + xk = xk_1 + (double)FilterState->sampling_interval * dxk + (double)FilterState->g * rk; + + FilterState->value = (float)xk; + FilterState->dvalue = (float)dxk; + + if((xk > 10)||(xk < -10)) + { + InitFilter(FilterState); + return 0; + } + return xk; +} diff --git a/07_Astree/src/main.c b/07_Astree/src/main.c index f087ea3bd573f39d6f16d16302efc029d161d060..a8ed1bcaea1056f090dadba903829f37a19de3cb 100644 --- a/07_Astree/src/main.c +++ b/07_Astree/src/main.c @@ -1,23 +1,82 @@ #include "ab_filter.h" #include "sensor.h" +#include <stdio.h> +#include <stdlib.h> +#include <float.h> /** * Sonstige benoetigten Header-Dateien **/ +#include <astree.h> +#define SIZE 2000 //groesse ringbuffer + /* * Sensor, Filter, Ringpuffer, ... anlegen */ - - +bool BufferWrite(float value); +bool BufferRead(float *value); /* - * Rinpuffer implementieren + * Rinpuffer */ +struct RingBuf{ +float buf[SIZE]; // array of <size > +int read_pos ; +int write_pos; +}Ringbuffer; + + + + + +bool BufferWrite(float value) +{ + //__ASTREE_known_fact((value == value)); + //__ASTREE_known_fact((-10.0f < value && value < 10.0f)); + __ASTREE_known_fact((0 <= Ringbuffer.write_pos && Ringbuffer.write_pos <= (SIZE + 1))); + __ASTREE_known_fact((0 <= Ringbuffer.read_pos && Ringbuffer.read_pos <= SIZE)); + //__ASTREE_known_fact ((FLT_MIN < value && value < FLT_MAX)); + + + if ( ( Ringbuffer.write_pos + 1 == Ringbuffer.read_pos ) || + ( Ringbuffer.read_pos == 0 && Ringbuffer.write_pos + 1 == SIZE) ) + return true; // voll + + Ringbuffer.buf[Ringbuffer.write_pos] = value; + + Ringbuffer.write_pos++; + __ASTREE_known_fact((Ringbuffer.write_pos == Ringbuffer.write_pos)); + + if (Ringbuffer.write_pos >= SIZE) + { + Ringbuffer.write_pos = 0; + __ASTREE_known_fact((Ringbuffer.write_pos == Ringbuffer.write_pos)); + } + + return false; +} + + +bool BufferRead(float *value) +{ + if (Ringbuffer.read_pos == Ringbuffer.write_pos) + return false; + + *value = Ringbuffer.buf[Ringbuffer.read_pos]; + + Ringbuffer.read_pos++; + if (Ringbuffer.read_pos >= SIZE) + Ringbuffer.read_pos = 0; + + return true; +} + + @@ -27,7 +86,104 @@ int main(void) { * Filter, Sensor, Rinpuffer... initialisieren **/ - while(1) { /* Solange Sensor Daten liefert... */ + Ringbuffer.read_pos=0; + Ringbuffer.write_pos=0; + + Sensor bla; + AB_State FilterState; + double FilterValue = 0; + bool bufferstatefull = false; + float value = 0; + + FILE *write = fopen("/home/cip/nf2015/fi40zera/vezs/vezs16-vorgabe/07_Astree/src/output.txt", "wt"); + + if(write == NULL) + { + printf("Schreibdatei geht net\r\n"); + return 0; + } + + + + bool result = false; + +# ifdef __ASTREE__ + __ASTREE_modify ((result)); + result = 0; +// __ASTREE_known_fact (( buffer > -10.0f && buffer < 10.0f)); +# else + result = sensor_init(&bla, "/home/cip/nf2015/fi40zera/vezs/vezs16-vorgabe/07_Astree/src/sensor.dat"); +#endif + __ASTREE_modify((result)); + InitFilter(&FilterState); + + int i = 0; + if(result == true) + { + while(1) + { + float buffer = 0; + __ASTREE_unroll ((2000)) + for(int i = 0; i < 2000; i++)//while(bufferstatefull == false) + { + # ifdef __ASTREE__ + __ASTREE_modify ((buffer; [-10.0f,10.0f])); + buffer = 0; + // __ASTREE_known_fact (( buffer > -10.0f && buffer < 10.0f)); + # else + + buffer = getSensorValue(); + + //if(buffer != buffer) + // break; + + bufferstatefull = BufferWrite(buffer); +#endif + } + __ASTREE_unroll ((2000)) + while(bufferstatefull == true) + { + + bufferstatefull = BufferRead(&value); + + //Einschwingen des Filters + if(FilterState.isTransient == true) + { + TransientFilterStep(&FilterState, value); + } + //Normaler Filtermodus + else + { + FilterValue = FilterStep(&FilterState, value); + + if(FilterState.isTransient == true) + { + //FilterValue = 0; + } + } + fprintf(write, "%i %f %f\r\n",i, value, FilterValue);//Value = sensor, result = filter + + + if(i > 2001) + break; + i++; + + + } + break; + } + } + else + { + printf("Error\r\n"); + } + fclose(write); + + + + + + //while(1) { /* Solange Sensor Daten liefert... */ /** * Bis Rinpuffer voll: Ringpuffer mit Sensordaten füllen @@ -37,7 +193,7 @@ int main(void) { * Falls Rinpuffer voll: Alle Werte filtern und gefilterte * Werte ausgeben, ggf. mit gnuplot oder so betrachten */ - } + //} return 0; } diff --git a/07_Astree/src/output.txt b/07_Astree/src/output.txt new file mode 100644 index 0000000000000000000000000000000000000000..ec9b018cd9666aa7db22ef16c8b912ce75363c9b --- /dev/null +++ b/07_Astree/src/output.txt @@ -0,0 +1,2000 @@ +0 0.000000 0.000000 +1 -0.064687 0.000000 +2 0.003000 0.007134 +3 -0.047767 -0.056619 +4 0.006000 0.013737 +5 0.083020 0.114046 +6 0.009000 0.011284 +7 -0.074839 -0.102593 +8 0.012000 0.015179 +9 -0.016731 -0.018541 +10 0.015000 0.021975 +11 0.009965 0.014679 +12 0.018000 0.023230 +13 -0.258635 -0.337832 +14 0.021000 0.038178 +15 0.027526 0.055862 +16 0.024000 0.042351 +17 -0.118687 -0.149922 +18 0.027000 0.042400 +19 0.085688 0.121152 +20 0.030000 0.039850 +21 -0.224388 -0.297456 +22 0.033000 0.048499 +23 0.021247 0.041789 +24 0.036000 0.053715 +25 -0.063480 -0.081156 +26 0.039000 0.052684 +27 0.041411 0.056519 +28 0.042000 0.052301 +29 -0.042107 -0.060709 +30 0.045000 0.054334 +31 0.009315 0.009372 +32 0.048000 0.057845 +33 -0.284506 -0.375821 +34 0.051000 0.074037 +35 -0.008837 0.006411 +36 0.054000 0.080209 +37 0.097992 0.131440 +38 0.057000 0.068827 +39 0.225251 0.281028 +40 0.060000 0.055725 +41 -0.242225 -0.344726 +42 0.063000 0.070899 +43 -0.127817 -0.163224 +44 0.066000 0.091412 +45 -0.022349 -0.021896 +46 0.069000 0.092171 +47 0.237613 0.308052 +48 0.072000 0.077441 +49 -0.101318 -0.158947 +50 0.075000 0.080405 +51 0.230457 0.290235 +52 0.078000 0.080110 +53 -0.151064 -0.226796 +54 0.081000 0.088360 +55 -0.202609 -0.270228 +56 0.084000 0.111011 +57 -0.100003 -0.122127 +58 0.087000 0.119173 +59 -0.167556 -0.213036 +60 0.090000 0.123961 +61 0.061010 0.088207 +62 0.093000 0.119117 +63 -0.120446 -0.166006 +64 0.096000 0.119459 +65 -0.054785 -0.073118 +66 0.099000 0.125332 +67 0.110639 0.139448 +68 0.102000 0.118987 +69 0.241216 0.293374 +70 0.105000 0.105535 +71 -0.088137 -0.153239 +72 0.108000 0.113523 +73 -0.192184 -0.267924 +74 0.111000 0.136709 +75 0.144952 0.188291 +76 0.114000 0.135381 +77 0.126350 0.142050 +78 0.117000 0.124824 +79 -0.003377 -0.035015 +80 0.120000 0.129738 +81 0.095351 0.100973 +82 0.123000 0.133855 +83 -0.354140 -0.488802 +84 0.126000 0.156259 +85 0.060990 0.087261 +86 0.129000 0.163981 +87 -0.182301 -0.249535 +88 0.132000 0.165375 +89 0.337595 0.437898 +90 0.135000 0.151322 +91 0.177415 0.189449 +92 0.138000 0.135643 +93 -0.005030 -0.051647 +94 0.141000 0.146550 +95 -0.097254 -0.157139 +96 0.144000 0.164704 +97 0.074253 0.079868 +98 0.147000 0.169136 +99 0.069865 0.064906 +100 0.150000 0.166598 +101 0.183589 0.208688 +102 0.153000 0.162072 +103 -0.013797 -0.059713 +104 0.156000 0.167763 +105 0.232725 0.272605 +106 0.159000 0.167397 +107 0.050200 0.018893 +108 0.162000 0.168938 +109 0.104185 0.097421 +110 0.165000 0.175920 +111 0.111903 0.106321 +112 0.168000 0.178361 +113 -0.099891 -0.170539 +114 0.171000 0.191684 +115 0.034540 0.021742 +116 0.174000 0.200594 +117 0.076381 0.071802 +118 0.177000 0.199011 +119 -0.068255 -0.122215 +120 0.180000 0.206013 +121 -0.060355 -0.102163 +122 0.183000 0.216086 +123 0.221464 0.267570 +124 0.186000 0.207850 +125 0.088320 0.071049 +126 0.189000 0.202333 +127 0.062395 0.038464 +128 0.192000 0.208533 +129 0.023953 -0.008747 +130 0.195000 0.216041 +131 0.058741 0.040742 +132 0.198000 0.220886 +133 -0.112365 -0.183164 +134 0.201000 0.232120 +135 0.049752 0.041528 +136 0.204000 0.237223 +137 0.320053 0.384624 +138 0.207000 0.221597 +139 -0.039949 -0.110921 +140 0.210000 0.224843 +141 0.157228 0.164623 +142 0.213000 0.232204 +143 0.085424 0.062529 +144 0.216000 0.233275 +145 0.073209 0.048603 +146 0.219000 0.239110 +147 0.058302 0.030986 +148 0.222000 0.244756 +149 0.078710 0.059293 +150 0.225000 0.248653 +151 -0.015288 -0.064189 +152 0.228000 0.256198 +153 0.077828 0.064203 +154 0.231000 0.260279 +155 0.038383 0.007765 +156 0.234000 0.262377 +157 0.242630 0.274132 +158 0.237000 0.256573 +159 0.124012 0.102331 +160 0.240000 0.254317 +161 0.212416 0.219670 +162 0.243000 0.255577 +163 0.018979 -0.038491 +164 0.246000 0.264414 +165 0.008817 -0.038068 +166 0.249000 0.278011 +167 0.023394 -0.012498 +168 0.252000 0.285273 +169 -0.010976 -0.055998 +170 0.255000 0.291428 +171 -0.055805 -0.111107 +172 0.258000 0.299541 +173 0.055631 0.038764 +174 0.261000 0.301047 +175 -0.217899 -0.324646 +176 0.264000 0.313089 +177 0.129740 0.147370 +178 0.267000 0.313185 +179 -0.097838 -0.170175 +180 0.270000 0.313275 +181 0.096071 0.091792 +182 0.273000 0.314395 +183 -0.105268 -0.182524 +184 0.276000 0.319515 +185 -0.077193 -0.134350 +186 0.279000 0.329980 +187 0.148687 0.161813 +188 0.282000 0.323930 +189 0.000221 -0.050154 +190 0.285000 0.322223 +191 -0.193741 -0.297901 +192 0.288000 0.338972 +193 -0.141834 -0.211668 +194 0.291000 0.352734 +195 0.117481 0.128746 +196 0.294000 0.345431 +197 0.007346 -0.036038 +198 0.297000 0.340004 +199 -0.210301 -0.319067 +200 0.300000 0.354942 +201 0.118110 0.126765 +202 0.303000 0.355052 +203 0.132511 0.124850 +204 0.306000 0.343783 +205 -0.043552 -0.114724 +206 0.309000 0.349452 +207 0.069708 0.043186 +208 0.312000 0.354932 +209 -0.012074 -0.068491 +210 0.315000 0.358950 +211 0.040184 0.003844 +212 0.318000 0.363156 +213 0.142583 0.134133 +214 0.321000 0.359787 +215 0.114600 0.087306 +216 0.324000 0.357907 +217 0.039129 -0.013130 +218 0.327000 0.364029 +219 0.090396 0.058940 +220 0.330000 0.368917 +221 0.235212 0.244860 +222 0.333000 0.363742 +223 -0.010874 -0.088991 +224 0.336000 0.370395 +225 0.061819 0.020641 +226 0.339000 0.380987 +227 0.152821 0.139092 +228 0.342000 0.380017 +229 0.102607 0.065517 +230 0.345000 0.380659 +231 0.078275 0.034398 +232 0.348000 0.386108 +233 0.083280 0.043084 +234 0.351000 0.391066 +235 -0.063306 -0.147235 +236 0.354000 0.402266 +237 -0.230353 -0.351823 +238 0.357000 0.422872 +239 0.194039 0.219614 +240 0.360000 0.418538 +241 0.009203 -0.049445 +242 0.363000 0.411713 +243 -0.015136 -0.077980 +244 0.366000 0.419276 +245 0.038725 -0.004405 +246 0.369000 0.422669 +247 -0.079070 -0.160987 +248 0.372000 0.429910 +249 0.163226 0.162450 +250 0.375000 0.427322 +251 0.139998 0.114625 +252 0.378000 0.420146 +253 0.015884 -0.052713 +254 0.381000 0.426346 +255 0.050159 -0.000002 +256 0.384000 0.433992 +257 -0.144525 -0.252728 +258 0.387000 0.447575 +259 0.072285 0.045862 +260 0.390000 0.451807 +261 -0.141783 -0.244288 +262 0.393000 0.457938 +263 0.189989 0.200034 +264 0.396000 0.454117 +265 0.100045 0.059779 +266 0.399000 0.446337 +267 0.123275 0.087262 +268 0.402000 0.447486 +269 -0.206956 -0.345213 +270 0.405000 0.465629 +271 -0.049631 -0.113571 +272 0.408000 0.479921 +273 0.044142 0.006192 +274 0.411000 0.477061 +275 -0.349368 -0.515043 +276 0.414000 0.493981 +277 -0.098054 -0.158522 +278 0.417000 0.505507 +279 0.174123 0.186236 +280 0.420000 0.488987 +281 -0.144607 -0.256348 +282 0.423000 0.489720 +283 0.046729 0.007725 +284 0.426000 0.494759 +285 0.052566 0.005399 +286 0.429000 0.491225 +287 -0.049419 -0.132444 +288 0.432000 0.496683 +289 -0.081492 -0.167683 +290 0.435000 0.506486 +291 -0.135620 -0.232658 +292 0.438000 0.516475 +293 -0.146073 -0.239536 +294 0.441000 0.525196 +295 0.284751 0.324035 +296 0.444000 0.509656 +297 0.073731 0.013408 +298 0.447000 0.499317 +299 -0.000026 -0.080168 +300 0.450000 0.508935 +301 -0.100218 -0.202822 +302 0.453000 0.522776 +303 0.000124 -0.060663 +304 0.456000 0.529306 +305 0.095184 0.058920 +306 0.459000 0.525395 +307 0.047673 -0.013245 +308 0.462000 0.524546 +309 0.009754 -0.063128 +310 0.465000 0.529965 +311 -0.072258 -0.166834 +312 0.468000 0.539785 +313 0.111208 0.079813 +314 0.471000 0.539818 +315 -0.028780 -0.114895 +316 0.474000 0.541810 +317 0.023422 -0.040728 +318 0.477000 0.547433 +319 -0.112871 -0.219820 +320 0.480000 0.556585 +321 -0.251246 -0.389018 +322 0.483000 0.574520 +323 -0.017825 -0.069128 +324 0.486000 0.577542 +325 0.107913 0.080771 +326 0.489000 0.565542 +327 0.100137 0.053387 +328 0.492000 0.558217 +329 -0.212216 -0.359584 +330 0.495000 0.573190 +331 0.060572 0.019160 +332 0.498000 0.579735 +333 0.109722 0.069607 +334 0.501000 0.571502 +335 -0.036512 -0.131158 +336 0.504000 0.575581 +337 0.186049 0.166176 +338 0.507000 0.573793 +339 -0.279136 -0.454589 +340 0.510000 0.589807 +341 -0.073041 -0.153505 +342 0.513000 0.605974 +343 -0.097333 -0.188692 +344 0.516000 0.607917 +345 0.205639 0.205060 +346 0.519000 0.596512 +347 0.032063 -0.047202 +348 0.522000 0.590918 +349 0.035248 -0.039767 +350 0.525000 0.597188 +351 -0.147637 -0.276306 +352 0.528000 0.610830 +353 0.194169 0.184173 +354 0.531000 0.608386 +355 0.121479 0.066666 +356 0.534000 0.599911 +357 -0.289367 -0.471546 +358 0.537000 0.621813 +359 -0.063204 -0.143554 +360 0.540000 0.637316 +361 0.155681 0.135848 +362 0.543000 0.626047 +363 0.300816 0.302580 +364 0.546000 0.607781 +365 0.045490 -0.051680 +366 0.549000 0.609543 +367 0.052867 -0.029566 +368 0.552000 0.621770 +369 -0.307740 -0.493560 +370 0.555000 0.646567 +371 -0.013321 -0.077778 +372 0.558000 0.657881 +373 0.057785 0.003068 +374 0.561000 0.649659 +375 0.073315 0.011388 +376 0.564000 0.644803 +377 -0.212507 -0.366793 +378 0.567000 0.658560 +379 -0.227052 -0.363824 +380 0.570000 0.677951 +381 -0.412250 -0.594007 +382 0.573000 0.697737 +383 -0.204142 -0.303288 +384 0.576000 0.704565 +385 -0.324018 -0.468856 +386 0.579000 0.707375 +387 -0.040001 -0.093924 +388 0.582000 0.700959 +389 -0.070640 -0.156124 +390 0.585000 0.690989 +391 0.069952 0.019275 +392 0.588000 0.683099 +393 -0.086862 -0.200002 +394 0.591000 0.684362 +395 0.078810 0.022147 +396 0.594000 0.684670 +397 -0.165778 -0.307368 +398 0.597000 0.692702 +399 -0.035439 -0.122005 +400 0.600000 0.700910 +401 -0.132482 -0.252709 +402 0.603000 0.706150 +403 -0.273071 -0.429459 +404 0.606000 0.721081 +405 -0.094422 -0.182574 +406 0.609000 0.725700 +407 -0.143821 -0.256314 +408 0.612000 0.725220 +409 -0.049306 -0.133712 +410 0.615000 0.724227 +411 0.032681 -0.035607 +412 0.618000 0.718132 +413 -0.087719 -0.203198 +414 0.621000 0.720546 +415 -0.138927 -0.264255 +416 0.624000 0.730770 +417 0.033446 -0.033450 +418 0.627000 0.730345 +419 -0.081848 -0.195743 +420 0.630000 0.731340 +421 -0.230134 -0.384206 +422 0.633000 0.745631 +423 -0.200440 -0.330942 +424 0.636000 0.757737 +425 -0.189786 -0.313628 +426 0.639000 0.763046 +427 0.113050 0.080202 +428 0.642000 0.751692 +429 -0.033328 -0.136670 +430 0.645000 0.744758 +431 -0.035556 -0.138626 +432 0.648000 0.749706 +433 0.157003 0.112363 +434 0.651000 0.744243 +435 0.116555 0.043037 +436 0.654000 0.738663 +437 0.345051 0.336069 +438 0.657000 0.728553 +439 -0.071101 -0.226607 +440 0.660000 0.738490 +441 0.073517 -0.012021 +442 0.663000 0.753370 +443 -0.257533 -0.443433 +444 0.666000 0.772494 +445 -0.126307 -0.245076 +446 0.669000 0.788502 +447 0.119627 0.075029 +448 0.672000 0.779738 +449 -0.053275 -0.171562 +450 0.675000 0.777361 +451 -0.171412 -0.319820 +452 0.678000 0.790987 +453 -0.118583 -0.238554 +454 0.681000 0.800512 +455 -0.077387 -0.184462 +456 0.684000 0.802347 +457 -0.120265 -0.243963 +458 0.687000 0.805686 +459 -0.111952 -0.231318 +460 0.690000 0.810324 +461 -0.028795 -0.123355 +462 0.693000 0.809782 +463 0.030388 -0.053993 +464 0.696000 0.805441 +465 -0.045976 -0.161961 +466 0.699000 0.807247 +467 -0.129031 -0.267229 +468 0.702000 0.817120 +469 -0.062920 -0.173043 +470 0.705000 0.823088 +471 0.099702 0.035896 +472 0.708000 0.816890 +473 -0.139259 -0.290330 +474 0.711000 0.822082 +475 -0.152517 -0.293761 +476 0.714000 0.836100 +477 -0.069954 -0.179360 +478 0.717000 0.840260 +479 -0.243939 -0.410084 +480 0.720000 0.849512 +481 0.114026 0.068096 +482 0.723000 0.844121 +483 -0.143479 -0.292441 +484 0.726000 0.843066 +485 0.120426 0.061438 +486 0.729000 0.841375 +487 -0.103825 -0.248308 +488 0.732000 0.843802 +489 -0.203266 -0.366372 +490 0.735000 0.860423 +491 -0.039970 -0.140610 +492 0.738000 0.864927 +493 -0.054539 -0.168307 +494 0.741000 0.863245 +495 -0.105550 -0.237571 +496 0.744000 0.867698 +497 -0.043564 -0.153982 +498 0.747000 0.870426 +499 0.027495 -0.065918 +500 0.750000 0.867645 +501 -0.077747 -0.211084 +502 0.753000 0.871073 +503 -0.002159 -0.107492 +504 0.756000 0.874785 +505 -0.052442 -0.177285 +506 0.759000 0.877953 +507 -0.324842 -0.529276 +508 0.762000 0.896837 +509 -0.062358 -0.163629 +510 0.765000 0.903950 +511 -0.204730 -0.361239 +512 0.768000 0.905916 +513 -0.005459 -0.095786 +514 0.771000 0.904254 +515 -0.162407 -0.314480 +516 0.774000 0.905805 +517 -0.298666 -0.484663 +518 0.777000 0.921323 +519 -0.459380 -0.678802 +520 0.780000 0.942991 +521 -0.392490 -0.571791 +522 0.783000 0.956717 +523 -0.133072 -0.232100 +524 0.786000 0.948810 +525 -0.189959 -0.328055 +526 0.789000 0.940469 +527 -0.026618 -0.120592 +528 0.792000 0.933120 +529 -0.288491 -0.477351 +530 0.795000 0.938981 +531 -0.171970 -0.310380 +532 0.798000 0.947666 +533 -0.261522 -0.430277 +534 0.801000 0.953260 +535 -0.130354 -0.253927 +536 0.804000 0.954461 +537 -0.070202 -0.184823 +538 0.807000 0.948939 +539 -0.278033 -0.464512 +540 0.810000 0.956795 +541 -0.411091 -0.623681 +542 0.813000 0.976699 +543 -0.254412 -0.402579 +544 0.816000 0.984162 +545 -0.166815 -0.295203 +546 0.819000 0.978834 +547 -0.343997 -0.536444 +548 0.822000 0.984173 +549 -0.129780 -0.247455 +550 0.825000 0.984503 +551 0.130293 0.076431 +552 0.828000 0.965441 +553 -0.109199 -0.264088 +554 0.831000 0.961652 +555 -0.115907 -0.264719 +556 0.834000 0.971701 +557 -0.139780 -0.291574 +558 0.837000 0.979319 +559 -0.090202 -0.223597 +560 0.840000 0.982904 +561 -0.156383 -0.312721 +562 0.843000 0.987806 +563 -0.406390 -0.633614 +564 0.846000 1.006893 +565 -0.281206 -0.447558 +566 0.849000 1.020091 +567 -0.379537 -0.576472 +568 0.852000 1.027621 +569 -0.084450 -0.185311 +570 0.855000 1.021749 +571 -0.211112 -0.372609 +572 0.858000 1.016372 +573 0.009417 -0.085073 +574 0.861000 1.010053 +575 -0.141558 -0.300145 +576 0.864000 1.008592 +577 -0.175977 -0.340190 +578 0.867000 1.017561 +579 -0.378481 -0.598445 +580 0.870000 1.034728 +581 -0.207128 -0.356219 +582 0.873000 1.043000 +583 -0.279771 -0.457433 +584 0.876000 1.045457 +585 -0.147226 -0.282237 +586 0.879000 1.044653 +587 -0.142467 -0.286501 +588 0.882000 1.041032 +589 -0.214693 -0.385639 +590 0.885000 1.045017 +591 -0.126338 -0.266902 +592 0.888000 1.047052 +593 -0.332347 -0.540918 +594 0.891000 1.056828 +595 0.001247 -0.092322 +596 0.894000 1.054104 +597 -0.420486 -0.663306 +598 0.897000 1.063288 +599 0.039090 -0.039469 +600 0.900000 1.062314 +601 -0.241054 -0.432172 +602 0.903000 1.060299 +603 -0.211486 -0.382316 +604 0.906000 1.070794 +605 -0.092363 -0.224984 +606 0.909000 1.070048 +607 -0.341688 -0.558801 +608 0.912000 1.079658 +609 -0.068795 -0.186841 +610 0.915000 1.081568 +611 -0.045647 -0.173170 +612 0.918000 1.072739 +613 -0.246356 -0.443698 +614 0.921000 1.080303 +615 0.103473 0.024315 +616 0.924000 1.075674 +617 -0.152624 -0.333452 +618 0.927000 1.075176 +619 -0.496809 -0.769810 +620 0.930000 1.104062 +621 0.039940 -0.037242 +622 0.933000 1.104326 +623 -0.107781 -0.261278 +624 0.936000 1.093202 +625 -0.276179 -0.481900 +626 0.939000 1.104774 +627 -0.338190 -0.548469 +628 0.942000 1.121143 +629 -0.339547 -0.538992 +630 0.945000 1.132325 +631 -0.145608 -0.282303 +632 0.948000 1.129278 +633 -0.355143 -0.569979 +634 0.951000 1.133081 +635 -0.200638 -0.357834 +636 0.954000 1.137006 +637 -0.209926 -0.378526 +638 0.957000 1.135180 +639 -0.184448 -0.348735 +640 0.960000 1.135548 +641 -0.262918 -0.454560 +642 0.963000 1.140687 +643 -0.140108 -0.289957 +644 0.966000 1.141706 +645 -0.052785 -0.185187 +646 0.969000 1.135074 +647 -0.063588 -0.210946 +648 0.972000 1.131580 +649 -0.332820 -0.565242 +650 0.975000 1.146074 +651 -0.248167 -0.433755 +652 0.978000 1.160169 +653 0.018745 -0.085043 +654 0.981000 1.151368 +655 0.045788 -0.072877 +656 0.984000 1.138175 +657 -0.169994 -0.365994 +658 0.987000 1.144571 +659 0.081477 -0.025761 +660 0.990000 1.144967 +661 0.134372 0.026791 +662 0.993000 1.134858 +663 -0.049584 -0.224411 +664 0.996000 1.139919 +665 -0.192165 -0.399055 +666 0.999000 1.158243 +667 -0.222032 -0.420949 +668 1.002000 1.174757 +669 0.003273 -0.118498 +670 1.005000 1.173419 +671 -0.060788 -0.217691 +672 1.008000 1.169436 +673 0.067370 -0.052786 +674 1.011000 1.165897 +675 -0.087508 -0.266081 +676 1.014000 1.169315 +677 -0.302443 -0.537452 +678 1.017000 1.189456 +679 0.050251 -0.056876 +680 1.020000 1.190367 +681 0.208823 0.127802 +682 1.023000 1.171277 +683 -0.056483 -0.240727 +684 1.026000 1.172664 +685 0.016327 -0.133241 +686 1.029000 1.181851 +687 0.248379 0.167678 +688 1.032000 1.173257 +689 0.144669 0.011922 +690 1.035000 1.168033 +691 0.052117 -0.108701 +692 1.038000 1.176555 +693 0.127775 -0.002436 +694 1.041000 1.181869 +695 0.275394 0.186058 +696 1.044000 1.175787 +697 0.116509 -0.035169 +698 1.047000 1.177601 +699 0.219984 0.106587 +700 1.050000 1.181322 +701 0.272574 0.169008 +702 1.053000 1.178282 +703 0.314970 0.216618 +704 1.056000 1.174930 +705 0.274942 0.157451 +706 1.059000 1.175974 +707 0.319613 0.215741 +708 1.062000 1.177751 +709 0.485933 0.427989 +710 1.065000 1.170487 +711 0.380941 0.275044 +712 1.068000 1.168408 +713 0.499923 0.431504 +714 1.071000 1.167690 +715 0.321113 0.189410 +716 1.074000 1.173811 +717 0.555855 0.505663 +718 1.077000 1.173491 +719 0.718885 0.701848 +720 1.080000 1.158224 +721 0.564104 0.479218 +722 1.083000 1.155484 +723 0.410022 0.283019 +724 1.086000 1.170072 +725 0.549064 0.478953 +726 1.089000 1.177063 +727 0.583462 0.517847 +728 1.092000 1.174887 +729 0.767657 0.751341 +730 1.095000 1.165492 +731 0.719117 0.669443 +732 1.098000 1.159038 +733 0.934196 0.944924 +734 1.101000 1.149557 +735 0.581062 0.465314 +736 1.104000 1.157118 +737 0.691826 0.630904 +738 1.107000 1.170295 +739 0.798676 0.769529 +740 1.110000 1.168130 +741 1.051330 1.088039 +742 1.113000 1.152525 +743 0.863621 0.817473 +744 1.116000 1.147854 +745 1.106440 1.137811 +746 1.119000 1.143071 +747 0.804860 0.726715 +748 1.122000 1.148912 +749 1.027580 1.033904 +750 1.125000 1.153799 +751 0.844059 0.783580 +752 1.128000 1.158457 +753 0.913632 0.884419 +754 1.131000 1.165968 +755 1.200910 1.256224 +756 1.134000 1.154044 +757 1.039820 1.020708 +758 1.137000 1.148207 +759 1.234890 1.276753 +760 1.140000 1.144305 +761 1.109210 1.097516 +762 1.143000 1.143548 +763 1.010330 0.972732 +764 1.146000 1.155053 +765 1.286150 1.341463 +766 1.149000 1.151818 +767 1.120330 1.106003 +768 1.152000 1.150213 +769 1.411280 1.489653 +770 1.155000 1.143420 +771 1.166110 1.147951 +772 1.158000 1.143763 +773 1.451850 1.530441 +774 1.161000 1.141082 +775 1.606650 1.711625 +776 1.164000 1.123310 +777 1.356640 1.364044 +778 1.167000 1.124624 +779 1.489960 1.549303 +780 1.170000 1.130166 +781 1.465480 1.511068 +782 1.173000 1.130580 +783 1.559170 1.631804 +784 1.176000 1.129037 +785 1.478840 1.518585 +786 1.179000 1.130862 +787 1.521130 1.576489 +788 1.182000 1.134623 +789 1.466030 1.502296 +790 1.185000 1.139333 +791 1.544780 1.608055 +792 1.188000 1.141477 +793 1.708980 1.815905 +794 1.191000 1.133154 +795 1.414050 1.415477 +796 1.194000 1.140219 +797 1.859560 2.012723 +798 1.197000 1.134219 +799 1.732570 1.816666 +800 1.200000 1.123030 +801 1.823550 1.932069 +802 1.203000 1.120819 +803 2.049270 2.216462 +804 1.206000 1.107191 +805 1.932150 2.040410 +806 1.209000 1.100836 +807 1.632090 1.650045 +808 1.212000 1.119792 +809 2.042110 2.209076 +810 1.215000 1.120636 +811 2.043570 2.186323 +812 1.218000 1.107174 +813 1.945840 2.047880 +814 1.221000 1.108523 +815 2.231910 2.423374 +816 1.224000 1.100587 +817 2.326360 2.522704 +818 1.227000 1.083664 +819 2.239270 2.390787 +820 1.230000 1.079506 +821 2.097560 2.206050 +822 1.233000 1.090298 +823 2.405490 2.618423 +824 1.236000 1.086814 +825 2.215070 2.349064 +826 1.239000 1.085105 +827 2.358580 2.542325 +828 1.242000 1.086586 +829 2.391770 2.575898 +830 1.245000 1.082066 +831 2.132290 2.231187 +832 1.248000 1.093950 +833 2.308540 2.479540 +834 1.251000 1.102021 +835 2.364910 2.545656 +836 1.254000 1.097765 +837 2.399630 2.582288 +838 1.257000 1.094146 +839 2.489400 2.692111 +840 1.260000 1.088888 +841 2.542320 2.749953 +842 1.263000 1.082684 +843 2.689980 2.932375 +844 1.266000 1.072774 +845 2.393580 2.529941 +846 1.269000 1.079911 +847 2.797580 3.073354 +848 1.272000 1.076075 +849 2.743020 2.975124 +850 1.275000 1.063745 +851 2.832710 3.084139 +852 1.278000 1.058346 +853 2.639680 2.822181 +854 1.281000 1.064400 +855 2.694310 2.905036 +856 1.284000 1.073611 +857 2.800290 3.043064 +858 1.287000 1.072022 +859 2.815870 3.053804 +860 1.290000 1.068546 +861 2.838090 3.076947 +862 1.293000 1.067455 +863 2.690350 2.880316 +864 1.296000 1.075587 +865 2.843460 3.090036 +866 1.299000 1.078980 +867 3.003630 3.289364 +868 1.302000 1.068511 +869 2.890700 3.124373 +870 1.305000 1.065749 +871 2.800930 3.009458 +872 1.308000 1.075498 +873 2.996580 3.272344 +874 1.311000 1.075204 +875 3.143350 3.449544 +876 1.314000 1.062257 +877 2.938640 3.164390 +878 1.317000 1.063588 +879 3.043380 3.310010 +880 1.320000 1.068819 +881 3.122430 3.407732 +882 1.323000 1.065027 +883 2.971640 3.202261 +884 1.326000 1.070007 +885 3.041200 3.301515 +886 1.329000 1.076408 +887 3.226990 3.540672 +888 1.332000 1.069104 +889 3.433050 3.790991 +890 1.335000 1.050701 +891 3.286130 3.574220 +892 1.338000 1.044642 +893 3.056240 3.276912 +894 1.341000 1.061362 +895 3.353210 3.683690 +896 1.344000 1.064247 +897 3.090800 3.325426 +898 1.347000 1.069160 +899 3.159390 3.429482 +900 1.350000 1.079857 +901 3.285740 3.594182 +902 1.353000 1.077323 +903 3.334890 3.646836 +904 1.356000 1.070998 +905 3.265240 3.546877 +906 1.359000 1.072044 +907 3.345030 3.652454 +908 1.362000 1.073208 +909 3.276990 3.557714 +910 1.365000 1.076061 +911 3.261980 3.541108 +912 1.368000 1.082633 +913 3.497600 3.849798 +914 1.371000 1.076158 +915 3.489770 3.819859 +916 1.374000 1.066876 +917 3.383570 3.673620 +918 1.377000 1.070732 +919 3.275210 3.538420 +920 1.380000 1.083863 +921 3.347940 3.644690 +922 1.383000 1.091806 +923 3.508610 3.851989 +924 1.386000 1.086255 +925 3.364420 3.649485 +926 1.389000 1.087046 +927 3.442530 3.756802 +928 1.392000 1.091051 +929 3.202280 3.440107 +930 1.395000 1.103744 +931 3.323540 3.616419 +932 1.398000 1.114145 +933 3.290640 3.570997 +934 1.401000 1.117418 +935 3.214650 3.473437 +936 1.404000 1.125846 +937 3.457780 3.796428 +938 1.407000 1.122097 +939 3.319620 3.598397 +940 1.410000 1.120159 +941 3.310700 3.590485 +942 1.413000 1.127162 +943 3.250990 3.515200 +944 1.416000 1.135404 +945 3.063560 3.277442 +946 1.419000 1.152476 +947 3.190140 3.460577 +948 1.422000 1.162371 +949 3.363840 3.683108 +950 1.425000 1.154895 +951 3.373000 3.678002 +952 1.428000 1.146726 +953 3.100670 3.315579 +954 1.431000 1.158693 +955 3.420760 3.751690 +956 1.434000 1.160106 +957 3.291760 3.564654 +958 1.437000 1.156864 +959 3.222380 3.476793 +960 1.440000 1.165996 +961 3.087550 3.308540 +962 1.443000 1.181190 +963 3.038970 3.259873 +964 1.446000 1.197052 +965 3.148080 3.411886 +966 1.449000 1.201981 +967 3.158020 3.419297 +968 1.452000 1.201330 +969 2.961370 3.160020 +970 1.455000 1.212546 +971 3.032220 3.267467 +972 1.458000 1.223194 +973 3.134430 3.400616 +974 1.461000 1.221751 +975 3.000660 3.217499 +976 1.464000 1.225946 +977 2.967040 3.181174 +978 1.467000 1.236526 +979 2.987480 3.213725 +980 1.470000 1.243166 +981 2.957960 3.175815 +982 1.473000 1.248602 +983 2.985640 3.214241 +984 1.476000 1.252610 +985 2.999150 3.230192 +986 1.479000 1.254546 +987 2.950040 3.164187 +988 1.482000 1.259310 +989 2.872580 3.066584 +990 1.485000 1.269059 +991 2.754780 2.921292 +992 1.488000 1.283953 +993 2.927540 3.159238 +994 1.491000 1.287970 +995 2.833310 3.027152 +996 1.494000 1.289710 +997 2.813060 3.004449 +998 1.497000 1.297088 +999 2.698670 2.858935 +1000 1.500000 1.308648 +1001 2.781040 2.977048 +1002 1.503000 1.315689 +1003 2.771560 2.962048 +1004 1.506000 1.317909 +1005 2.654440 2.809066 +1006 1.509000 1.327068 +1007 2.453390 2.557352 +1008 1.512000 1.347409 +1009 2.565720 2.724808 +1010 1.515000 1.359878 +1011 2.481420 2.614368 +1012 1.518000 1.366900 +1013 2.446240 2.575087 +1014 1.521000 1.376795 +1015 2.604390 2.786300 +1016 1.524000 1.376324 +1017 2.205940 2.256657 +1018 1.527000 1.392004 +1019 2.407190 2.547564 +1020 1.530000 1.405712 +1021 2.325830 2.436875 +1022 1.533000 1.409687 +1023 2.215150 2.297321 +1024 1.536000 1.421993 +1025 2.128720 2.196278 +1026 1.539000 1.437644 +1027 1.994950 2.034495 +1028 1.542000 1.456089 +1029 1.995330 2.051491 +1030 1.545000 1.470783 +1031 2.152350 2.262344 +1032 1.548000 1.470953 +1033 1.744420 1.720840 +1034 1.551000 1.487406 +1035 1.778480 1.795415 +1036 1.554000 1.510153 +1037 1.776020 1.802277 +1038 1.557000 1.520308 +1039 1.825210 1.870178 +1040 1.560000 1.524110 +1041 1.710270 1.717821 +1042 1.563000 1.531551 +1043 1.882320 1.949909 +1044 1.566000 1.532447 +1045 1.712290 1.717334 +1046 1.569000 1.536737 +1047 1.590370 1.568264 +1048 1.572000 1.553160 +1049 1.726680 1.760045 +1050 1.575000 1.559793 +1051 1.317090 1.221670 +1052 1.578000 1.579771 +1053 1.648060 1.684571 +1054 1.581000 1.589171 +1055 1.410750 1.361252 +1056 1.584000 1.594190 +1057 1.215480 1.120967 +1058 1.587000 1.617148 +1059 1.539240 1.564657 +1060 1.590000 1.619904 +1061 1.193210 1.096119 +1062 1.593000 1.627906 +1063 1.037970 0.915770 +1064 1.596000 1.654272 +1065 1.267270 1.236650 +1066 1.599000 1.661605 +1067 1.138720 1.058954 +1068 1.602000 1.664232 +1069 1.006960 0.893732 +1070 1.605000 1.678862 +1071 0.974691 0.865752 +1072 1.608000 1.693569 +1073 0.824278 0.678749 +1074 1.611000 1.710375 +1075 0.798511 0.661617 +1076 1.614000 1.726346 +1077 0.907243 0.811954 +1078 1.617000 1.730460 +1079 0.674571 0.503466 +1080 1.620000 1.741620 +1081 0.603442 0.428270 +1082 1.623000 1.760720 +1083 0.923846 0.858293 +1084 1.626000 1.757284 +1085 0.799316 0.673918 +1086 1.629000 1.751808 +1087 0.726006 0.579277 +1088 1.632000 1.760056 +1089 0.535928 0.338854 +1090 1.635000 1.777805 +1091 0.701959 0.573856 +1092 1.638000 1.786106 +1093 0.491921 0.294337 +1094 1.641000 1.795648 +1095 0.227665 -0.034216 +1096 1.644000 1.822865 +1097 0.251663 0.026296 +1098 1.647000 1.844996 +1099 0.209886 -0.017823 +1100 1.650000 1.857234 +1101 0.147208 -0.091853 +1102 1.653000 1.868994 +1103 0.191233 -0.026307 +1104 1.656000 1.876041 +1105 0.453865 0.314546 +1106 1.659000 1.866130 +1107 0.069398 -0.208714 +1108 1.662000 1.873233 +1109 0.109126 -0.134044 +1110 1.665000 1.890979 +1111 -0.001261 -0.270993 +1112 1.668000 1.904277 +1113 -0.071604 -0.350532 +1114 1.671000 1.919497 +1115 -0.208795 -0.517925 +1116 1.674000 1.937316 +1117 -0.029877 -0.269041 +1118 1.677000 1.942960 +1119 -0.061970 -0.319648 +1120 1.680000 1.942020 +1121 -0.219701 -0.526211 +1122 1.683000 1.952784 +1123 -0.368534 -0.706777 +1124 1.686000 1.972737 +1125 -0.332191 -0.641221 +1126 1.689000 1.986839 +1127 -0.242504 -0.520259 +1128 1.692000 1.988749 +1129 -0.554861 -0.932705 +1130 1.695000 2.003723 +1131 -0.593631 -0.959006 +1132 1.698000 2.025833 +1133 -0.356176 -0.636665 +1134 1.701000 2.026530 +1135 -0.568524 -0.928004 +1136 1.704000 2.030319 +1137 -0.587508 -0.941257 +1138 1.707000 2.043015 +1139 -0.485258 -0.801795 +1140 1.710000 2.045871 +1141 -0.725507 -1.120578 +1142 1.713000 2.057148 +1143 -0.463850 -0.762659 +1144 1.716000 2.059949 +1145 -0.773024 -1.179821 +1146 1.719000 2.068530 +1147 -0.685933 -1.046788 +1148 1.722000 2.081602 +1149 -0.695378 -1.058118 +1150 1.725000 2.086116 +1151 -0.718360 -1.087262 +1152 1.728000 2.091497 +1153 -0.541019 -0.854666 +1154 1.731000 2.087752 +1155 -0.898110 -1.333690 +1156 1.734000 2.099292 +1157 -0.908631 -1.323008 +1158 1.737000 2.120309 +1159 -0.820981 -1.197659 +1160 1.740000 2.126968 +1161 -0.998533 -1.431709 +1162 1.743000 2.137217 +1163 -1.024970 -1.452421 +1164 1.746000 2.151588 +1165 -1.043400 -1.468372 +1166 1.749000 2.161440 +1167 -0.996409 -1.402628 +1168 1.752000 2.165855 +1169 -0.968485 -1.368747 +1170 1.755000 2.166489 +1171 -0.854705 -1.224625 +1172 1.758000 2.162020 +1173 -1.018700 -1.449591 +1174 1.761000 2.166058 +1175 -1.164970 -1.630797 +1176 1.764000 2.183371 +1177 -1.152010 -1.597461 +1178 1.767000 2.197472 +1179 -1.161890 -1.604648 +1180 1.770000 2.205261 +1181 -1.239780 -1.703045 +1182 1.773000 2.214747 +1183 -1.043730 -1.440484 +1184 1.776000 2.213852 +1185 -1.380390 -1.892151 +1186 1.779000 2.224815 +1187 -1.238940 -1.685406 +1188 1.782000 2.237206 +1189 -1.228200 -1.673920 +1190 1.785000 2.238340 +1191 -1.282050 -1.746470 +1192 1.788000 2.243105 +1193 -1.242450 -1.691632 +1194 1.791000 2.247185 +1195 -1.280460 -1.743263 +1196 1.794000 2.251270 +1197 -1.274950 -1.734055 +1198 1.797000 2.256162 +1199 -1.375940 -1.865166 +1200 1.800000 2.265039 +1201 -1.062130 -1.448635 +1202 1.803000 2.258899 +1203 -1.443470 -1.968216 +1204 1.806000 2.265424 +1205 -1.201720 -1.631471 +1206 1.809000 2.272705 +1207 -1.525130 -2.063157 +1208 1.812000 2.284607 +1209 -1.469380 -1.967963 +1210 1.815000 2.301146 +1211 -1.584260 -2.112417 +1212 1.818000 2.313552 +1213 -1.335800 -1.777837 +1214 1.821000 2.312640 +1215 -1.600620 -2.139004 +1216 1.824000 2.317987 +1217 -1.433420 -1.906335 +1218 1.827000 2.324029 +1219 -1.054210 -1.421319 +1220 1.830000 2.303157 +1221 -1.330970 -1.817998 +1222 1.833000 2.295906 +1223 -1.574760 -2.127014 +1224 1.836000 2.317824 +1225 -1.405440 -1.882075 +1226 1.839000 2.329757 +1227 -1.246470 -1.679738 +1228 1.842000 2.322204 +1229 -1.303950 -1.770722 +1230 1.845000 2.317898 +1231 -1.417720 -1.920878 +1232 1.848000 2.326080 +1233 -1.341920 -1.813484 +1234 1.851000 2.332061 +1235 -1.521890 -2.050435 +1236 1.854000 2.342627 +1237 -1.422830 -1.907662 +1238 1.857000 2.350948 +1239 -1.470520 -1.972426 +1240 1.860000 2.354963 +1241 -1.373100 -1.843259 +1242 1.863000 2.355596 +1243 -1.238810 -1.676285 +1244 1.866000 2.347434 +1245 -1.386180 -1.883139 +1246 1.869000 2.348338 +1247 -1.314870 -1.784409 +1248 1.872000 2.352856 +1249 -1.380110 -1.872888 +1250 1.875000 2.357270 +1251 -1.460420 -1.973542 +1252 1.878000 2.367633 +1253 -1.358120 -1.832151 +1254 1.881000 2.371884 +1255 -1.335300 -1.808045 +1256 1.884000 2.370581 +1257 -1.275770 -1.735412 +1258 1.887000 2.368227 +1259 -1.409200 -1.916304 +1260 1.890000 2.373690 +1261 -1.466210 -1.982238 +1262 1.893000 2.385947 +1263 -1.389350 -1.873982 +1264 1.896000 2.391351 +1265 -1.473190 -1.986402 +1266 1.899000 2.396827 +1267 -1.414480 -1.904629 +1268 1.902000 2.401387 +1269 -1.194690 -1.621861 +1270 1.905000 2.392044 +1271 -1.510960 -2.053743 +1272 1.908000 2.397620 +1273 -1.599170 -2.150117 +1274 1.911000 2.418516 +1275 -1.325970 -1.779355 +1276 1.914000 2.418842 +1277 -1.421580 -1.921130 +1278 1.917000 2.415272 +1279 -1.378760 -1.865172 +1280 1.920000 2.417378 +1281 -1.502640 -2.029860 +1282 1.923000 2.424837 +1283 -1.344220 -1.814986 +1284 1.926000 2.426768 +1285 -1.238190 -1.687270 +1286 1.929000 2.418203 +1287 -1.058800 -1.468047 +1288 1.932000 2.403687 +1289 -1.048290 -1.476194 +1290 1.935000 2.392375 +1291 -1.078640 -1.526122 +1292 1.938000 2.390914 +1293 -1.070670 -1.517666 +1294 1.941000 2.393140 +1295 -1.126460 -1.591853 +1296 1.944000 2.398579 +1297 -1.294770 -1.806762 +1298 1.947000 2.413403 +1299 -1.320810 -1.824520 +1300 1.950000 2.429277 +1301 -1.188810 -1.643978 +1302 1.953000 2.432201 +1303 -1.387740 -1.910642 +1304 1.956000 2.440293 +1305 -1.272600 -1.747509 +1306 1.959000 2.447528 +1307 -0.966293 -1.353651 +1308 1.962000 2.432785 +1309 -1.262550 -1.767740 +1310 1.965000 2.431819 +1311 -1.169770 -1.634118 +1312 1.968000 2.440224 +1313 -1.186390 -1.658066 +1314 1.971000 2.442979 +1315 -1.101280 -1.547416 +1316 1.974000 2.442519 +1317 -1.105950 -1.561115 +1318 1.977000 2.441330 +1319 -0.937585 -1.345405 +1320 1.980000 2.434645 +1321 -1.219570 -1.728173 +1322 1.983000 2.441580 +1323 -1.019530 -1.450836 +1324 1.986000 2.447300 +1325 -1.110730 -1.579365 +1326 1.989000 2.448553 +1327 -0.649630 -0.976797 +1328 1.992000 2.431545 +1329 -1.160540 -1.679869 +1330 1.995000 2.434448 +1331 -0.942084 -1.368601 +1332 1.998000 2.446402 +1333 -0.973094 -1.415876 +1334 2.001000 2.446500 +1335 -1.064190 -1.535222 +1336 2.004000 2.454307 +1337 -0.681706 -1.030634 +1338 2.007000 2.443922 +1339 -0.914337 -1.363387 +1340 2.010000 2.438635 +1341 -0.786273 -1.190175 +1342 2.013000 2.441054 +1343 -0.863778 -1.299046 +1344 2.016000 2.443052 +1345 -0.819382 -1.238458 +1346 2.019000 2.446664 +1347 -0.785366 -1.197013 +1348 2.022000 2.446776 +1349 -0.950875 -1.416634 +1350 2.025000 2.455825 +1351 -0.840975 -1.261524 +1352 2.028000 2.462436 +1353 -0.826380 -1.247008 +1354 2.031000 2.462222 +1355 -0.938683 -1.396612 +1356 2.034000 2.469218 +1357 -0.841017 -1.261645 +1358 2.037000 2.473556 +1359 -0.688280 -1.068329 +1360 2.040000 2.465976 +1361 -0.531832 -0.880865 +1362 2.043000 2.451214 +1363 -0.850693 -1.316096 +1364 2.046000 2.457149 +1365 -0.989997 -1.478508 +1366 2.049000 2.480856 +1367 -0.643052 -1.007268 +1368 2.052000 2.480608 +1369 -0.901502 -1.365156 +1370 2.055000 2.482108 +1371 -0.737319 -1.139233 +1372 2.058000 2.486479 +1373 -0.733567 -1.143212 +1374 2.061000 2.483817 +1375 -0.849577 -1.298610 +1376 2.064000 2.490414 +1377 -0.624754 -0.998386 +1378 2.067000 2.488377 +1379 -0.442320 -0.777537 +1380 2.070000 2.471816 +1381 -0.613380 -1.023221 +1382 2.073000 2.468617 +1383 -0.581392 -0.976929 +1384 2.076000 2.474341 +1385 -0.835009 -1.307355 +1386 2.079000 2.490186 +1387 -0.499577 -0.849866 +1388 2.082000 2.491680 +1389 -0.498765 -0.868943 +1390 2.085000 2.481387 +1391 -0.375817 -0.718434 +1392 2.088000 2.473025 +1393 -0.754972 -1.226088 +1394 2.091000 2.485890 +1395 -0.373504 -0.703748 +1396 2.094000 2.488704 +1397 -0.511103 -0.904431 +1398 2.097000 2.484109 +1399 -0.509060 -0.899845 +1400 2.100000 2.489442 +1401 -0.458890 -0.833954 +1402 2.103000 2.491089 +1403 -0.585675 -1.003137 +1404 2.106000 2.498208 +1405 -0.514551 -0.901805 +1406 2.109000 2.504477 +1407 -0.426321 -0.789651 +1408 2.112000 2.501933 +1409 -0.453732 -0.834432 +1410 2.115000 2.500903 +1411 -0.161292 -0.456070 +1412 2.118000 2.488955 +1413 -0.462098 -0.873496 +1414 2.121000 2.489909 +1415 -0.498075 -0.905782 +1416 2.124000 2.505708 +1417 -0.408116 -0.779364 +1418 2.127000 2.511109 +1419 -0.440353 -0.825428 +1420 2.130000 2.513495 +1421 -0.365521 -0.727514 +1422 2.133000 2.514000 +1423 -0.162272 -0.469733 +1424 2.136000 2.503208 +1425 -0.431340 -0.840267 +1426 2.139000 2.506471 +1427 0.082119 -0.158545 +1428 2.142000 2.494526 +1429 -0.560038 -1.031859 +1430 2.145000 2.504053 +1431 -0.189285 -0.511159 +1432 2.148000 2.516140 +1433 -0.197548 -0.537148 +1434 2.151000 2.509297 +1435 -0.298701 -0.675277 +1436 2.154000 2.513887 +1437 -0.457433 -0.875771 +1438 2.157000 2.529641 +1439 -0.220326 -0.551365 +1440 2.160000 2.532372 +1441 -0.137190 -0.457232 +1442 2.163000 2.522245 +1443 -0.295252 -0.676447 +1444 2.166000 2.524839 +1445 -0.354854 -0.746225 +1446 2.169000 2.537009 +1447 -0.189512 -0.522850 +1448 2.172000 2.538056 +1449 -0.171622 -0.510675 +1450 2.175000 2.533262 +1451 -0.336602 -0.731872 +1452 2.178000 2.540897 +1453 -0.082218 -0.389861 +1454 2.181000 2.539691 +1455 -0.149553 -0.494801 +1456 2.184000 2.534823 +1457 -0.306750 -0.701247 +1458 2.187000 2.545314 +1459 -0.384907 -0.790129 +1460 2.190000 2.561607 +1461 -0.290743 -0.655635 +1462 2.193000 2.568604 +1463 -0.074085 -0.377342 +1464 2.196000 2.559038 +1465 -0.260072 -0.639833 +1466 2.199000 2.558124 +1467 -0.191210 -0.543333 +1468 2.202000 2.563504 +1469 -0.177369 -0.528314 +1470 2.205000 2.564414 +1471 -0.145464 -0.489680 +1472 2.208000 2.564693 +1473 -0.107442 -0.444482 +1474 2.211000 2.563719 +1475 -0.173014 -0.535096 +1476 2.214000 2.567178 +1477 0.056886 -0.233060 +1478 2.217000 2.561660 +1479 -0.135025 -0.501368 +1480 2.220000 2.562200 +1481 -0.221684 -0.605794 +1482 2.223000 2.576173 +1483 0.016034 -0.285683 +1484 2.226000 2.575382 +1485 -0.126260 -0.486903 +1486 2.229000 2.575062 +1487 0.131014 -0.147502 +1488 2.232000 2.569572 +1489 -0.163158 -0.550224 +1490 2.235000 2.574192 +1491 -0.347571 -0.773499 +1492 2.238000 2.598651 +1493 -0.019916 -0.324375 +1494 2.241000 2.601411 +1495 -0.278548 -0.679510 +1496 2.244000 2.604893 +1497 -0.159840 -0.511427 +1498 2.247000 2.612352 +1499 0.030992 -0.267727 +1500 2.250000 2.603345 +1501 0.023263 -0.296707 +1502 2.253000 2.594738 +1503 -0.140918 -0.517888 +1504 2.256000 2.601770 +1505 -0.049246 -0.387825 +1506 2.259000 2.608428 +1507 -0.064430 -0.410986 +1508 2.262000 2.610425 +1509 0.020477 -0.301163 +1510 2.265000 2.609611 +1511 0.089543 -0.219220 +1512 2.268000 2.604600 +1513 -0.083696 -0.454096 +1514 2.271000 2.610597 +1515 -0.072425 -0.428731 +1516 2.274000 2.621193 +1517 -0.066550 -0.417571 +1518 2.277000 2.626841 +1519 -0.117668 -0.483397 +1520 2.280000 2.633510 +1521 0.039064 -0.275224 +1522 2.283000 2.632401 +1523 -0.134726 -0.513134 +1524 2.286000 2.636647 +1525 0.048582 -0.265225 +1526 2.289000 2.637938 +1527 -0.152544 -0.538582 +1528 2.292000 2.643518 +1529 -0.050103 -0.393448 +1530 2.295000 2.650444 +1531 0.131115 -0.161701 +1532 2.298000 2.642321 +1533 0.225235 -0.057182 +1534 2.301000 2.629354 +1535 -0.101761 -0.498414 +1536 2.304000 2.638826 +1537 -0.122690 -0.504222 +1538 2.307000 2.658374 +1539 -0.157801 -0.538830 +1540 2.310000 2.670972 +1541 0.001887 -0.323913 +1542 2.313000 2.671510 +1543 0.172091 -0.113748 +1544 2.316000 2.659109 +1545 0.131106 -0.186996 +1546 2.319000 2.651576 +1547 0.035293 -0.316776 +1548 2.322000 2.656913 +1549 -0.061089 -0.436026 +1550 2.325000 2.669651 +1551 -0.038586 -0.395965 +1552 2.328000 2.679481 +1553 -0.045117 -0.402057 +1554 2.331000 2.684993 +1555 -0.110247 -0.485503 +1556 2.334000 2.692785 +1557 -0.145117 -0.524923 +1558 2.337000 2.702255 +1559 -0.058465 -0.406949 +1560 2.340000 2.705172 +1561 -0.206557 -0.605026 +1562 2.343000 2.712470 +1563 0.190193 -0.079099 +1564 2.346000 2.703346 +1565 -0.044251 -0.414180 +1566 2.349000 2.698121 +1567 -0.140847 -0.532889 +1568 2.352000 2.711866 +1569 -0.022462 -0.367499 +1570 2.355000 2.717340 +1571 0.191639 -0.094832 +1572 2.358000 2.706351 +1573 0.235593 -0.059170 +1574 2.361000 2.693457 +1575 0.170207 -0.157504 +1576 2.364000 2.691811 +1577 0.051317 -0.312160 +1578 2.367000 2.701651 +1579 0.100135 -0.238502 +1580 2.370000 2.709852 +1581 -0.017627 -0.391678 +1582 2.373000 2.719253 +1583 -0.127126 -0.524199 +1584 2.376000 2.735131 +1585 -0.160879 -0.554543 +1586 2.379000 2.749558 +1587 0.002338 -0.333928 +1588 2.382000 2.750624 +1589 -0.074639 -0.444957 +1590 2.385000 2.750658 +1591 -0.036748 -0.394112 +1592 2.388000 2.753772 +1593 -0.166943 -0.566101 +1594 2.391000 2.762144 +1595 0.078235 -0.237510 +1596 2.394000 2.760352 +1597 0.133335 -0.183158 +1598 2.397000 2.749474 +1599 -0.028509 -0.406224 +1600 2.400000 2.753033 +1601 -0.113559 -0.508255 +1602 2.403000 2.767017 +1603 -0.042863 -0.405359 +1604 2.406000 2.774516 +1605 -0.082152 -0.458182 +1606 2.409000 2.778858 +1607 -0.062541 -0.430416 +1608 2.412000 2.783194 +1609 0.080983 -0.244790 +1610 2.415000 2.779076 +1611 0.287058 0.009920 +1612 2.418000 2.763605 +1613 -0.206525 -0.655636 +1614 2.421000 2.776075 +1615 -0.067606 -0.442570 +1616 2.424000 2.795260 +1617 -0.065369 -0.437635 +1618 2.427000 2.799699 +1619 -0.016170 -0.373646 +1620 2.430000 2.800983 +1621 0.123157 -0.197062 +1622 2.433000 2.794687 +1623 -0.131604 -0.542602 +1624 2.436000 2.801531 +1625 0.161122 -0.146326 +1626 2.439000 2.801533 +1627 -0.036918 -0.422507 +1628 2.442000 2.802225 +1629 0.052278 -0.297900 +1630 2.445000 2.807694 +1631 0.122422 -0.210750 +1632 2.448000 2.805042 +1633 -0.122517 -0.537393 +1634 2.451000 2.815540 +1635 0.040104 -0.308451 +1636 2.454000 2.823163 +1637 0.038548 -0.317175 +1638 2.457000 2.822144 +1639 0.188343 -0.125686 +1640 2.460000 2.816325 +1641 0.144873 -0.196810 +1642 2.463000 2.812402 +1643 -0.009196 -0.399882 +1644 2.466000 2.822215 +1645 0.303483 0.018714 +1646 2.469000 2.818567 +1647 -0.036408 -0.445322 +1648 2.472000 2.824083 +1649 -0.106391 -0.516757 +1650 2.475000 2.844942 +1651 0.092229 -0.243972 +1652 2.478000 2.848281 +1653 0.117182 -0.222987 +1654 2.481000 2.842783 +1655 -0.076260 -0.482030 +1656 2.484000 2.851277 +1657 -0.127614 -0.535363 +1658 2.487000 2.866804 +1659 -0.040172 -0.411566 +1660 2.490000 2.872796 +1661 -0.066286 -0.449152 +1662 2.493000 2.875217 +1663 0.136703 -0.184948 +1664 2.496000 2.869092 +1665 -0.135857 -0.557011 +1666 2.499000 2.874451 +1667 -0.204374 -0.630330 +1668 2.502000 2.892590 +1669 -0.017515 -0.374663 +1670 2.505000 2.895347 +1671 0.158191 -0.157423 +1672 2.508000 2.882527 +1673 -0.098310 -0.511418 +1674 2.511000 2.885384 +1675 -0.295901 -0.755006 +1676 2.514000 2.908346 +1677 0.131067 -0.177011 +1678 2.517000 2.906034 +1679 0.127792 -0.208886 +1680 2.520000 2.890858 +1681 0.001391 -0.385436 +1682 2.523000 2.893125 +1683 -0.067933 -0.469788 +1684 2.526000 2.904439 +1685 0.006064 -0.365178 +1686 2.529000 2.910077 +1687 -0.155830 -0.578758 +1688 2.532000 2.919663 +1689 0.019378 -0.338614 +1690 2.535000 2.923081 +1691 0.267541 -0.026096 +1692 2.538000 2.907370 +1693 -0.027711 -0.436301 +1694 2.541000 2.908197 +1695 -0.105207 -0.522939 +1696 2.544000 2.925813 +1697 0.034272 -0.328699 +1698 2.547000 2.931077 +1699 0.180879 -0.145076 +1700 2.550000 2.922560 +1701 -0.155781 -0.598920 +1702 2.553000 2.932303 +1703 -0.057748 -0.449383 +1704 2.556000 2.946378 +1705 0.141176 -0.189792 +1706 2.559000 2.940462 +1707 -0.061614 -0.470823 +1708 2.562000 2.942555 +1709 0.020468 -0.354291 +1710 2.565000 2.949145 +1711 -0.006887 -0.392780 +1712 2.568000 2.952100 +1713 -0.085517 -0.494271 +1714 2.571000 2.960323 +1715 0.029648 -0.337620 +1716 2.574000 2.962990 +1717 -0.019697 -0.409048 +1718 2.577000 2.964156 +1719 -0.037090 -0.430866 +1720 2.580000 2.969434 +1721 -0.102993 -0.514852 +1722 2.583000 2.977599 +1723 0.095961 -0.250017 +1724 2.586000 2.975561 +1725 -0.186433 -0.632029 +1726 2.589000 2.983233 +1727 0.076994 -0.271803 +1728 2.592000 2.986094 +1729 0.063114 -0.305133 +1730 2.595000 2.979873 +1731 0.158397 -0.187167 +1732 2.598000 2.975127 +1733 -0.175076 -0.631603 +1734 2.601000 2.988246 +1735 -0.053695 -0.449727 +1736 2.604000 3.002408 +1737 -0.055747 -0.452636 +1738 2.607000 3.005676 +1739 -0.177556 -0.611465 +1740 2.610000 3.015201 +1741 -0.079543 -0.473907 +1742 2.613000 3.020919 +1743 -0.070204 -0.466145 +1744 2.616000 3.021057 +1745 0.306657 0.020680 +1746 2.619000 3.003943 +1747 -0.079551 -0.515724 +1748 2.622000 3.003805 +1749 0.038445 -0.343849 +1750 2.625000 3.014746 +1751 -0.034614 -0.440921 +1752 2.628000 3.020394 +1753 -0.040498 -0.443615 +1754 2.631000 3.027832 +1755 -0.275884 -0.747182 +1756 2.634000 3.044908 +1757 -0.130060 -0.536395 +1758 2.637000 3.055685 +1759 -0.277766 -0.732181 +1760 2.640000 3.063901 +1761 -0.023086 -0.390393 +1762 2.643000 3.062231 +1763 0.055199 -0.306344 +1764 2.646000 3.049879 +1765 0.161113 -0.183544 +1766 2.649000 3.038555 +1767 0.174558 -0.181784 +1768 2.652000 3.031233 +1769 -0.110184 -0.560024 +1770 2.655000 3.044010 +1771 0.215832 -0.115010 +1772 2.658000 3.045934 +1773 0.176845 -0.185027 +1774 2.661000 3.038172 +1775 -0.187674 -0.664415 +1776 2.664000 3.056750 +1777 -0.226286 -0.685310 +1778 2.667000 3.082347 +1779 0.034903 -0.329890 +1780 2.670000 3.083276 +1781 -0.065803 -0.477256 +1782 2.673000 3.080661 +1783 0.081892 -0.284067 +1784 2.676000 3.078110 +1785 0.177501 -0.172169 +1786 2.679000 3.068656 +1787 0.155820 -0.214328 +1788 2.682000 3.064237 +1789 -0.117879 -0.574423 +1790 2.685000 3.078998 +1791 -0.179014 -0.632043 +1792 2.688000 3.100664 +1793 -0.094444 -0.507511 +1794 2.691000 3.109682 +1795 -0.048823 -0.449752 +1796 2.694000 3.109856 +1797 -0.104574 -0.527297 +1798 2.697000 3.112989 +1799 -0.125872 -0.552569 +1800 2.700000 3.119519 +1801 0.068807 -0.296785 +1802 2.703000 3.115315 +1803 -0.142182 -0.587125 +1804 2.706000 3.118695 +1805 0.086415 -0.278849 +1806 2.709000 3.118800 +1807 -0.110299 -0.549715 +1808 2.712000 3.121934 +1809 -0.026478 -0.430599 +1810 2.715000 3.128622 +1811 -0.029980 -0.438114 +1812 2.718000 3.130356 +1813 -0.063399 -0.482924 +1814 2.721000 3.134901 +1815 -0.206827 -0.667287 +1816 2.724000 3.147257 +1817 0.022958 -0.355424 +1818 2.727000 3.148374 +1819 0.040693 -0.346940 +1820 2.730000 3.141141 +1821 0.181362 -0.172353 +1822 2.733000 3.132500 +1823 0.282990 -0.056149 +1824 2.736000 3.120525 +1825 0.037698 -0.390939 +1826 2.739000 3.126032 +1827 0.107057 -0.286406 +1828 2.742000 3.136300 +1829 -0.065282 -0.510320 +1830 2.745000 3.148494 +1831 0.073885 -0.314790 +1832 2.748000 3.155177 +1833 0.151905 -0.219388 +1834 2.751000 3.150693 +1835 -0.050807 -0.492748 +1836 2.754000 3.158023 +1837 -0.149579 -0.607967 +1838 2.757000 3.175798 +1839 0.051462 -0.332442 +1840 2.760000 3.178855 +1841 -0.119979 -0.567076 +1842 2.763000 3.182972 +1843 0.354791 0.059512 +1844 2.766000 3.169540 +1845 0.065998 -0.353265 +1846 2.769000 3.162275 +1847 0.072757 -0.335933 +1848 2.772000 3.172109 +1849 -0.035933 -0.473919 +1850 2.775000 3.183368 +1851 -0.100485 -0.547316 +1852 2.778000 3.197410 +1853 0.009354 -0.394640 +1854 2.781000 3.202175 +1855 -0.118358 -0.566317 +1856 2.784000 3.208315 +1857 -0.163047 -0.616128 +1858 2.787000 3.220003 +1859 -0.149831 -0.591653 +1860 2.790000 3.227880 +1861 0.010367 -0.381741 +1862 2.793000 3.224614 +1863 -0.057532 -0.483572 +1864 2.796000 3.222546 +1865 -0.076975 -0.509103 +1866 2.799000 3.227322 +1867 -0.008075 -0.418048 +1868 2.802000 3.228626 +1869 -0.036782 -0.460976 +1870 2.805000 3.229982 +1871 0.080223 -0.309083 +1872 2.808000 3.227828 +1873 -0.026768 -0.458636 +1874 2.811000 3.229839 +1875 -0.069181 -0.509262 +1876 2.814000 3.238936 +1877 0.010317 -0.400401 +1878 2.817000 3.242357 +1879 0.164861 -0.204335 +1880 2.820000 3.235004 +1881 0.055283 -0.362655 +1882 2.823000 3.233569 +1883 0.038111 -0.382531 +1884 2.826000 3.240099 +1885 -0.000036 -0.429637 +1886 2.829000 3.247385 +1887 -0.070032 -0.516527 +1888 2.832000 3.257367 +1889 -0.132046 -0.589562 +1890 2.835000 3.269276 +1891 -0.029123 -0.447385 +1892 2.838000 3.273418 +1893 0.289066 -0.039406 +1894 2.841000 3.257276 +1895 0.063810 -0.362738 +1896 2.844000 3.251735 +1897 0.063047 -0.357554 +1898 2.847000 3.260217 +1899 -0.076497 -0.536112 +1900 2.850000 3.272750 +1901 -0.004737 -0.429789 +1902 2.853000 3.281685 +1903 0.081690 -0.318311 +1904 2.856000 3.280292 +1905 -0.172259 -0.656760 +1906 2.859000 3.291125 +1907 -0.006339 -0.422822 +1908 2.862000 3.299065 +1909 -0.160659 -0.630119 +1910 2.865000 3.305687 +1911 -0.265870 -0.756845 +1912 2.868000 3.321616 +1913 0.127720 -0.231839 +1914 2.871000 3.314537 +1915 0.181865 -0.190286 +1916 2.874000 3.295828 +1917 0.118771 -0.289947 +1918 2.877000 3.291284 +1919 -0.196153 -0.701422 +1920 2.880000 3.309660 +1921 -0.062449 -0.501165 +1922 2.883000 3.324649 +1923 0.013275 -0.403122 +1924 2.886000 3.323885 +1925 -0.248688 -0.751010 +1926 2.889000 3.335778 +1927 0.004227 -0.402860 +1928 2.892000 3.340109 +1929 -0.190245 -0.669448 +1930 2.895000 3.343917 +1931 0.176049 -0.182816 +1932 2.898000 3.336665 +1933 -0.048510 -0.502165 +1934 2.901000 3.332888 +1935 0.213203 -0.154688 +1936 2.904000 3.328928 +1937 0.126068 -0.287515 +1938 2.907000 3.323657 +1939 -0.002373 -0.455744 +1940 2.910000 3.333311 +1941 0.095528 -0.317867 +1942 2.913000 3.339354 +1943 0.040315 -0.393807 +1944 2.916000 3.342858 +1945 -0.047917 -0.505899 +1946 2.919000 3.352856 +1947 -0.090772 -0.553008 +1948 2.922000 3.364521 +1949 -0.172544 -0.652142 +1950 2.925000 3.377062 +1951 -0.069031 -0.507711 +1952 2.928000 3.382189 +1953 -0.054502 -0.493891 +1954 2.931000 3.381610 +1955 -0.120362 -0.583348 +1956 2.934000 3.386140 +1957 -0.014741 -0.442171 +1958 2.937000 3.387286 +1959 0.092399 -0.310615 +1960 2.940000 3.380375 +1961 -0.044939 -0.502133 +1962 2.943000 3.382333 +1963 0.149608 -0.243071 +1964 2.946000 3.380733 +1965 0.099914 -0.322036 +1966 2.949000 3.377128 +1967 -0.184152 -0.693566 +1968 2.952000 3.393804 +1969 0.187265 -0.187070 +1970 2.955000 3.395024 +1971 0.091549 -0.333786 +1972 2.958000 3.388061 +1973 -0.168860 -0.674203 +1974 2.961000 3.403941 +1975 0.218657 -0.148579 +1976 2.964000 3.403126 +1977 0.046446 -0.396929 +1978 2.967000 3.398537 +1979 0.174159 -0.227060 +1980 2.970000 3.398924 +1981 0.222085 -0.174161 +1982 2.973000 3.393829 +1983 -0.247191 -0.792781 +1984 2.976000 3.415403 +1985 0.034685 -0.389376 +1986 2.979000 3.430223 +1987 -0.034979 -0.488581 +1988 2.982000 3.430964 +1989 -0.001638 -0.443631 +1990 2.985000 3.434292 +1991 0.097115 -0.317601 +1992 2.988000 3.431477 +1993 0.087504 -0.339987 +1994 2.991000 3.429046 +1995 -0.008337 -0.468267 +1996 2.994000 3.435255 +1997 0.152999 -0.251932 +1998 2.997000 3.435458 +1999 2.997000 3.433878 diff --git a/07_Astree/src/sensor.c b/07_Astree/src/sensor.c index f1a3b4d06b4e864f9c36e02dccb426feedbc8e0a..9d1bbed558d7ad7f4631fa1b0459b0656dcb7815 100644 --- a/07_Astree/src/sensor.c +++ b/07_Astree/src/sensor.c @@ -1,12 +1,71 @@ #include "sensor.h" +#include <stdio.h> +#include <astree.h> + + +#define MAXVALUES 2000 + + +static float sensorArr[MAXVALUES]; +static int counter = 0; + +float buffer = 0; +bool x = false; + + + bool sensor_init(Sensor *sensor, const char *filename){ - /** - * Implment! - **/ - return false; +# ifdef __ASTREE__ + __ASTREE_modify ((x)); + x = false; +# else + FILE *test = NULL; + int i = 0; + + test = fopen(filename, "r"); + + if(test != NULL) + { + sensor->file = test; + + while(fscanf(test, "%f;%f", &sensorArr[i], &sensorArr[i + 1]) == 2) + { + i += 2; + } + + fclose(test); + x = true; + return x; + } + x = false; + return x; +#endif } + + + /** * Implement sensor stub **/ +float getSensorValue(void) +{ + # ifdef __ASTREE__ + __ASTREE_modify ((buffer; [-10.0f,10.0f])); + buffer = 0; + // __ASTREE_known_fact (( buffer > -10.0f && buffer < 10.0f)); +# else + buffer = sensorArr[counter]; + + counter++; + if(counter > MAXVALUES) + { + counter = 0; + } + + return buffer; + # endif +} + + diff --git a/07_Astree/src/sensor.dat b/07_Astree/src/sensor.dat index 322c09238b5e47260ed36ed6471371deb462fa62..82f0bc07f4345eec9e145c80b870922d19edbbba 100644 --- a/07_Astree/src/sensor.dat +++ b/07_Astree/src/sensor.dat @@ -1,4 +1,3 @@ -timestamp;IXZ500 LR packet 0.000000e+00;-6.468720e-02 3.000000e-03;-4.776680e-02 6.000000e-03;8.301960e-02