From 97e2729d1a3432b9792b82ce88ce6d804a104f7a Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Mon, 23 Nov 1998 17:38:09 +0000 Subject: Added --disable-multiprocessing flag and modified a lot of files to make it work. --- c/src/exec/sapi/headers/config.h | 6 ++++++ c/src/exec/sapi/headers/sptables.h | 6 ++++++ c/src/exec/sapi/include/rtems/config.h | 6 ++++++ c/src/exec/sapi/include/rtems/sptables.h | 6 ++++++ c/src/exec/sapi/src/exinit.c | 15 +++++++++++++++ c/src/exec/sapi/src/rtemsapi.c | 4 ++++ 6 files changed, 43 insertions(+) (limited to 'c/src/exec/sapi') diff --git a/c/src/exec/sapi/headers/config.h b/c/src/exec/sapi/headers/config.h index e3ae50d7d1..5a01286059 100644 --- a/c/src/exec/sapi/headers/config.h +++ b/c/src/exec/sapi/headers/config.h @@ -43,7 +43,9 @@ typedef void *posix_api_configuration_table; #include #include +#if defined(RTEMS_MULTIPROCESSING) #include +#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/c/src/exec/sapi/headers/sptables.h b/c/src/exec/sapi/headers/sptables.h index 35b3d2d9ab..b8c417319a 100644 --- a/c/src/exec/sapi/headers/sptables.h +++ b/c/src/exec/sapi/headers/sptables.h @@ -35,7 +35,9 @@ extern "C" { #include #include #include +#if defined(RTEMS_MULTIPROCESSING) #include +#endif #include #include #include @@ -152,7 +154,11 @@ const void * _Entry_points[ RTEMS_NUMBER_OF_ENTRY_POINTS ] = { (void *) rtems_rate_monotonic_delete, /* 76 */ (void *) rtems_rate_monotonic_cancel, /* 77 */ (void *) rtems_rate_monotonic_period, /* 78 */ +#if defined(RTEMS_MULTIPROCESSING) (void *) rtems_multiprocessing_announce, /* 79 */ +#else + (void *) NULL, /* 79 */ +#endif (void *) rtems_debug_enable, /* 80 */ (void *) rtems_debug_disable /* 81 */ }; diff --git a/c/src/exec/sapi/include/rtems/config.h b/c/src/exec/sapi/include/rtems/config.h index e3ae50d7d1..5a01286059 100644 --- a/c/src/exec/sapi/include/rtems/config.h +++ b/c/src/exec/sapi/include/rtems/config.h @@ -43,7 +43,9 @@ typedef void *posix_api_configuration_table; #include #include +#if defined(RTEMS_MULTIPROCESSING) #include +#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/c/src/exec/sapi/include/rtems/sptables.h b/c/src/exec/sapi/include/rtems/sptables.h index 35b3d2d9ab..b8c417319a 100644 --- a/c/src/exec/sapi/include/rtems/sptables.h +++ b/c/src/exec/sapi/include/rtems/sptables.h @@ -35,7 +35,9 @@ extern "C" { #include #include #include +#if defined(RTEMS_MULTIPROCESSING) #include +#endif #include #include #include @@ -152,7 +154,11 @@ const void * _Entry_points[ RTEMS_NUMBER_OF_ENTRY_POINTS ] = { (void *) rtems_rate_monotonic_delete, /* 76 */ (void *) rtems_rate_monotonic_cancel, /* 77 */ (void *) rtems_rate_monotonic_period, /* 78 */ +#if defined(RTEMS_MULTIPROCESSING) (void *) rtems_multiprocessing_announce, /* 79 */ +#else + (void *) NULL, /* 79 */ +#endif (void *) rtems_debug_enable, /* 80 */ (void *) rtems_debug_disable /* 81 */ }; diff --git a/c/src/exec/sapi/src/exinit.c b/c/src/exec/sapi/src/exinit.c index dabf21dcc0..43da0a9363 100644 --- a/c/src/exec/sapi/src/exinit.c +++ b/c/src/exec/sapi/src/exinit.c @@ -34,7 +34,9 @@ #include #include #include +#if defined(RTEMS_MULTIPROCESSING) #include +#endif #include #include #include @@ -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/c/src/exec/sapi/src/rtemsapi.c b/c/src/exec/sapi/src/rtemsapi.c index d860ad7f99..65475e2399 100644 --- a/c/src/exec/sapi/src/rtemsapi.c +++ b/c/src/exec/sapi/src/rtemsapi.c @@ -31,7 +31,9 @@ #include #include #include +#if defined(RTEMS_MULTIPROCESSING) #include +#endif #include #include #include @@ -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, -- cgit v1.2.3