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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [powerpc/] [mpc8xx/] [v2_0/] [cdl/] [hal_powerpc_mpc8xx.cdl] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
# ====================================================================
2
#
3
#      hal_powerpc_mpc8xx.cdl
4
#
5
#      PowerPC/MPC8xx variant 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
## Copyright (C) 2002 Gary Thomas
13
##
14
## eCos is free software; you can redistribute it and/or modify it under
15
## the terms of the GNU General Public License as published by the Free
16
## Software Foundation; either version 2 or (at your option) any later version.
17
##
18
## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
19
## 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 along
24
## with eCos; if not, write to the Free Software Foundation, Inc.,
25
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
26
##
27
## As a special exception, if other files instantiate templates or use macros
28
## or inline functions from this file, or you compile this file and link it
29
## with other works to produce a work based on this file, this file does not
30
## by itself cause the resulting work to be covered by the GNU General Public
31
## License. However the source code for this file must still be made available
32
## in accordance with section (3) of the GNU General Public License.
33
##
34
## This exception does not invalidate any other reasons why a work based on
35
## this file might be covered by the GNU General Public License.
36
##
37
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
38
## at http://sources.redhat.com/ecos/ecos-license/
39
## -------------------------------------------
40
#####ECOSGPLCOPYRIGHTEND####
41
# ====================================================================
42
######DESCRIPTIONBEGIN####
43
#
44
# Author(s):      jskov
45
# Contributors:   gthomas
46
# Date:           2000-02-04
47
#
48
#####DESCRIPTIONEND####
49
#
50
# ====================================================================
51
 
52
cdl_package CYGPKG_HAL_POWERPC_MPC8xx {
53
    display       "PowerPC 8xx variant HAL"
54
    parent        CYGPKG_HAL_POWERPC
55
    hardware
56
    include_dir   cyg/hal
57
    define_header hal_powerpc_mpc8xx.h
58
    description   "
59
           The PowerPC 8xx variant HAL package provides generic support
60
           for this processor variant. It is also necessary to
61
           select a specific target platform HAL package."
62
 
63
    implements CYGINT_PROFILE_HAL_TIMER
64
 
65
    cdl_interface CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED {
66
        display       "ROM monitor configuration is unsupported"
67
        no_define
68
    }
69
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
70
        display       "Work with a ROM monitor"
71
        flavor        bool
72
        default_value { (CYG_HAL_STARTUP == "RAM" &&
73
                        !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS &&
74
                        !CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED &&
75
                        !CYGSEM_HAL_POWERPC_COPY_VECTORS) ? 1 : 0 }
76
        parent        CYGPKG_HAL_ROM_MONITOR
77
        requires      { CYG_HAL_STARTUP == "RAM" }
78
        requires      ! CYGSEM_HAL_POWERPC_COPY_VECTORS
79
        requires      ! CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
80
        requires      ! CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED
81
        description   "
82
            Allow coexistence with ROM monitor (CygMon or GDB stubs) by
83
            only initializing interrupt vectors on startup, thus leaving
84
            exception handling to the ROM monitor."
85
    }
86
 
87
 
88
    # FIXME: the option above should be adjusted to select between monitor
89
    #        variants
90
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR_GDB_stubs {
91
        display "Bad CDL workaround"
92
        calculated 1
93
        active_if CYGSEM_HAL_USE_ROM_MONITOR
94
    }
95
 
96
 
97
    # Note: This should be sub-variant specific to reduce memory use.
98
    define_proc {
99
        puts $cdl_header "#define CYGHWR_HAL_VSR_TABLE (CYGHWR_HAL_POWERPC_VECTOR_BASE + 0x3000)"
100
        puts $cdl_header "#define CYGHWR_HAL_VIRTUAL_VECTOR_TABLE (CYGHWR_HAL_VSR_TABLE + 0x200)"
101
 
102
        puts $::cdl_header "#define CYGPRI_KERNEL_TESTS_DHRYSTONE_PASSES 250000"
103
    }
104
 
