summaryrefslogtreecommitdiff
path: root/cesar
diff options
context:
space:
mode:
authorNélio Laranjeiro2012-10-08 15:42:44 +0200
committerNélio Laranjeiro2012-10-22 14:40:23 +0200
commitfb8255d2d814a1d9d7250c8af87e75f694733b53 (patch)
treec607dadb2eb6efb98ab5d6223d0ee048821877cc /cesar
parent30a5f0d74ff9b2d74f8109f4f75cfdcdf6d7c0ef (diff)
cesar/hal/arch: add ARCH_ILRAM2_PRIO with special behavior, refs #3414
For ARCH_ILRAM_PRIO(n) < CONFIG_ARCH_ILRAM_PRIO = n, all function declared as ARCH_ILRAM_PRIO(n) with n > 1, are stored in ARCH_ILRAM2_PRIO(n). All CONFIG_ARCH_ILRAM2_PRIO With a PRIO = 0 the ILRAM2 is disabled.
Diffstat (limited to 'cesar')
-rw-r--r--cesar/hal/arch/Config1
-rw-r--r--cesar/hal/arch/inc/sparc.h33
-rw-r--r--cesar/projects/plc/Config.mse5001
3 files changed, 31 insertions, 4 deletions
diff --git a/cesar/hal/arch/Config b/cesar/hal/arch/Config
index 5d46bd1570..7d8dbbee7f 100644
--- a/cesar/hal/arch/Config
+++ b/cesar/hal/arch/Config
@@ -1 +1,2 @@
CONFIG_ARCH_ILRAM_PRIO = 5
+CONFIG_ARCH_ILRAM2_PRIO = 0
diff --git a/cesar/hal/arch/inc/sparc.h b/cesar/hal/arch/inc/sparc.h
index 57b3f18701..ab3e75a47c 100644
--- a/cesar/hal/arch/inc/sparc.h
+++ b/cesar/hal/arch/inc/sparc.h
@@ -19,6 +19,7 @@
#if defined (ECOS) && ECOS
# include "config/arch/ilram.h"
+# include "config/arch/ilram2.h"
# undef ARCH_ILRAM
# define ARCH_ILRAM __attribute__ ((section (".ilram")))
@@ -29,25 +30,49 @@
# undef ARCH_ILRAM_PRIO
# define ARCH_ILRAM_PRIO(prio) PASTE (ARCH_ILRAM_PRIO_, prio)
+# undef ARCH_ILRAM2_PRIO
+# define ARCH_ILRAM2_PRIO(prio) PASTE (ARCH_ILRAM2_PRIO_, prio)
+
# if CONFIG_ARCH_ILRAM_PRIO >= 3
# define ARCH_ILRAM_PRIO_3 ARCH_ILRAM
# else
-# define ARCH_ILRAM_PRIO_3
+# define ARCH_ILRAM_PRIO_3 ARCH_ILRAM2_PRIO_3
# endif
# if CONFIG_ARCH_ILRAM_PRIO >= 2
# define ARCH_ILRAM_PRIO_2 ARCH_ILRAM
# else
-# define ARCH_ILRAM_PRIO_2
+# define ARCH_ILRAM_PRIO_2 ARCH_ILRAM2_PRIO_2
# endif
# if CONFIG_ARCH_ILRAM_PRIO >= 1
# define ARCH_ILRAM_PRIO_1 ARCH_ILRAM
# else
-# define ARCH_ILRAM_PRIO_1
+# define ARCH_ILRAM_PRIO_1 ARCH_ILRAM2_PRIO_1
# endif
# if CONFIG_ARCH_ILRAM_PRIO >= 0
# define ARCH_ILRAM_PRIO_0 ARCH_ILRAM
# else
-# define ARCH_ILRAM_PRIO_0
+# define ARCH_ILRAM_PRIO_0 ARCH_ILRAM2
+# endif
+
+# if CONFIG_ARCH_ILRAM2_PRIO > 3
+# define ARCH_ILRAM2_PRIO_3 ARCH_ILRAM2
+# else
+# define ARCH_ILRAM2_PRIO_3
+# endif
+# if CONFIG_ARCH_ILRAM2_PRIO > 2
+# define ARCH_ILRAM2_PRIO_2 ARCH_ILRAM2
+# else
+# define ARCH_ILRAM2_PRIO_2
+# endif
+# if CONFIG_ARCH_ILRAM2_PRIO > 1
+# define ARCH_ILRAM2_PRIO_1 ARCH_ILRAM2
+# else
+# define ARCH_ILRAM2_PRIO_1
+# endif
+# if CONFIG_ARCH_ILRAM2_PRIO > 0
+# define ARCH_ILRAM2_PRIO_0 ARCH_ILRAM2
+# else
+# define ARCH_ILRAM2_PRIO_0
# endif
# undef ARCH_DLRAM_DATA
diff --git a/cesar/projects/plc/Config.mse500 b/cesar/projects/plc/Config.mse500
index a158210cd0..0df3482fa8 100644
--- a/cesar/projects/plc/Config.mse500
+++ b/cesar/projects/plc/Config.mse500
@@ -2,3 +2,4 @@ set plc
set plc-board
CONFIG_STATS_ON_FATAL = y
CONFIG_PHY_AES_ALWAYS_BYPASSED = y
+CONFIG_ARCH_ILRAM2_PRIO = 5