comparison packages/hal/common/current/include/pkgconf/hal.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_HAL_H 1 #ifndef CYGONCE_PKGCONF_HAL_H
2 #define CYGONCE_PKGCONF_HAL_H 2 #define CYGONCE_PKGCONF_HAL_H
3 // ==================================================================== 3 // ====================================================================
4 // 4 //
5 // pkgconf/hal.h 5 // pkgconf/hal.h
6 // 6 //
7 // HAL configuration file 7 // HAL 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, jskov
35 // Contributors: nickg 35 // Contributors: nickg, jskov,
36 // Date: 1997-09-29 36 // jlarmour
37 // Purpose: To allow the user to edit HAL configuration options. 37 // Date: 1999-01-21
38 // Purpose: To allow the user to edit HAL configuration options.
38 // Description: 39 // Description:
39 // 40 //
40 //####DESCRIPTIONEND#### 41 //####DESCRIPTIONEND####
41 // 42 //
42 // ==================================================================== 43 // ====================================================================
64 one or more architectures, and for each architecture there 65 one or more architectures, and for each architecture there
65 may be one or more supported platforms. It is necessary to 66 may be one or more supported platforms. It is necessary to
66 select one target architecture and one platform for that 67 select one target architecture and one platform for that
67 architecture. There are also a number of configuration 68 architecture. There are also a number of configuration
68 options that are common to all HAL packages." 69 options that are common to all HAL packages."
69 doc ref/ecos-ref/the-ecos-hardware-abstraction-layer-hal.html 70 doc ref/ecos-ref/the-ecos-hardware-abstraction-layer-hal.html
70 } 71 }
71 72
72 }}CFG_DATA */ 73 }}CFG_DATA */
73 74
74 /* --------------------------------------------------------------------- 75 /* ---------------------------------------------------------------------
269 } 270 }
270 271
271 }}CFG_DATA */ 272 }}CFG_DATA */
272 #define CYGPKG_HAL_EXCEPTIONS 273 #define CYGPKG_HAL_EXCEPTIONS
273 274
275 /* {{CFG_DATA
276
277 cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
278 display "Stop calling constructors early"
279 description "This option supports environments where some constructors
280 must be run in the context of a thread rather than at
281 simple system startup time. A boolean flag named
282 cyg_hal_stop_constructors is set to 1 when constructors
283 should no longer be invoked. It is up to some other
284 package to deal with the rest of the constructors.
285 In the current version this is only possible with the
286 C library."
287 type boolean
288 requires CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
289 parent CYGPKG_HAL_COMMON
290 }
291
292 }}CFG_DATA */
293
294 #undef CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG
274 295
275 /* --------------------------------------------------------------------- 296 /* ---------------------------------------------------------------------
276 * Options related to source-level debugging and diagnostics. 297 * Options related to source-level debugging and diagnostics.
277 298
278 {{CFG_DATA 299 {{CFG_DATA
291 display "Include GDB stubs in HAL" 312 display "Include GDB stubs in HAL"
292 parent CYGPKG_HAL_DEBUG 313 parent CYGPKG_HAL_DEBUG
293 requires !CYGPKG_HAL_POWERPC_SIM 314 requires !CYGPKG_HAL_POWERPC_SIM
294 requires !CYGPKG_HAL_MN10300_SIM 315 requires !CYGPKG_HAL_MN10300_SIM
295 requires !CYGPKG_HAL_TX39_SIM 316 requires !CYGPKG_HAL_TX39_SIM
296 requires !CYGPKG_HAL_MN10300_STDEVAL1 317 requires !CYGPKG_HAL_I386_LINUX
318 requires !CYGPKG_HAL_SPARCLITE
297 description " 319 description "
298 This option causes a set of GDB stubs to be included into the 320 This option causes a set of GDB stubs to be included into the
299 system. On some target systems the GDB support will be 321 system. On some target systems the GDB support will be
300 provided by other means, for example by a ROM monitor. On 322 provided by other means, for example by a ROM monitor. On
301 other targets, especially when building a ROM-booting system, 323 other targets, especially when building a ROM-booting system,
302 the necessary support has to go into the target library 324 the necessary support has to go into the target library
303 itself." 325 itself."
304 } 326 }
305 327
328 cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
329 display "Include GDB external break support"
330 parent CYGPKG_HAL_DEBUG
331 requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
332 requires !CYGPKG_HAL_TX39_JMR3904
333 requires !CYGPKG_HAL_POWERPC_FADS
334 description "
335 This option causes the GDB stub to add a serial interrupt handler
336 which will listen for GDB break packets. This lets you stop the
337 target asynchronously when using GDB, usually by hitting Control+C
338 or pressing the STOP button."
339 }
340
306 cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT { 341 cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
307 display "Include GDB multi-threading debug support" 342 display "Include GDB multi-threading debug support"
308 parent CYGPKG_HAL_DEBUG 343 parent CYGPKG_HAL_DEBUG
309 requires CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 344 requires CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
310 description " 345 description "
311 This option enables some extra HAL code which is needed 346 This option enables some extra HAL code which is needed
312 to support multi-threaded source level debugging." 347 to support multi-threaded source level debugging."
313 } 348 }
314 349
315 cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
316 display "Include GDB external break support"
317 parent CYGPKG_HAL_DEBUG
318 requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
319 description "
320 This option causes the GDB stub to add a serial interrupt handler
321 which will listen for GDB break packets. This lets you stop the
322 target asynchronously when using GDB, usually by hitting Control+C
323 or pressing the STOP button."
324 }
325
326
327 }}CFG_DATA */ 350 }}CFG_DATA */
328 351
329 #undef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 352 #undef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
330 #undef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 353 #undef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
331
332 #define CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT 354 #define CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
333 355
334 /* 356 /*
335 * NOTE: 357 * NOTE:
336 * 358 *
381 * The section below deals with some inferences about package/feature 403 * The section below deals with some inferences about package/feature
382 * presence that are not yet supported by the full external configuration 404 * presence that are not yet supported by the full external configuration
383 * tool; they are NOT user configuration, and you should NOT edit them. 405 * tool; they are NOT user configuration, and you should NOT edit them.
384 */ 406 */
385 407
386 /*
387 * Initialization options.
388 *
389 * WARNING: this option should not be enabled by end users. It
390 * makes use of an experimental facility in g++ which has not been
391 * generally distributed.
392 *
393 * The USE_INIT_PRIORITY option enables the use of the g++ init_priority
394 * attribute which allows the order of execution of constructors of
395 * static objects to be controlled. This option is not yet required by
396 * the current kernel, but it will be required by future versions.
397 */
398
399 #undef CYG_KERNEL_USE_INIT_PRIORITY
400
401 #ifdef CYG_HAL_TX39
402 #define CYG_KERNEL_USE_INIT_PRIORITY
403 #endif
404 #ifdef CYG_HAL_MN10300
405 #define CYG_KERNEL_USE_INIT_PRIORITY
406 #endif
407 #ifdef CYG_HAL_POWERPC
408 #define CYG_KERNEL_USE_INIT_PRIORITY
409 #endif
410
411 /* 408 /*
412 * CYG_HAL_<TARGET> and CYG_HAL_<TARGET>_<PLATFORM> are generated by 409 * CYG_HAL_<TARGET> and CYG_HAL_<TARGET>_<PLATFORM> are generated by
413 * pkgconf, using the information from the targets file. 410 * pkgconf, using the information from the targets file.
414 * 411 *
415 * NOTE: Currently the code also needs these #defines. 412 * NOTE: Currently the code also needs these #defines.
420 #ifdef CYG_HAL_MN10300_SIM 417 #ifdef CYG_HAL_MN10300_SIM
421 # define CYG_HAL_MN10300_MN103002 418 # define CYG_HAL_MN10300_MN103002
422 #endif 419 #endif
423 420
424 #ifdef CYG_HAL_POWERPC_COGENT 421 #ifdef CYG_HAL_POWERPC_COGENT
425 # define CYG_HAL_POWERPC_MP860 422 # define CYG_HAL_POWERPC_MPC8xx
423 # define CYG_HAL_POWERPC_MPC860
424 # undef CYG_HAL_POWERPC_MPC850
425 # undef CYG_HAL_POWERPC_MPC823
426 #endif
427 #ifdef CYG_HAL_POWERPC_FADS
428 # define CYG_HAL_POWERPC_MPC8xx
429 # define CYG_HAL_POWERPC_MPC860
426 #endif 430 #endif
427 #ifdef CYG_HAL_POWERPC_SIM 431 #ifdef CYG_HAL_POWERPC_SIM
428 # define CYG_HAL_POWERPC_MP860 432 # define CYG_HAL_POWERPC_MPC603
429 #endif 433 #endif
430 434
431 #ifdef CYG_HAL_TX39_JMR3904 435 #ifdef CYG_HAL_TX39_JMR3904
432 # define CYG_HAL_MIPS 436 # define CYG_HAL_MIPS
433 # define CYG_HAL_MIPS_TX39 437 # define CYG_HAL_MIPS_TX39
437 #ifdef CYG_HAL_TX39_SIM 441 #ifdef CYG_HAL_TX39_SIM
438 # define CYG_HAL_MIPS 442 # define CYG_HAL_MIPS
439 # define CYG_HAL_MIPS_TX39 443 # define CYG_HAL_MIPS_TX39
440 # define CYG_HAL_MIPS_SIM 444 # define CYG_HAL_MIPS_SIM
441 #endif 445 #endif
446 #ifdef CYG_HAL_MIPS_TX39
447 #include <pkgconf/hal_tx39.h>
448 #endif
442 449
443 /* -------------------------------------------------------------------*/ 450 /* -------------------------------------------------------------------*/
444 #endif /* CYGONCE_PKGCONF_HAL_H */ 451 #endif /* CYGONCE_PKGCONF_HAL_H */
445 /* EOF hal.h */ 452 /* EOF hal.h */