changeset 520:557a638a27d2

* cdl/hal_mips_mips32.cdl: Make endianness configurable.
author jlarmour
date Tue, 21 Jan 2003 03:16:51 +0000
parents b343e9046a6c
children c3f83515903f
files packages/hal/mips/mips32/current/ChangeLog packages/hal/mips/mips32/current/cdl/hal_mips_mips32.cdl
diffstat 2 files changed, 29 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/mips/mips32/current/ChangeLog
+++ b/packages/hal/mips/mips32/current/ChangeLog
@@ -1,3 +1,7 @@
+2003-01-21  Tim Michals  <t.michals@attbi.com>
+
+	* cdl/hal_mips_mips32.cdl: Make endianness configurable.
+
 2002-05-24  Jesper Skov  <jskov@redhat.com>
 
 	* include/var_arch.h: Removed HAL_DIAG_IRQ_CHECK. It's not
--- a/packages/hal/mips/mips32/current/cdl/hal_mips_mips32.cdl
+++ b/packages/hal/mips/mips32/current/cdl/hal_mips_mips32.cdl
@@ -41,7 +41,7 @@
 ######DESCRIPTIONBEGIN####
 #
 # Author(s):      dmoseley
-# Original data:  bartv, nickg
+# Original data:  bartv, nickg, t.michals@attbi.com
 # Contributors:
 # Date:           2000-06-07
 #
@@ -75,10 +75,27 @@ cdl_package CYGPKG_HAL_MIPS_MIPS32 {
         display    "Variant FPU support"
         calculated 0
     }
+    
+   cdl_option CYGHWR_HAL_MIPS_MIPS32_ENDIAN {
+        display       "Endian format to use"
+        flavor        data
+        default_value {"Little" }
+        legal_values  {"Little" "Big" }
+        description   "
+            The MIPS 32 can use either a big or little endian format.
+            This allows the flexibility to choose which format to use
+	    to create a HAL."
+    }
 
     cdl_option CYGPKG_HAL_MIPS_LSBFIRST {
         display    "CPU Variant little-endian"
-        calculated 1
+        calculated {   CYGHWR_HAL_MIPS_MIPS32_ENDIAN == "Little"}
+    }
+
+
+    cdl_option CYGPKG_HAL_MIPS_MSBFIRST {
+        display    "CPU Variant big-endian"
+        calculated {   CYGHWR_HAL_MIPS_MIPS32_ENDIAN == "Big"}
     }
 
     cdl_option CYGPKG_HAL_MIPS_GDB_REPORT_CP0 {
@@ -132,7 +149,8 @@ cdl_package CYGPKG_HAL_MIPS_MIPS32 {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { "-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" }
+            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" : \
+			       "-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"  }
             description   "
                 This option controls the global compiler flags which
                 are used to compile all packages by
@@ -144,7 +162,8 @@ cdl_package CYGPKG_HAL_MIPS_MIPS32 {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { "-EL -msoft-float -g -nostdlib -Wl,--gc-sections -Wl,-static" }
+            default_value {CYGPKG_HAL_MIPS_LSBFIRST ? "-EL -msoft-float -g -nostdlib -Wl,--gc-sections -Wl,-static" :\
+			    "-msoft-float -EB -g -nostdlib -Wl,--gc-sections -Wl,-static"}
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
@@ -153,3 +172,5 @@ cdl_package CYGPKG_HAL_MIPS_MIPS32 {
     }
     
 }
+
+# EOF hal_mips_mips32.cdl