summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-11-23 17:38:09 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-11-23 17:38:09 +0000
commit97e2729d1a3432b9792b82ce88ce6d804a104f7a (patch)
treece8c041ef504f965a4af05775af348c7023b19f9 /cpukit/sapi
parentAdded networking. (diff)
downloadrtems-97e2729d1a3432b9792b82ce88ce6d804a104f7a.tar.bz2
Added --disable-multiprocessing flag and modified a lot of files to make
it work.
Diffstat (limited to 'cpukit/sapi')
-rw-r--r--cpukit/sapi/include/rtems/config.h6
-rw-r--r--cpukit/sapi/src/exinit.c15
-rw-r--r--cpukit/sapi/src/rtemsapi.c4
3 files changed, 25 insertions, 0 deletions
diff --git a/cpukit/sapi/include/rtems/config.h b/cpukit/sapi/include/rtems/config.h
index e3ae50d7d1..5a01286059 100644
--- a/cpukit/sapi/include/rtems/config.h
+++ b/cpukit/sapi/include/rtems/config.h
@@ -43,7 +43,9 @@ typedef void *posix_api_configuration_table;
#include <rtems/extension.h>
#include <rtems/io.h>
+#if defined(RTEMS_MULTIPROCESSING)
#include <rtems/score/mpci.h>
+#endif
/*
* The following records define the Multiprocessor Configuration
@@ -57,7 +59,11 @@ typedef struct {
unsigned32 maximum_nodes; /* maximum # nodes in system */
unsigned32 maximum_global_objects; /* maximum # global objects */
unsigned32 maximum_proxies; /* maximum # proxies */
+#if defined(RTEMS_MULTIPROCESSING)
MPCI_Control *User_mpci_table; /* pointer to MPCI table */
+#else
+ void *User_mpci_table; /* pointer to MPCI table */
+#endif
} rtems_multiprocessing_table;
/*
diff --git a/cpukit/sapi/src/exinit.c b/cpukit/sapi/src/exinit.c
index dabf21dcc0..43da0a9363 100644
--- a/cpukit/sapi/src/exinit.c
+++ b/cpukit/sapi/src/exinit.c
@@ -34,7 +34,9 @@
#include <rtems/score/heap.h>
#include <rtems/score/interr.h>
#include <rtems/score/isr.h>
+#if defined(RTEMS_MULTIPROCESSING)
#include <rtems/score/mpci.h>
+#endif
#include <rtems/score/priority.h>
#include <rtems/score/thread.h>
#include <rtems/score/tod.h>
@@ -107,11 +109,18 @@ rtems_interrupt_level rtems_initialize_executive_early(
* Initialize the system state based on whether this is an MP system.
*/
+#if defined(RTEMS_MULTIPROCESSING)
multiprocessing_table = configuration_table->User_multiprocessing_table;
_System_state_Handler_initialization(
(multiprocessing_table) ? TRUE : FALSE
);
+#else
+ multiprocessing_table = NULL;
+
+ _System_state_Handler_initialization( FALSE );
+
+#endif
/*
* Provided just for user convenience.
@@ -179,10 +188,12 @@ rtems_interrupt_level rtems_initialize_executive_early(
multiprocessing_table->maximum_proxies
);
+#if defined(RTEMS_MULTIPROCESSING)
_MPCI_Handler_initialization(
multiprocessing_table->User_mpci_table,
RTEMS_TIMEOUT
);
+#endif
/* MANAGERS */
@@ -215,7 +226,9 @@ rtems_interrupt_level rtems_initialize_executive_early(
_Thread_Create_idle();
+#if defined(RTEMS_MULTIPROCESSING)
_MPCI_Create_server();
+#endif
/*
* Run the API and BSPs predriver hook.
@@ -234,12 +247,14 @@ rtems_interrupt_level rtems_initialize_executive_early(
_IO_Initialize_all_drivers();
+#if defined(RTEMS_MULTIPROCESSING)
if ( _System_state_Is_multiprocessing ) {
_MPCI_Initialization();
_MPCI_Internal_packets_Send_process_packet(
MPCI_PACKETS_SYSTEM_VERIFY
);
}
+#endif
/*
* Run the APIs and BSPs postdriver hooks.
diff --git a/cpukit/sapi/src/rtemsapi.c b/cpukit/sapi/src/rtemsapi.c
index d860ad7f99..65475e2399 100644
--- a/cpukit/sapi/src/rtemsapi.c
+++ b/cpukit/sapi/src/rtemsapi.c
@@ -31,7 +31,9 @@
#include <rtems/rtems/dpmem.h>
#include <rtems/rtems/event.h>
#include <rtems/rtems/message.h>
+#if defined(RTEMS_MULTIPROCESSING)
#include <rtems/rtems/mp.h>
+#endif
#include <rtems/rtems/part.h>
#include <rtems/rtems/ratemon.h>
#include <rtems/rtems/region.h>
@@ -58,7 +60,9 @@ void _RTEMS_API_Initialize(
_Interrupt_Manager_initialization();
+#if defined(RTEMS_MULTIPROCESSING)
_Multiprocessing_Manager_initialization();
+#endif
_RTEMS_tasks_Manager_initialization(
api_configuration->maximum_tasks,