1 # ====================================================================
5 # MIPS 32/64 variant architectural HAL package configuration data
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.
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.
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
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.
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.
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.
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####
44 # Original data: bartv, nickg, t.michals@attbi.com
48 #####DESCRIPTIONEND####
50 # ====================================================================
52 cdl_package CYGPKG_HAL_MIPS_MIPS32 {
53 display "MIPS32 variant"
54 parent CYGPKG_HAL_MIPS
58 The MIPS32 architecture HAL package provides generic support
59 for this processor architecture. It is also necessary to
60 select a specific target platform HAL package."
62 cdl_option CYGHWR_HAL_MIPS_MIPS32_CORE {
63 display "Mips32 processor core used"
66 legal_values {"4Kc" "4Kp" "4Km"}
68 The MIPS 32 cores come in (at least) 3 flavors. The main
69 differences being in the MMU"
72 implements CYGINT_HAL_MIPS_VARIANT
74 cdl_option CYGHWR_HAL_MIPS_FPU {
75 display "Variant FPU support"
79 cdl_option CYGHWR_HAL_MIPS_MIPS32_ENDIAN {
80 display "Endian format to use"
82 default_value {"Little" }
83 legal_values {"Little" "Big" }
85 The MIPS 32 can use either a big or little endian format.
86 This allows the flexibility to choose which format to use
90 cdl_option CYGPKG_HAL_MIPS_LSBFIRST {
91 display "CPU Variant little-endian"
92 calculated { CYGHWR_HAL_MIPS_MIPS32_ENDIAN == "Little"}
96 cdl_option CYGPKG_HAL_MIPS_MSBFIRST {
97 display "CPU Variant big-endian"
98 calculated { CYGHWR_HAL_MIPS_MIPS32_ENDIAN == "Big"}
101 cdl_option CYGPKG_HAL_MIPS_GDB_REPORT_CP0 {
102 display "Report contents of CP0 to GDB"
107 puts $::cdl_header "#include <pkgconf/hal_mips.h>"
110 compile var_misc.c variant.S
113 <PREFIX>/lib/target.ld: <PACKAGE>/src/mips_mips32.ld
114 $(CC) -E -P -Wp,-MD,target.tmp -DEXTRAS=1 -xc $(INCLUDE_PATH) $(CFLAGS) -o $@ $<
115 @echo $@ ": \\" > $(notdir $@).deps
116 @tail -n +2 target.tmp >> $(notdir $@).deps
117 @echo >> $(notdir $@).deps
121 cdl_option CYGBLD_LINKER_SCRIPT {
122 display "Linker script"
125 calculated { "src/mips_mips32.ld" }
129 cdl_component CYGBLD_GLOBAL_OPTIONS {
130 display "Global build options"
134 Global build options including control over
135 compiler flags, linker flags and choice of toolchain."
138 cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
139 display "Global command prefix"
142 default_value { "mipsisa32-elf" }
144 This option specifies the command prefix used when
145 invoking the build tools."
148 cdl_option CYGBLD_GLOBAL_CFLAGS {
149 display "Global compiler flags"
152 default_value { CYGPKG_HAL_MIPS_LSBFIRST ? "-mips32 -EL -msoft-float -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -G0" : \
153 "-mips32 -EB -msoft-float -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -G0" }
155 This option controls the global compiler flags which
156 are used to compile all packages by
157 default. Individual packages may define
158 options which override these global flags."
161 cdl_option CYGBLD_GLOBAL_LDFLAGS {
162 display "Global linker flags"
165 default_value {CYGPKG_HAL_MIPS_LSBFIRST ? "-EL -msoft-float -g -nostdlib -Wl,--gc-sections -Wl,-static" :\
166 "-msoft-float -EB -g -nostdlib -Wl,--gc-sections -Wl,-static"}
168 This option controls the global linker flags. Individual
169 packages may define options which override these global flags."
176 # EOF hal_mips_mips32.cdl