From a0162bf3729f7adc2317128bfb98ec93dfee90e1 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 4 May 2016 16:02:39 +0200 Subject: mpci: Delete unused region support --- cpukit/rtems/Makefile.am | 2 - cpukit/rtems/include/rtems/rtems/regionimpl.h | 4 - cpukit/rtems/include/rtems/rtems/regionmp.h | 140 ------------- cpukit/rtems/preinstall.am | 4 - cpukit/rtems/src/regionmp.c | 279 -------------------------- 5 files changed, 429 deletions(-) delete mode 100644 cpukit/rtems/include/rtems/rtems/regionmp.h delete mode 100644 cpukit/rtems/src/regionmp.c diff --git a/cpukit/rtems/Makefile.am b/cpukit/rtems/Makefile.am index 73d9e307ca..368dcdce12 100644 --- a/cpukit/rtems/Makefile.am +++ b/cpukit/rtems/Makefile.am @@ -60,7 +60,6 @@ include_rtems_rtems_HEADERS += include/rtems/rtems/eventmp.h include_rtems_rtems_HEADERS += include/rtems/rtems/mp.h include_rtems_rtems_HEADERS += include/rtems/rtems/msgmp.h include_rtems_rtems_HEADERS += include/rtems/rtems/partmp.h -include_rtems_rtems_HEADERS += include/rtems/rtems/regionmp.h include_rtems_rtems_HEADERS += include/rtems/rtems/semmp.h include_rtems_rtems_HEADERS += include/rtems/rtems/signalmp.h include_rtems_rtems_HEADERS += include/rtems/rtems/taskmp.h @@ -245,7 +244,6 @@ librtems_a_SOURCES += src/eventmp.c librtems_a_SOURCES += src/mp.c librtems_a_SOURCES += src/msgmp.c librtems_a_SOURCES += src/partmp.c -librtems_a_SOURCES += src/regionmp.c librtems_a_SOURCES += src/semmp.c librtems_a_SOURCES += src/signalmp.c librtems_a_SOURCES += src/taskmp.c diff --git a/cpukit/rtems/include/rtems/rtems/regionimpl.h b/cpukit/rtems/include/rtems/rtems/regionimpl.h index e4dcff06fe..1f31ad4adb 100644 --- a/cpukit/rtems/include/rtems/rtems/regionimpl.h +++ b/cpukit/rtems/include/rtems/rtems/regionimpl.h @@ -135,9 +135,5 @@ extern void _Region_Process_queue(Region_Control *the_region); } #endif -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif - #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/regionmp.h b/cpukit/rtems/include/rtems/rtems/regionmp.h deleted file mode 100644 index df7f633dbb..0000000000 --- a/cpukit/rtems/include/rtems/rtems/regionmp.h +++ /dev/null @@ -1,140 +0,0 @@ -/** - * @file rtems/rtems/regionmp.h - * - * @defgroup ClassicRegionMP Region MP Support - * - * @ingroup ClassicMP - * @brief Multiprocessing Support in Region Manager - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the Region Manager. - */ - -/* COPYRIGHT (c) 1989-2013. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#ifndef _RTEMS_RTEMS_REGIONMP_H -#define _RTEMS_RTEMS_REGIONMP_H - -#ifndef _RTEMS_RTEMS_REGIONIMPL_H -# error "Never use directly; include instead." -#endif - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @defgroup ClassicRegionMP Region MP Support - * - * @ingroup ClassicMP - * - * This encapsulates functionality related to the transparent multiprocessing - * support within the Classic API Region Manager. - */ -/**@{*/ - -/** - * The following enumerated type defines the list of - * remote region operations. - */ -typedef enum { - REGION_MP_ANNOUNCE_CREATE = 0, - REGION_MP_ANNOUNCE_DELETE = 1, - REGION_MP_EXTRACT_PROXY = 2, - REGION_MP_GET_SEGMENT_REQUEST = 3, - REGION_MP_GET_SEGMENT_RESPONSE = 4, - REGION_MP_RETURN_SEGMENT_REQUEST = 5, - REGION_MP_RETURN_SEGMENT_RESPONSE = 6 -} Region_MP_Remote_operations; - -/** - * The following data structure defines the packet used to perform - * remote region operations. - */ -typedef struct { - rtems_packet_prefix Prefix; - Region_MP_Remote_operations operation; - rtems_name name; - rtems_option option_set; - uint32_t size; - Objects_Id proxy_id; - void *segment; -} Region_MP_Packet; - -/** - * @brief Region MP Send Process Packet - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - */ -void _Region_MP_Send_process_packet ( - Region_MP_Remote_operations operation, - Objects_Id region_id, - rtems_name name, - Objects_Id proxy_id -); - -/** - * @brief Region MP Send Request Packet - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ -rtems_status_code _Region_MP_Send_request_packet ( - Region_MP_Remote_operations operation, - Objects_Id region_id, - void *segment, - intptr_t size, - rtems_option option_set, - rtems_interval timeout -); - -/** - * @brief Region MP Process Packet - * - * This routine performs the actions specific to this package for - * the request from another node. - */ -void _Region_MP_Process_packet ( - rtems_packet_prefix *the_packet_prefix -); - -/* - * @brief _Region_MP_Send_object_was_deleted - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - * - * This routine is not needed by the Region since a region - * cannot be deleted when segments are in use. - */ - -/** - * @brief Region MP Send Extract Proxy - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - */ -void _Region_MP_Send_extract_proxy ( - Thread_Control *the_thread, - Objects_Id id -); - -#ifdef __cplusplus -} -#endif - -/**@}*/ - -#endif -/* end of file */ diff --git a/cpukit/rtems/preinstall.am b/cpukit/rtems/preinstall.am index a676cd909a..35e78db889 100644 --- a/cpukit/rtems/preinstall.am +++ b/cpukit/rtems/preinstall.am @@ -208,10 +208,6 @@ $(PROJECT_INCLUDE)/rtems/rtems/partmp.h: include/rtems/rtems/partmp.h $(PROJECT_ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/partmp.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/partmp.h -$(PROJECT_INCLUDE)/rtems/rtems/regionmp.h: include/rtems/rtems/regionmp.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/regionmp.h -PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/regionmp.h - $(PROJECT_INCLUDE)/rtems/rtems/semmp.h: include/rtems/rtems/semmp.h $(PROJECT_INCLUDE)/rtems/rtems/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems/semmp.h PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems/semmp.h diff --git a/cpukit/rtems/src/regionmp.c b/cpukit/rtems/src/regionmp.c deleted file mode 100644 index 1bdd283961..0000000000 --- a/cpukit/rtems/src/regionmp.c +++ /dev/null @@ -1,279 +0,0 @@ -/** - * @file - * - * @brief Region MP Support - * @ingroup ClassicRegionMP - */ - -/* - * COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#if HAVE_CONFIG_H -#include "config.h" -#endif - -#include -#include -#include -#include -#include - -RTEMS_STATIC_ASSERT( - sizeof(Region_MP_Packet) <= MP_PACKET_MINIMUM_PACKET_SIZE, - Region_MP_Packet -); - -static Region_MP_Packet *_Region_MP_Get_packet( void ) -{ - return (Region_MP_Packet *) _MPCI_Get_packet(); -} - -void _Region_MP_Send_process_packet ( - Region_MP_Remote_operations operation, - Objects_Id region_id, - rtems_name name, - Objects_Id proxy_id -) -{ - Region_MP_Packet *the_packet; - uint32_t node; - - switch ( operation ) { - - case REGION_MP_ANNOUNCE_CREATE: - case REGION_MP_ANNOUNCE_DELETE: - case REGION_MP_EXTRACT_PROXY: - - the_packet = _Region_MP_Get_packet(); - the_packet->Prefix.the_class = MP_PACKET_REGION; - the_packet->Prefix.length = sizeof ( Region_MP_Packet ); - the_packet->Prefix.to_convert = sizeof ( Region_MP_Packet ); - the_packet->operation = operation; - the_packet->Prefix.id = region_id; - the_packet->name = name; - the_packet->proxy_id = proxy_id; - - if ( operation == REGION_MP_EXTRACT_PROXY ) - node = _Objects_Get_node( region_id ); - else - node = MPCI_ALL_NODES; - - _MPCI_Send_process_packet( node, &the_packet->Prefix ); - break; - - case REGION_MP_GET_SEGMENT_REQUEST: - case REGION_MP_GET_SEGMENT_RESPONSE: - case REGION_MP_RETURN_SEGMENT_REQUEST: - case REGION_MP_RETURN_SEGMENT_RESPONSE: - break; - } -} - -rtems_status_code _Region_MP_Send_request_packet ( - Region_MP_Remote_operations operation, - Objects_Id region_id, - void *segment, - intptr_t size, - rtems_option option_set, - rtems_interval timeout -) -{ - Region_MP_Packet *the_packet; - - switch ( operation ) { - - case REGION_MP_GET_SEGMENT_REQUEST: - case REGION_MP_RETURN_SEGMENT_REQUEST: - - the_packet = _Region_MP_Get_packet(); - the_packet->Prefix.the_class = MP_PACKET_REGION; - the_packet->Prefix.length = sizeof ( Region_MP_Packet ); - the_packet->Prefix.to_convert = sizeof ( Region_MP_Packet ); - if ( ! _Options_Is_no_wait(option_set)) - the_packet->Prefix.timeout = timeout; - - the_packet->operation = operation; - the_packet->Prefix.id = region_id; - the_packet->segment = segment; - the_packet->size = size; - the_packet->option_set = option_set; - - return (rtems_status_code) _MPCI_Send_request_packet( - _Objects_Get_node( region_id ), - &the_packet->Prefix, - STATES_READY, /* Not used */ - RTEMS_TIMEOUT - ); - break; - - case REGION_MP_ANNOUNCE_CREATE: - case REGION_MP_ANNOUNCE_DELETE: - case REGION_MP_EXTRACT_PROXY: - case REGION_MP_GET_SEGMENT_RESPONSE: - case REGION_MP_RETURN_SEGMENT_RESPONSE: - break; - - } - /* - * The following line is included to satisfy compilers which - * produce warnings when a function does not end with a return. - */ - return RTEMS_INTERNAL_ERROR; -} - -static void _Region_MP_Send_response_packet ( - Region_MP_Remote_operations operation, - Objects_Id region_id, - Thread_Control *the_thread -) -{ - Region_MP_Packet *the_packet; - - switch ( operation ) { - - case REGION_MP_GET_SEGMENT_RESPONSE: - case REGION_MP_RETURN_SEGMENT_RESPONSE: - - the_packet = ( Region_MP_Packet *) the_thread->receive_packet; - -/* - * The packet being returned already contains the class, length, and - * to_convert fields, therefore they are not set in this routine. - */ - the_packet->operation = operation; - the_packet->Prefix.id = the_packet->Prefix.source_tid; - - _MPCI_Send_response_packet( - _Objects_Get_node( the_packet->Prefix.source_tid ), - &the_packet->Prefix - ); - break; - - case REGION_MP_ANNOUNCE_CREATE: - case REGION_MP_ANNOUNCE_DELETE: - case REGION_MP_EXTRACT_PROXY: - case REGION_MP_GET_SEGMENT_REQUEST: - case REGION_MP_RETURN_SEGMENT_REQUEST: - break; - - } -} - -void _Region_MP_Process_packet ( - rtems_packet_prefix *the_packet_prefix -) -{ - Region_MP_Packet *the_packet; - Thread_Control *the_thread; - - the_packet = (Region_MP_Packet *) the_packet_prefix; - - switch ( the_packet->operation ) { - - case REGION_MP_ANNOUNCE_CREATE: - - _Objects_MP_Allocate_and_open( - &_Region_Information, - the_packet->name, - the_packet->Prefix.id, - true - ); - - _MPCI_Return_packet( the_packet_prefix ); - break; - - case REGION_MP_ANNOUNCE_DELETE: - - _Objects_MP_Close( &_Region_Information, the_packet->Prefix.id ); - - _MPCI_Return_packet( the_packet_prefix ); - break; - - case REGION_MP_EXTRACT_PROXY: - - the_thread = _Thread_MP_Find_proxy( the_packet->proxy_id ); - - if ( ! _Thread_Is_null( the_thread ) ) - _Thread_queue_Extract( the_thread ); - - _MPCI_Return_packet( the_packet_prefix ); - break; - - case REGION_MP_GET_SEGMENT_REQUEST: - - the_packet->Prefix.return_code = rtems_region_get_segment( - the_packet->Prefix.id, - the_packet->size, - the_packet->option_set, - the_packet->Prefix.timeout, - &the_packet->segment - ); - - _Region_MP_Send_response_packet( - REGION_MP_GET_SEGMENT_RESPONSE, - the_packet->Prefix.id, - _Thread_Executing - ); - break; - - case REGION_MP_GET_SEGMENT_RESPONSE: - - the_thread = _MPCI_Process_response( the_packet_prefix ); - - *(void **)the_thread->Wait.return_argument = the_packet->segment; - - _MPCI_Return_packet( the_packet_prefix ); - break; - - case REGION_MP_RETURN_SEGMENT_REQUEST: - - the_packet->Prefix.return_code = rtems_region_return_segment( - the_packet->Prefix.id, - the_packet->segment - ); - - _Region_MP_Send_response_packet( - REGION_MP_RETURN_SEGMENT_RESPONSE, - the_packet->Prefix.id, - _Thread_Executing - ); - break; - - case REGION_MP_RETURN_SEGMENT_RESPONSE: - - the_thread = _MPCI_Process_response( the_packet_prefix ); - - _MPCI_Return_packet( the_packet_prefix ); - break; - - } -} - -/* - * _Region_MP_Send_object_was_deleted - * - * This routine is not needed by the Region since a region - * cannot be deleted when segments are in use. - * - */ - -void _Region_MP_Send_extract_proxy ( - Thread_Control *the_thread, - Objects_Id id -) -{ - _Region_MP_Send_process_packet( - REGION_MP_EXTRACT_PROXY, - id, - (rtems_name) 0, - the_thread->Object.id - ); -} - -/* end of file */ -- cgit v1.2.3