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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [mips/] [rm7000/] [var/] [v2_0/] [cdl/] [hal_mips_rm7000.cdl] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
# ====================================================================
2
#
3
#      hal_mips_rm7000.cdl
4
#
5
#      MIPS/RM7000 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
##
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:  bartv, nickg
45
# Contributors:
46
# Date:           2000-05-15
47
#
48
#####DESCRIPTIONEND####
49
#
50
# ====================================================================
51
 
52
cdl_package CYGPKG_HAL_MIPS_RM7000 {
53
    display       "RM7000 variant"
54
    parent        CYGPKG_HAL_MIPS
55
    hardware
56
    include_dir   cyg/hal
57
    define_header hal_mips_rm7000.h
58
    description   "
59
           The RM7000 architecture HAL package provides generic support
60
           for this processor architecture. It is also necessary to
61
           select a specific target platform HAL package."
62
 
63
    cdl_component CYGPKG_HAL_MIPS_RM7000A {
64
        display       "RM7000A microprocessor"
65
        default_value 1
66
        implements    CYGINT_HAL_MIPS_VARIANT
67
        description "
68
            The RM7000A microprocessor. This is chip which in addition to
69
            the RM7000 processor core has built in second level cache
70
            of 256kB."
71
 
72
        define_proc {
73
            # Sizes are configurable (on the core). Should be configurable.
74
            puts $::cdl_header "#define CYGHWR_HAL_DCACHE_SIZE 16384"
75
            puts $::cdl_header "#define CYGHWR_HAL_ICACHE_SIZE 16384"
76
        }
77
 
78
        cdl_option CYGHWR_HAL_MIPS_64BIT {
79
            display    "Variant 64 bit architecture support"
80
            description "
81
                While the RM7000 is a 64bit CPU, only its 32bit mode is
82
                currently supported in eCos."
83
            calculated 0
84
        }
85
 
86
        # This is optional (on the core). Should be configurable.
87
        cdl_option CYGHWR_HAL_MIPS_FPU {
88
            display    "Variant FPU support"
89
            calculated 1
90
        }
91
 
92
        cdl_interface CYGINT_HAL_MIPS_FPU_64BIT {
93
            display "Variant 64 bit FPU support interface"
94
        }
95
 
96
        cdl_option CYGHWR_HAL_MIPS_FPU_64BIT {
97
            display    "Variant 64 bit FPU support"
98
            calculated { CYGINT_HAL_MIPS_FPU_64BIT == 1 ? 1 : 0 }
99
        }
100
 
101
        cdl_option CYGHWR_HAL_MIPS_FPU_32BIT {
102
            display    "Variant 32 bit FPU support"
103
            calculated { CYGINT_HAL_MIPS_FPU_64BIT == 0 ? 1 : 0 }
104
        }
105
 
106
        # FGRn+1 is most significant part of the FGRn&FGRn+1 pair of FPRn/2
107
        # This is true for BE mips2 mode at least. Not sure about fp64 mode
108
        cdl_option CYGPKG_HAL_MIPS_DOUBLE_LSBFIRST {
109
            active_if CYGHWR_HAL_MIPS_FPU_32BIT
110
            calculated 1
111
        }
112
 
113
        cdl_interface CYGINT_HAL_MIPS_MSBFIRST {
114
            no_define
115
            display    "CPU Variant big-endian interface"
116
        }
117
 
118
        cdl_option CYGPKG_HAL_MIPS_MSBFIRST {
119
            display    "CPU Variant big-endian"
120
            calculated { CYGINT_HAL_MIPS_MSBFIRST == 0 ? 0 : 1 }
121
        }
122
 
123
        cdl_option CYGPKG_HAL_MIPS_LSBFIRST {
124
            display    "CPU Variant little-endian"
125
            calculated { CYGINT_HAL_MIPS_MSBFIRST != 0 ? 0 : 1 }
126
        }
127
    }
128
 
129
    define_proc {
130
        puts $::cdl_header "#include "
131
    }
132
 
133
    compile       var_misc.c variant.S var_mk_defs.c
134
 
135
    # The "-o file" is a workaround for CR100958 - without it the
136
    # output file would end up in the source directory under CygWin.
137
    # n.b. grep does not behave itself under win32
138
    make -priority 1 {
139
        /include/cyg/hal/var_defs.inc : /src/var_mk_defs.c
140
        $(CC) $(CFLAGS) $(INCLUDE_PATH) -Wp,-MD,var_defs.tmp -o var_mk_defs.tmp -S $<
141
        fgrep .equ var_mk_defs.tmp | sed s/#// > $@
142
        @echo $@ ": \\" > $(notdir $@).deps
143
        @tail +2 var_defs.tmp >> $(notdir $@).deps
144
        @echo >> $(notdir $@).deps
145
        @rm var_defs.tmp var_mk_defs.tmp
146
    }
147
 
148
    make {
149
        /lib/target.ld: /src/mips_rm7000.ld
150
        $(CC) -E -P -Wp,-MD,target.tmp -DEXTRAS=1 -xc $(INCLUDE_PATH) $(CFLAGS) -o $@ $<
151
        @echo $@ ": \\" > $(notdir $@).deps
152
        @tail +2 target.tmp >> $(notdir $@).deps
153
        @echo >> $(notdir $@).deps
154
        @rm target.tmp
155
    }
156
 
157
    cdl_option CYGBLD_LINKER_SCRIPT {
158
        display "Linker script"
159
        flavor data
160
        no_define
161
        calculated  { "src/mips_rm7000.ld" }
162
    }
163
}

powered by: WebSVN 2.1.0

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