Mercurial > flash_v2
comparison packages/kernel/current/include/pkgconf/kernel.h @ 2:443894e2e912 ecos-v1_2_1-release
Block commit of eCos version 1.2.1
| author | jlarmour |
|---|---|
| date | Tue, 11 May 1999 12:24:34 +0000 |
| parents | 3111d98ba7b3 |
| children | d376b777e2ce |
comparison
equal
deleted
inserted
replaced
| 1:72f549f0d891 | 2:443894e2e912 |
|---|---|
| 1 #ifndef CYGONCE_PKGCONF_KERNEL_H | 1 #ifndef CYGONCE_PKGCONF_KERNEL_H |
| 2 #define CYGONCE_PKGCONF_KERNEL_H | 2 #define CYGONCE_PKGCONF_KERNEL_H |
| 3 // ==================================================================== | 3 // ==================================================================== |
| 4 // | 4 // |
| 5 // pkgconf/kernel.h | 5 // pkgconf/kernel.h |
| 6 // | 6 // |
| 7 // Kernel configuration file | 7 // Kernel configuration file |
| 8 // | 8 // |
| 9 // ==================================================================== | 9 // ==================================================================== |
| 10 //####COPYRIGHTBEGIN#### | 10 //####COPYRIGHTBEGIN#### |
| 11 // | 11 // |
| 12 // ------------------------------------------- | 12 // ------------------------------------------- |
| 22 // | 22 // |
| 23 // The Original Code is eCos - Embedded Cygnus Operating System, released | 23 // The Original Code is eCos - Embedded Cygnus Operating System, released |
| 24 // September 30, 1998. | 24 // September 30, 1998. |
| 25 // | 25 // |
| 26 // The Initial Developer of the Original Code is Cygnus. Portions created | 26 // The Initial Developer of the Original Code is Cygnus. Portions created |
| 27 // by Cygnus are Copyright (C) 1998 Cygnus Solutions. All Rights Reserved. | 27 // by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions. All Rights Reserved. |
| 28 // ------------------------------------------- | 28 // ------------------------------------------- |
| 29 // | 29 // |
| 30 //####COPYRIGHTEND#### | 30 //####COPYRIGHTEND#### |
| 31 // ==================================================================== | 31 // ==================================================================== |
| 32 //#####DESCRIPTIONBEGIN#### | 32 //#####DESCRIPTIONBEGIN#### |
| 33 // | 33 // |
| 34 // Author(s): nickg | 34 // Author(s): nickg |
| 35 // Contributors: nickg | 35 // Contributors: nickg |
| 36 // Date: 1997-09-29 | 36 // Date: 1997-09-29 |
| 37 // Purpose: To allow the user to edit kernel configuration options. | 37 // Purpose: To allow the user to edit kernel configuration options. |
| 38 // Description: | 38 // Description: |
| 39 // | 39 // |
| 40 //####DESCRIPTIONEND#### | 40 //####DESCRIPTIONEND#### |
| 41 // | 41 // |
| 42 // ==================================================================== | 42 // ==================================================================== |
| 413 range of legal values therefore depends on the target hardware, | 413 range of legal values therefore depends on the target hardware, |
| 414 and the hardware documentation should be consulted for further | 414 and the hardware documentation should be consulted for further |
| 415 details. In addition the clock resolution numerator and | 415 details. In addition the clock resolution numerator and |
| 416 denominator values should be updated. Typical values for | 416 denominator values should be updated. Typical values for |
| 417 this option would be 150000 on the MN10300 stdeval1 board, | 417 this option would be 150000 on the MN10300 stdeval1 board, |
| 418 15625 on the tx39 jmr3904 board, and 20625 on the powerpc | 418 15625 on the tx39 jmr3904 board, and 20833 on the powerpc |
| 419 cogent board." | 419 cogent board." |
| 420 } | 420 } |
| 421 | 421 |
| 422 cdl_option CYGNUM_KERNEL_COUNTERS_CLOCK_OVERRIDE_NUMERATOR { | 422 cdl_option CYGNUM_KERNEL_COUNTERS_CLOCK_OVERRIDE_NUMERATOR { |
| 423 display "Clock resolution numerator" | 423 display "Clock resolution numerator" |
| 510 place whenever the timer goes off, but requires extra | 510 place whenever the timer goes off, but requires extra |
| 511 memory." | 511 memory." |
| 512 doc ref/ecos-ref/counters-clocks-and-alarms.html | 512 doc ref/ecos-ref/counters-clocks-and-alarms.html |
| 513 } | 513 } |
| 514 | 514 |
| 515 cdl_option CYGIMP_KERNEL_COUNTERS_SORT_LIST { | |
| 516 display "Sort the counter list" | |
| 517 parent CYGPKG_KERNEL_COUNTERS | |
| 518 type bool | |
| 519 description " | |
| 520 Sorting the counter lists reduces the amount of work that | |
| 521 has to be done when a counter tick is processed, since the | |
| 522 next alarm to expire is always at the front of the list. | |
| 523 However, it makes adding an alarm to the list more expensive | |
| 524 since a search must be done for the correct place to put it. | |
| 525 Many alarms are used to implement timeouts, which seldom trigger, | |
| 526 so it is worthwhile optimizing this case. For this reason | |
| 527 sorted list are disabled by default." | |
| 528 } | |
| 529 | |
| 530 cdl_option CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY { | |
| 531 display "Measure real-time [clock] interrupt latency" | |
| 532 parent CYGPKG_KERNEL_COUNTERS | |
| 533 requires CYGVAR_KERNEL_COUNTERS_CLOCK | |
| 534 description " | |
| 535 Measure the interrupt latency as seen by the real-time clock | |
| 536 timer interrupt. This requires hardware support, defined by | |
| 537 the HAL_CLOCK_LATENCY() macro." | |
| 538 doc ref/ecos-ref/counters-clocks-and-alarms.html | |
| 539 } | |
| 540 | |
| 515 }}CFG_DATA */ | 541 }}CFG_DATA */ |
| 516 | 542 |
| 517 #define CYGVAR_KERNEL_COUNTERS_CLOCK | 543 #define CYGVAR_KERNEL_COUNTERS_CLOCK |
| 518 #undef CYGPKG_KERNEL_COUNTERS_CLOCK_OVERRIDE | 544 #undef CYGPKG_KERNEL_COUNTERS_CLOCK_OVERRIDE |
| 519 #define CYGNUM_KERNEL_COUNTERS_CLOCK_OVERRIDE_PERIOD 9999 | 545 #define CYGNUM_KERNEL_COUNTERS_CLOCK_OVERRIDE_PERIOD 9999 |
| 520 #define CYGNUM_KERNEL_COUNTERS_CLOCK_OVERRIDE_NUMERATOR 1000000000 | 546 #define CYGNUM_KERNEL_COUNTERS_CLOCK_OVERRIDE_NUMERATOR 1000000000 |
| 521 #define CYGNUM_KERNEL_COUNTERS_CLOCK_OVERRIDE_DENOMINATOR 100 | 547 #define CYGNUM_KERNEL_COUNTERS_CLOCK_OVERRIDE_DENOMINATOR 100 |
| 522 #define CYGIMP_KERNEL_COUNTERS_SINGLE_LIST | 548 #define CYGIMP_KERNEL_COUNTERS_SINGLE_LIST |
| 523 #undef CYGIMP_KERNEL_COUNTERS_MULTI_LIST | 549 #undef CYGIMP_KERNEL_COUNTERS_MULTI_LIST |
| 524 #define CYGNUM_KERNEL_COUNTERS_MULTI_LIST_SIZE 8 | 550 #define CYGNUM_KERNEL_COUNTERS_MULTI_LIST_SIZE 8 |
| 551 #undef CYGIMP_KERNEL_COUNTERS_SORT_LIST | |
| 552 #undef CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY | |
| 525 | 553 |
| 526 /* --------------------------------------------------------------------- | 554 /* --------------------------------------------------------------------- |
| 527 * Thread-related options | 555 * Thread-related options |
| 528 {{CFG_DATA | 556 {{CFG_DATA |
| 529 | 557 |
| 624 for the idle thread. Unless the HAL is configured to use a | 652 for the idle thread. Unless the HAL is configured to use a |
| 625 separate interrupt stack this size must be sufficient to meet | 653 separate interrupt stack this size must be sufficient to meet |
| 626 the requirements of all interrupt handlers - these | 654 the requirements of all interrupt handlers - these |
| 627 requirements are cumulative if nested interrupted are | 655 requirements are cumulative if nested interrupted are |
| 628 enabled. Depending on the target architecture, the stack size | 656 enabled. Depending on the target architecture, the stack size |
| 629 typically has to be a multiple of eight or sixteen bytes." | 657 typically has to be a multiple of eight or sixteen bytes. |
| 630 | 658 This will be overridden where it is used if the |
| 659 architectural HAL requires a minimum stack size | |
| 660 to handle interrupts correctly." | |
| 661 | |
| 631 doc ref/ecos-ref/thread-operations.html | 662 doc ref/ecos-ref/thread-operations.html |
| 632 } | 663 } |
| 633 | 664 |
| 634 }}CFG_DATA */ | 665 }}CFG_DATA */ |
| 635 | 666 |
| 713 } | 744 } |
| 714 | 745 |
| 715 cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT { | 746 cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT { |
| 716 display "Condition variable timed-wait support" | 747 display "Condition variable timed-wait support" |
| 717 parent CYGPKG_KERNEL_SYNCH | 748 parent CYGPKG_KERNEL_SYNCH |
| 718 requires CYGVAR_KERNEL_COUNTERS_CLOCK | 749 requires CYGFUN_KERNEL_THREADS_TIMER |
| 719 description " | 750 description " |
| 720 This option enables the condition variable timed wait | 751 This option enables the condition variable timed wait |
| 721 facility." | 752 facility." |
| 722 doc ref/ecos-ref/synchronization.html#CONDITION-VARIABLES | 753 doc ref/ecos-ref/synchronization.html#CONDITION-VARIABLES |
| 723 } | 754 } |
| 998 parent CYGPKG_KERNEL | 1029 parent CYGPKG_KERNEL |
| 999 description " | 1030 description " |
| 1000 The eCos kernel is implemented in C++, so a C++ interface | 1031 The eCos kernel is implemented in C++, so a C++ interface |
| 1001 to the kernel is always available. There is also an optional | 1032 to the kernel is always available. There is also an optional |
| 1002 C API. Additional API's may be provided in future versions." | 1033 C API. Additional API's may be provided in future versions." |
| 1003 doc ref/ecos-ref/kernel-apis.html | 1034 doc ref/ecos-ref/kernel-apis.html |
| 1004 } | 1035 } |
| 1005 | 1036 |
| 1006 cdl_option CYGFUN_KERNEL_API_C { | 1037 cdl_option CYGFUN_KERNEL_API_C { |
| 1007 display "Provide C API" | 1038 display "Provide C API" |
| 1008 parent CYGPKG_KERNEL_API | 1039 parent CYGPKG_KERNEL_API |
| 1090 #endif | 1121 #endif |
| 1091 | 1122 |
| 1092 #if defined(CYG_HAL_MIPS_JMR3904) | 1123 #if defined(CYG_HAL_MIPS_JMR3904) |
| 1093 | 1124 |
| 1094 #define CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION {1000000000, 100} | 1125 #define CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION {1000000000, 100} |
| 1095 #define CYGNUM_KERNEL_COUNTERS_RTC_PERIOD 15360 | 1126 #if (CYGHWR_HAL_MIPS_CPU_FREQ == 50) |
| 1096 | 1127 # define CYGNUM_KERNEL_COUNTERS_RTC_PERIOD 15360 |
| 1128 #elif (CYGHWR_HAL_MIPS_CPU_FREQ == 66) | |
| 1129 # define CYGNUM_KERNEL_COUNTERS_RTC_PERIOD 20736 | |
| 1130 #else | |
| 1131 #error Unsupported clock frequency | |
| 1132 #endif | |
| 1097 #endif | 1133 #endif |
| 1098 | 1134 |
| 1099 #if defined(CYG_HAL_MIPS_SIM) | 1135 #if defined(CYG_HAL_MIPS_SIM) |
| 1100 | 1136 |
| 1101 #define CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION {1000000000, 100} | 1137 #define CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION {1000000000, 100} |
| 1102 #define CYGNUM_KERNEL_COUNTERS_RTC_PERIOD 999 | 1138 #define CYGNUM_KERNEL_COUNTERS_RTC_PERIOD 999 |
| 1103 | 1139 |
| 1104 #endif | 1140 #endif |
| 1105 | 1141 |
| 1106 #if defined(CYG_HAL_POWERPC_MP860) | 1142 #if defined(CYG_HAL_POWERPC_MPC860) |
| 1107 | 1143 |
| 1144 // Period is busclock/16/100. | |
| 1108 #define CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION {1000000000, 100} | 1145 #define CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION {1000000000, 100} |
| 1109 #define CYGNUM_KERNEL_COUNTERS_RTC_PERIOD 20625 | 1146 #define CYGNUM_KERNEL_COUNTERS_RTC_PERIOD 20833 |
| 1110 | 1147 |
| 1111 #endif | 1148 #endif |
| 1112 | 1149 |
| 1150 #if defined(CYG_HAL_ARM_PID) | |
| 1151 #define CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION {1000000000, 100} | |
| 1152 #define CYGNUM_KERNEL_COUNTERS_RTC_PERIOD 12500 | |
| 1153 #endif | |
| 1154 #if defined(CYG_HAL_ARM_AEB) | |
| 1155 #define CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION {1000000000, 100} | |
| 1156 #define CYGNUM_KERNEL_COUNTERS_RTC_PERIOD (240000/16) | |
| 1157 #endif | |
| 1158 | |
| 1159 #if defined(CYG_HAL_I386_LINUX) | |
| 1160 #define CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION {1000000000, 100} | |
| 1161 #define CYGNUM_KERNEL_COUNTERS_RTC_PERIOD 10000 | |
| 1162 #endif | |
| 1113 | 1163 |
| 1114 #ifndef CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION | 1164 #ifndef CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION |
| 1115 | 1165 |
| 1116 #define CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION {1000000000, 100} | 1166 #define CYGNUM_KERNEL_COUNTERS_RTC_RESOLUTION {1000000000, 100} |
| 1117 #define CYGNUM_KERNEL_COUNTERS_RTC_PERIOD 9999 | 1167 #define CYGNUM_KERNEL_COUNTERS_RTC_PERIOD 9999 |
| 1131 * If the option is not defined, no assert is included. Whether asserts | 1181 * If the option is not defined, no assert is included. Whether asserts |
| 1132 * are themselves included depends on infrastructure configury in infra.h | 1182 * are themselves included depends on infrastructure configury in infra.h |
| 1133 * | 1183 * |
| 1134 * It is hoped that these defaults are helpful rather than interfering. | 1184 * It is hoped that these defaults are helpful rather than interfering. |
| 1135 */ | 1185 */ |
| 1136 #define CYGNUM_KERNEL_MAX_SUSPEND_COUNT_ASSERT (500) | 1186 #define CYGNUM_KERNEL_MAX_SUSPEND_COUNT_ASSERT (500) |
| 1137 #define CYGNUM_KERNEL_MAX_COUNTED_WAKE_COUNT_ASSERT (500) | 1187 #define CYGNUM_KERNEL_MAX_COUNTED_WAKE_COUNT_ASSERT (500) |
| 1138 | 1188 |
| 1139 /* | 1189 /* |
| 1140 * If the scheduler configuration only has a single priority level, | 1190 * If the scheduler configuration only has a single priority level, |
| 1141 * then the idle thread must yield each time around its loop. | 1191 * then the idle thread must yield each time around its loop. |
| 1142 */ | 1192 */ |
| 1208 #undef CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING | 1258 #undef CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING |
| 1209 #undef CYGIMP_KERNEL_INTERRUPTS_CHAIN | 1259 #undef CYGIMP_KERNEL_INTERRUPTS_CHAIN |
| 1210 #undef CYGVAR_KERNEL_COUNTERS_CLOCK | 1260 #undef CYGVAR_KERNEL_COUNTERS_CLOCK |
| 1211 #undef CYGFUN_KERNEL_THREADS_TIMER | 1261 #undef CYGFUN_KERNEL_THREADS_TIMER |
| 1212 #undef CYGPKG_KERNEL_EXCEPTIONS | 1262 #undef CYGPKG_KERNEL_EXCEPTIONS |
| 1263 #undef CYGSEM_KERNEL_SCHED_TIMESLICE | |
| 1213 #undef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INHERITANCE_SIMPLE | 1264 #undef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INHERITANCE_SIMPLE |
| 1214 #undef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INHERITANCE | 1265 #undef CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INHERITANCE |
| 1215 #undef CYGPKG_KERNEL_INSTRUMENT | 1266 #undef CYGPKG_KERNEL_INSTRUMENT |
| 1216 #undef CYGDBG_INFRA_DIAG_USE_DEVICE // now lives in infra | 1267 #undef CYGDBG_INFRA_DIAG_USE_DEVICE // now lives in infra |
| 1217 | 1268 |
| 1218 #define CYGDBG_KERNEL_DEBUG_GDB_INCLUDE_STUBS | 1269 #define CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS |
| 1219 | 1270 |
| 1220 #endif | 1271 #endif |
| 1221 */ | 1272 */ |
| 1222 | 1273 |
| 1223 /* -------------------------------------------------------------------*/ | 1274 /* -------------------------------------------------------------------*/ |
