diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-05-28 13:47:28 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2021-04-21 19:46:12 +0200 |
commit | 71a2e7eec7ea25eb1af7dd2114149e23d1efc15f (patch) | |
tree | 02b0643f38894a5f88c8552a067be8aa25d93a74 | |
parent | rtems: Generate <rtems/fatal.h> (diff) | |
download | rtems-71a2e7eec7ea25eb1af7dd2114149e23d1efc15f.tar.bz2 |
rtems: Generate <rtems/init.h>
Change license to BSD-2-Clause according to file histories and
documentation re-licensing agreement.
Update #3899.
Update #3993.
Diffstat (limited to '')
-rw-r--r-- | cpukit/include/rtems/init.h | 132 |
1 files changed, 103 insertions, 29 deletions
diff --git a/cpukit/include/rtems/init.h b/cpukit/include/rtems/init.h index 552017f0de..a821f92107 100644 --- a/cpukit/include/rtems/init.h +++ b/cpukit/include/rtems/init.h @@ -1,66 +1,140 @@ +/* SPDX-License-Identifier: BSD-2-Clause */ + /** * @file * - * @brief Constants and Structures Associated - * with the Initialization Manager - * - * 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. + * @brief This header file defines the Initialization Manager API. + */ + +/* + * Copyright (C) 2015, 2021 embedded brains GmbH (http://www.embedded-brains.de) + * Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR) * - * This manager provides directives to: + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. * - * + initialize the RTEMS executive - * + shutdown the RTEMS executive + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. */ /* - * COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). + * This file is part of the RTEMS quality process and was automatically + * generated. If you find something that needs to be fixed or + * worded better please post a report or patch to an RTEMS mailing list + * or raise a bug report: + * + * https://www.rtems.org/bugs.html * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. + * For information on updating and regenerating please refer to the How-To + * section in the Software Requirements Engineering chapter of the + * RTEMS Software Engineering manual. The manual is provided as a part of + * a release. For development sources please refer to the online + * documentation at: + * + * https://docs.rtems.org */ +/* Generated from spec:/rtems/init/if/header */ + #ifndef _RTEMS_INIT_H #define _RTEMS_INIT_H -#include <rtems/rtems/types.h> -#include <rtems/config.h> -#include <rtems/rtems/intr.h> +#include <stdint.h> +#include <rtems/score/basedefs.h> #ifdef __cplusplus extern "C" { #endif +/* Generated from spec:/rtems/init/if/group */ + /** + * @defgroup RTEMSAPIClassicInit Initialization Manager + * + * @ingroup RTEMSAPIClassic + * + * @brief The Initialization Manager is responsible for initializing the + * system. + * + * The system initialization includes the initialization of the Board Support + * Package, RTEMS, device drivers, the root filesystem, and the application. + * The @ref RTEMSAPIClassicFatal is responsible for the system shutdown. + */ + +/* Generated from spec:/rtems/init/if/initialize-executive */ + +/** + * @ingroup RTEMSAPIClassicInit + * * @brief Initializes the system and starts multitasking. * * Iterates through the system initialization linker set and invokes the * registered handlers. The final step is to start multitasking. * - * This directive should be called by boot_card() only. + * @par Notes + * Errors in the initialization sequence are usually fatal and lead to a system + * termination. + * + * @par Constraints + * @parblock + * The following constraints apply to this directive: + * + * * The directive should be called by boot_card() only. * - * This directive does not return. + * * The directive will not return to the caller. + * @endparblock */ RTEMS_NO_RETURN void rtems_initialize_executive( void ); +/* Generated from spec:/rtems/fatal/if/shutdown-executive */ + /** - * @brief Shutdown the RTEMS environment. + * @ingroup RTEMSAPIClassicFatal + * + * @brief Invokes the fatal error handler. + * + * @param fatal_code is the fatal code. * - * This routine implements the rtems_shutdown_executive directive. The - * invocation of this directive results in the RTEMS environment being - * shutdown and multitasking halted. The system is terminated with a fatal - * source of RTEMS_FATAL_SOURCE_EXIT and the specified result code. + * This directive processes fatal errors. The fatal source is set to + * RTEMS_FATAL_SOURCE_EXIT. The fatal code is set to the value of the + * ``fatal_code`` parameter. + * + * @par Constraints + * @parblock + * The following constraints apply to this directive: + * + * * The directive may be called from within any runtime context. + * + * * The directive will not return to the caller. + * + * * The directive invokes the fatal error extensions in extension forward + * order. + * + * * The directive does not invoke handlers registered by atexit() or + * on_exit(). + * + * * The directive may terminate the system. + * @endparblock */ -RTEMS_NO_RETURN void rtems_shutdown_executive( uint32_t result ); +RTEMS_NO_RETURN void rtems_shutdown_executive( uint32_t fatal_code ); #ifdef __cplusplus } #endif -#endif -/* end of include file */ +#endif /* _RTEMS_INIT_H */ |