changeset 1359:152652dea92e

* include/hal_io.h: If defined HAL_IO_MACROS_NO_ADDRESS_MUNGING use macros which don't mung the addresses even if the platform is big-endian. Platforms which don't need address munging can just define HAL_IO_MACROS_NO_ADDRESS_MUNGING in plf_io.h .
author asl
date Sat, 08 Nov 2003 15:42:42 +0000
parents 2f92828821dc
children e8bca92aee60
files packages/hal/arm/arch/current/ChangeLog packages/hal/arm/arch/current/include/hal_io.h
diffstat 2 files changed, 11 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/arm/arch/current/ChangeLog
+++ b/packages/hal/arm/arch/current/ChangeLog
@@ -1,3 +1,10 @@
+2003-11-05  Roland Caßebohm  <roland.cassebohm@visionsystems.de>
+
+        * include/hal_io.h: If defined HAL_IO_MACROS_NO_ADDRESS_MUNGING
+        use macros which don't mung the addresses even if the platform
+        is big-endian. Platforms which don't need address munging can
+        just define HAL_IO_MACROS_NO_ADDRESS_MUNGING in plf_io.h .
+ 
 2003-10-23  Thomas Koeller  <thomas.koeller@baslerweb.com>
 
 	* src/vectors.S: Acknowlege spurious interrupts.
--- a/packages/hal/arm/arch/current/include/hal_io.h
+++ b/packages/hal/arm/arch/current/include/hal_io.h
@@ -87,8 +87,8 @@ typedef volatile CYG_ADDRWORD HAL_IO_REG
 // BYTE Register access.
 // Individual and vectorized access to 8 bit registers.
 
-// Little-endian version
-#if (CYG_BYTEORDER == CYG_LSBFIRST)
+// Little-endian version or big-endian version that doesn't need address munging
+#if (CYG_BYTEORDER == CYG_LSBFIRST) || defined(HAL_IO_MACROS_NO_ADDRESS_MUNGING)
 
 #define HAL_READ_UINT8( _register_, _value_ ) \
         ((_value_) = *((volatile CYG_BYTE *)(_register_)))
@@ -170,8 +170,8 @@ typedef volatile CYG_ADDRWORD HAL_IO_REG
 // 16 bit access.
 // Individual and vectorized access to 16 bit registers.
     
-// Little-endian version
-#if (CYG_BYTEORDER == CYG_LSBFIRST)
+// Little-endian version or big-endian version that doesn't need address munging
+#if (CYG_BYTEORDER == CYG_LSBFIRST) || defined(HAL_IO_MACROS_NO_ADDRESS_MUNGING)
 
 #define HAL_READ_UINT16( _register_, _value_ ) \
         ((_value_) = *((volatile CYG_WORD16 *)(_register_)))