comparison packages/hal/i386/linux/current/cdl/hal_i386_linux.cdl @ 76:435cced73e2f ecos-v1_3_1-release

eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
author jlarmour
date Tue, 28 Mar 2000 14:10:45 +0000
parents
children eb9fd8c04db3
comparison
equal deleted inserted replaced
75:41bf073c0c32 76:435cced73e2f
1 # ====================================================================
2 #
3 # hal_i386_linux.cdl
4 #
5 # Linux/i386 synthetic target HAL package configuration data
6 #
7 # ====================================================================
8 #####COPYRIGHTBEGIN####
9 #
10 # -------------------------------------------
11 # The contents of this file are subject to the Red Hat eCos Public License
12 # Version 1.1 (the "License"); you may not use this file except in
13 # compliance with the License. You may obtain a copy of the License at
14 # http://www.redhat.com/
15 #
16 # Software distributed under the License is distributed on an "AS IS"
17 # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
18 # License for the specific language governing rights and limitations under
19 # the License.
20 #
21 # The Original Code is eCos - Embedded Configurable Operating System,
22 # released September 30, 1998.
23 #
24 # The Initial Developer of the Original Code is Red Hat.
25 # Portions created by Red Hat are
26 # Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
27 # All Rights Reserved.
28 # -------------------------------------------
29 #
30 #####COPYRIGHTEND####
31 # ====================================================================
32 ######DESCRIPTIONBEGIN####
33 #
34 # Author(s): jskov
35 # Original data: jskov
36 # Contributors:
37 # Date: 1999-11-01
38 #
39 #####DESCRIPTIONEND####
40 #
41 # ====================================================================
42
43 cdl_package CYGPKG_HAL_I386_LINUX {
44 display "Linux/i386 synthetic target"
45 parent CYGPKG_HAL_I386
46 define_header hal_i386_linux.h
47 include_dir cyg/hal
48 description "
49 The Linux/i386 Synthetic Target HAL package provides the
50 support needed to run eCos binaries on top of the i386
51 Linux kernel."
52
53 compile hal_diag.c hal_startup.c syscall-i386-linux-1.0.S entry.c
54 compile linux.S linux_misc.c
55
56 define_proc {
57 puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H <pkgconf/hal_i386.h>"
58 puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_i386_linux.h>"
59 }
60
61 cdl_component CYG_HAL_STARTUP {
62 display "Startup type"
63 flavor data
64 legal_values {"RAM"}
65 default_value {"RAM"}
66 no_define
67 define -file system.h CYG_HAL_STARTUP
68 description "
69 At the moment only RAM startup is supported. This should
70 be extended to include ROM startup which would be used to
71 test early initialization code copying data/code to \"RAM\"."
72 }
73
74 cdl_option CYGSEM_HAL_I386_LINUX_REAL_TIME {
75 display "Use Linux real-time timer"
76 default_value 1
77 description "
78 Using the real-time timer to drive the eCos RTC allows the
79 eCos idle loop to call select(2) and thus not put any load
80 on the host machine.
81 Deselecting this option means the virtual timer will be used
82 instead. This may prevent (to some degree) time skew in the
83 eCos kernel, especially if the host machine has a high load."
84 }
85
86 # Real-time clock/counter specifics
87 cdl_component CYGNUM_HAL_RTC_CONSTANTS {
88 display "Real-time clock constants."
89 description "
90 These values are used in the usec field of the itimerval structure
91 when using getitimer/setitimer."
92 flavor none
93
94 cdl_option CYGNUM_HAL_RTC_NUMERATOR {
95 display "Real-time clock numerator"
96 flavor data
97 calculated 1000000000
98 }
99 cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
100 display "Real-time clock denominator"
101 flavor data
102 calculated 100
103 }
104 cdl_option CYGNUM_HAL_RTC_PERIOD {
105 display "Real-time clock period"
106 flavor data
107 calculated 10000
108 }
109 }
110
111 cdl_component CYGBLD_GLOBAL_OPTIONS {
112 display "Global build options"
113 flavor none
114 parent CYGPKG_NONE
115 description "
116 Global build options including control over
117 compiler flags, linker flags and choice of toolchain."
118
119
120 cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
121 display "Global command prefix"
122 flavor data
123 no_define
124 default_value { "i686-pc-linux-gnu" }
125 description "
126 This option specifies the command prefix used when
127 invoking the build tools. You must be using gcc-2.95.2 or
128 later, and \"ld -v\" must report a version more recent than
129 2.9.1."
130 }
131
132 cdl_option CYGBLD_GLOBAL_CFLAGS {
133 display "Global compiler flags"
134 flavor data
135 no_define
136 default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
137 description "
138 This option controls the global compiler flags which
139 are used to compile all packages by
140 default. Individual packages may define
141 options which override these global flags."
142 }
143
144 cdl_option CYGBLD_GLOBAL_LDFLAGS {
145 display "Global linker flags"
146 flavor data
147 no_define
148 default_value { "-g -nostdlib -Wl,--gc-sections -Wl,-static" }
149 description "
150 This option controls the global linker flags. Individual
151 packages may define options which override these global flags."
152 }
153 }
154
155 cdl_component CYGHWR_MEMORY_LAYOUT {
156 display "Memory layout"
157 flavor data
158 no_define
159 calculated { "mlt_i386_linux_ram" }
160
161 cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
162 display "Memory layout linker script fragment"
163 flavor data
164 no_define
165 define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
166 calculated { "<pkgconf/mlt_i386_linux_ram.ldi>" }
167 }
168
169 cdl_option CYGHWR_MEMORY_LAYOUT_H {
170 display "Memory layout header file"
171 flavor data
172 no_define
173 define -file system.h CYGHWR_MEMORY_LAYOUT_H
174 calculated { "<pkgconf/mlt_i386_linux_ram.h>" }
175 }
176 }
177 }