---
 include/configs/ml501.h |   36 +++++++++++++++++++++++++++---------
 1 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/include/configs/ml501.h b/include/configs/ml501.h
index 5fc943b..f5657b2 100644
--- a/include/configs/ml501.h
+++ b/include/configs/ml501.h
@@ -105,6 +105,8 @@
 /*
  * Memory organisation:
  *
+ * Environment is in flash so we have:
+ *
  * RAM start ---------------------------
  *           | ...                     |
  *           ---------------------------
@@ -112,17 +114,26 @@
  *           ---------------------------
  *           | Global data             |
  *           ---------------------------
- *           | Environment             |
- *           ---------------------------
  *           | Monitor                 |
  * RAM end   ---------------------------
+ *
+ * 
+ * flash st. ---------------------------
+ *           | ...                     |
+ *           ---------------------------
+ *           | Environment (a sector)  |
+ *           ---------------------------
+ *           | ...                     |
+ * flash end ---------------------------
+ *
  */
-/* We're running in RAM */
+
+/* We're running in RAM (after we're relocated) */
 #define CONFIG_MONITOR_IS_IN_RAM
 #define CONFIG_SYS_MONITOR_LEN 0x40000 /* Reserve 256k */
-#define CONFIG_SYS_MONITOR_BASE        (CONFIG_SYS_SDRAM_BASE + \
-                               CONFIG_SYS_SDRAM_SIZE - \
-                               CONFIG_SYS_MONITOR_LEN)
+#define CONFIG_SYS_MONITOR_BASE        ((CONFIG_SYS_SDRAM_BASE +       \
+                                 CONFIG_SYS_SDRAM_SIZE) -      \
+                                CONFIG_SYS_MONITOR_LEN)
 
 #define CONFIG_ENV_IS_IN_FLASH
 #define CONFIG_ENV_OFFSET      0x80000 /*
@@ -137,16 +148,23 @@
 /*
  * Global data object and stack pointer
  */
+
+#ifdef CONFIG_ENV_IS_IN_FLASH
+#define CONFIG_SYS_GBL_DATA_OFFSET     (CONFIG_SYS_MONITOR_BASE \
+                                       - GENERATED_GBL_DATA_SIZE)
+#else
 #define CONFIG_SYS_GBL_DATA_OFFSET     (CONFIG_ENV_ADDR \
                                        - GENERATED_GBL_DATA_SIZE)
+
+#endif
 #define CONFIG_SYS_GBL_DATA_ADDR       CONFIG_SYS_GBL_DATA_OFFSET
 #define CONFIG_SYS_INIT_SP_ADDR                CONFIG_SYS_GBL_DATA_OFFSET
 #define CONFIG_SYS_INIT_SP_OFFSET      CONFIG_SYS_GBL_DATA_OFFSET
 #define CONFIG_SYS_STACK_LENGTH                0x10000 /* 64KB */
 #define CONFIG_SYS_MALLOC_LEN          0x400000 /* 4MB */
-#define CONFIG_SYS_MALLOC_BASE         (CONFIG_SYS_INIT_SP_OFFSET \
-                                       - CONFIG_SYS_STACK_LENGTH \
-                                       - CONFIG_SYS_MALLOC_LEN)
+#define CONFIG_SYS_MALLOC_BASE         ((CONFIG_SYS_INIT_SP_OFFSET     \
+                                         - CONFIG_SYS_STACK_LENGTH)    \
+                                        - CONFIG_SYS_MALLOC_LEN)
 /*
  * MISC
  */
-- 
1.7.4.1

_______________________________________________
OpenRISC mailing list
[email protected]
http://lists.openrisc.net/listinfo/openrisc

Reply via email to