From 2b3e9d9b244e279ef5693a7cf5dacc7903164af5 Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Mon, 22 Jul 2002 09:46:48 +0000 Subject: Remove, moved to cpukit. --- c/src/exec/sapi/.cvsignore | 2 - c/src/exec/sapi/ChangeLog | 161 ---- c/src/exec/sapi/Makefile.am | 9 - c/src/exec/sapi/include/.cvsignore | 2 - c/src/exec/sapi/include/Makefile.am | 34 - c/src/exec/sapi/include/confdefs.h | 1076 --------------------------- c/src/exec/sapi/include/rtems/.cvsignore | 3 - c/src/exec/sapi/include/rtems/README | 133 ---- c/src/exec/sapi/include/rtems/config.h | 183 ----- c/src/exec/sapi/include/rtems/extension.h | 137 ---- c/src/exec/sapi/include/rtems/fatal.h | 48 -- c/src/exec/sapi/include/rtems/init.h | 109 --- c/src/exec/sapi/include/rtems/io.h | 272 ------- c/src/exec/sapi/include/rtems/mptables.h | 28 - c/src/exec/sapi/include/rtems/sptables.h.in | 85 --- c/src/exec/sapi/inline/.cvsignore | 2 - c/src/exec/sapi/inline/Makefile.am | 22 - c/src/exec/sapi/inline/rtems/.cvsignore | 2 - c/src/exec/sapi/inline/rtems/extension.inl | 90 --- c/src/exec/sapi/macros/.cvsignore | 2 - c/src/exec/sapi/macros/Makefile.am | 22 - c/src/exec/sapi/macros/rtems/.cvsignore | 2 - c/src/exec/sapi/macros/rtems/extension.inl | 57 -- c/src/exec/sapi/src/.cvsignore | 2 - c/src/exec/sapi/src/Makefile.am | 28 - c/src/exec/sapi/src/debug.c | 61 -- c/src/exec/sapi/src/exinit.c | 328 -------- c/src/exec/sapi/src/extension.c | 51 -- c/src/exec/sapi/src/extensioncreate.c | 65 -- c/src/exec/sapi/src/extensiondelete.c | 56 -- c/src/exec/sapi/src/extensionident.c | 53 -- c/src/exec/sapi/src/fatal.c | 37 - c/src/exec/sapi/src/io.c | 460 ------------ c/src/exec/sapi/src/itronapi.c | 119 --- c/src/exec/sapi/src/posixapi.c | 115 --- c/src/exec/sapi/src/rtemsapi.c | 97 --- 36 files changed, 3953 deletions(-) delete mode 100644 c/src/exec/sapi/.cvsignore delete mode 100644 c/src/exec/sapi/ChangeLog delete mode 100644 c/src/exec/sapi/Makefile.am delete mode 100644 c/src/exec/sapi/include/.cvsignore delete mode 100644 c/src/exec/sapi/include/Makefile.am delete mode 100644 c/src/exec/sapi/include/confdefs.h delete mode 100644 c/src/exec/sapi/include/rtems/.cvsignore delete mode 100644 c/src/exec/sapi/include/rtems/README delete mode 100644 c/src/exec/sapi/include/rtems/config.h delete mode 100644 c/src/exec/sapi/include/rtems/extension.h delete mode 100644 c/src/exec/sapi/include/rtems/fatal.h delete mode 100644 c/src/exec/sapi/include/rtems/init.h delete mode 100644 c/src/exec/sapi/include/rtems/io.h delete mode 100644 c/src/exec/sapi/include/rtems/mptables.h delete mode 100644 c/src/exec/sapi/include/rtems/sptables.h.in delete mode 100644 c/src/exec/sapi/inline/.cvsignore delete mode 100644 c/src/exec/sapi/inline/Makefile.am delete mode 100644 c/src/exec/sapi/inline/rtems/.cvsignore delete mode 100644 c/src/exec/sapi/inline/rtems/extension.inl delete mode 100644 c/src/exec/sapi/macros/.cvsignore delete mode 100644 c/src/exec/sapi/macros/Makefile.am delete mode 100644 c/src/exec/sapi/macros/rtems/.cvsignore delete mode 100644 c/src/exec/sapi/macros/rtems/extension.inl delete mode 100644 c/src/exec/sapi/src/.cvsignore delete mode 100644 c/src/exec/sapi/src/Makefile.am delete mode 100644 c/src/exec/sapi/src/debug.c delete mode 100644 c/src/exec/sapi/src/exinit.c delete mode 100644 c/src/exec/sapi/src/extension.c delete mode 100644 c/src/exec/sapi/src/extensioncreate.c delete mode 100644 c/src/exec/sapi/src/extensiondelete.c delete mode 100644 c/src/exec/sapi/src/extensionident.c delete mode 100644 c/src/exec/sapi/src/fatal.c delete mode 100644 c/src/exec/sapi/src/io.c delete mode 100644 c/src/exec/sapi/src/itronapi.c delete mode 100644 c/src/exec/sapi/src/posixapi.c delete mode 100644 c/src/exec/sapi/src/rtemsapi.c (limited to 'c/src/exec/sapi') diff --git a/c/src/exec/sapi/.cvsignore b/c/src/exec/sapi/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/exec/sapi/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/exec/sapi/ChangeLog b/c/src/exec/sapi/ChangeLog deleted file mode 100644 index 17075f75a3..0000000000 --- a/c/src/exec/sapi/ChangeLog +++ /dev/null @@ -1,161 +0,0 @@ -2002-07-04 Joel Sherrill - - * Jump table for single entry point removed. - * include/rtems/directives.h, src/entrytable.c: Removed. - * include/Makefile.am, src/Makefile.am, src/exinit.c: Modified to - reflect above. - -2002-07-01 Joel Sherrill - - * Mega patch merge to change the format of the object IDs to - loosen the dependency between the SCORE and the various APIs. - There was considerable work to simplify the object name management - and it appears that the name_table field is no longer needed. - This patch also includes the addition of the internal mutex - which is currently only used to protect some types of allocation - and deallocation. This significantly can reduce context - switch latency under certain circumstances. In particular, - some heap/region operations were O(n) and had dispatching - disabled. This should help enormously. With this merge, - the patch is not as clean as it should be. In particular, - the documentation has not been modified to reflect the new object - ID layout, the IDs in the test screens are not updated, and - _Objects_Get_information needs to be a real routine not inlined. - As part of this patch a lot of MP code for thread/proxy blocking - was made conditional and cleaned up. - * include/confdefs.h, src/exinit.c, src/extension.c, src/itronapi.c, - src/posixapi.c, src/rtemsapi.c: Modified as part of above. - -2001-05-09 Joel Sherrill - - * src/exinit.c: Slightly rework initialization so there - is a valid thread as _Thread_Executing when the pre_tasking - hook is called. This allows one directives and malloc - to potentially use mutex protection. - -2001-03-29 Joel Sherrill - - * Per PR126, configuration structures now match docs. - * include/rtems/config.h: Use public data types. - -2001-03-28 Joel Sherrill - - * PR132 requested some tinkering ot lower memory. - * include/confdefs.h: Lowered footprint of device driver table - and statically configure user extensions. Now if no static - extensions are configured, then the table is not instantiated. - -2002-03-27 Ralf Corsepius - - * Makefile.am: Remove AUTOMAKE_OPTIONS. - * include/Makefile.am: Remove AUTOMAKE_OPTIONS. - * inline/Makefile.am: Remove AUTOMAKE_OPTIONS. - * macros/Makefile.am: Remove AUTOMAKE_OPTIONS. - * src/Makefile.am: Remove AUTOMAKE_OPTIONS. - -2001-03-15 Joel Sherrill - - * src/extension.c: Split to reduce minimum code size per PR134. - * src/extensioncreate.c, src/extensiondelete.c, src/extensionident.c: - New files. - src/Makefile.am: Modified to reflect above. - -2002-01-07 Joel Sherrill - - * optman/, optman/.cvsignore, optman/Makefile.am, optman/no-ext.c, - optman/no-io.c: Removed entire contents of optman/ directory since - it has been moved. - -2001-12-19 Ralf Corsepius - - * optman/Makefile.am: Add multilib support. - * src/Makefile.am: Add multilib support. - -2001-10-16 Chris Johns - - * include/confdefs.h, include/rtems/config.h, include/rtems/io.h, - optman/no-io.c, src/exinit.c, src/io.c: Added a device driver - register/unregister interface to allow device drivers to be - installed and removed at runtime. This means you do not need devices - present in the device table when you build. - -2001-10-16 Ralf Corsepius - - * include/rtems/Makefile.am: Remove. - * include/Makefile.am: Handle subdirs, require automake-1.5. - * inline/rtems/Makefile.am: Remove. - * inline/Makefile.am: Handle subdirs, require automake-1.5. - * macros/rtems/Makefile.am: Remove. - * Makefile.am: require automake-1.5. - -2001-10-12 Joel Sherrill - - * include/rtems/directives.h: Fixed typo. - -2001-09-28 Ralf Corsepius - - * include/rtems/Makefile.am: Use 'PREINSTALL_FILES ='. - * include/Makefile.am: Use 'PREINSTALL_FILES ='. - * inline/rtems/Makefile.am: Use 'PREINSTALL_FILES ='. - * macros/rtems/Makefile.am: Use 'PREINSTALL_FILES ='. - -2001-09-22 Ralf Corsepius - - * optman/Makefile.am: Adapt ASM4FLAGS to automake-1.5. - -2001-04-16 Joel Sherrill - - * include/confdefs.h: Fix real-time clock support. - -2001-02-03 Ralf Corsepius - - * include/Makefile.am, include/rtems/Makefile.am, - inline/rtems/Makefile.am, macros/rtems/Makefile.am: - Apply include_*HEADERS instead of H_FILES. - -2001-01-28 Ralf Corsepius - - * include/confdefs.h: define CONFIGURE_NEWLIB_EXTENSION 0 if not - using NEWLIB, cleanup related comment. - -2001-01-26 Ralf Corsepius - - * include/confdefs.h: include cpuopts.h, replace stubdr w/ devnull. - -2000-10-30 Joel Sherrill - - * POSIX include files merged into newlib. This resulted in - some definitions moving to other files and thus some secondary - effects in RTEMS source code. - * include/confdefs.h: Replaced include of with - since that file no longer exists. - -2000-10-18 Joel Sherrill - - * include/confdefs.h: Set CONFIGURE_INIT_TASK_STACK_SIZE to 0 - if there is no Classic API Initialization Tasks Table defined. - -2000-10-18 Joel Sherrill - - * include/confdefs.h: Modified code that accounts for initialization - task/threads with greater than minimum stack sizes so it would - compile even if optional APIs are disabled. - -2000-10-12 Joel Sherrill - - * include/confdefs.h: Account for initialization tasks and - threads which use larger than minimum stack sizes. - -2000-09-28 Joel Sherrill - - * include/rtems/io.h (rtems_driver_address_table): Added "_entry" - to all names. - * src/io.c: Accounted for above. - -2000-09-04 Ralf Corsepius - - * src/Makefile.am, optman/Makefile.am: Include compile.am. - -2000-08-10 Joel Sherrill - - * ChangeLog: New file. diff --git a/c/src/exec/sapi/Makefile.am b/c/src/exec/sapi/Makefile.am deleted file mode 100644 index 30e4cd2773..0000000000 --- a/c/src/exec/sapi/Makefile.am +++ /dev/null @@ -1,9 +0,0 @@ -## -## $Id$ -## - - -SUBDIRS = include inline macros src - -include $(top_srcdir)/automake/subdirs.am -include $(top_srcdir)/automake/local.am diff --git a/c/src/exec/sapi/include/.cvsignore b/c/src/exec/sapi/include/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/exec/sapi/include/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/exec/sapi/include/Makefile.am b/c/src/exec/sapi/include/Makefile.am deleted file mode 100644 index b41bb64295..0000000000 --- a/c/src/exec/sapi/include/Makefile.am +++ /dev/null @@ -1,34 +0,0 @@ -## -## $Id$ -## - - -$(PROJECT_INCLUDE): - @$(mkinstalldirs) $@ -$(PROJECT_INCLUDE)/rtems: - @$(mkinstalldirs) $@ - -$(PROJECT_INCLUDE)/%.h: %.h - $(INSTALL_DATA) $< $@ - -include_HEADERS = confdefs.h - -PREINSTALL_FILES = $(PROJECT_INCLUDE) \ - $(include_HEADERS:%=$(PROJECT_INCLUDE)/%) - -include_rtemsdir = $(includedir)/rtems - -include_rtems_HEADERS = rtems/config.h rtems/extension.h rtems/fatal.h \ - rtems/init.h rtems/io.h rtems/mptables.h rtems/sptables.h - -PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems \ - $(include_rtems_HEADERS:%=$(PROJECT_INCLUDE)/%) - -EXTRA_DIST = rtems/README - -rtems/sptables.h: $(top_builddir)/config.status $(top_srcdir)/sapi/include/rtems/sptables.h.in - cd $(top_builddir) && CONFIG_FILES=sapi/include/$@ CONFIG_HEADERS= CONFIG_LINKS= $(SHELL) ./config.status - -all-local: $(PREINSTALL_FILES) - -include $(top_srcdir)/automake/local.am diff --git a/c/src/exec/sapi/include/confdefs.h b/c/src/exec/sapi/include/confdefs.h deleted file mode 100644 index cb63e51e23..0000000000 --- a/c/src/exec/sapi/include/confdefs.h +++ /dev/null @@ -1,1076 +0,0 @@ -/* confdefs.h - * - * This include file contains the configuration table template that will - * be instantiated by an application based on the setting of a number - * of macros. The macros are documented in the Configuring a System - * chapter of the Classic API User's Guide - * - * The model is to estimate the memory required for each configured item - * and sum those estimates. The estimate can be too high or too low for - * a variety of reasons: - * - * Reasons estimate is too high: - * + FP contexts (not all tasks are FP) - * - * Reasons estimate is too low: - * + stacks greater than minimum size - * + messages - * + application must account for device driver resources - * + application must account for add-on library resource requirements - * - * NOTE: Eventually this may be able to take into account some of - * the above. This procedure has evolved from just enough to - * support the RTEMS Test Suites into something that can be - * used remarkably reliably by most applications. - * - * COPYRIGHT (c) 1989-2002. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __CONFIGURATION_TEMPLATE_h -#define __CONFIGURATION_TEMPLATE_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Include the executive's configuration - */ -#include - -extern rtems_initialization_tasks_table Initialization_tasks[]; -extern rtems_driver_address_table Device_drivers[]; -extern rtems_configuration_table Configuration; -extern rtems_multiprocessing_table Multiprocessing_configuration; -#ifdef RTEMS_POSIX_API -extern posix_api_configuration_table Configuration_POSIX_API; -#endif -#ifdef RTEMS_ITRON_API -extern itron_api_configuration_table Configuration_ITRON_API; -#endif - -/* - * RTEMS C Library and Newlib support - */ - -#ifdef RTEMS_NEWLIB -#define CONFIGURE_NEWLIB_EXTENSION 1 -#else -#define CONFIGURE_NEWLIB_EXTENSION 0 -#endif - -#define CONFIGURE_MALLOC_REGION 1 - -/* - * File descriptors managed by libio - */ - -#ifndef CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS -#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 3 -#endif - -#define CONFIGURE_LIBIO_SEMAPHORES \ - (CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS + 1) - -#ifdef CONFIGURE_INIT -unsigned32 rtems_libio_number_iops = CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS; -#endif - -/* - * Termios resources - */ - -#ifdef CONFIGURE_TERMIOS_DISABLED -#define CONFIGURE_TERMIOS_SEMAPHORES 0 -#else - -#ifndef CONFIGURE_NUMBER_OF_TERMIOS_PORTS -#define CONFIGURE_NUMBER_OF_TERMIOS_PORTS 1 -#endif - -#define CONFIGURE_TERMIOS_SEMAPHORES \ - ((CONFIGURE_NUMBER_OF_TERMIOS_PORTS * 4) + 1) -#endif - -/* - * Mount Table Configuration - */ - -#include - -#ifdef CONFIGURE_INIT - -#ifndef CONFIGURE_HAS_OWN_MOUNT_TABLE -rtems_filesystem_mount_table_t configuration_mount_table = { -#ifdef CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM - &IMFS_ops, -#else /* using miniIMFS as base filesystem */ - &miniIMFS_ops, -#endif - RTEMS_FILESYSTEM_READ_WRITE, - NULL, - NULL -}; - -rtems_filesystem_mount_table_t - *rtems_filesystem_mount_table = &configuration_mount_table; -int rtems_filesystem_mount_table_size = 1; -#endif - -#endif - - -/* - * Stack Checker Requirements - * - * NOTE: This does not automatically enable reporting at program exit. - */ - -#ifdef STACK_CHECKER_ON -#define CONFIGURE_STACK_CHECKER_EXTENSION 1 -#else -#define CONFIGURE_STACK_CHECKER_EXTENSION 0 -#endif - -/* - * Interrupt Stack Space - * - * NOTE: There is currently no way for the application to override - * the interrupt stack size set by the BSP. - */ - -#if (CPU_ALLOCATE_INTERRUPT_STACK == 0) -#undef CONFIGURE_INTERRUPT_STACK_MEMORY -#define CONFIGURE_INTERRUPT_STACK_MEMORY 0 -#else - #ifndef CONFIGURE_INTERRUPT_STACK_MEMORY - #define CONFIGURE_INTERRUPT_STACK_MEMORY RTEMS_MINIMUM_STACK_SIZE - #endif -#endif - -/* - * Default User Initialization Task Table. This table guarantees that - * one user initialization table is defined. - */ - -#ifdef CONFIGURE_RTEMS_INIT_TASKS_TABLE - -#ifdef CONFIGURE_HAS_OWN_INIT_TASK_TABLE - -/* - * The user is defining their own table information and setting the - * appropriate variables. - */ - -#else - -#ifndef CONFIGURE_INIT_TASK_NAME -#define CONFIGURE_INIT_TASK_NAME rtems_build_name( 'U', 'I', '1', ' ' ) -#endif - -#ifndef CONFIGURE_INIT_TASK_STACK_SIZE -#define CONFIGURE_INIT_TASK_STACK_SIZE RTEMS_MINIMUM_STACK_SIZE -#endif - -#ifndef CONFIGURE_INIT_TASK_PRIORITY -#define CONFIGURE_INIT_TASK_PRIORITY 1 -#endif - -#ifndef CONFIGURE_INIT_TASK_ATTRIBUTES -#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES -#endif - -#ifndef CONFIGURE_INIT_TASK_ENTRY_POINT -#define CONFIGURE_INIT_TASK_ENTRY_POINT Init -#endif - -#ifndef CONFIGURE_INIT_TASK_INITIAL_MODES -#define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_NO_PREEMPT -#endif - -#ifndef CONFIGURE_INIT_TASK_ARGUMENTS -#define CONFIGURE_INIT_TASK_ARGUMENTS 0 -#endif - -#ifdef CONFIGURE_INIT -rtems_initialization_tasks_table Initialization_tasks[] = { - { CONFIGURE_INIT_TASK_NAME, - CONFIGURE_INIT_TASK_STACK_SIZE, - CONFIGURE_INIT_TASK_PRIORITY, - CONFIGURE_INIT_TASK_ATTRIBUTES, - CONFIGURE_INIT_TASK_ENTRY_POINT, - CONFIGURE_INIT_TASK_INITIAL_MODES, - CONFIGURE_INIT_TASK_ARGUMENTS - } -}; -#endif - -#define CONFIGURE_INIT_TASK_TABLE Initialization_tasks - -#define CONFIGURE_INIT_TASK_TABLE_SIZE \ - sizeof(CONFIGURE_INIT_TASK_TABLE) / sizeof(rtems_initialization_tasks_table) - -#endif /* CONFIGURE_HAS_OWN_INIT_TASK_TABLE */ - -#else /* CONFIGURE_RTEMS_INIT_TASKS_TABLE */ - -#define CONFIGURE_INIT_TASK_TABLE NULL -#define CONFIGURE_INIT_TASK_TABLE_SIZE 0 -#define CONFIGURE_INIT_TASK_STACK_SIZE 0 - -#endif - -/* - * Map obsolete names to current ones - * - * NOTE: These should be obsoleted in a future release. - */ - -#ifdef CONFIGURE_TEST_NEEDS_TIMER_DRIVER -#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER -#endif -#ifdef CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER -#endif -#ifdef CONFIGURE_TEST_NEEDS_CLOCK_DRIVER -#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER -#endif -#ifdef CONFIGURE_TEST_NEEDS_RTC_DRIVER -#define CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER -#endif -#ifdef CONFIGURE_TEST_NEEDS_STUB_DRIVER -#define CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER -#endif - - -/* - * Default Device Driver Table. Each driver needed by the test is explicitly - * choosen by that test. There is always a null driver entry. - */ - -#define NULL_DRIVER_TABLE_ENTRY \ - { NULL, NULL, NULL, NULL, NULL, NULL } - -#ifdef CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER -#include -#endif - -#ifdef CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER -#include -#endif - -#ifdef CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER -#include -#endif - -#ifdef CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER -#include -#endif - -#ifdef CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER -#include -#endif - -#ifndef CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE - -#ifdef CONFIGURE_INIT -rtems_driver_address_table Device_drivers[] = { -#ifdef CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER - CONSOLE_DRIVER_TABLE_ENTRY, -#endif -#ifdef CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER - CLOCK_DRIVER_TABLE_ENTRY, -#endif -#ifdef CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER - RTC_DRIVER_TABLE_ENTRY, -#endif -#ifdef CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER - DEVNULL_DRIVER_TABLE_ENTRY, -#endif -#ifdef CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER - NULL_DRIVER_TABLE_ENTRY -#elif !defined(CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER) && \ - !defined(CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER) && \ - !defined(CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER) && \ - !defined(CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER) - NULL_DRIVER_TABLE_ENTRY -#endif -}; -#endif - -#endif /* CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE */ - -/* - * Default the number of drivers per node. This value may be - * overridden by the user. - */ - -#define CONFIGURE_NUMBER_OF_DRIVERS \ - ((sizeof(Device_drivers) / sizeof(rtems_driver_address_table))) - -#ifndef CONFIGURE_MAXIMUM_DRIVERS -#define CONFIGURE_MAXIMUM_DRIVERS CONFIGURE_NUMBER_OF_DRIVERS -#endif - -/* - * Default the number of devices per device driver. This value may be - * overridden by the user. - */ - -#ifndef CONFIGURE_MAXIMUM_DEVICES -#define CONFIGURE_MAXIMUM_DEVICES 20 -#endif - -/* - * Default Multiprocessing Configuration Table. The defaults are - * appropriate for most of the RTEMS Multiprocessor Test Suite. Each - * value may be overridden within each test to customize the environment. - */ - -#ifdef CONFIGURE_MP_APPLICATION -#ifndef CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE - -#ifndef CONFIGURE_MP_NODE_NUMBER -#define CONFIGURE_MP_NODE_NUMBER NODE_NUMBER -#endif - -#ifndef CONFIGURE_MP_MAXIMUM_NODES -#define CONFIGURE_MP_MAXIMUM_NODES 2 -#endif - -#ifndef CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS -#define CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS 32 -#endif - -#ifndef CONFIGURE_MP_MAXIMUM_PROXIES -#define CONFIGURE_MP_MAXIMUM_PROXIES 32 -#endif - -#ifndef CONFIGURE_MP_MPCI_TABLE_POINTER -#include -#define CONFIGURE_MP_MPCI_TABLE_POINTER &MPCI_table -#endif - -#ifdef CONFIGURE_INIT -rtems_multiprocessing_table Multiprocessing_configuration = { - CONFIGURE_MP_NODE_NUMBER, /* local node number */ - CONFIGURE_MP_MAXIMUM_NODES, /* maximum # nodes in system */ - CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS, /* maximum # global objects */ - CONFIGURE_MP_MAXIMUM_PROXIES, /* maximum # proxies */ - CONFIGURE_MP_MPCI_TABLE_POINTER /* pointer to MPCI config table */ -}; -#endif - -#define CONFIGURE_MULTIPROCESSING_TABLE &Multiprocessing_configuration - -#endif /* CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE */ - -#else - -#define CONFIGURE_MULTIPROCESSING_TABLE NULL - -#endif /* CONFIGURE_MP_APPLICATION */ - -/* - * Default Configuration Table. - */ - -#ifndef CONFIGURE_HAS_OWN_CONFIGURATION_TABLE - -#ifndef CONFIGURE_EXECUTIVE_RAM_WORK_AREA -#define CONFIGURE_EXECUTIVE_RAM_WORK_AREA NULL -#endif - -#ifndef CONFIGURE_MAXIMUM_TASKS -#define CONFIGURE_MAXIMUM_TASKS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_TIMERS -#define CONFIGURE_MAXIMUM_TIMERS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_SEMAPHORES -#define CONFIGURE_MAXIMUM_SEMAPHORES 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_MESSAGE_QUEUES -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_PARTITIONS -#define CONFIGURE_MAXIMUM_PARTITIONS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_REGIONS -#define CONFIGURE_MAXIMUM_REGIONS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_PORTS -#define CONFIGURE_MAXIMUM_PORTS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_PERIODS -#define CONFIGURE_MAXIMUM_PERIODS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_USER_EXTENSIONS -#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 0 -#endif - -#ifndef CONFIGURE_MICROSECONDS_PER_TICK -#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(10) -#endif - -#ifndef CONFIGURE_TICKS_PER_TIMESLICE -#define CONFIGURE_TICKS_PER_TIMESLICE 50 -#endif - -/* - * Initial Extension Set - */ - -#ifdef CONFIGURE_INIT -#ifdef STACK_CHECKER_ON -#include -#endif - -#if defined(CONFIGURE_INITIAL_EXTENSIONS) || \ - defined(STACK_CHECKER_ON) -rtems_extensions_table Configuration_Initial_Extensions[] = { -#ifdef CONFIGURE_INITIAL_EXTENSIONS - CONFIGURE_INITIAL_EXTENSIONS, -#endif -#ifdef STACK_CHECKER_ON - STACK_CHECKER_EXTENSION, -#endif -}; - -#define CONFIGURE_INITIAL_EXTENSION_TABLE Configuration_Initial_Extensions -#define CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS \ - ((sizeof(Configuration_Initial_Extensions) / \ - sizeof(rtems_extensions_table))) -#else -#define CONFIGURE_INITIAL_EXTENSION_TABLE NULL -#define CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS 0 -#endif - - -#endif - -/* - * POSIX API Configuration Parameters - */ - -#ifdef RTEMS_POSIX_API - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef CONFIGURE_MAXIMUM_POSIX_THREADS -#define CONFIGURE_MAXIMUM_POSIX_THREADS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_POSIX_MUTEXES -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_POSIX_KEYS -#define CONFIGURE_MAXIMUM_POSIX_KEYS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_POSIX_TIMERS -#define CONFIGURE_MAXIMUM_POSIX_TIMERS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS -#define CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES -#define CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_POSIX_SEMAPHORES -#define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES 0 -#endif - -#ifdef CONFIGURE_POSIX_INIT_THREAD_TABLE - -#ifdef CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE - -/* - * The user is defining their own table information and setting the - * appropriate variables for the POSIX Initialization Thread Table. - */ - -#else - -#ifndef CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT -#define CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT POSIX_Init -#endif - -#ifndef CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE -#define CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE (RTEMS_MINIMUM_STACK_SIZE * 2) -#endif - -#ifdef CONFIGURE_INIT -posix_initialization_threads_table POSIX_Initialization_threads[] = { - { CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT, \ - CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE } -}; -#endif - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME POSIX_Initialization_threads - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE \ - sizeof(CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME) / \ - sizeof(posix_initialization_threads_table) - -#endif /* CONFIGURE_POSIX_HAS_OWN_INIT_TASK_TABLE */ - -#else /* CONFIGURE_POSIX_INIT_THREAD_TABLE */ - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME NULL -#define CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE 0 - -#endif - -#define CONFIGURE_MEMORY_PER_TASK_FOR_POSIX_API \ - ( \ - sizeof (POSIX_API_Control) + \ - (sizeof (void *) * (CONFIGURE_GNAT_KEYS + CONFIGURE_MAXIMUM_POSIX_KEYS)) \ - ) - -#define CONFIGURE_MEMORY_FOR_POSIX_MUTEXES(_mutexes) \ - ((_mutexes) * \ - ( sizeof(POSIX_Mutex_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_POSIX_CONDITION_VARIABLES(_condition_variables) \ - ((_condition_variables) * \ - ( sizeof(POSIX_Condition_variables_Control) + \ - CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_POSIX_KEYS(_keys) \ - ((_keys) * \ - ( sizeof(POSIX_Keys_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_POSIX_TIMERS(_timers) \ - ((_timers) * \ - ( 0 ) ) - -#define CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS(_queued_signals) \ - ((_queued_signals) * \ - ( sizeof(POSIX_signals_Siginfo_node) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES(_message_queues) \ - ((_message_queues) * \ - ( sizeof( POSIX_Message_queue_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) -#define CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES(_semaphores) \ - ((_semaphores) * \ - ( sizeof( POSIX_Semaphore_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - - -#define CONFIGURE_MEMORY_FOR_POSIX \ - ( \ - CONFIGURE_MEMORY_FOR_POSIX_MUTEXES( CONFIGURE_MAXIMUM_POSIX_MUTEXES ) + \ - CONFIGURE_MEMORY_FOR_POSIX_CONDITION_VARIABLES( \ - CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES ) + \ - CONFIGURE_MEMORY_FOR_POSIX_KEYS( CONFIGURE_MAXIMUM_POSIX_KEYS ) + \ - CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS( \ - CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS ) + \ - CONFIGURE_MEMORY_FOR_POSIX_MESSAGE_QUEUES( \ - CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES ) + \ - CONFIGURE_MEMORY_FOR_POSIX_SEMAPHORES( \ - CONFIGURE_MAXIMUM_POSIX_SEMAPHORES ) + \ - (CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE) \ - ) - - -#else - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 0 -#define CONFIGURE_MEMORY_PER_TASK_FOR_POSIX_API 0 -#define CONFIGURE_MEMORY_FOR_POSIX 0 - - -#endif /* RTEMS_POSIX_API */ - -#ifndef CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE -#define CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE 0 -#endif - -/* - * ITRON API Configuration Parameters - */ - -#ifdef RTEMS_ITRON_API - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef CONFIGURE_MAXIMUM_ITRON_TASKS -#define CONFIGURE_MAXIMUM_ITRON_TASKS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_ITRON_SEMAPHORES -#define CONFIGURE_MAXIMUM_ITRON_SEMAPHORES 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_ITRON_EVENTFLAGS -#define CONFIGURE_MAXIMUM_ITRON_EVENTFLAGS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_ITRON_MAILBOXES -#define CONFIGURE_MAXIMUM_ITRON_MAILBOXES 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS -#define CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_ITRON_PORTS -#define CONFIGURE_MAXIMUM_ITRON_PORTS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_ITRON_MEMORY_POOLS -#define CONFIGURE_MAXIMUM_ITRON_MEMORY_POOLS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_ITRON_FIXED_MEMORY_POOLS -#define CONFIGURE_MAXIMUM_ITRON_FIXED_MEMORY_POOLS 0 -#endif - -#ifdef CONFIGURE_ITRON_INIT_TASK_TABLE - -#ifdef CONFIGURE_ITRON_HAS_OWN_INIT_TASK_TABLE - -/* - * The user is defining their own table information and setting the - * appropriate variables for the ITRON Initialization Task Table. - */ - -#else - -#ifndef CONFIGURE_ITRON_INIT_TASK_ENTRY_POINT -#define CONFIGURE_ITRON_INIT_TASK_ENTRY_POINT ITRON_Init -#endif - -#ifndef CONFIGURE_ITRON_INIT_TASK_ATTRIBUTES -#define CONFIGURE_ITRON_INIT_TASK_ATTRIBUTES TA_HLNG -#endif - -#ifndef CONFIGURE_ITRON_INIT_TASK_PRIORITY -#define CONFIGURE_ITRON_INIT_TASK_PRIORITY 1 -#endif - -#ifndef CONFIGURE_ITRON_INIT_TASK_STACK_SIZE -#define CONFIGURE_ITRON_INIT_TASK_STACK_SIZE RTEMS_MINIMUM_STACK_SIZE -#endif - -#ifdef CONFIGURE_INIT -itron_initialization_tasks_table ITRON_Initialization_tasks[] = { - { 1, /* ID */ - { (VP) 0, /* exinfo */ - CONFIGURE_ITRON_INIT_TASK_ATTRIBUTES, /* task attributes */ - CONFIGURE_ITRON_INIT_TASK_ENTRY_POINT, /* task start address */ - CONFIGURE_ITRON_INIT_TASK_PRIORITY, /* initial task priority */ - CONFIGURE_ITRON_INIT_TASK_STACK_SIZE /* stack size */ - } - } -}; -#endif - -#define CONFIGURE_ITRON_INIT_TASK_TABLE_NAME ITRON_Initialization_tasks - -#define CONFIGURE_ITRON_INIT_TASK_TABLE_SIZE \ - sizeof(CONFIGURE_ITRON_INIT_TASK_TABLE_NAME) / \ - sizeof(itron_initialization_tasks_table) - -#endif /* CONFIGURE_ITRON_HAS_OWN_INIT_TASK_TABLE */ - -#else /* CONFIGURE_ITRON_INIT_TASK_TABLE */ - -#define CONFIGURE_ITRON_INIT_TASK_TABLE_NAME NULL -#define CONFIGURE_ITRON_INIT_TASK_TABLE_SIZE 0 - -#endif - -#define CONFIGURE_MEMORY_PER_TASK_FOR_ITRON_API \ - ( \ - sizeof (ITRON_API_Control) \ - ) - -#define CONFIGURE_MEMORY_FOR_ITRON_SEMAPHORES(_semaphores) \ - ((_semaphores) * \ - ( sizeof(ITRON_Semaphore_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_ITRON_EVENTFLAGS(_eventflags) \ - ((_eventflags) * \ - ( sizeof(ITRON_Eventflags_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_ITRON_MAILBOXES(_mailboxes) \ - ((_mailboxes) * \ - ( sizeof(ITRON_Mailbox_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_ITRON_MESSAGE_BUFFERS(_message_buffers) \ - ((_message_buffers) * \ - ( sizeof(ITRON_Message_buffer_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_ITRON_PORTS(_ports) \ - ((_ports) * \ - ( sizeof(ITRON_Port_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_ITRON_MEMORY_POOLS(_memory_pools) \ - ((_memory_pools) * \ - (sizeof(ITRON_Variable_memory_pool_Control) + CONFIGURE_OBJECT_TABLE_STUFF)) - -#define CONFIGURE_MEMORY_FOR_ITRON_FIXED_MEMORY_POOLS(_fixed_memory_pools) \ - ((_fixed_memory_pools) * \ - ( sizeof(ITRON_Fixed_memory_pool_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#ifndef CONFIGURE_ITRON_INIT_TASK_STACK_SIZE -#define CONFIGURE_ITRON_INIT_TASK_STACK_SIZE (RTEMS_MINIMUM_STACK_SIZE * 2) -#endif - - -#define CONFIGURE_MEMORY_FOR_ITRON \ - ( \ - CONFIGURE_MEMORY_FOR_ITRON_SEMAPHORES( \ - CONFIGURE_MAXIMUM_ITRON_SEMAPHORES ) + \ - CONFIGURE_MEMORY_FOR_ITRON_EVENTFLAGS( \ - CONFIGURE_MAXIMUM_ITRON_EVENTFLAGS ) + \ - CONFIGURE_MEMORY_FOR_ITRON_MAILBOXES( \ - CONFIGURE_MAXIMUM_ITRON_MAILBOXES ) + \ - CONFIGURE_MEMORY_FOR_ITRON_MESSAGE_BUFFERS( \ - CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS ) + \ - CONFIGURE_MEMORY_FOR_ITRON_PORTS( \ - CONFIGURE_MAXIMUM_ITRON_PORTS ) + \ - CONFIGURE_MEMORY_FOR_ITRON_MEMORY_POOLS( \ - CONFIGURE_MAXIMUM_ITRON_MEMORY_POOLS ) + \ - CONFIGURE_MEMORY_FOR_ITRON_FIXED_MEMORY_POOLS( \ - CONFIGURE_MAXIMUM_ITRON_FIXED_MEMORY_POOLS ) + \ - CONFIGURE_ITRON_INIT_TASK_STACK_SIZE \ - ) - - -#else - -#define CONFIGURE_MAXIMUM_ITRON_TASKS 0 -#define CONFIGURE_MAXIMUM_ITRON_SEMAPHORES 0 -#define CONFIGURE_MAXIMUM_ITRON_EVENTFLAGS 0 -#define CONFIGURE_MAXIMUM_ITRON_MAILBOXES 0 -#define CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS 0 -#define CONFIGURE_MAXIMUM_ITRON_PORTS 0 -#define CONFIGURE_MAXIMUM_ITRON_MEMORY_POOLS 0 -#define CONFIGURE_MAXIMUM_ITRON_FIXED_MEMORY_POOLS 0 -#define CONFIGURE_MEMORY_PER_TASK_FOR_ITRON_API 0 -#define CONFIGURE_MEMORY_FOR_ITRON 0 - -#endif /* RTEMS_ITRON_API */ - - -/* - * Calculate the RAM size based on the maximum number of objects configured. - */ - -#ifndef CONFIGURE_EXECUTIVE_RAM_SIZE - -#define CONFIGURE_OBJECT_TABLE_STUFF \ - ( sizeof(Objects_Control *) + sizeof(rtems_name *) + sizeof(rtems_name) ) - -#define CONFIGURE_MEMORY_FOR_TASKS(_tasks) \ - (((_tasks) + 1 ) * \ - ((sizeof(Thread_Control) + CONTEXT_FP_SIZE + \ - STACK_MINIMUM_SIZE + sizeof( RTEMS_API_Control ) + \ - CONFIGURE_MEMORY_PER_TASK_FOR_POSIX_API + \ - CONFIGURE_MEMORY_PER_TASK_FOR_ITRON_API + \ - CONFIGURE_OBJECT_TABLE_STUFF)) \ - ) - -#define CONFIGURE_MEMORY_FOR_TIMERS(_timers) \ - ((_timers) * ( sizeof(Timer_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_SEMAPHORES(_semaphores) \ - ((_semaphores) * \ - ( sizeof(Semaphore_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(_queues) \ - ( (_queues) * \ - ( sizeof(Message_queue_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_PARTITIONS(_partitions) \ - ( (_partitions) * \ - ( sizeof(Partition_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_REGIONS(_regions) \ - ( (_regions) * \ - ( sizeof(Region_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_PORTS(_ports) \ - ( (_ports) * \ - ( sizeof(Dual_ported_memory_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_PERIODS(_periods) \ - ( (_periods) * \ - ( sizeof(Rate_monotonic_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_USER_EXTENSIONS(_extensions) \ - ( (_extensions) * \ - ( sizeof(Extension_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_DEVICES(_devices) \ - (((_devices) + 1) * ( sizeof(rtems_driver_name_t) ) ) - -#ifdef CONFIGURE_MP_APPLICATION - -#ifndef CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE - -#define CONFIGURE_MEMORY_FOR_PROXIES(_proxies) \ - ( ((_proxies) + 1) * ( sizeof(Thread_Proxy_control) ) ) - -#define CONFIGURE_MEMORY_FOR_GLOBAL_OBJECTS(_global_objects) \ - ((_global_objects) * ( sizeof(Objects_MP_Control) ) ) - -#define CONFIGURE_MEMORY_FOR_MP \ - ( CONFIGURE_MEMORY_FOR_PROXIES(CONFIGURE_MP_MAXIMUM_PROXIES) + \ - CONFIGURE_MEMORY_FOR_GLOBAL_OBJECTS(CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS) + \ - CONFIGURE_MEMORY_FOR_TASKS(1) \ - ) - -#endif /* CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE */ - -#else - -#define CONFIGURE_MEMORY_FOR_MP 0 - -#endif - -#ifndef CONFIGURE_MEMORY_OVERHEAD -#define CONFIGURE_MEMORY_OVERHEAD 0 -#endif - -#ifndef CONFIGURE_EXTRA_TASK_STACKS -#define CONFIGURE_EXTRA_TASK_STACKS 0 -#endif - -#define CONFIGURE_MEMORY_FOR_SYSTEM_OVERHEAD \ - ( CONFIGURE_MEMORY_FOR_TASKS(1) + /* IDLE */ \ - (256 * 12) + /* Ready chains */ \ - 256 + /* name/ptr table overhead */ \ - CONFIGURE_INTERRUPT_STACK_MEMORY /* interrupt stack */ \ - ) - -/* - * Now account for any extra memory that initialization tasks or threads - * may have requested. - */ - -#ifdef RTEMS_POSIX_API -#define CONFIGURE_INITIALIZATION_THREADS_STACKS_POSIX_PART \ - (CONFIGURE_POSIX_INIT_THREAD_STACK_SIZE - RTEMS_MINIMUM_STACK_SIZE) -#else -#define CONFIGURE_INITIALIZATION_THREADS_STACKS_POSIX_PART 0 -#endif -#ifdef RTEMS_ITRON_API -#define CONFIGURE_INITIALIZATION_THREADS_STACKS_ITRON_PART \ - (CONFIGURE_ITRON_INIT_TASK_STACK_SIZE - RTEMS_MINIMUM_STACK_SIZE) -#else -#define CONFIGURE_INITIALIZATION_THREADS_STACKS_ITRON_PART 0 -#endif - -#define CONFIGURE_INITIALIZATION_THREADS_STACKS \ - ((CONFIGURE_INIT_TASK_STACK_SIZE - RTEMS_MINIMUM_STACK_SIZE) + \ - CONFIGURE_INITIALIZATION_THREADS_STACKS_POSIX_PART + \ - CONFIGURE_INITIALIZATION_THREADS_STACKS_ITRON_PART) - -#define CONFIGURE_EXECUTIVE_RAM_SIZE \ -(( CONFIGURE_MEMORY_FOR_POSIX + \ - CONFIGURE_MEMORY_FOR_ITRON + \ - CONFIGURE_MEMORY_FOR_TASKS(CONFIGURE_MAXIMUM_TASKS + \ - CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_ADA_TASKS + \ - CONFIGURE_MAXIMUM_ITRON_TASKS ) + \ - CONFIGURE_INITIALIZATION_THREADS_STACKS + \ - CONFIGURE_MEMORY_FOR_TIMERS(CONFIGURE_MAXIMUM_TIMERS) + \ - CONFIGURE_MEMORY_FOR_SEMAPHORES(CONFIGURE_MAXIMUM_SEMAPHORES + \ - CONFIGURE_LIBIO_SEMAPHORES + CONFIGURE_TERMIOS_SEMAPHORES) + \ - CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(CONFIGURE_MAXIMUM_MESSAGE_QUEUES) + \ - CONFIGURE_MEMORY_FOR_PARTITIONS(CONFIGURE_MAXIMUM_PARTITIONS) + \ - CONFIGURE_MEMORY_FOR_REGIONS( \ - CONFIGURE_MAXIMUM_REGIONS + CONFIGURE_MALLOC_REGION ) + \ - CONFIGURE_MEMORY_FOR_PORTS(CONFIGURE_MAXIMUM_PORTS) + \ - CONFIGURE_MEMORY_FOR_PERIODS(CONFIGURE_MAXIMUM_PERIODS) + \ - CONFIGURE_MEMORY_FOR_USER_EXTENSIONS( \ - CONFIGURE_MAXIMUM_USER_EXTENSIONS + CONFIGURE_NEWLIB_EXTENSION + \ - CONFIGURE_STACK_CHECKER_EXTENSION ) + \ - CONFIGURE_MEMORY_FOR_DEVICES(CONFIGURE_MAXIMUM_DEVICES) + \ - CONFIGURE_MEMORY_FOR_MP + \ - CONFIGURE_MEMORY_FOR_SYSTEM_OVERHEAD + \ - (((CONFIGURE_MEMORY_OVERHEAD)+1) * 1024) + \ - (CONFIGURE_EXTRA_TASK_STACKS) + (CONFIGURE_ADA_TASKS_STACK) \ -) & 0xfffffc00) -#endif - -#ifdef CONFIGURE_GNAT_RTEMS -#define CONFIGURE_GNAT_MUTEXES 10 -#define CONFIGURE_GNAT_KEYS 1 - -/* 20 are required to run all tests in the ACVC */ -#ifndef CONFIGURE_MAXIMUM_ADA_TASKS -#define CONFIGURE_MAXIMUM_ADA_TASKS 20 -#endif - -/* This is the number of non-Ada tasks which invoked Ada code. */ -#ifndef CONFIGURE_MAXIMUM_FAKE_ADA_TASKS -#define CONFIGURE_MAXIMUM_FAKE_ADA_TASKS 0 -#endif - -/* Ada tasks are allocated twice the minimum stack space */ -#define CONFIGURE_ADA_TASKS_STACK \ - (CONFIGURE_MAXIMUM_ADA_TASKS * (RTEMS_MINIMUM_STACK_SIZE + (6 * 1024))) - -#else -#define CONFIGURE_GNAT_MUTEXES 0 -#define CONFIGURE_GNAT_KEYS 0 -#define CONFIGURE_MAXIMUM_ADA_TASKS 0 -#define CONFIGURE_MAXIMUM_FAKE_ADA_TASKS 0 -#define CONFIGURE_ADA_TASKS_STACK 0 -#endif - - -#ifdef CONFIGURE_INIT - -rtems_api_configuration_table Configuration_RTEMS_API = { - CONFIGURE_MAXIMUM_TASKS, - CONFIGURE_MAXIMUM_TIMERS, - CONFIGURE_MAXIMUM_SEMAPHORES + CONFIGURE_LIBIO_SEMAPHORES + - CONFIGURE_TERMIOS_SEMAPHORES, - CONFIGURE_MAXIMUM_MESSAGE_QUEUES, - CONFIGURE_MAXIMUM_PARTITIONS, - CONFIGURE_MAXIMUM_REGIONS + CONFIGURE_MALLOC_REGION, - CONFIGURE_MAXIMUM_PORTS, - CONFIGURE_MAXIMUM_PERIODS, - CONFIGURE_INIT_TASK_TABLE_SIZE, - CONFIGURE_INIT_TASK_TABLE -}; - -#ifdef RTEMS_POSIX_API -posix_api_configuration_table Configuration_POSIX_API = { - CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_ADA_TASKS, - CONFIGURE_MAXIMUM_POSIX_MUTEXES + CONFIGURE_GNAT_MUTEXES + - CONFIGURE_MAXIMUM_ADA_TASKS + CONFIGURE_MAXIMUM_FAKE_ADA_TASKS, - CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES + - CONFIGURE_MAXIMUM_ADA_TASKS + CONFIGURE_MAXIMUM_FAKE_ADA_TASKS, - CONFIGURE_MAXIMUM_POSIX_KEYS + CONFIGURE_GNAT_KEYS, - CONFIGURE_MAXIMUM_POSIX_TIMERS, - CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS, - CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES, - CONFIGURE_MAXIMUM_POSIX_SEMAPHORES, - CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE, - CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME -}; -#endif - -#ifdef RTEMS_ITRON_API -itron_api_configuration_table Configuration_ITRON_API = { - CONFIGURE_MAXIMUM_ITRON_TASKS, - CONFIGURE_MAXIMUM_ITRON_SEMAPHORES, - CONFIGURE_MAXIMUM_ITRON_EVENTFLAGS, - CONFIGURE_MAXIMUM_ITRON_MAILBOXES, - CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS, - CONFIGURE_MAXIMUM_ITRON_PORTS, - CONFIGURE_MAXIMUM_ITRON_MEMORY_POOLS, - CONFIGURE_MAXIMUM_ITRON_FIXED_MEMORY_POOLS, - CONFIGURE_ITRON_INIT_TASK_TABLE_SIZE, - CONFIGURE_ITRON_INIT_TASK_TABLE_NAME -}; -#endif - -rtems_configuration_table Configuration = { - CONFIGURE_EXECUTIVE_RAM_WORK_AREA, - CONFIGURE_EXECUTIVE_RAM_SIZE, - CONFIGURE_MAXIMUM_USER_EXTENSIONS + CONFIGURE_NEWLIB_EXTENSION + - CONFIGURE_STACK_CHECKER_EXTENSION, - CONFIGURE_MICROSECONDS_PER_TICK, - CONFIGURE_TICKS_PER_TIMESLICE, - CONFIGURE_MAXIMUM_DEVICES, - CONFIGURE_MAXIMUM_DRIVERS, - CONFIGURE_NUMBER_OF_DRIVERS, /* number of device drivers */ - Device_drivers, /* pointer to driver table */ - CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS, /* number of initial extensions */ - CONFIGURE_INITIAL_EXTENSION_TABLE, /* pointer to initial extensions */ - CONFIGURE_MULTIPROCESSING_TABLE, /* pointer to MP config table */ - &Configuration_RTEMS_API, /* pointer to RTEMS API config */ -#ifdef RTEMS_POSIX_API - &Configuration_POSIX_API, /* pointer to POSIX API config */ -#else - NULL, /* pointer to POSIX API config */ -#endif -#ifdef RTEMS_ITRON_API - &Configuration_ITRON_API /* pointer to ITRON API config */ -#else - NULL /* pointer to ITRON API config */ -#endif -}; -#endif - -#endif /* CONFIGURE_HAS_OWN_CONFIGURATION_TABLE */ - -#ifdef __cplusplus -} -#endif - -/* - * Some warnings and error checking - */ - -/* - * Make sure a task/thread of some sort is configured - */ - -#if (CONFIGURE_MAXIMUM_TASKS == 0) && \ - (CONFIGURE_MAXIMUM_POSIX_THREADS == 0) && \ - (CONFIGURE_MAXIMUM_ADA_TASKS == 0) && \ - (CONFIGURE_MAXIMUM_ITRON_TASKS == 0) -#error "CONFIGURATION ERROR: No tasks or threads configured!!" -#endif - -/* - * Make sure at least one of the initialization task/thread - * tables was defined. - */ - -#if !defined(CONFIGURE_RTEMS_INIT_TASKS_TABLE) && \ - !defined(CONFIGURE_POSIX_INIT_THREAD_TABLE) && \ - !defined(CONFIGURE_ITRON_INIT_TASK_TABLE) -#error "CONFIGURATION ERROR: No initialization tasks or threads configured!!" -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/include/rtems/.cvsignore b/c/src/exec/sapi/include/rtems/.cvsignore deleted file mode 100644 index 4f09d19b6d..0000000000 --- a/c/src/exec/sapi/include/rtems/.cvsignore +++ /dev/null @@ -1,3 +0,0 @@ -Makefile -Makefile.in -sptables.h diff --git a/c/src/exec/sapi/include/rtems/README b/c/src/exec/sapi/include/rtems/README deleted file mode 100644 index f29bdb45b7..0000000000 --- a/c/src/exec/sapi/include/rtems/README +++ /dev/null @@ -1,133 +0,0 @@ -# -# $Id$ -# - -Configuring a System Using the Template in confdefs.h -===================================================== - -The file confdefs.h is a Configuration Template file which can be -used to greatly simplify the creation and maintenance of RTEMS -Configuration Tables. The basic concepts are: - - + confdefs.h provides defaults for all configuration parameters - - + applications specify only those values they wish to override - - + confdefs.h can be the only file which knows the precise layout - of the RTEMS Configuration Tables. - -The Configuration Template setup is used by all RTEMS tests to -simplify the maintenance of the tests. - -Here is the section from the system.h file from test tm21 from -the Timing Test Suite: - - /* configuration information */ - - #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER - #define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER - - #define CONFIGURE_MAXIMUM_TASKS 102 - #define CONFIGURE_MAXIMUM_TIMERS 100 - #define CONFIGURE_MAXIMUM_SEMAPHORES 100 - #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 100 - #define CONFIGURE_MAXIMUM_PARTITIONS 100 - #define CONFIGURE_MAXIMUM_REGIONS 100 - #define CONFIGURE_MAXIMUM_PORTS 100 - #define CONFIGURE_MAXIMUM_PERIODS 100 - - #define CONFIGURE_TICKS_PER_TIMESLICE 0 - - #include - - -The above example overrides a number of the configuration parameters. -It informs the template that it is a member of the Timing Suite, -requires a console and timer driver, and that it needs 102 tasks, -100 timers, 100 semaphores, 100 message queues, 100 partitions, -100 regions, 100 ports, and 100 periods. By default, the test -would have gotten no drivers, 10 tasks, and no other RTEMS objects. - -The following shows the configuration tables generated by the -template by default. - - -#include - -#define NULL_DRIVER_TABLE_ENTRY \ - { NULL, NULL, NULL, NULL, NULL, NULL } - -rtems_driver_address_table Device_drivers[] = { -#ifdef CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER - CONSOLE_DRIVER_TABLE_ENTRY, -#endif -#ifdef CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER - CLOCK_DRIVER_TABLE_ENTRY, -#endif -#ifdef CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER - STUB_DRIVER_TABLE_ENTRY, -#endif - NULL_DRIVER_TABLE_ENTRY, -}; - -rtems_initialization_tasks_table Initialization_tasks[] = { - { rtems_build_name( 'U', 'I', '1', ' ' ), /* init task name */ - RTEMS_MINIMUM_STACK_SIZE, /* init task stack size */ - 1, /* init task priority */ - RTEMS_DEFAULT_ATTRIBUTES, /* init task attributes */ - Init, /* init task entry point */ - RTEMS_NO_PREEMPT, /* init task initial mode */ - 0 /* init task argument list */ - } -}; - -#ifdef CONFIGURE_MP_APPLICATION -/* - * NODE_NUMBER is assumed to be set on the compile line. - */ - -rtems_multiprocessing_table Multiprocessing_configuration = { - NODE_NUMBER, /* local node number */ - 2, /* maximum # nodes in system */ - 32, /* maximum # global objects */ - 32, /* maximum # proxies */ - &MPCI_table /* pointer to MPCI config table */ -}; -#endif - -/* - * CONFIGURE_EXECUTIVE_RAM_SIZE is a rough guess based on the number of - * tasks in the system plus enough extra to get a whole 64K extra. - * - * The NULL address for the workspace area is assumed to be assigned - * at startup time by the BSP. - */ - -rtems_configuration_table Configuration = { - NULL, /* executive RAM work area */ - CONFIGURE_EXECUTIVE_RAM_SIZE, /* executive RAM size */ - 10, /* maximum # tasks */ - 0, /* maximum # timers */ - 0, /* maximum # semaphores */ - 0, /* maximum # message queues */ - 0, /* maximum # messages */ - 0, /* maximum # partitions */ - 0, /* maximum # regions */ - 0, /* maximum # dp memory areas */ - 0, /* maximum # periods */ - 0, /* maximum # user extensions */ - RTEMS_MILLISECONDS_TO_MICROSECONDS(10), /* # us in a tick */ - 50, /* # ticks in a timeslice */ - sizeof (Initialization_tasks) / sizeof(rtems_initialization_tasks_table), - /* number of init tasks */ - Initialization_tasks, /* init task(s) table */ - sizeof (Device_drivers) / sizeof(rtems_driver_address_table), - /* number of device drivers */ - Device_drivers, /* pointer to driver address table */ - NULL, /* pointer to initial extensions */ -#ifdef CONFIGURE_MP_APPLICATION - &Multiprocessing_configuration -#else - NULL /* ptr to MP config table */ -#endif -}; diff --git a/c/src/exec/sapi/include/rtems/config.h b/c/src/exec/sapi/include/rtems/config.h deleted file mode 100644 index dcc1552d34..0000000000 --- a/c/src/exec/sapi/include/rtems/config.h +++ /dev/null @@ -1,183 +0,0 @@ -/* config.h - * - * This include file contains the table of user defined configuration - * parameters. - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __RTEMS_CONFIGURATION_h -#define __RTEMS_CONFIGURATION_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Unlimited object support. Changes the configuration table entry for POSIX - * or RTEMS APIs to bounded only by the memory of the work-space. - * - * Use the macro to define the resource unlimited before placing in - * the configuration table. - */ - -#include -#define RTEMS_UNLIMITED_OBJECTS OBJECTS_UNLIMITED_OBJECTS - -#define rtems_resource_unlimited(resource) \ - ( resource | RTEMS_UNLIMITED_OBJECTS ) - -/* - * This is kind of kludgy but it allows targets to totally ignore the - * optional APIs like POSIX and ITRON safely. - */ - -#ifdef RTEMS_POSIX_API -#include -#else -typedef void *posix_api_configuration_table; -#endif - -#ifdef RTEMS_ITRON_API -#include -#include -#else -typedef void *itron_api_configuration_table; -#endif - -#include - -/* XXX should cover these -#include -#include -#include -*/ - -#include -#include -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif - -/* - * The following records define the Multiprocessor Configuration - * Table. This table defines the multiprocessor system - * characteristics which must be known by RTEMS in a multiprocessor - * system. - */ - -typedef struct { - rtems_unsigned32 node; /* local node number */ - rtems_unsigned32 maximum_nodes; /* maximum # nodes in system */ - rtems_unsigned32 maximum_global_objects; /* maximum # global objects */ - rtems_unsigned32 maximum_proxies; /* maximum # proxies */ -#if defined(RTEMS_MULTIPROCESSING) - rtems_mpci_table *User_mpci_table; /* pointer to MPCI table */ -#else - void *User_mpci_table; /* pointer to MPCI table */ -#endif -} rtems_multiprocessing_table; - -/* - * The following records define the Configuration Table. The - * information contained in this table is required in all - * RTEMS systems, whether single or multiprocessor. This - * table primarily defines the following: - * - * + location and size of the RTEMS Workspace - * + microseconds per clock tick - * + clock ticks per task timeslice - * + required number of each object type for each API configured - */ - -typedef struct { - void *work_space_start; - rtems_unsigned32 work_space_size; - rtems_unsigned32 maximum_extensions; - rtems_unsigned32 microseconds_per_tick; - rtems_unsigned32 ticks_per_timeslice; - rtems_unsigned32 maximum_devices; - rtems_unsigned32 maximum_drivers; - rtems_unsigned32 number_of_device_drivers; - rtems_driver_address_table *Device_driver_table; - rtems_unsigned32 number_of_initial_extensions; - rtems_extensions_table *User_extension_table; - rtems_multiprocessing_table *User_multiprocessing_table; - rtems_api_configuration_table *RTEMS_api_configuration; - posix_api_configuration_table *POSIX_api_configuration; - itron_api_configuration_table *ITRON_api_configuration; -} rtems_configuration_table; - -/* - * The following are provided strictly for the convenience of - * the user. They are not used in RTEMS itself. - */ - -SAPI_EXTERN rtems_configuration_table *_Configuration_Table; -SAPI_EXTERN rtems_multiprocessing_table *_Configuration_MP_table; - -/* - * Some handy macros to avoid dependencies on either the BSP - * or the exact format of the configuration table. - */ - -#define rtems_configuration_get_table() \ - (&_Configuration_Table) - -#define rtems_configuration_get_work_space_start() \ - (_Configuration_Table->work_space_start) - -#define rtems_configuration_get_work_space_size() \ - (_Configuration_Table->work_space_size) - -#define rtems_configuration_get_maximum_extensions() \ - (_Configuration_Table->maximum_extensions) - -#define rtems_configuration_get_microseconds_per_tick() \ - (_Configuration_Table->microseconds_per_tick) -#define rtems_configuration_get_milliseconds_per_tick() \ - (_Configuration_Table->microseconds_per_tick / 1000) - -#define rtems_configuration_get_ticks_per_timeslice() \ - (_Configuration_Table->ticks_per_timeslice) - -#define rtems_configuration_get_maximum_devices() \ - (_Configuration_Table->maximum_devices) - -#define rtems_configuration_get_number_of_device_drivers() \ - (_Configuration_Table->number_of_device_drivers) - -#define rtems_configuration_get_device_driver_table() \ - (_Configuration_Table->device_driver_table) - -#define rtems_configuration_get_number_of_initial_extensions() \ - (_Configuration_Table->number_of_initial_extensions) - -#define rtems_configuration_get_user_extension_table() \ - (_Configuration_Table->user_extension_table) - -#define rtems_configuration_get_user_multiprocessing_table() \ - (_Configuration_Table->User_multiprocessing_table) - -#define rtems_configuration_get_rtems_api_configuration() \ - (_Configuration_Table->RTEMS_api_configuration) - -#define rtems_configuration_get_posix_api_configuration() \ - (_Configuration_Table->POSIX_api_configuration) - -#define rtems_configuration_get_itron_api_configuration() \ - (_Configuration_Table->ITRON_api_configuration) - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/include/rtems/extension.h b/c/src/exec/sapi/include/rtems/extension.h deleted file mode 100644 index ed532658f2..0000000000 --- a/c/src/exec/sapi/include/rtems/extension.h +++ /dev/null @@ -1,137 +0,0 @@ -/* extension.h - * - * This include file contains all the constants, structures, and - * prototypes associated with the User Extension Manager. This manager - * provides a mechanism for manipulating sets of user-defined extensions. - * - * Directives provided are: - * - * + create user extension set - * + get ID of user extension set - * + delete user extension set - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __RTEMS_EXTENSION_MANAGER_h -#define __RTEMS_EXTENSION_MANAGER_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include /* XXX */ -#include /* XXX */ - -/* - * Extension related types - */ - -typedef User_extensions_routine rtems_extension; -typedef User_extensions_thread_create_extension rtems_task_create_extension; -typedef User_extensions_thread_delete_extension rtems_task_delete_extension; -typedef User_extensions_thread_start_extension rtems_task_start_extension; -typedef User_extensions_thread_restart_extension rtems_task_restart_extension; -typedef User_extensions_thread_switch_extension rtems_task_switch_extension; -typedef User_extensions_thread_post_switch_extension - rtems_task_post_switch_extension; -typedef User_extensions_thread_begin_extension rtems_task_begin_extension; -typedef User_extensions_thread_exitted_extension rtems_task_exitted_extension; -typedef User_extensions_fatal_extension rtems_fatal_extension; - -typedef User_extensions_Table rtems_extensions_table; - -/* - * The following defines the information control block used to manage - * this class of objects. - */ - -SAPI_EXTERN Objects_Information _Extension_Information; - -/* - * The following records define the control block used to manage - * each extension. - */ - -typedef struct { - Objects_Control Object; - User_extensions_Control Extension; -} Extension_Control; - -/* - * _Extension_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -void _Extension_Manager_initialization( - unsigned32 maximum_extensions -); - -/* - * rtems_extension_create - * - * DESCRIPTION: - * - * This routine implements the rtems_extension_create directive. The - * extension will have the name name. The entry points of the - * routines which constitute this extension set are in EXTENSION_TABLE. - * It returns the id of the created extension in ID. - */ - -rtems_status_code rtems_extension_create( - rtems_name name, - rtems_extensions_table *extension_table, - Objects_Id *id -); - -/* - * rtems_extension_ident - * - * DESCRIPTION: - * - * This routine implements the rtems_extension_ident directive. - * This directive returns the extension ID associated with name. - * If more than one extension is named name, then the extension - * to which the ID belongs is arbitrary. - */ - -rtems_status_code rtems_extension_ident( - rtems_name name, - Objects_Id *id -); - -/* - * rtems_extension_delete - * - * DESCRIPTION: - * - * This routine implements the rtems_extension_delete directive. The - * extension indicated by ID is deleted. - */ - -rtems_status_code rtems_extension_delete( - Objects_Id id -); - -#ifndef __RTEMS_APPLICATION__ -#include -#endif - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/include/rtems/fatal.h b/c/src/exec/sapi/include/rtems/fatal.h deleted file mode 100644 index fd50518aef..0000000000 --- a/c/src/exec/sapi/include/rtems/fatal.h +++ /dev/null @@ -1,48 +0,0 @@ -/* fatal.h - * - * This include file contains constants and prototypes related - * to the Fatal Error Manager. This manager processes all fatal or - * irrecoverable errors. - * - * This manager provides directives to: - * - * + announce a fatal error has occurred - * - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __RTEMS_FATAL_h -#define __RTEMS_FATAL_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * rtems_fatal_error_occurred - * - * DESCRIPTION: - * - * This is the routine which implements the rtems_fatal_error_occurred - * directive. It is invoked when the application or RTEMS - * determines that a fatal error has occurred. - */ - -void volatile rtems_fatal_error_occurred( - unsigned32 the_error -); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/include/rtems/init.h b/c/src/exec/sapi/include/rtems/init.h deleted file mode 100644 index 0aa86a29ef..0000000000 --- a/c/src/exec/sapi/include/rtems/init.h +++ /dev/null @@ -1,109 +0,0 @@ -/* init.h - * - * This include file contains all the constants and structures associated - * with the Initialization Manager. This manager is responsible for - * initializing RTEMS, creating and starting all configured initialization - * tasks, invoking the initialization routine for each user-supplied device - * driver, and initializing the optional multiprocessor layer. - * - * This manager provides directives to: - * - * + initialize the RTEMS executive - * + shutdown the RTEMS executive - * - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __RTEMS_INIT_h -#define __RTEMS_INIT_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include - -/* - * The following defines the default Multiprocessing Configuration - * Table. This table is used in a single processor system. - */ - -extern const rtems_multiprocessing_table - _Initialization_Default_multiprocessing_table; - -/* - * rtems_initialize_executive - * - * DESCRIPTION: - * - * This routine implements the rtems_initialize_executive directive. This - * directive is invoked at system startup to initialize the RTEMS - * multitasking environment. - */ - -void rtems_initialize_executive( - rtems_configuration_table *configuration_table, - rtems_cpu_table *cpu_table -); - -/* - * rtems_initialize_executive_early - * - * DESCRIPTION: - * - * This routine implements the early portion of rtems_initialize_executive - * directive up to the pretasking hook. This directive is invoked at system - * startup to initialize the RTEMS multitasking environment. - */ - -rtems_interrupt_level rtems_initialize_executive_early( - rtems_configuration_table *configuration_table, - rtems_cpu_table *cpu_table -); - -/* - * rtems_initialize_executive_late - * - * DESCRIPTION: - * - * This routine implements the early portion of rtems_initialize_executive - * directive up to the pretasking hook. This directive is invoked at system - * startup to initialize the RTEMS multitasking environment. - */ - -void rtems_initialize_executive_late( - rtems_interrupt_level bsp_level -); - -/* - * rtems_shutdown_executive - * - * DESCRIPTION: - * - * This routine implements the rtems_shutdown_executive directive. The - * invocation of this directive results in the RTEMS environment being - * shutdown and multitasking halted. From the application's perspective, - * invocation of this directive results in the rtems_initialize_executive - * directive exitting to the startup code which invoked it. - */ - -void rtems_shutdown_executive( - unsigned32 result -); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/include/rtems/io.h b/c/src/exec/sapi/include/rtems/io.h deleted file mode 100644 index 60d7ea2d53..0000000000 --- a/c/src/exec/sapi/include/rtems/io.h +++ /dev/null @@ -1,272 +0,0 @@ -/* io.h - * - * This include file contains all the constants and structures associated - * with the Input/Output Manager. This manager provides a well defined - * mechanism for accessing device drivers and a structured methodology for - * organizing device drivers. - * - * Directives provided are: - * - * + initialize a device driver - * + open a device driver - * + close a device driver - * + read from a device driver - * + write to a device driver - * + special device services - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __RTEMS_IO_h -#define __RTEMS_IO_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/* - * - * The following defines the types for: - * - * + major and minor numbers - * + the return type of a device driver entry - * + a pointer to a device driver entry - * + an entry in the the Device Driver Address Table. Each entry in this - * table corresponds to an application provided device driver and - * defines the entry points for that device driver. - */ - -typedef unsigned32 rtems_device_major_number; -typedef unsigned32 rtems_device_minor_number; - -typedef rtems_status_code rtems_device_driver; - -typedef rtems_device_driver ( *rtems_device_driver_entry )( - rtems_device_major_number, - rtems_device_minor_number, - void * - ); - -typedef struct { - rtems_device_driver_entry initialization_entry; /* initialization procedure */ - rtems_device_driver_entry open_entry; /* open request procedure */ - rtems_device_driver_entry close_entry; /* close request procedure */ - rtems_device_driver_entry read_entry; /* read request procedure */ - rtems_device_driver_entry write_entry; /* write request procedure */ - rtems_device_driver_entry control_entry; /* special functions procedure */ -} rtems_driver_address_table; - -/* - * Table for the io device names - */ - -typedef struct { - char *device_name; - unsigned32 device_name_length; - rtems_device_major_number major; - rtems_device_minor_number minor; -} rtems_driver_name_t; - -/* - * This is the table of device names. - */ - -/* - * The following declare the data required to manage the Driver - * Address Table and Device Name Table. - */ - -SAPI_EXTERN unsigned32 _IO_Number_of_drivers; -SAPI_EXTERN rtems_driver_address_table *_IO_Driver_address_table; -SAPI_EXTERN unsigned32 _IO_Number_of_devices; -SAPI_EXTERN rtems_driver_name_t *_IO_Driver_name_table; - -/* - * _IO_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -void _IO_Manager_initialization( - rtems_driver_address_table *driver_table, - unsigned32 drivers_in_table, - unsigned32 number_of_drivers, - unsigned32 number_of_devices -); - -/* - * rtems_io_register_driver - * - * DESCRIPTION: - * - * Register a driver into the device driver table. - * - */ - -rtems_status_code rtems_io_register_driver( - rtems_device_major_number major, - rtems_driver_address_table *driver_table, - rtems_device_major_number *registered_major -); - -/* - * rtems_io_unregister_driver - * - * DESCRIPTION: - * - * Unregister a driver from the device driver table. - * - */ - -rtems_status_code rtems_io_unregister_driver( - rtems_device_major_number major -); - -/* - * rtems_io_register_name - * - * DESCRIPTION: - * - * Associate a name with a driver. - * - */ - -rtems_status_code rtems_io_register_name( - char *device_name, - rtems_device_major_number major, - rtems_device_minor_number minor -); - - -/* - * rtems_io_lookup_name - * - * DESCRIPTION: - * - * Find what driver "owns" this name - */ - -rtems_status_code rtems_io_lookup_name( - const char *name, - rtems_driver_name_t **device_info -); - - -/* - * rtems_io_initialize - * - * DESCRIPTION: - * - * This routine implements the rtems_io_initialize directive. It is invoked - * to initialize a device driver or an individual device. - */ - -rtems_status_code rtems_io_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -); - -/* - * rtems_io_open - * - * DESCRIPTION: - * - * This routine implements the rtems_io_open directive. It is invoked - * to open a device. - */ - -rtems_status_code rtems_io_open( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -); - -/* - * rtems_io_close - * - * DESCRIPTION: - * - * This routine implements the rtems_io_close directive. It is invoked - * to close a device. - */ - -rtems_status_code rtems_io_close( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -); - -/* - * rtems_io_read - * - * DESCRIPTION: - * - * This routine implements the rtems_io_read directive. It is invoked - * to read from a device. - */ - -rtems_status_code rtems_io_read( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -); - -/* - * rtems_io_write - * - * DESCRIPTION: - * - * This routine implements the rtems_io_write directive. It is invoked - * to write to a device. - */ - -rtems_status_code rtems_io_write( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -); - -/* - * rtems_io_control - * - * DESCRIPTION: - * - * This routine implements the rtems_io_control directive. It is invoked - * to perform a device specific operation on a device. - */ - -rtems_status_code rtems_io_control( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -); - -/* - * _IO_Initialize_all_drivers - * - * DESCRIPTION: - * - * This routine initializes all of the device drivers configured - * in the Device Driver Address Table. - */ - -void _IO_Initialize_all_drivers( void ); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/include/rtems/mptables.h b/c/src/exec/sapi/include/rtems/mptables.h deleted file mode 100644 index f1e7435442..0000000000 --- a/c/src/exec/sapi/include/rtems/mptables.h +++ /dev/null @@ -1,28 +0,0 @@ -/* mptables.h - * - * This include file contains the executive's pre-initialized tables - * used in a multiprocessor configuration. - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __RTEMS_MPTABLES_h -#define __RTEMS_MPTABLES_h - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/include/rtems/sptables.h.in b/c/src/exec/sapi/include/rtems/sptables.h.in deleted file mode 100644 index 4d1425120b..0000000000 --- a/c/src/exec/sapi/include/rtems/sptables.h.in +++ /dev/null @@ -1,85 +0,0 @@ -/* sptables.h - * - * This include file contains the executive's pre-initialized tables - * used when in a single processor configuration. - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __RTEMS_SPTABLES_h -#define __RTEMS_SPTABLES_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif -#include -#include -#include -#include -#include -#include - -/* - * This is the default Multiprocessing Configuration Table. - * It is used in single processor configurations. - */ - -#if defined(SAPI_INIT) -const rtems_multiprocessing_table - _Initialization_Default_multiprocessing_table = { - 1, /* local node number */ - 1, /* maximum number nodes in system */ - 0, /* maximum number global objects */ - 0, /* maximum number proxies */ - NULL, /* pointer to MPCI address table */ -}; -#else -extern const rtems_multiprocessing_table - _Initialization_Default_multiprocessing_table; -#endif - -/* - * This is the version string. - */ - -#define RTEMS_VERSION "rtems-@RTEMS_VERSION@" - -#if defined(SAPI_INIT) -const char _RTEMS_version[] = - "RTEMS RELEASE " RTEMS_VERSION - "(" CPU_NAME "/" CPU_MODEL_NAME "/@RTEMS_BSP@)"; -#else -extern const char _RTEMS_version[]; -#endif - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/inline/.cvsignore b/c/src/exec/sapi/inline/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/exec/sapi/inline/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/exec/sapi/inline/Makefile.am b/c/src/exec/sapi/inline/Makefile.am deleted file mode 100644 index 860ea46bc6..0000000000 --- a/c/src/exec/sapi/inline/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -## -## $Id$ -## - - -include_rtemsdir = $(includedir)/rtems - -$(PROJECT_INCLUDE)/rtems: - @$(mkinstalldirs) $@ -$(PROJECT_INCLUDE)/%: % - $(INSTALL_DATA) $< $@ - -if INLINE -include_rtems_HEADERS = rtems/extension.inl - -PREINSTALL_FILES = $(PROJECT_INCLUDE)/rtems \ - $(include_rtems_HEADERS:%=$(PROJECT_INCLUDE)/%) -endif - -all-local: $(PREINSTALL_FILES) - -include $(top_srcdir)/automake/local.am diff --git a/c/src/exec/sapi/inline/rtems/.cvsignore b/c/src/exec/sapi/inline/rtems/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/exec/sapi/inline/rtems/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/exec/sapi/inline/rtems/extension.inl b/c/src/exec/sapi/inline/rtems/extension.inl deleted file mode 100644 index 01bb1e7dbe..0000000000 --- a/c/src/exec/sapi/inline/rtems/extension.inl +++ /dev/null @@ -1,90 +0,0 @@ -/* extension.inl - * - * This file contains the static inline implementation of the inlined routines - * from the Extension Manager. - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __EXTENSION_MANAGER_inl -#define __EXTENSION_MANAGER_inl - -/*PAGE - * - * _Extension_Allocate - * - * DESCRIPTION: - * - * This function allocates a extension control block from - * the inactive chain of free extension control blocks. - */ - -RTEMS_INLINE_ROUTINE Extension_Control *_Extension_Allocate( void ) -{ - return (Extension_Control *) _Objects_Allocate( &_Extension_Information ); -} - -/*PAGE - * - * _Extension_Free - * - * DESCRIPTION: - * - * This routine frees a extension control block to the - * inactive chain of free extension control blocks. - */ - -RTEMS_INLINE_ROUTINE void _Extension_Free ( - Extension_Control *the_extension -) -{ - _Objects_Free( &_Extension_Information, &the_extension->Object ); -} - -/*PAGE - * - * _Extension_Get - * - * DESCRIPTION: - * - * This function maps extension IDs to extension control blocks. - * If ID corresponds to a local extension, then it returns - * the extension control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the returned value is undefined. - */ - -RTEMS_INLINE_ROUTINE Extension_Control *_Extension_Get ( - Objects_Id id, - Objects_Locations *location -) -{ - return (Extension_Control *) - _Objects_Get( &_Extension_Information, id, location ); -} - -/*PAGE - * - * _Extension_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_extension is NULL and FALSE otherwise. - */ - -RTEMS_INLINE_ROUTINE boolean _Extension_Is_null ( - Extension_Control *the_extension -) -{ - return ( the_extension == NULL ); -} - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/macros/.cvsignore b/c/src/exec/sapi/macros/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/exec/sapi/macros/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/exec/sapi/macros/Makefile.am b/c/src/exec/sapi/macros/Makefile.am deleted file mode 100644 index ba9fe74460..0000000000 --- a/c/src/exec/sapi/macros/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -## -## $Id$ -## - - -include_rtemsdir = $(includedir)/rtems - -$(PROJECT_INCLUDE)/rtems: - @$(mkinstalldirs) $@ -$(PROJECT_INCLUDE)/%: % - $(INSTALL_DATA) $< $@ - -if MACROS -include_rtems_HEADERS = rtems/extension.inl - -PREINSTALL_FILES = $(PROJECT_INCLUDE)/rtems \ - $(include_rtems_HEADERS:%=$(PROJECT_INCLUDE)/%) -endif - -all-local: $(PREINSTALL_FILES) - -include $(top_srcdir)/automake/local.am diff --git a/c/src/exec/sapi/macros/rtems/.cvsignore b/c/src/exec/sapi/macros/rtems/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/exec/sapi/macros/rtems/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/exec/sapi/macros/rtems/extension.inl b/c/src/exec/sapi/macros/rtems/extension.inl deleted file mode 100644 index 5501e1e3f6..0000000000 --- a/c/src/exec/sapi/macros/rtems/extension.inl +++ /dev/null @@ -1,57 +0,0 @@ -/* extension.inl - * - * This file contains the macro implementation of the inlined routines - * from the Extension Manager. - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __EXTENSION_inl -#define __EXTENSION_inl - -/*PAGE - * - * _Extension_Allocate - * - */ - -#define _Extension_Allocate() \ - (Extension_Control *) _Objects_Allocate( &_Extension_Information ) - -/*PAGE - * - * _Extension_Free - * - */ - -#define _Extension_Free( _the_extension ) \ - _Objects_Free( &_Extension_Information, &(_the_extension)->Object ) - -/*PAGE - * - * _Extension_Get - * - */ - -#define _Extension_Get( _id, _location ) \ - (Extension_Control *) \ - _Objects_Get( &_Extension_Information, (_id), (_location) ) - -/*PAGE - * - * _Extension_Is_null - * - */ - -#define _Extension_Is_null( _the_extension ) \ - ( (_the_extension) == NULL ) - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/src/.cvsignore b/c/src/exec/sapi/src/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/exec/sapi/src/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/exec/sapi/src/Makefile.am b/c/src/exec/sapi/src/Makefile.am deleted file mode 100644 index a2fc897c85..0000000000 --- a/c/src/exec/sapi/src/Makefile.am +++ /dev/null @@ -1,28 +0,0 @@ -## -## $Id$ -## - - -EXTENSION_FILES = extension.c extensioncreate.c extensiondelete.c \ - extensionident.c -C_FILES = debug.c $(EXTENSION_FILES) fatal.c exinit.c io.c \ - itronapi.c posixapi.c rtemsapi.c -C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o) - -OBJS = $(C_O_FILES) - -include $(top_srcdir)/automake/multilib.am -include $(top_srcdir)/automake/compile.am -include $(top_srcdir)/automake/lib.am - -# -# Add local stuff here using += -# - -AM_CPPFLAGS += -D__RTEMS_INSIDE__ - -all-local: ${ARCH} ${OBJS} - -EXTRA_DIST = $(C_FILES) - -include $(top_srcdir)/automake/local.am diff --git a/c/src/exec/sapi/src/debug.c b/c/src/exec/sapi/src/debug.c deleted file mode 100644 index e58a7219c2..0000000000 --- a/c/src/exec/sapi/src/debug.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Debug Manager - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include -#include - -/*PAGE - * - * _Debug_Manager_initialization - */ - -void _Debug_Manager_initialization( void ) -{ - rtems_debug_disable( RTEMS_DEBUG_ALL_MASK ); -} - -/*PAGE - * - * rtems_debug_enable - */ - -void rtems_debug_enable ( - rtems_debug_control to_be_enabled -) -{ - _Debug_Level |= to_be_enabled; -} - -/*PAGE - * - * rtems_debug_disable - */ - -void rtems_debug_disable ( - rtems_debug_control to_be_disabled -) -{ - _Debug_Level &= ~to_be_disabled; -} - -/*PAGE - * - * _Debug_Is_enabled - */ - -boolean _Debug_Is_enabled( - rtems_debug_control level -) -{ - return (_Debug_Level & level); -} diff --git a/c/src/exec/sapi/src/exinit.c b/c/src/exec/sapi/src/exinit.c deleted file mode 100644 index 8206e174c2..0000000000 --- a/c/src/exec/sapi/src/exinit.c +++ /dev/null @@ -1,328 +0,0 @@ -/* - * Initialization Manager - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -/* - * SCORE_INIT and SAPI_INIT are defined so all of the super core and - * super API data will be included in this object file. - */ - -#define SAPI_INIT -#define SCORE_INIT - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif -#include -#include -#include -#include -#include -#include - -#include - - -#include -#ifdef RTEMS_POSIX_API -#include -#endif -#ifdef RTEMS_ITRON_API -#include -#endif - -Objects_Information *_Internal_Objects[ OBJECTS_INTERNAL_CLASSES_LAST + 1 ]; - -/*PAGE - * - * rtems_initialize_executive - * - * This directive initializes all the kernels data structures - * to the states necessary for the kernel to begin execution. All - * include files that contain global variable definitions should be - * included in this file. The system threads and initialization threads - * are created and started by this routine. This routine then - * initiates multithreading. - * - * Input parameters: - * configuration_table - pointer to the user's configuration table - * cpu_table - pointer to the user's CPU configuration table - * - * Output parameters: NONE - */ - -void rtems_initialize_executive( - rtems_configuration_table *configuration_table, - rtems_cpu_table *cpu_table -) -{ - rtems_interrupt_level bsp_level; - - bsp_level = rtems_initialize_executive_early(configuration_table, cpu_table); - rtems_initialize_executive_late( bsp_level ); -} - -rtems_interrupt_level rtems_initialize_executive_early( - rtems_configuration_table *configuration_table, - rtems_cpu_table *cpu_table -) -{ - rtems_interrupt_level bsp_level; - rtems_multiprocessing_table *multiprocessing_table; - - /* - * Dispatching and interrupts are disabled until the end of the - * initialization sequence. This prevents an inadvertent context - * switch before the executive is initialized. - */ - - _ISR_Disable( bsp_level ); - - if ( configuration_table == NULL ) - _Internal_error_Occurred( - INTERNAL_ERROR_CORE, - TRUE, - INTERNAL_ERROR_NO_CONFIGURATION_TABLE - ); - - /* - * 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. - */ - - _Configuration_Table = configuration_table; - _Configuration_MP_table = multiprocessing_table; - - /* - * Internally we view single processor systems as a very restricted - * multiprocessor system. - */ - - if ( multiprocessing_table == NULL ) - multiprocessing_table = - (void *)&_Initialization_Default_multiprocessing_table; - - if ( cpu_table == NULL ) - _Internal_error_Occurred( - INTERNAL_ERROR_CORE, - TRUE, - INTERNAL_ERROR_NO_CPU_TABLE - ); - - _CPU_Initialize( cpu_table, _Thread_Dispatch ); - - /* - * Do this as early as possible to insure no debugging output - * is even attempted to be printed. - */ - - _Debug_Manager_initialization(); - - _API_extensions_Initialization(); - - _Thread_Dispatch_initialization(); - - _Workspace_Handler_initialization( - (void *)configuration_table->work_space_start, - configuration_table->work_space_size - ); - - _User_extensions_Handler_initialization( - configuration_table->number_of_initial_extensions, - configuration_table->User_extension_table - ); - - _ISR_Handler_initialization(); - - _Objects_Handler_initialization( - multiprocessing_table->node, - multiprocessing_table->maximum_nodes, - multiprocessing_table->maximum_global_objects - ); - - _Objects_Information_table[OBJECTS_INTERNAL_API] = _Internal_Objects; - - _Priority_Handler_initialization(); - - _Watchdog_Handler_initialization(); - - _TOD_Handler_initialization( configuration_table->microseconds_per_tick ); - - _Thread_Handler_initialization( - configuration_table->ticks_per_timeslice, - configuration_table->maximum_extensions, - multiprocessing_table->maximum_proxies - ); - -#if defined(RTEMS_MULTIPROCESSING) - _MPCI_Handler_initialization( - multiprocessing_table->User_mpci_table, - RTEMS_TIMEOUT - ); -#endif - -/* MANAGERS */ - - _RTEMS_API_Initialize( configuration_table ); - - _Extension_Manager_initialization( configuration_table->maximum_extensions ); - - _IO_Manager_initialization( - configuration_table->Device_driver_table, - configuration_table->number_of_device_drivers, - configuration_table->maximum_drivers, - configuration_table->maximum_devices - ); - -#ifdef RTEMS_POSIX_API - _POSIX_API_Initialize( configuration_table ); -#endif - -#ifdef RTEMS_ITRON_API - _ITRON_API_Initialize( configuration_table ); -#endif - - _System_state_Set( SYSTEM_STATE_BEFORE_MULTITASKING ); - - /* - * No threads should be created before this point!!! - * _Thread_Executing and _Thread_Heir are not set. - * - * At this point all API extensions are in place. After the call to - * _Thread_Create_idle() _Thread_Executing and _Thread_Heir will be set. - */ - - _Thread_Create_idle(); - - - /* - * Scheduling can properly occur now as long as we avoid dispatching. - */ - - if ( cpu_table->pretasking_hook ) - (*cpu_table->pretasking_hook)(); - -#if defined(RTEMS_MULTIPROCESSING) - _MPCI_Create_server(); -#endif - - /* - * Run the API and BSPs predriver hook. - */ - - _API_extensions_Run_predriver(); - - if ( _CPU_Table.predriver_hook ) - (*_CPU_Table.predriver_hook)(); - - /* - * Initialize all the device drivers and initialize the MPCI layer. - * - * NOTE: The MPCI may be build upon a device driver. - */ - - _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. - * - * The API extensions are supposed to create user initialization tasks. - */ - - _API_extensions_Run_postdriver(); - - if ( _CPU_Table.postdriver_hook ) - (*_CPU_Table.postdriver_hook)(); - - return bsp_level; -} - -void rtems_initialize_executive_late( - rtems_interrupt_level bsp_level -) -{ - - _System_state_Set( SYSTEM_STATE_BEGIN_MULTITASKING ); - - _Thread_Start_multitasking(); - - /* - * Restore the interrupt level to what the BSP had. Technically, - * this is unnecessary since the BSP should have all interrupts - * disabled when rtems_initialize_executive is invoked. But this keeps - * the ISR Disable/Enable calls paired. - */ - - _ISR_Enable( bsp_level ); -} - -/*PAGE - * - * rtems_shutdown_executive - * - * This kernel routine shutdowns the executive. It halts multitasking - * and returns control to the application execution "thread" which - * initialially invoked the rtems_initialize_executive directive. - * - * Input parameters: NONE - * - * Output parameters: NONE - */ - -void rtems_shutdown_executive( - unsigned32 result -) -{ - if ( _System_state_Current != SYSTEM_STATE_SHUTDOWN ) { - _System_state_Set( SYSTEM_STATE_SHUTDOWN ); - _Thread_Stop_multitasking(); - } -} diff --git a/c/src/exec/sapi/src/extension.c b/c/src/exec/sapi/src/extension.c deleted file mode 100644 index d0bac7a4b4..0000000000 --- a/c/src/exec/sapi/src/extension.c +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Extension Manager - * - * - * COPYRIGHT (c) 1989-2002. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include -#include -#include -#include -#include - -/*PAGE - * - * _Extension_Manager_initialization - * - * This routine initializes all extension manager related data structures. - * - * Input parameters: - * maximum_extensions - number of extensions to initialize - * - * Output parameters: NONE - */ - -void _Extension_Manager_initialization( - unsigned32 maximum_extensions -) -{ - _Objects_Initialize_information( - &_Extension_Information, - OBJECTS_CLASSIC_API, /* object API */ - OBJECTS_RTEMS_EXTENSIONS, - maximum_extensions, - sizeof( Extension_Control ), - FALSE, /* TRUE if the name is a string */ - RTEMS_MAXIMUM_NAME_LENGTH /* maximum length of an object name */ -#if defined(RTEMS_MULTIPROCESSING) - , - FALSE, /* TRUE if this is a global object class */ - NULL /* Proxy extraction support callout */ -#endif - ); -} diff --git a/c/src/exec/sapi/src/extensioncreate.c b/c/src/exec/sapi/src/extensioncreate.c deleted file mode 100644 index d6dad318d3..0000000000 --- a/c/src/exec/sapi/src/extensioncreate.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Extension Manager -- rtems_extension_create - * - * - * COPYRIGHT (c) 1989-2002. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include -#include -#include -#include -#include - -/*PAGE - * - * rtems_extension_create - * - * This directive creates a extension and performs some initialization. - * - * Input parameters: - * name - extension name - * extension_table - pointer to extension set information - * id - pointer to extension id - * - * Output parameters: - * id - extension id - * RTEMS_SUCCESSFUL - if successful - * error code - if unsuccessful - */ - -rtems_status_code rtems_extension_create( - rtems_name name, - rtems_extensions_table *extension_table, - Objects_Id *id -) -{ - Extension_Control *the_extension; - - if ( !rtems_is_name_valid( name ) ) - return RTEMS_INVALID_NAME; - - _Thread_Disable_dispatch(); /* to prevent deletion */ - - the_extension = _Extension_Allocate(); - - if ( !the_extension ) { - _Thread_Enable_dispatch(); - return RTEMS_TOO_MANY; - } - - _User_extensions_Add_set( &the_extension->Extension, extension_table ); - - _Objects_Open( &_Extension_Information, &the_extension->Object, &name ); - - *id = the_extension->Object.id; - _Thread_Enable_dispatch(); - return RTEMS_SUCCESSFUL; -} diff --git a/c/src/exec/sapi/src/extensiondelete.c b/c/src/exec/sapi/src/extensiondelete.c deleted file mode 100644 index 9c06d25f88..0000000000 --- a/c/src/exec/sapi/src/extensiondelete.c +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Extension Manager -- rtems_extension_delete - * - * - * COPYRIGHT (c) 1989-2002. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include -#include -#include -#include -#include - -/*PAGE - * - * rtems_extension_delete - * - * This directive allows a thread to delete a extension. - * - * Input parameters: - * id - extension id - * - * Output parameters: - * RTEMS_SUCCESSFUL - if successful - * error code - if unsuccessful - */ - -rtems_status_code rtems_extension_delete( - Objects_Id id -) -{ - Extension_Control *the_extension; - Objects_Locations location; - - the_extension = _Extension_Get( id, &location ); - switch ( location ) { - case OBJECTS_ERROR: - case OBJECTS_REMOTE: /* should never return this */ - return RTEMS_INVALID_ID; - case OBJECTS_LOCAL: - _User_extensions_Remove_set( &the_extension->Extension ); - _Objects_Close( &_Extension_Information, &the_extension->Object ); - _Extension_Free( the_extension ); - _Thread_Enable_dispatch(); - return RTEMS_SUCCESSFUL; - } - - return RTEMS_INTERNAL_ERROR; /* unreached - only to remove warnings */ -} diff --git a/c/src/exec/sapi/src/extensionident.c b/c/src/exec/sapi/src/extensionident.c deleted file mode 100644 index cc7b105832..0000000000 --- a/c/src/exec/sapi/src/extensionident.c +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Extension Manager -- rtems_extension_ident - * - * - * COPYRIGHT (c) 1989-2002. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include -#include -#include -#include -#include - -/*PAGE - * - * rtems_extension_ident - * - * This directive returns the system ID associated with - * the extension name. - * - * Input parameters: - * name - user defined message queue name - * id - pointer to extension id - * - * Output parameters: - * *id - message queue id - * RTEMS_SUCCESSFUL - if successful - * error code - if unsuccessful - */ - -rtems_status_code rtems_extension_ident( - rtems_name name, - Objects_Id *id -) -{ - Objects_Name_to_id_errors status; - - status = _Objects_Name_to_id( - &_Extension_Information, - &name, - OBJECTS_SEARCH_LOCAL_NODE, - id - ); - - return _Status_Object_name_errors_to_status[ status ]; -} diff --git a/c/src/exec/sapi/src/fatal.c b/c/src/exec/sapi/src/fatal.c deleted file mode 100644 index 8a0e3cedf0..0000000000 --- a/c/src/exec/sapi/src/fatal.c +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Fatal Error Manager - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include -#include -#include - -/*PAGE - * - * rtems_fatal_error_occurred - * - * This directive will invoke the internal fatal error handler. - * - * Input parameters: - * the_error - fatal error status code - * - * Output parameters: NONE - */ - -void volatile rtems_fatal_error_occurred( - unsigned32 the_error -) -{ - _Internal_error_Occurred( INTERNAL_ERROR_RTEMS_API, FALSE, the_error ); - -/* will not return from this routine */ -} diff --git a/c/src/exec/sapi/src/io.c b/c/src/exec/sapi/src/io.c deleted file mode 100644 index 8d98253393..0000000000 --- a/c/src/exec/sapi/src/io.c +++ /dev/null @@ -1,460 +0,0 @@ -/* - * Input/Output Manager - * - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include -#include -#include -#include -#include - -#include - -/*PAGE - * - * _IO_Manager_initialization - * - * The IO manager has been extended to support runtime driver - * registration. The driver table is now allocated in the - * workspace. - * - */ - -void _IO_Manager_initialization( - rtems_driver_address_table *driver_table, - unsigned32 drivers_in_table, - unsigned32 number_of_drivers, - unsigned32 number_of_devices -) -{ - void *tmp; - unsigned32 index; - rtems_driver_name_t *np; - - if ( number_of_drivers < drivers_in_table ) - number_of_drivers = drivers_in_table; - - tmp = _Workspace_Allocate_or_fatal_error( - sizeof( rtems_driver_address_table ) * ( number_of_drivers ) - ); - - _IO_Driver_address_table = (rtems_driver_address_table *) tmp; - - memset( - _IO_Driver_address_table, 0, - sizeof( rtems_driver_address_table ) * ( number_of_drivers ) - ); - - if ( drivers_in_table ) - for ( index = 0 ; index < drivers_in_table ; index++ ) - _IO_Driver_address_table[index] = driver_table[index]; - - _IO_Number_of_drivers = number_of_drivers; - _IO_Number_of_devices = number_of_devices; - - tmp = _Workspace_Allocate_or_fatal_error( - sizeof( rtems_driver_name_t ) * ( number_of_devices + 1 ) - ); - - _IO_Driver_name_table = (rtems_driver_name_t *) tmp; - - for( index=0, np = _IO_Driver_name_table ; - index < _IO_Number_of_devices ; - index++, np++ ) { - np->device_name = 0; - np->device_name_length = 0; - np->major = 0; - np->minor = 0; - } -} - -/*PAGE - * - * _IO_Initialize_all_drivers - * - * This routine initializes all device drivers - * - * Input Paramters: NONE - * - * Output Parameters: NONE - */ - -void _IO_Initialize_all_drivers( void ) -{ - rtems_device_major_number major; - - for ( major=0 ; major < _IO_Number_of_drivers ; major ++ ) - (void) rtems_io_initialize( major, 0, NULL); -} - -/*PAGE - * - * rtems_io_register_driver - * - * Register a driver into the device driver table. - * - * Input Paramters: - * major - device major number (0 means allocate - * a number) - * driver_table - driver callout function table - * registered_major - the major number which is registered - * - * Output Parameters: - * RTEMS_SUCCESSFUL - if successful - * error code - if unsuccessful - */ - -rtems_status_code rtems_io_register_driver( - rtems_device_major_number major, - rtems_driver_address_table *driver_table, - rtems_device_major_number *registered_major -) -{ - *registered_major = 0; - - /* - * Test for initialise/open being present to indicate the driver slot is - * in use. - */ - - if ( major >= _IO_Number_of_drivers ) - return RTEMS_INVALID_NUMBER; - - if ( major == 0 ) - { - for ( major = _IO_Number_of_drivers - 1 ; major ; major-- ) - if ( _IO_Driver_address_table[major].initialization_entry == 0 && - _IO_Driver_address_table[major].open_entry == 0 ) - break; - - if (( major == 0 ) && - ( _IO_Driver_address_table[major].initialization_entry == 0 && - _IO_Driver_address_table[major].open_entry == 0 )) - return RTEMS_TOO_MANY; - } - - if ( _IO_Driver_address_table[major].initialization_entry == 0 && - _IO_Driver_address_table[major].open_entry == 0 ) - { - _IO_Driver_address_table[major] = *driver_table; - *registered_major = major; - - rtems_io_initialize( major, 0, NULL); - - return RTEMS_SUCCESSFUL; - } - - return RTEMS_RESOURCE_IN_USE; -} - -/*PAGE - * - * rtems_io_unregister_driver - * - * Unregister a driver from the device driver table. - * - * Input Paramters: - * major - device major number - * - * Output Parameters: - * RTEMS_SUCCESSFUL - if successful - * error code - if unsuccessful - */ - -rtems_status_code rtems_io_unregister_driver( - rtems_device_major_number major -) -{ - if ( major < _IO_Number_of_drivers ) - { - memset( - &_IO_Driver_address_table[major], - 0, - sizeof( rtems_driver_address_table ) - ); - return RTEMS_SUCCESSFUL; - } - return RTEMS_UNSATISFIED; -} - -/*PAGE - * - * rtems_io_register_name - * - * Associate a name with a driver - * - * Input Paramters: - * device_name - pointer to name string to associate with device - * major - device major number to receive name - * minor - device minor number to receive name - * - * Output Parameters: - * RTEMS_SUCCESSFUL - if successful - * error code - if unsuccessful - */ - -#if 0 -rtems_status_code rtems_io_register_name( - char *device_name, - rtems_device_major_number major, - rtems_device_minor_number minor - ) -{ - rtems_driver_name_t *np; - unsigned32 level; - unsigned32 index; - - /* find an empty slot */ - for( index=0, np = _IO_Driver_name_table ; - index < _IO_Number_of_devices ; - index++, np++ ) - { - - _ISR_Disable(level); - if (np->device_name == 0) - { - np->device_name = device_name; - np->device_name_length = strlen(device_name); - np->major = major; - np->minor = minor; - _ISR_Enable(level); - - return RTEMS_SUCCESSFUL; - } - _ISR_Enable(level); - } - - return RTEMS_TOO_MANY; -} -#endif - -/*PAGE - * - * rtems_io_lookup_name - * - * Find what driver "owns" this name - * - * Input Paramters: - * name - name to lookup the associated device - * - * Output Parameters: - * device_info - device associate with name - * RTEMS_SUCCESSFUL - if successful - * error code - if unsuccessful - */ - -#if 0 -rtems_status_code rtems_io_lookup_name( - const char *name, - rtems_driver_name_t **device_info -) -{ - rtems_driver_name_t *np; - unsigned32 index; - - for( index=0, np = _IO_Driver_name_table ; - index < _IO_Number_of_devices ; - index++, np++ ) - if (np->device_name) - if (strncmp(np->device_name, name, np->device_name_length) == 0) - { - *device_info = np; - return RTEMS_SUCCESSFUL; - } - - *device_info = 0; - return RTEMS_UNSATISFIED; -} -#endif - - -/*PAGE - * - * rtems_io_initialize - * - * This routine is the initialization directive of the IO manager. - * - * Input Paramters: - * major - device driver number - * minor - device number - * argument - pointer to argument(s) - * - * Output Parameters: - * returns - return code - */ - -rtems_status_code rtems_io_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -) -{ - rtems_device_driver_entry callout; - - if ( major >= _IO_Number_of_drivers ) - return RTEMS_INVALID_NUMBER; - - callout = _IO_Driver_address_table[major].initialization_entry; - return callout ? callout(major, minor, argument) : RTEMS_SUCCESSFUL; -} - -/*PAGE - * - * rtems_io_open - * - * This routine is the open directive of the IO manager. - * - * Input Paramters: - * major - device driver number - * minor - device number - * argument - pointer to argument(s) - * - * Output Parameters: - * returns - return code - */ - -rtems_status_code rtems_io_open( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -) -{ - rtems_device_driver_entry callout; - - if ( major >= _IO_Number_of_drivers ) - return RTEMS_INVALID_NUMBER; - - callout = _IO_Driver_address_table[major].open_entry; - return callout ? callout(major, minor, argument) : RTEMS_SUCCESSFUL; -} - -/*PAGE - * - * rtems_io_close - * - * This routine is the close directive of the IO manager. - * - * Input Paramters: - * major - device driver number - * minor - device number - * argument - pointer to argument(s) - * - * Output Parameters: - * returns - return code - */ - -rtems_status_code rtems_io_close( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -) -{ - rtems_device_driver_entry callout; - - if ( major >= _IO_Number_of_drivers ) - return RTEMS_INVALID_NUMBER; - - callout = _IO_Driver_address_table[major].close_entry; - return callout ? callout(major, minor, argument) : RTEMS_SUCCESSFUL; -} - -/*PAGE - * - * rtems_io_read - * - * This routine is the read directive of the IO manager. - * - * Input Paramters: - * major - device driver number - * minor - device number - * argument - pointer to argument(s) - * - * Output Parameters: - * returns - return code - */ - -rtems_status_code rtems_io_read( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -) -{ - rtems_device_driver_entry callout; - - if ( major >= _IO_Number_of_drivers ) - return RTEMS_INVALID_NUMBER; - - callout = _IO_Driver_address_table[major].read_entry; - return callout ? callout(major, minor, argument) : RTEMS_SUCCESSFUL; -} - -/*PAGE - * - * rtems_io_write - * - * This routine is the write directive of the IO manager. - * - * Input Paramters: - * major - device driver number - * minor - device number - * argument - pointer to argument(s) - * - * Output Parameters: - * returns - return code - */ - -rtems_status_code rtems_io_write( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -) -{ - rtems_device_driver_entry callout; - - if ( major >= _IO_Number_of_drivers ) - return RTEMS_INVALID_NUMBER; - - callout = _IO_Driver_address_table[major].write_entry; - return callout ? callout(major, minor, argument) : RTEMS_SUCCESSFUL; -} - -/*PAGE - * - * rtems_io_control - * - * This routine is the control directive of the IO manager. - * - * Input Paramters: - * major - device driver number - * minor - device number - * argument - pointer to argument(s) - * - * Output Parameters: - * returns - return code - */ - -rtems_status_code rtems_io_control( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -) -{ - rtems_device_driver_entry callout; - - if ( major >= _IO_Number_of_drivers ) - return RTEMS_INVALID_NUMBER; - - callout = _IO_Driver_address_table[major].control_entry; - return callout ? callout(major, minor, argument) : RTEMS_SUCCESSFUL; -} - diff --git a/c/src/exec/sapi/src/itronapi.c b/c/src/exec/sapi/src/itronapi.c deleted file mode 100644 index f2d45e08e9..0000000000 --- a/c/src/exec/sapi/src/itronapi.c +++ /dev/null @@ -1,119 +0,0 @@ -/* - * ITRON API Initialization Support - * - * NOTE: - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include - -/* - * ITRON_API_INIT is defined so all of the ITRON API - * data will be included in this object file. - */ - -#define ITRON_API_INIT - -#include /* include this before checking RTEMS_ITRON_API */ -#ifdef RTEMS_ITRON_API - -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -/*PAGE - * - * _ITRON_API_Initialize - * - * XXX - */ - -itron_api_configuration_table _ITRON_Default_configuration = { - 0, /* maximum_tasks */ - 0, /* maximum_semaphores */ - 0, /* maximum_eventflags */ - 0, /* maximum_mailboxes */ - 0, /* maximum_message_buffers */ - 0, /* maximum_ports */ - 0, /* maximum_memory_pools */ - 0, /* maximum_fixed_memory_pools */ - 0, /* number_of_initialization_tasks */ - NULL /* User_initialization_tasks_table */ -}; - -Objects_Information *_ITRON_Objects[ OBJECTS_ITRON_CLASSES_LAST + 1 ]; - -void _ITRON_API_Initialize( - rtems_configuration_table *configuration_table -) -{ - itron_api_configuration_table *api_configuration; - - /* XXX need to assert here based on size assumptions */ - - assert( sizeof(ID) == sizeof(Objects_Id) ); - - api_configuration = configuration_table->ITRON_api_configuration; - if ( !api_configuration ) - api_configuration = &_ITRON_Default_configuration; - - _Objects_Information_table[OBJECTS_ITRON_API] = _ITRON_Objects; - - _ITRON_Task_Manager_initialization( - api_configuration->maximum_tasks, - api_configuration->number_of_initialization_tasks, - api_configuration->User_initialization_tasks_table - ); - - _ITRON_Semaphore_Manager_initialization( - api_configuration->maximum_semaphores - ); - - _ITRON_Eventflags_Manager_initialization( - api_configuration->maximum_eventflags - ); - - _ITRON_Fixed_memory_pool_Manager_initialization( - api_configuration->maximum_fixed_memory_pools - ); - - _ITRON_Mailbox_Manager_initialization( - api_configuration->maximum_mailboxes - ); - - _ITRON_Message_buffer_Manager_initialization( - api_configuration->maximum_message_buffers - ); - - _ITRON_Port_Manager_initialization( - api_configuration->maximum_ports - ); - - _ITRON_Variable_memory_pool_Manager_initialization( - api_configuration->maximum_memory_pools - ); - - -} - -#endif -/* end of file */ diff --git a/c/src/exec/sapi/src/posixapi.c b/c/src/exec/sapi/src/posixapi.c deleted file mode 100644 index 1776dc23f4..0000000000 --- a/c/src/exec/sapi/src/posixapi.c +++ /dev/null @@ -1,115 +0,0 @@ -/* - * RTEMS API Initialization Support - * - * NOTE: - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include - -/* - * POSIX_API_INIT is defined so all of the POSIX API - * data will be included in this object file. - */ - -#define POSIX_API_INIT - -#include /* include this before checking RTEMS_POSIX_API */ -#ifdef RTEMS_POSIX_API - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/*PAGE - * - * _POSIX_API_Initialize - * - * XXX - */ - -posix_api_configuration_table _POSIX_Default_configuration = { - 0, /* maximum_threads */ - 0, /* maximum_mutexes */ - 0, /* maximum_condition_variables */ - 0, /* maximum_keys */ - 0, /* maximum_timers */ - 0, /* maximum_queued_signals */ - 0, /* number_of_initialization_threads */ - 0, /* maximum_message_queues */ - 0, /* maximum_semaphores */ - NULL /* User_initialization_threads_table */ -}; - -Objects_Information *_POSIX_Objects[ OBJECTS_POSIX_CLASSES_LAST + 1 ]; - - -void _POSIX_API_Initialize( - rtems_configuration_table *configuration_table -) -{ - posix_api_configuration_table *api_configuration; - - /* XXX need to assert here based on size assumptions */ - - assert( sizeof(pthread_t) == sizeof(Objects_Id) ); - - api_configuration = configuration_table->POSIX_api_configuration; - if ( !api_configuration ) - api_configuration = &_POSIX_Default_configuration; - - _Objects_Information_table[OBJECTS_POSIX_API] = _POSIX_Objects; - - _POSIX_signals_Manager_Initialization( - api_configuration->maximum_queued_signals - ); - - _POSIX_Threads_Manager_initialization( - api_configuration->maximum_threads, - api_configuration->number_of_initialization_threads, - api_configuration->User_initialization_threads_table - ); - - _POSIX_Condition_variables_Manager_initialization( - api_configuration->maximum_condition_variables - ); - - _POSIX_Key_Manager_initialization( api_configuration->maximum_keys ); - - _POSIX_Mutex_Manager_initialization( - api_configuration->maximum_mutexes - ); - - _POSIX_Message_queue_Manager_initialization( - api_configuration->maximum_message_queues - ); - - _POSIX_Semaphore_Manager_initialization( - api_configuration->maximum_semaphores - ); - - _POSIX_Timer_Manager_initialization ( api_configuration->maximum_timers ); -} - -#endif -/* end of file */ diff --git a/c/src/exec/sapi/src/rtemsapi.c b/c/src/exec/sapi/src/rtemsapi.c deleted file mode 100644 index 9530112945..0000000000 --- a/c/src/exec/sapi/src/rtemsapi.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * POSIX API Initialization Support - * - * NOTE: - * - * COPYRIGHT (c) 1989-1999. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -/* - * RTEMS_API_INIT is defined so all of the RTEMS API - * data will be included in this object file. - */ - -#define RTEMS_API_INIT - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif -#include -#include -#include -#include -#include -#include - -Objects_Information *_RTEMS_Objects[ OBJECTS_RTEMS_CLASSES_LAST + 1 ]; - -/*PAGE - * - * _RTEMS_API_Initialize - * - * XXX - */ - -void _RTEMS_API_Initialize( - rtems_configuration_table *configuration_table -) -{ - rtems_api_configuration_table *api_configuration; - - api_configuration = configuration_table->RTEMS_api_configuration; - - _Objects_Information_table[OBJECTS_CLASSIC_API] = _RTEMS_Objects; - - _Attributes_Handler_initialization(); - - _Interrupt_Manager_initialization(); - -#if defined(RTEMS_MULTIPROCESSING) - _Multiprocessing_Manager_initialization(); -#endif - - _RTEMS_tasks_Manager_initialization( - api_configuration->maximum_tasks, - api_configuration->number_of_initialization_tasks, - api_configuration->User_initialization_tasks_table - ); - - _Timer_Manager_initialization( api_configuration->maximum_timers ); - - _Signal_Manager_initialization(); - - _Event_Manager_initialization(); - - _Message_queue_Manager_initialization( - api_configuration->maximum_message_queues - ); - - _Semaphore_Manager_initialization( api_configuration->maximum_semaphores ); - - _Partition_Manager_initialization( api_configuration->maximum_partitions ); - - _Region_Manager_initialization( api_configuration->maximum_regions ); - - _Dual_ported_memory_Manager_initialization( api_configuration->maximum_ports); - - _Rate_monotonic_Manager_initialization( api_configuration->maximum_periods ); -} - -/* end of file */ -- cgit v1.2.3