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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [i386/] [arch/] [v2_0/] [cdl/] [hal_i386.cdl] - Blame information for rev 578

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

Line No. Rev Author Line
1 27 unneback
# ====================================================================
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 Red Hat, 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 version.
16
##
17
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18
## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20
## for more details.
21
##
22
## You should have received a copy of the GNU General Public License along
23
## with eCos; if not, write to the Free Software Foundation, Inc.,
24
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25
##
26
## As a special exception, if other files instantiate templates or use macros
27
## or inline functions from this file, or you compile this file and link it
28
## with other works to produce a work based on this file, this file does not
29
## by itself cause the resulting work to be covered by the GNU General Public
30
## License. However the source code for this file must still be made available
31
## in accordance with section (3) of the GNU General Public License.
32
##
33
## This exception does not invalidate any other reasons why a work based on
34
## this file might be covered by the GNU General Public License.
35
##
36
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37
## at http://sources.redhat.com/ecos/ecos-license/
38
## -------------------------------------------
39
#####ECOSGPLCOPYRIGHTEND####
40
# ====================================================================
41
######DESCRIPTIONBEGIN####
42
#
43
# Author(s):      jskov
44
# Original data:  jskov
45
# Contributors:
46
# Date:           1999-11-01
47
#
48
#####DESCRIPTIONEND####
49
#
50
# ====================================================================
51
 
52
cdl_package CYGPKG_HAL_I386 {
53
    display       "i386 architecture"
54
    parent        CYGPKG_HAL
55
    hardware
56
    include_dir   cyg/hal
57
    define_header hal_i386.h
58
    description   "
59
        The i386 architecture HAL package provides generic
60
        support for this processor architecture. It is also
61
        necessary to select a specific target platform HAL
62
        package."
63
 
64
    compile       hal_misc.c context.S i386_stub.c hal_syscall.c
65
 
66
    make {
67
        /lib/vectors.o : /src/vectors.S
68
        $(CC) -Wp,-MD,vectors.tmp $(INCLUDE_PATH) $(CFLAGS) -c -o $@ $<
69
        @echo $@ ": \\" > $(notdir $@).deps
70
        @tail +2 vectors.tmp >> $(notdir $@).deps
71
        @echo >> $(notdir $@).deps
72
        @rm vectors.tmp
73
    }
74
 
75
    make {
76
        /lib/target.ld: /src/i386.ld
77
        $(CC) -E -P -Wp,-MD,target.tmp -DEXTRAS=1 -xc $(INCLUDE_PATH) $(CFLAGS) -o $@ $<
78
        @echo $@ ": \\" > $(notdir $@).deps
79
        @tail +2 target.tmp >> $(notdir $@).deps
80
        @echo >> $(notdir $@).deps
81
        @rm target.tmp
82
    }
83
 
84
    cdl_component CYGPKG_HAL_SMP_SUPPORT {
85
        display       "SMP support"
86
        default_value 0
87
        requires { CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 0 }
88
 
89
        cdl_option CYGPKG_HAL_SMP_CPU_MAX {
90
            display       "Max number of CPUs supported"
91
            flavor        data
92
            default_value 2
93
        }
94
    }
95
 
96
    cdl_component CYGHWR_HAL_I386_FPU {
97
        display       "Enable I386 FPU support"
98
        default_value 1
99
        description   "This component enables support for the
100
                      I386 floating point unit."
101
 
102
        cdl_option CYGHWR_HAL_I386_FPU_SWITCH_LAZY {
103
            display       "Use lazy FPU state switching"
104
            flavor        bool
105
            default_value 1
106
 
107
            description "
108
                        This option enables lazy FPU state switching.
109
                        The default behaviour for eCos is to save and
110
                        restore FPU state on every thread switch, interrupt
111
                        and exception. While simple and deterministic, this
112
                        approach can be expensive if the FPU is not used by
113
                        all threads. The alternative, enabled by this option,
114
                        is to use hardware features that allow the FPU state
115
                        of a thread to be left in the FPU after it has been
116
                        descheduled, and to allow the state to be switched to
117
                        a new thread only if it actually uses the FPU. Where
118
                        only one or two threads use the FPU this can avoid a
119
                        lot of unnecessary state switching."
120
        }
121
    }
122
 
123
    cdl_component CYGHWR_HAL_I386_PENTIUM {
124
        display       "Enable Pentium class CPU features"
125
        default_value 0
126
        description   "This component enables support for various
127
                      features of Pentium class CPUs."
128
 
129
        cdl_option CYGHWR_HAL_I386_PENTIUM_SSE {
130
            display       "Save/Restore SSE registers on context switch"
131
            flavor        bool
132
            default_value 0
133
 
134
            description "
135
                        This option enables SSE state switching. The default
136
                        behaviour for eCos is to ignore the SSE registers.
137
                        Enabling this option adds SSE state information to
138
                        every thread context."
139
        }
140
 
141
        cdl_option CYGHWR_HAL_I386_PENTIUM_GDB_REGS {
142
            display       "Support extra Pentium registers in GDB stub"
143
            flavor        bool
144
            default_value 0
145
 
146
            description "
147
                        This option enables support for extra Pentium registers
148
                        in the GDB stub. These are registers such as CR0-CR4, and
149
                        all MSRs. Not all GDBs support these registers, so the
150
                        default behaviour for eCos is to not include them in the
151
                        GDB stub support code."
152
        }
153
    }
154
 
155
    cdl_option CYGBLD_LINKER_SCRIPT {
156
        display "Linker script"
157
        flavor data
158
        no_define
159
        calculated  { "src/i386.ld" }
160
    }
161
 
162
    cdl_interface CYGINT_HAL_I386_MEM_REAL_REGION_TOP {
163
        display  "Implementations of hal_i386_mem_real_region_top()"
164
    }
165
 
166
}

powered by: WebSVN 2.1.0

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