105
    cdl_component CYGPKG_HAL_POWERPC_MPC823 {
106
        display       "PowerPC 823 microprocessor"
107
        implements    CYGINT_HAL_POWERPC_VARIANT
108
        description "
109
            The PowerPC 823 microprocessor. This is an embedded part that in
110
            addition to the PowerPC processor core has built in peripherals
111
            such as memory controllers, DMA controllers, serial ports and
112
            timers/counters."
113
    }
114
 
115
    cdl_component CYGPKG_HAL_POWERPC_MPC850 {
116
        display       "PowerPC 850 microprocessor"
117
        implements    CYGINT_HAL_POWERPC_VARIANT
118
        description "
119
            The PowerPC 850 microprocessor. This is an embedded part that in
120
            addition to the PowerPC processor core has built in peripherals
121
            such as memory controllers, DMA controllers, serial ports and
122
            timers/counters."
123
    }
124
 
125
    cdl_component CYGPKG_HAL_POWERPC_MPC860 {
126
        display       "PowerPC 860 microprocessor"
127
        default_value 1
128
        implements    CYGINT_HAL_POWERPC_VARIANT
129
        description "
130
            The PowerPC 860 microprocessor. This is an embedded part that in
131
            addition to the PowerPC processor core has built in peripherals
132
            such as memory controllers, DMA controllers, serial ports and
133
            timers/counters."
134
 
135
        cdl_option CYGHWR_HAL_POWERPC_FPU {
136
            display    "Variant FPU support"
137
            calculated 0
138
        }
139
 
140
        cdl_option CYGPKG_HAL_POWERPC_MSBFIRST {
141
            display    "CPU Variant big-endian"
142
            calculated 1
143
        }
144
 
145
 
146
        cdl_component CYGSEM_HAL_POWERPC_MPC860_CPM_ENABLE {
147
            display       "Enable CPM interrupts"
148
            default_value 1
149
            description   "
150
                This option causes the CPM interrupt arbiter to be attached
151
                at startup, and CPM interrupts are enabled. Enabling CPM
152
                level interrupt arbitration and handling must still be
153
                done by the application code. See intr0.c test for an
154
                example."
155
 
156
            cdl_option CYGHWR_HAL_POWERPC_MPC860_CPM_LVL {
157
                display       "CPM interrupt level on the SIU"
158
                flavor        data
159
                legal_values  0 to 7
160
                default_value 7
161
                description   "
162
                    This option selects which SIU level the CPM interrupts
163
                    should be routed to."
164
            }
165
        }
166
    }
167
 
168
    define_proc {
169
        puts $::cdl_header "#include "
170
    }
171
 
172
    compile       var_intr.c var_misc.c variant.S
173
 
174
    cdl_option CYGPKG_HAL_POWERPC_MPC8xx_TESTS {
175
        display "PowerPC MPC8xx tests"
176
        flavor  data
177
        no_define
178
        calculated { "tests/intr0" }
179
 
180
        description   "
181
            This option specifies the set of tests for the PowerPC MPC8xx HAL."
182
    }
183
 
184
    cdl_option CYGBLD_BUILD_VERSION_TOOL {
185
        display "Build MPC8xx version dump tool"
186
        default_value 0
187
        requires { CYG_HAL_STARTUP == "RAM" }
188
        no_define
189
        description "This option enables the building of a tool which will print the version identifiers of the CPU."
190
        make -priority 320 {
191
            /bin/mpc8xxrev : /src/mpc8xxrev.c
192
            @sh -c "mkdir -p src $(dir $@)"
193
            $(CC) -c $(INCLUDE_PATH) -Wp,-MD,deps.tmp -I$(dir $<) $(CFLAGS) -o src/mpc8xxrev.o $<
194
            @echo $@ ": \\" > $(notdir $@).deps
195
            @echo $(wildcard $(PREFIX)/lib/*) " \\" >> $(notdir $@).deps
196
            @tail +2 deps.tmp >> $(notdir $@).deps
197
            @echo >> $(notdir $@).deps
198
            @rm deps.tmp
199
            $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ src/mpc8xxrev.o
200
        }
201
    }
202
 
203
}

powered by: WebSVN 2.1.0

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