summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/objectmp.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-07-03 15:13:47 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-07-03 15:13:47 +0000
commit562eab5c4edcc347a08ad7bcf8c3d71a8068ba5f (patch)
treec06a2914cfa1e4a2d67296df1a0875be14e5801b /cpukit/score/src/objectmp.c
parent2009-07-01 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-562eab5c4edcc347a08ad7bcf8c3d71a8068ba5f.tar.bz2
2009-07-03 Daniel Hellstrom <daniel@gaisler.com>
* sapi/src/exinit.c, score/include/rtems/score/objectmp.h, score/src/objectmp.c: Ensure local node number is set early enough in MP configurations.
Diffstat (limited to 'cpukit/score/src/objectmp.c')
-rw-r--r--cpukit/score/src/objectmp.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/cpukit/score/src/objectmp.c b/cpukit/score/src/objectmp.c
index a6e6b9c534..916bb8169d 100644
--- a/cpukit/score/src/objectmp.c
+++ b/cpukit/score/src/objectmp.c
@@ -25,19 +25,16 @@
/*PAGE
*
- * _Objects_MP_Handler_initialization
+ * _Objects_MP_Handler_early_initialization
*
*/
-
-void _Objects_MP_Handler_initialization(void)
+void _Objects_MP_Handler_early_initialization(void)
{
uint32_t node;
uint32_t maximum_nodes;
- uint32_t maximum_global_objects;
node = _Configuration_MP_table->node;
maximum_nodes = _Configuration_MP_table->maximum_nodes;
- maximum_global_objects = _Configuration_MP_table->maximum_global_objects;
if ( node < 1 || node > maximum_nodes )
_Internal_error_Occurred(
@@ -46,9 +43,23 @@ void _Objects_MP_Handler_initialization(void)
INTERNAL_ERROR_INVALID_NODE
);
-
_Objects_Local_node = node;
_Objects_Maximum_nodes = maximum_nodes;
+}
+
+/*PAGE
+ *
+ * _Objects_MP_Handler_initialization
+ *
+ */
+
+void _Objects_MP_Handler_initialization(void)
+{
+
+ uint32_t maximum_global_objects;
+
+ maximum_global_objects = _Configuration_MP_table->maximum_global_objects;
+
_Objects_MP_Maximum_global_objects = maximum_global_objects;
if ( maximum_global_objects == 0 ) {
@@ -293,3 +304,4 @@ void _Objects_MP_Is_remote (
*the_object = NULL;
}
+