OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [i386/] [arch/] [current/] [cdl/] [hal_i386.cdl] - Blame information for rev 856

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_i386.cdl
4
#
5
#      i386 architectural HAL package configuration data
6
#
7
# ====================================================================
8
## ####ECOSGPLCOPYRIGHTBEGIN####
9
## -------------------------------------------
10
## This file is part of eCos, the Embedded Configurable Operating System.
11
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
12
##
13
## eCos is free software; you can redistribute it and/or modify it under
14
## the terms of the GNU General Public License as published by the Free
15
## Software Foundation; either version 2 or (at your option) any later
16
## version.
17
##
18
## eCos is distributed in the hope that it will be useful, but WITHOUT
19
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
21
## for more details.
22
##
23
## You should have received a copy of the GNU General Public License
24
## along with eCos; if not, write to the Free Software Foundation, Inc.,
25
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
26
##
27
## As a special exception, if other files instantiate templates or use
28
## macros or inline functions from this file, or you compile this file
29
## and link it with other works to produce a work based on this file,
30
## this file does not by itself cause the resulting work to be covered by
31
## the GNU General Public License. However the source code for this file
32
## must still be made available in accordance with section (3) of the GNU
33
## General Public License v2.
34
##
35
## This exception does not invalidate any other reasons why a work based
36
## on this file might be covered by the GNU General Public License.
37
## -------------------------------------------
38
## ####ECOSGPLCOPYRIGHTEND####
39
# ====================================================================
40
######DESCRIPTIONBEGIN####
41
#
42
# Author(s):      jskov
43
# Original data:  jskov
44
# Contributors:
45
# Date:           1999-11-01
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
 
51
cdl_package CYGPKG_HAL_I386 {
52
    display       "i386 architecture"
53
    parent        CYGPKG_HAL
54
    hardware
55
    include_dir   cyg/hal
56
    define_header hal_i386.h
57
    description   "
58
        The i386 architecture HAL package provides generic
59
        support for this processor architecture. It is also
60
        necessary to select a specific target platform HAL
61
        package."
62
 
63
    implements    CYGINT_PROFILE_HAL_MCOUNT
64
 
65
    compile       hal_misc.c context.S i386_stub.c hal_syscall.c
66
 
67
    make {
68
        /lib/vectors.o : /src/vectors.S
69
        $(CC) -Wp,-MD,vectors.tmp $(INCLUDE_PATH) $(CFLAGS) -c -o $@ $<
70
        @echo $@ ": \\" > $(notdir $@).deps
71
        @tail -n +2 vectors.tmp >> $(notdir $@).deps
72
        @echo >> $(notdir $@).deps
73
        @rm vectors.tmp
74
    }
75
 
76
    make {
77
        /lib/target.ld: /src/i386.ld
78
        $(CC) -E -P -Wp,-MD,target.tmp -DEXTRAS=1 -xc $(INCLUDE_PATH) $(ACTUAL_CFLAGS) -o $@ $<
79
        @echo $@ ": \\" > $(notdir $@).deps
80
        @tail -n +2 target.tmp >> $(notdir $@).deps
81
        @echo >> $(notdir $@).deps
82
        @rm target.tmp
83
    }
84
 
85
    cdl_component CYGPKG_HAL_SMP_SUPPORT {
86
        display       "SMP support"
87
        default_value 0
88
        requires { CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 0 }
89
 
90
        cdl_option CYGPKG_HAL_SMP_CPU_MAX {
91
            display       "Max number of CPUs supported"
92
            flavor        data
93
            default_value 2
94
        }
95
    }
96
 
97
    cdl_component CYGHWR_HAL_I386_FPU {
98
        display       "Enable I386 FPU support"
99
        default_value 1
100
        description   "This component enables support for the
101
                      I386 floating point unit."
102
 
103
        cdl_option CYGHWR_HAL_I386_FPU_SWITCH_LAZY {
104
            display       "Use lazy FPU state switching"
105
            flavor        bool
106
            default_value 1
107
 
108
            description "
109
                        This option enables lazy FPU state switching.
110
                        The default behaviour for eCos is to save and
111
                        restore FPU state on every thread switch, interrupt
112
                        and exception. While simple and deterministic, this
113
                        approach can be expensive if the FPU is not used by
114
                        all threads. The alternative, enabled by this option,
115
                        is to use hardware features that allow the FPU state
116
                        of a thread to be left in the FPU after it has been
117
                        descheduled, and to allow the state to be switched to
118
                        a new thread only if it actually uses the FPU. Where
119
                        only one or two threads use the FPU this can avoid a
120
                        lot of unnecessary state switching."
121
        }
122
    }
123
 
124
    cdl_component CYGHWR_HAL_I386_PENTIUM {
125
        display       "Enable Pentium class CPU features"
126
        default_value 0
127
        description   "This component enables support for various
128
                      features of Pentium class CPUs."
129
 
130
        cdl_option CYGHWR_HAL_I386_PENTIUM_SSE {
131
            display       "Save/Restore SSE registers on context switch"
132
            flavor        bool
133
            default_value 0
134
 
135
            description "
136
                        This option enables SSE state switching. The default
137
                        behaviour for eCos is to ignore the SSE registers.
138
                        Enabling this option adds SSE state information to
139
                        every thread context."
140
        }
141
 
142
        cdl_option CYGHWR_HAL_I386_PENTIUM_GDB_REGS {
143
            display       "Support extra Pentium registers in GDB stub"
144
            flavor        bool
145
            default_value 0
146
 
147
            description "
148
                        This option enables support for extra Pentium registers
149
                        in the GDB stub. These are registers such as CR0-CR4, and
150
                        all MSRs. Not all GDBs support these registers, so the
151
                        default behaviour for eCos is to not include them in the
152
                        GDB stub support code."
153
        }
154
    }
155
 
156
    cdl_option CYGBLD_LINKER_SCRIPT {
157
        display "Linker script"
158
        flavor data
159
        no_define
160
        calculated  { "src/i386.ld" }
161
    }
162
 
163
    cdl_interface CYGINT_HAL_I386_MEM_REAL_REGION_TOP {
164
        display  "Implementations of hal_i386_mem_real_region_top()"
165
    }
166
 
167
    cdl_component CYGPKG_REDBOOT_I386_LINUX_EXEC {
168
        display        "Provide the exec command in RedBoot"
169
        flavor         none
170
        active_if      CYGBLD_BUILD_REDBOOT_WITH_EXEC
171
        description    "
172
            This option contains requirements for booting linux
173
            from RedBoot. The component is enabled/disabled from
174
            RedBoots CDL."
175
        compile -library=libextras.a redboot_linux_exec.c
176
 
177
        cdl_option CYGHWR_REDBOOT_I386_TRAMPOLINE_ADDRESS {
178
            display       "Address for the trampoline code"
179
            flavor        data
180
            default_value 0x7C000
181
            description   "This is the address to where the trampoline code is
182
                           copied.  The trampoline copies the image to its
183
                           final location and jumps to its entry point."
184
        }
185
    }
186
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.